From 714e0539f3ea79d30c10df5c7642f28d6aa1e649 Mon Sep 17 00:00:00 2001 From: gaospecial Date: Fri, 19 Jan 2024 05:54:54 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20gaospeci?= =?UTF-8?q?al/ggVennDiagram@48a705537189276bf5b0655010f9fdfdbb1d6f8e=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 404.html | 2 +- LICENSE.html | 2 +- articles/fully-customed.html | 6 +- .../plotly-binding-4.10.4/plotly.js | 941 ++++++++++++++++++ articles/index.html | 2 +- articles/using-ggVennDiagram.html | 6 +- .../figure-html/unnamed-chunk-16-1.png | Bin 154108 -> 154104 bytes .../plotly-binding-4.10.4/plotly.js | 941 ++++++++++++++++++ articles/using-new-shapes.html | 2 +- authors.html | 6 +- index.html | 2 +- news/index.html | 2 +- pkgdown.yml | 2 +- reference/Rplot002.png | Bin 15092 -> 15416 bytes reference/Rplot003.png | Bin 12872 -> 12926 bytes reference/Venn-class.html | 2 +- reference/VennPlotData.html | 2 +- reference/all_identical.html | 2 +- reference/combinations.html | 2 +- reference/discern.html | 2 +- reference/discern_overlap.html | 2 +- reference/get_shape_by_id.html | 2 +- reference/get_shape_data.html | 2 +- reference/get_shapes.html | 2 +- reference/ggVennDiagram.html | 2 +- reference/index.html | 2 +- reference/launch_app.html | 2 +- reference/overlap.html | 2 +- reference/plotData_add_venn.html | 2 +- reference/plot_shape_edge.html | 2 +- reference/plot_shapes.html | 2 +- reference/plot_venn.html | 2 +- reference/print.html | 2 +- reference/process_data.html | 2 +- reference/process_upset_data.html | 2 +- reference/separate_longer_delim.html | 2 +- reference/shapes.html | 2 +- reference/slice_idx.html | 2 +- reference/unite.html | 2 +- reference/upset-plot-1.png | Bin 44655 -> 46083 bytes reference/upset-plot-2.png | Bin 44478 -> 46027 bytes reference/upset-plot-3.png | Bin 32299 -> 33064 bytes reference/upset-plot.html | 2 +- reference/venn_data.html | 24 +- reference/venn_plot_data.html | 2 +- reference/vensets.html | 2 +- roadmap.html | 2 +- 47 files changed, 1938 insertions(+), 56 deletions(-) create mode 100644 articles/fully-customed_files/plotly-binding-4.10.4/plotly.js create mode 100644 articles/using-ggVennDiagram_files/plotly-binding-4.10.4/plotly.js diff --git a/404.html b/404.html index 01dfcb5..472a6cd 100644 --- a/404.html +++ b/404.html @@ -32,7 +32,7 @@ ggVennDiagram - 1.4.13 + 1.5.0 diff --git a/LICENSE.html b/LICENSE.html index 5b3590d..1ff590a 100644 --- a/LICENSE.html +++ b/LICENSE.html @@ -17,7 +17,7 @@ ggVennDiagram - 1.4.13 + 1.5.0 diff --git a/articles/fully-customed.html b/articles/fully-customed.html index 20a3f9a..b8e4221 100644 --- a/articles/fully-customed.html +++ b/articles/fully-customed.html @@ -33,7 +33,7 @@ ggVennDiagram - 1.4.13 + 1.5.0 @@ -81,7 +81,7 @@ - +
-
+
 venn_y = Venn(y)
 
 venn_y
diff --git a/articles/fully-customed_files/plotly-binding-4.10.4/plotly.js b/articles/fully-customed_files/plotly-binding-4.10.4/plotly.js
new file mode 100644
index 0000000..7a2a143
--- /dev/null
+++ b/articles/fully-customed_files/plotly-binding-4.10.4/plotly.js
@@ -0,0 +1,941 @@
+
+HTMLWidgets.widget({
+  name: "plotly",
+  type: "output",
+
+  initialize: function(el, width, height) {
+    return {};
+  },
+
+  resize: function(el, width, height, instance) {
+    if (instance.autosize) {
+      var width = instance.width || width;
+      var height = instance.height || height;
+      Plotly.relayout(el.id, {width: width, height: height});
+    }
+  },  
+  
+  renderValue: function(el, x, instance) {
+    
+    // Plotly.relayout() mutates the plot input object, so make sure to 
+    // keep a reference to the user-supplied width/height *before*
+    // we call Plotly.plot();
+    var lay = x.layout || {};
+    instance.width = lay.width;
+    instance.height = lay.height;
+    instance.autosize = lay.autosize || true;
+    
+    /* 
+    / 'inform the world' about highlighting options this is so other
+    / crosstalk libraries have a chance to respond to special settings 
+    / such as persistent selection. 
+    / AFAIK, leaflet is the only library with such intergration
+    / https://github.com/rstudio/leaflet/pull/346/files#diff-ad0c2d51ce5fdf8c90c7395b102f4265R154
+    */
+    var ctConfig = crosstalk.var('plotlyCrosstalkOpts').set(x.highlight);
+      
+    if (typeof(window) !== "undefined") {
+      // make sure plots don't get created outside the network (for on-prem)
+      window.PLOTLYENV = window.PLOTLYENV || {};
+      window.PLOTLYENV.BASE_URL = x.base_url;
+      
+      // Enable persistent selection when shift key is down
+      // https://stackoverflow.com/questions/1828613/check-if-a-key-is-down
+      var persistOnShift = function(e) {
+        if (!e) window.event;
+        if (e.shiftKey) { 
+          x.highlight.persistent = true; 
+          x.highlight.persistentShift = true;
+        } else {
+          x.highlight.persistent = false; 
+          x.highlight.persistentShift = false;
+        }
+      };
+      
+      // Only relevant if we haven't forced persistent mode at command line
+      if (!x.highlight.persistent) {
+        window.onmousemove = persistOnShift;
+      }
+    }
+
+    var graphDiv = document.getElementById(el.id);
+    
+    // TODO: move the control panel injection strategy inside here...
+    HTMLWidgets.addPostRenderHandler(function() {
+      
+      // lower the z-index of the modebar to prevent it from highjacking hover
+      // (TODO: do this via CSS?)
+      // https://github.com/ropensci/plotly/issues/956
+      // https://www.w3schools.com/jsref/prop_style_zindex.asp
+      var modebars = document.querySelectorAll(".js-plotly-plot .plotly .modebar");
+      for (var i = 0; i < modebars.length; i++) {
+        modebars[i].style.zIndex = 1;
+      }
+    });
+      
+      // inject a "control panel" holding selectize/dynamic color widget(s)
+    if ((x.selectize || x.highlight.dynamic) && !instance.plotly) {
+      var flex = document.createElement("div");
+      flex.class = "plotly-crosstalk-control-panel";
+      flex.style = "display: flex; flex-wrap: wrap";
+      
+      // inject the colourpicker HTML container into the flexbox
+      if (x.highlight.dynamic) {
+        var pickerDiv = document.createElement("div");
+        
+        var pickerInput = document.createElement("input");
+        pickerInput.id = el.id + "-colourpicker";
+        pickerInput.placeholder = "asdasd";
+        
+        var pickerLabel = document.createElement("label");
+        pickerLabel.for = pickerInput.id;
+        pickerLabel.innerHTML = "Brush color  ";
+        
+        pickerDiv.appendChild(pickerLabel);
+        pickerDiv.appendChild(pickerInput);
+        flex.appendChild(pickerDiv);
+      }
+      
+      // inject selectize HTML containers (one for every crosstalk group)
+      if (x.selectize) {
+        var ids = Object.keys(x.selectize);
+        
+        for (var i = 0; i < ids.length; i++) {
+          var container = document.createElement("div");
+          container.id = ids[i];
+          container.style = "width: 80%; height: 10%";
+          container.class = "form-group crosstalk-input-plotly-highlight";
+          
+          var label = document.createElement("label");
+          label.for = ids[i];
+          label.innerHTML = x.selectize[ids[i]].group;
+          label.class = "control-label";
+          
+          var selectDiv = document.createElement("div");
+          var select = document.createElement("select");
+          select.multiple = true;
+          
+          selectDiv.appendChild(select);
+          container.appendChild(label);
+          container.appendChild(selectDiv);
+          flex.appendChild(container);
+        }
+      }
+      
+      // finally, insert the flexbox inside the htmlwidget container,
+      // but before the plotly graph div
+      graphDiv.parentElement.insertBefore(flex, graphDiv);
+      
+      if (x.highlight.dynamic) {
+        var picker = $("#" + pickerInput.id);
+        var colors = x.highlight.color || [];
+        // TODO: let users specify options?
+        var opts = {
+          value: colors[0],
+          showColour: "both",
+          palette: "limited",
+          allowedCols: colors.join(" "),
+          width: "20%",
+          height: "10%"
+        };
+        picker.colourpicker({changeDelay: 0});
+        picker.colourpicker("settings", opts);
+        picker.colourpicker("value", opts.value);
+        // inform crosstalk about a change in the current selection colour
+        var grps = x.highlight.ctGroups || [];
+        for (var i = 0; i < grps.length; i++) {
+          crosstalk.group(grps[i]).var('plotlySelectionColour')
+            .set(picker.colourpicker('value'));
+        }
+        picker.on("change", function() {
+          for (var i = 0; i < grps.length; i++) {
+            crosstalk.group(grps[i]).var('plotlySelectionColour')
+              .set(picker.colourpicker('value'));
+          }
+        });
+      }
+    }
+    
+    // if no plot exists yet, create one with a particular configuration
+    if (!instance.plotly) {
+      
+      var plot = Plotly.newPlot(graphDiv, x);
+      instance.plotly = true;
+      
+    } else if (x.layout.transition) {
+      
+      var plot = Plotly.react(graphDiv, x);
+    
+    } else {
+      
+      // this is essentially equivalent to Plotly.newPlot(), but avoids creating 
+      // a new webgl context
+      // https://github.com/plotly/plotly.js/blob/2b24f9def901831e61282076cf3f835598d56f0e/src/plot_api/plot_api.js#L531-L532
+
+      // TODO: restore crosstalk selections?
+      Plotly.purge(graphDiv);
+      // TODO: why is this necessary to get crosstalk working?
+      graphDiv.data = undefined;
+      graphDiv.layout = undefined;
+      var plot = Plotly.newPlot(graphDiv, x);
+    }
+    
+    // Trigger plotly.js calls defined via `plotlyProxy()`
+    plot.then(function() {
+      if (HTMLWidgets.shinyMode) {
+        Shiny.addCustomMessageHandler("plotly-calls", function(msg) {
+          var gd = document.getElementById(msg.id);
+          if (!gd) {
+            throw new Error("Couldn't find plotly graph with id: " + msg.id);
+          }
+          // This isn't an official plotly.js method, but it's the only current way to 
+          // change just the configuration of a plot 
+          // https://community.plot.ly/t/update-config-function/9057
+          if (msg.method == "reconfig") {
+            Plotly.react(gd, gd.data, gd.layout, msg.args);
+            return;
+          }
+          if (!Plotly[msg.method]) {
+            throw new Error("Unknown method " + msg.method);
+          }
+          var args = [gd].concat(msg.args);
+          Plotly[msg.method].apply(null, args);
+        });
+      }
+      
+      // plotly's mapbox API doesn't currently support setting bounding boxes
+      // https://www.mapbox.com/mapbox-gl-js/example/fitbounds/
+      // so we do this manually...
+      // TODO: make sure this triggers on a redraw and relayout as well as on initial draw
+      var mapboxIDs = graphDiv._fullLayout._subplots.mapbox || [];
+      for (var i = 0; i < mapboxIDs.length; i++) {
+        var id = mapboxIDs[i];
+        var mapOpts = x.layout[id] || {};
+        var args = mapOpts._fitBounds || {};
+        if (!args) {
+          continue;
+        }
+        var mapObj = graphDiv._fullLayout[id]._subplot.map;
+        mapObj.fitBounds(args.bounds, args.options);
+      }
+      
+    });
+    
+    // Attach attributes (e.g., "key", "z") to plotly event data
+    function eventDataWithKey(eventData) {
+      if (eventData === undefined || !eventData.hasOwnProperty("points")) {
+        return null;
+      }
+      return eventData.points.map(function(pt) {
+        var obj = {
+          curveNumber: pt.curveNumber, 
+          pointNumber: pt.pointNumber, 
+          x: pt.x,
+          y: pt.y
+        };
+        
+        // If 'z' is reported with the event data, then use it!
+        if (pt.hasOwnProperty("z")) {
+          obj.z = pt.z;
+        }
+        
+        if (pt.hasOwnProperty("customdata")) {
+          obj.customdata = pt.customdata;
+        }
+        
+        /* 
+          TL;DR: (I think) we have to select the graph div (again) to attach keys...
+          
+          Why? Remember that crosstalk will dynamically add/delete traces 
+          (see traceManager.prototype.updateSelection() below)
+          For this reason, we can't simply grab keys from x.data (like we did previously)
+          Moreover, we can't use _fullData, since that doesn't include 
+          unofficial attributes. It's true that click/hover events fire with 
+          pt.data, but drag events don't...
+        */
+        var gd = document.getElementById(el.id);
+        var trace = gd.data[pt.curveNumber];
+        
+        if (!trace._isSimpleKey) {
+          var attrsToAttach = ["key"];
+        } else {
+          // simple keys fire the whole key
+          obj.key = trace.key;
+          var attrsToAttach = [];
+        }
+        
+        for (var i = 0; i < attrsToAttach.length; i++) {
+          var attr = trace[attrsToAttach[i]];
+          if (Array.isArray(attr)) {
+            if (typeof pt.pointNumber === "number") {
+              obj[attrsToAttach[i]] = attr[pt.pointNumber];
+            } else if (Array.isArray(pt.pointNumber)) {
+              obj[attrsToAttach[i]] = attr[pt.pointNumber[0]][pt.pointNumber[1]];
+            } else if (Array.isArray(pt.pointNumbers)) {
+              obj[attrsToAttach[i]] = pt.pointNumbers.map(function(idx) { return attr[idx]; });
+            }
+          }
+        }
+        return obj;
+      });
+    }
+    
+    
+    var legendEventData = function(d) {
+      // if legendgroup is not relevant just return the trace
+      var trace = d.data[d.curveNumber];
+      if (!trace.legendgroup) return trace;
+      
+      // if legendgroup was specified, return all traces that match the group
+      var legendgrps = d.data.map(function(trace){ return trace.legendgroup; });
+      var traces = [];
+      for (i = 0; i < legendgrps.length; i++) {
+        if (legendgrps[i] == trace.legendgroup) {
+          traces.push(d.data[i]);
+        }
+      }
+      
+      return traces;
+    };
+
+    
+    // send user input event data to shiny
+    if (HTMLWidgets.shinyMode && Shiny.setInputValue) {
+      
+      // Some events clear other input values
+      // TODO: always register these?
+      var eventClearMap = {
+        plotly_deselect: ["plotly_selected", "plotly_selecting", "plotly_brushed", "plotly_brushing", "plotly_click"],
+        plotly_unhover: ["plotly_hover"],
+        plotly_doubleclick: ["plotly_click"]
+      };
+    
+      Object.keys(eventClearMap).map(function(evt) {
+        graphDiv.on(evt, function() {
+          var inputsToClear = eventClearMap[evt];
+          inputsToClear.map(function(input) {
+            Shiny.setInputValue(input + "-" + x.source, null, {priority: "event"});
+          });
+        });
+      });
+      
+      var eventDataFunctionMap = {
+        plotly_click: eventDataWithKey,
+        plotly_sunburstclick: eventDataWithKey,
+        plotly_hover: eventDataWithKey,
+        plotly_unhover: eventDataWithKey,
+        // If 'plotly_selected' has already been fired, and you click
+        // on the plot afterwards, this event fires `undefined`?!?
+        // That might be considered a plotly.js bug, but it doesn't make 
+        // sense for this input change to occur if `d` is falsy because,
+        // even in the empty selection case, `d` is truthy (an object),
+        // and the 'plotly_deselect' event will reset this input
+        plotly_selected: function(d) { if (d) { return eventDataWithKey(d); } },
+        plotly_selecting: function(d) { if (d) { return eventDataWithKey(d); } },
+        plotly_brushed: function(d) {
+          if (d) { return d.range ? d.range : d.lassoPoints; }
+        },
+        plotly_brushing: function(d) {
+          if (d) { return d.range ? d.range : d.lassoPoints; }
+        },
+        plotly_legendclick: legendEventData,
+        plotly_legenddoubleclick: legendEventData,
+        plotly_clickannotation: function(d) { return d.fullAnnotation }
+      };
+      
+      var registerShinyValue = function(event) {
+        var eventDataPreProcessor = eventDataFunctionMap[event] || function(d) { return d ? d : el.id };
+        // some events are unique to the R package
+        var plotlyJSevent = (event == "plotly_brushed") ? "plotly_selected" : (event == "plotly_brushing") ? "plotly_selecting" : event;
+        // register the event
+        graphDiv.on(plotlyJSevent, function(d) {
+          Shiny.setInputValue(
+            event + "-" + x.source,
+            JSON.stringify(eventDataPreProcessor(d)),
+            {priority: "event"}
+          );
+        });
+      }
+    
+      var shinyEvents = x.shinyEvents || [];
+      shinyEvents.map(registerShinyValue);
+    }
+    
+    // Given an array of {curveNumber: x, pointNumber: y} objects,
+    // return a hash of {
+    //   set1: {value: [key1, key2, ...], _isSimpleKey: false}, 
+    //   set2: {value: [key3, key4, ...], _isSimpleKey: false}
+    // }
+    function pointsToKeys(points) {
+      var keysBySet = {};
+      for (var i = 0; i < points.length; i++) {
+        
+        var trace = graphDiv.data[points[i].curveNumber];
+        if (!trace.key || !trace.set) {
+          continue;
+        }
+        
+        // set defaults for this keySet
+        // note that we don't track the nested property (yet) since we always 
+        // emit the union -- http://cpsievert.github.io/talks/20161212b/#21
+        keysBySet[trace.set] = keysBySet[trace.set] || {
+          value: [],
+          _isSimpleKey: trace._isSimpleKey
+        };
+        
+        // Use pointNumber by default, but aggregated traces should emit pointNumbers
+        var ptNum = points[i].pointNumber;
+        var hasPtNum = typeof ptNum === "number";
+        var ptNum = hasPtNum ? ptNum : points[i].pointNumbers;
+        
+        // selecting a point of a "simple" trace means: select the 
+        // entire key attached to this trace, which is useful for,
+        // say clicking on a fitted line to select corresponding observations 
+        var key = trace._isSimpleKey ? trace.key : Array.isArray(ptNum) ? ptNum.map(function(idx) { return trace.key[idx]; }) : trace.key[ptNum];
+        // http://stackoverflow.com/questions/10865025/merge-flatten-an-array-of-arrays-in-javascript
+        var keyFlat = trace._isNestedKey ? [].concat.apply([], key) : key;
+        
+        // TODO: better to only add new values?
+        keysBySet[trace.set].value = keysBySet[trace.set].value.concat(keyFlat);
+      }
+      
+      return keysBySet;
+    }
+    
+    
+    x.highlight.color = x.highlight.color || [];
+    // make sure highlight color is an array
+    if (!Array.isArray(x.highlight.color)) {
+      x.highlight.color = [x.highlight.color];
+    }
+
+    var traceManager = new TraceManager(graphDiv, x.highlight);
+
+    // Gather all *unique* sets.
+    var allSets = [];
+    for (var curveIdx = 0; curveIdx < x.data.length; curveIdx++) {
+      var newSet = x.data[curveIdx].set;
+      if (newSet) {
+        if (allSets.indexOf(newSet) === -1) {
+          allSets.push(newSet);
+        }
+      }
+    }
+
+    // register event listeners for all sets
+    for (var i = 0; i < allSets.length; i++) {
+      
+      var set = allSets[i];
+      var selection = new crosstalk.SelectionHandle(set);
+      var filter = new crosstalk.FilterHandle(set);
+      
+      var filterChange = function(e) {
+        removeBrush(el);
+        traceManager.updateFilter(set, e.value);
+      };
+      filter.on("change", filterChange);
+      
+      
+      var selectionChange = function(e) {
+        
+        // Workaround for 'plotly_selected' now firing previously selected
+        // points (in addition to new ones) when holding shift key. In our case,
+        // we just want the new keys 
+        if (x.highlight.on === "plotly_selected" && x.highlight.persistentShift) {
+          // https://stackoverflow.com/questions/1187518/how-to-get-the-difference-between-two-arrays-in-javascript
+          Array.prototype.diff = function(a) {
+              return this.filter(function(i) {return a.indexOf(i) < 0;});
+          };
+          e.value = e.value.diff(e.oldValue);
+        }
+        
+        // array of "event objects" tracking the selection history
+        // this is used to avoid adding redundant selections
+        var selectionHistory = crosstalk.var("plotlySelectionHistory").get() || [];
+        
+        // Construct an event object "defining" the current event. 
+        var event = {
+          receiverID: traceManager.gd.id,
+          plotlySelectionColour: crosstalk.group(set).var("plotlySelectionColour").get()
+        };
+        event[set] = e.value;
+        // TODO: is there a smarter way to check object equality?
+        if (selectionHistory.length > 0) {
+          var ev = JSON.stringify(event);
+          for (var i = 0; i < selectionHistory.length; i++) {
+            var sel = JSON.stringify(selectionHistory[i]);
+            if (sel == ev) {
+              return;
+            }
+          }
+        }
+        
+        // accumulate history for persistent selection
+        if (!x.highlight.persistent) {
+          selectionHistory = [event];
+        } else {
+          selectionHistory.push(event);
+        }
+        crosstalk.var("plotlySelectionHistory").set(selectionHistory);
+        
+        // do the actual updating of traces, frames, and the selectize widget
+        traceManager.updateSelection(set, e.value);
+        // https://github.com/selectize/selectize.js/blob/master/docs/api.md#methods_items
+        if (x.selectize) {
+          if (!x.highlight.persistent || e.value === null) {
+            selectize.clear(true);
+          }
+          selectize.addItems(e.value, true);
+          selectize.close();
+        }
+      }
+      selection.on("change", selectionChange);
+      
+      // Set a crosstalk variable selection value, triggering an update
+      var turnOn = function(e) {
+        if (e) {
+          var selectedKeys = pointsToKeys(e.points);
+          // Keys are group names, values are array of selected keys from group.
+          for (var set in selectedKeys) {
+            if (selectedKeys.hasOwnProperty(set)) {
+              selection.set(selectedKeys[set].value, {sender: el});
+            }
+          }
+        }
+      };
+      if (x.highlight.debounce > 0) {
+        turnOn = debounce(turnOn, x.highlight.debounce);
+      }
+      graphDiv.on(x.highlight.on, turnOn);
+      
+      graphDiv.on(x.highlight.off, function turnOff(e) {
+        // remove any visual clues
+        removeBrush(el);
+        // remove any selection history
+        crosstalk.var("plotlySelectionHistory").set(null);
+        // trigger the actual removal of selection traces
+        selection.set(null, {sender: el});
+      });
+          
+      // register a callback for selectize so that there is bi-directional
+      // communication between the widget and direct manipulation events
+      if (x.selectize) {
+        var selectizeID = Object.keys(x.selectize)[i];
+        var options = x.selectize[selectizeID];
+        var first = [{value: "", label: "(All)"}];
+        var opts = $.extend({
+            options: first.concat(options.items),
+            searchField: "label",
+            valueField: "value",
+            labelField: "label",
+            maxItems: 50
+          }, 
+          options
+        );
+        var select = $("#" + selectizeID).find("select")[0];
+        var selectize = $(select).selectize(opts)[0].selectize;
+        // NOTE: this callback is triggered when *directly* altering 
+        // dropdown items
+        selectize.on("change", function() {
+          var currentItems = traceManager.groupSelections[set] || [];
+          if (!x.highlight.persistent) {
+            removeBrush(el);
+            for (var i = 0; i < currentItems.length; i++) {
+              selectize.removeItem(currentItems[i], true);
+            }
+          }
+          var newItems = selectize.items.filter(function(idx) { 
+            return currentItems.indexOf(idx) < 0;
+          });
+          if (newItems.length > 0) {
+            traceManager.updateSelection(set, newItems);
+          } else {
+            // Item has been removed...
+            // TODO: this logic won't work for dynamically changing palette 
+            traceManager.updateSelection(set, null);
+            traceManager.updateSelection(set, selectize.items);
+          }
+        });
+      }
+    } // end of selectionChange
+    
+  } // end of renderValue
+}); // end of widget definition
+
+/**
+ * @param graphDiv The Plotly graph div
+ * @param highlight An object with options for updating selection(s)
+ */
+function TraceManager(graphDiv, highlight) {
+  // The Plotly graph div
+  this.gd = graphDiv;
+
+  // Preserve the original data.
+  // TODO: try using Lib.extendFlat() as done in  
+  // https://github.com/plotly/plotly.js/pull/1136 
+  this.origData = JSON.parse(JSON.stringify(graphDiv.data));
+  
+  // avoid doing this over and over
+  this.origOpacity = [];
+  for (var i = 0; i < this.origData.length; i++) {
+    this.origOpacity[i] = this.origData[i].opacity === 0 ? 0 : (this.origData[i].opacity || 1);
+  }
+
+  // key: group name, value: null or array of keys representing the
+  // most recently received selection for that group.
+  this.groupSelections = {};
+  
+  // selection parameters (e.g., transient versus persistent selection)
+  this.highlight = highlight;
+}
+
+TraceManager.prototype.close = function() {
+  // TODO: Unhook all event handlers
+};
+
+TraceManager.prototype.updateFilter = function(group, keys) {
+
+  if (typeof(keys) === "undefined" || keys === null) {
+    
+    this.gd.data = JSON.parse(JSON.stringify(this.origData));
+    
+  } else {
+  
+    var traces = [];
+    for (var i = 0; i < this.origData.length; i++) {
+      var trace = this.origData[i];
+      if (!trace.key || trace.set !== group) {
+        continue;
+      }
+      var matchFunc = getMatchFunc(trace);
+      var matches = matchFunc(trace.key, keys);
+      
+      if (matches.length > 0) {
+        if (!trace._isSimpleKey) {
+          // subsetArrayAttrs doesn't mutate trace (it makes a modified clone)
+          trace = subsetArrayAttrs(trace, matches);
+        }
+        traces.push(trace);
+      }
+    }
+    this.gd.data = traces;
+  }
+  
+  Plotly.redraw(this.gd);
+  
+  // NOTE: we purposely do _not_ restore selection(s), since on filter,
+  // axis likely will update, changing the pixel -> data mapping, leading 
+  // to a likely mismatch in the brush outline and highlighted marks
+  
+};
+
+TraceManager.prototype.updateSelection = function(group, keys) {
+  
+  if (keys !== null && !Array.isArray(keys)) {
+    throw new Error("Invalid keys argument; null or array expected");
+  }
+  
+  // if selection has been cleared, or if this is transient
+  // selection, delete the "selection traces"
+  var nNewTraces = this.gd.data.length - this.origData.length;
+  if (keys === null || !this.highlight.persistent && nNewTraces > 0) {
+    var tracesToRemove = [];
+    for (var i = 0; i < this.gd.data.length; i++) {
+      if (this.gd.data[i]._isCrosstalkTrace) tracesToRemove.push(i);
+    }
+    Plotly.deleteTraces(this.gd, tracesToRemove);
+    this.groupSelections[group] = keys;
+  } else {
+    // add to the groupSelection, rather than overwriting it
+    // TODO: can this be removed?
+    this.groupSelections[group] = this.groupSelections[group] || [];
+    for (var i = 0; i < keys.length; i++) {
+      var k = keys[i];
+      if (this.groupSelections[group].indexOf(k) < 0) {
+        this.groupSelections[group].push(k);
+      }
+    }
+  }
+  
+  if (keys === null) {
+    
+    Plotly.restyle(this.gd, {"opacity": this.origOpacity});
+    
+  } else if (keys.length >= 1) {
+    
+    // placeholder for new "selection traces"
+    var traces = [];
+    // this variable is set in R/highlight.R
+    var selectionColour = crosstalk.group(group).var("plotlySelectionColour").get() || 
+      this.highlight.color[0];
+
+    for (var i = 0; i < this.origData.length; i++) {
+      // TODO: try using Lib.extendFlat() as done in  
+      // https://github.com/plotly/plotly.js/pull/1136 
+      var trace = JSON.parse(JSON.stringify(this.gd.data[i]));
+      if (!trace.key || trace.set !== group) {
+        continue;
+      }
+      // Get sorted array of matching indices in trace.key
+      var matchFunc = getMatchFunc(trace);
+      var matches = matchFunc(trace.key, keys);
+      
+      if (matches.length > 0) {
+        // If this is a "simple" key, that means select the entire trace
+        if (!trace._isSimpleKey) {
+          trace = subsetArrayAttrs(trace, matches);
+        }
+        // reach into the full trace object so we can properly reflect the 
+        // selection attributes in every view
+        var d = this.gd._fullData[i];
+        
+        /* 
+        / Recursively inherit selection attributes from various sources, 
+        / in order of preference:
+        /  (1) official plotly.js selected attribute
+        /  (2) highlight(selected = attrs_selected(...))
+        */
+        // TODO: it would be neat to have a dropdown to dynamically specify these!
+        $.extend(true, trace, this.highlight.selected);
+        
+        // if it is defined, override color with the "dynamic brush color""
+        if (d.marker) {
+          trace.marker = trace.marker || {};
+          trace.marker.color =  selectionColour || trace.marker.color || d.marker.color;
+        }
+        if (d.line) {
+          trace.line = trace.line || {};
+          trace.line.color =  selectionColour || trace.line.color || d.line.color;
+        }
+        if (d.textfont) {
+          trace.textfont = trace.textfont || {};
+          trace.textfont.color =  selectionColour || trace.textfont.color || d.textfont.color;
+        }
+        if (d.fillcolor) {
+          // TODO: should selectionColour inherit alpha from the existing fillcolor?
+          trace.fillcolor = selectionColour || trace.fillcolor || d.fillcolor;
+        }
+        // attach a sensible name/legendgroup
+        trace.name = trace.name || keys.join("
"); + trace.legendgroup = trace.legendgroup || keys.join("
"); + + // keep track of mapping between this new trace and the trace it targets + // (necessary for updating frames to reflect the selection traces) + trace._originalIndex = i; + trace._newIndex = this.gd._fullData.length + traces.length; + trace._isCrosstalkTrace = true; + traces.push(trace); + } + } + + if (traces.length > 0) { + + Plotly.addTraces(this.gd, traces).then(function(gd) { + // incrementally add selection traces to frames + // (this is heavily inspired by Plotly.Plots.modifyFrames() + // in src/plots/plots.js) + var _hash = gd._transitionData._frameHash; + var _frames = gd._transitionData._frames || []; + + for (var i = 0; i < _frames.length; i++) { + + // add to _frames[i].traces *if* this frame references selected trace(s) + var newIndices = []; + for (var j = 0; j < traces.length; j++) { + var tr = traces[j]; + if (_frames[i].traces.indexOf(tr._originalIndex) > -1) { + newIndices.push(tr._newIndex); + _frames[i].traces.push(tr._newIndex); + } + } + + // nothing to do... + if (newIndices.length === 0) { + continue; + } + + var ctr = 0; + var nFrameTraces = _frames[i].data.length; + + for (var j = 0; j < nFrameTraces; j++) { + var frameTrace = _frames[i].data[j]; + if (!frameTrace.key || frameTrace.set !== group) { + continue; + } + + var matchFunc = getMatchFunc(frameTrace); + var matches = matchFunc(frameTrace.key, keys); + + if (matches.length > 0) { + if (!trace._isSimpleKey) { + frameTrace = subsetArrayAttrs(frameTrace, matches); + } + var d = gd._fullData[newIndices[ctr]]; + if (d.marker) { + frameTrace.marker = d.marker; + } + if (d.line) { + frameTrace.line = d.line; + } + if (d.textfont) { + frameTrace.textfont = d.textfont; + } + ctr = ctr + 1; + _frames[i].data.push(frameTrace); + } + } + + // update gd._transitionData._frameHash + _hash[_frames[i].name] = _frames[i]; + } + + }); + + // dim traces that have a set matching the set of selection sets + var tracesToDim = [], + opacities = [], + sets = Object.keys(this.groupSelections), + n = this.origData.length; + + for (var i = 0; i < n; i++) { + var opacity = this.origOpacity[i] || 1; + // have we already dimmed this trace? Or is this even worth doing? + if (opacity !== this.gd._fullData[i].opacity || this.highlight.opacityDim === 1) { + continue; + } + // is this set an element of the set of selection sets? + var matches = findMatches(sets, [this.gd.data[i].set]); + if (matches.length) { + tracesToDim.push(i); + opacities.push(opacity * this.highlight.opacityDim); + } + } + + if (tracesToDim.length > 0) { + Plotly.restyle(this.gd, {"opacity": opacities}, tracesToDim); + // turn off the selected/unselected API + Plotly.restyle(this.gd, {"selectedpoints": null}); + } + + } + + } +}; + +/* +Note: in all of these match functions, we assume needleSet (i.e. the selected keys) +is a 1D (or flat) array. The real difference is the meaning of haystack. +findMatches() does the usual thing you'd expect for +linked brushing on a scatterplot matrix. findSimpleMatches() returns a match iff +haystack is a subset of the needleSet. findNestedMatches() returns +*/ + +function getMatchFunc(trace) { + return (trace._isNestedKey) ? findNestedMatches : + (trace._isSimpleKey) ? findSimpleMatches : findMatches; +} + +// find matches for "flat" keys +function findMatches(haystack, needleSet) { + var matches = []; + haystack.forEach(function(obj, i) { + if (obj === null || needleSet.indexOf(obj) >= 0) { + matches.push(i); + } + }); + return matches; +} + +// find matches for "simple" keys +function findSimpleMatches(haystack, needleSet) { + var match = haystack.every(function(val) { + return val === null || needleSet.indexOf(val) >= 0; + }); + // yes, this doesn't make much sense other than conforming + // to the output type of the other match functions + return (match) ? [0] : [] +} + +// find matches for a "nested" haystack (2D arrays) +function findNestedMatches(haystack, needleSet) { + var matches = []; + for (var i = 0; i < haystack.length; i++) { + var hay = haystack[i]; + var match = hay.every(function(val) { + return val === null || needleSet.indexOf(val) >= 0; + }); + if (match) { + matches.push(i); + } + } + return matches; +} + +function isPlainObject(obj) { + return ( + Object.prototype.toString.call(obj) === '[object Object]' && + Object.getPrototypeOf(obj) === Object.prototype + ); +} + +function subsetArrayAttrs(obj, indices) { + var newObj = {}; + Object.keys(obj).forEach(function(k) { + var val = obj[k]; + + if (k.charAt(0) === "_") { + newObj[k] = val; + } else if (k === "transforms" && Array.isArray(val)) { + newObj[k] = val.map(function(transform) { + return subsetArrayAttrs(transform, indices); + }); + } else if (k === "colorscale" && Array.isArray(val)) { + newObj[k] = val; + } else if (isPlainObject(val)) { + newObj[k] = subsetArrayAttrs(val, indices); + } else if (Array.isArray(val)) { + newObj[k] = subsetArray(val, indices); + } else { + newObj[k] = val; + } + }); + return newObj; +} + +function subsetArray(arr, indices) { + var result = []; + for (var i = 0; i < indices.length; i++) { + result.push(arr[indices[i]]); + } + return result; +} + +// Convenience function for removing plotly's brush +function removeBrush(el) { + var outlines = el.querySelectorAll(".select-outline"); + for (var i = 0; i < outlines.length; i++) { + outlines[i].remove(); + } +} + + +// https://davidwalsh.name/javascript-debounce-function + +// Returns a function, that, as long as it continues to be invoked, will not +// be triggered. The function will be called after it stops being called for +// N milliseconds. If `immediate` is passed, trigger the function on the +// leading edge, instead of the trailing. +function debounce(func, wait, immediate) { + var timeout; + return function() { + var context = this, args = arguments; + var later = function() { + timeout = null; + if (!immediate) func.apply(context, args); + }; + var callNow = immediate && !timeout; + clearTimeout(timeout); + timeout = setTimeout(later, wait); + if (callNow) func.apply(context, args); + }; +}; diff --git a/articles/index.html b/articles/index.html index a8844f4..336c56a 100644 --- a/articles/index.html +++ b/articles/index.html @@ -17,7 +17,7 @@ ggVennDiagram - 1.4.13 + 1.5.0
diff --git a/articles/using-ggVennDiagram.html b/articles/using-ggVennDiagram.html index 4fa3907..ea59ded 100644 --- a/articles/using-ggVennDiagram.html +++ b/articles/using-ggVennDiagram.html @@ -33,7 +33,7 @@ ggVennDiagram - 1.4.13 + 1.5.0
@@ -81,7 +81,7 @@ - +
- +

Setting set label diff --git a/articles/using-ggVennDiagram_files/figure-html/unnamed-chunk-16-1.png b/articles/using-ggVennDiagram_files/figure-html/unnamed-chunk-16-1.png index d859aa3c6e566b1da397a5ddf50a9d6235b4bd3e..7e365a7343e753b157e5c199ba26340dca13f836 100644 GIT binary patch delta 7295 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 QG~frWZ>opWx&QQk0EkOse*gdg delta 7299 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 b!xz-kT%O76Wf#^Y;0vmzqgwsQI_m!bDG+&6 diff --git a/articles/using-ggVennDiagram_files/plotly-binding-4.10.4/plotly.js b/articles/using-ggVennDiagram_files/plotly-binding-4.10.4/plotly.js new file mode 100644 index 0000000..7a2a143 --- /dev/null +++ b/articles/using-ggVennDiagram_files/plotly-binding-4.10.4/plotly.js @@ -0,0 +1,941 @@ + +HTMLWidgets.widget({ + name: "plotly", + type: "output", + + initialize: function(el, width, height) { + return {}; + }, + + resize: function(el, width, height, instance) { + if (instance.autosize) { + var width = instance.width || width; + var height = instance.height || height; + Plotly.relayout(el.id, {width: width, height: height}); + } + }, + + renderValue: function(el, x, instance) { + + // Plotly.relayout() mutates the plot input object, so make sure to + // keep a reference to the user-supplied width/height *before* + // we call Plotly.plot(); + var lay = x.layout || {}; + instance.width = lay.width; + instance.height = lay.height; + instance.autosize = lay.autosize || true; + + /* + / 'inform the world' about highlighting options this is so other + / crosstalk libraries have a chance to respond to special settings + / such as persistent selection. + / AFAIK, leaflet is the only library with such intergration + / https://github.com/rstudio/leaflet/pull/346/files#diff-ad0c2d51ce5fdf8c90c7395b102f4265R154 + */ + var ctConfig = crosstalk.var('plotlyCrosstalkOpts').set(x.highlight); + + if (typeof(window) !== "undefined") { + // make sure plots don't get created outside the network (for on-prem) + window.PLOTLYENV = window.PLOTLYENV || {}; + window.PLOTLYENV.BASE_URL = x.base_url; + + // Enable persistent selection when shift key is down + // https://stackoverflow.com/questions/1828613/check-if-a-key-is-down + var persistOnShift = function(e) { + if (!e) window.event; + if (e.shiftKey) { + x.highlight.persistent = true; + x.highlight.persistentShift = true; + } else { + x.highlight.persistent = false; + x.highlight.persistentShift = false; + } + }; + + // Only relevant if we haven't forced persistent mode at command line + if (!x.highlight.persistent) { + window.onmousemove = persistOnShift; + } + } + + var graphDiv = document.getElementById(el.id); + + // TODO: move the control panel injection strategy inside here... + HTMLWidgets.addPostRenderHandler(function() { + + // lower the z-index of the modebar to prevent it from highjacking hover + // (TODO: do this via CSS?) + // https://github.com/ropensci/plotly/issues/956 + // https://www.w3schools.com/jsref/prop_style_zindex.asp + var modebars = document.querySelectorAll(".js-plotly-plot .plotly .modebar"); + for (var i = 0; i < modebars.length; i++) { + modebars[i].style.zIndex = 1; + } + }); + + // inject a "control panel" holding selectize/dynamic color widget(s) + if ((x.selectize || x.highlight.dynamic) && !instance.plotly) { + var flex = document.createElement("div"); + flex.class = "plotly-crosstalk-control-panel"; + flex.style = "display: flex; flex-wrap: wrap"; + + // inject the colourpicker HTML container into the flexbox + if (x.highlight.dynamic) { + var pickerDiv = document.createElement("div"); + + var pickerInput = document.createElement("input"); + pickerInput.id = el.id + "-colourpicker"; + pickerInput.placeholder = "asdasd"; + + var pickerLabel = document.createElement("label"); + pickerLabel.for = pickerInput.id; + pickerLabel.innerHTML = "Brush color  "; + + pickerDiv.appendChild(pickerLabel); + pickerDiv.appendChild(pickerInput); + flex.appendChild(pickerDiv); + } + + // inject selectize HTML containers (one for every crosstalk group) + if (x.selectize) { + var ids = Object.keys(x.selectize); + + for (var i = 0; i < ids.length; i++) { + var container = document.createElement("div"); + container.id = ids[i]; + container.style = "width: 80%; height: 10%"; + container.class = "form-group crosstalk-input-plotly-highlight"; + + var label = document.createElement("label"); + label.for = ids[i]; + label.innerHTML = x.selectize[ids[i]].group; + label.class = "control-label"; + + var selectDiv = document.createElement("div"); + var select = document.createElement("select"); + select.multiple = true; + + selectDiv.appendChild(select); + container.appendChild(label); + container.appendChild(selectDiv); + flex.appendChild(container); + } + } + + // finally, insert the flexbox inside the htmlwidget container, + // but before the plotly graph div + graphDiv.parentElement.insertBefore(flex, graphDiv); + + if (x.highlight.dynamic) { + var picker = $("#" + pickerInput.id); + var colors = x.highlight.color || []; + // TODO: let users specify options? + var opts = { + value: colors[0], + showColour: "both", + palette: "limited", + allowedCols: colors.join(" "), + width: "20%", + height: "10%" + }; + picker.colourpicker({changeDelay: 0}); + picker.colourpicker("settings", opts); + picker.colourpicker("value", opts.value); + // inform crosstalk about a change in the current selection colour + var grps = x.highlight.ctGroups || []; + for (var i = 0; i < grps.length; i++) { + crosstalk.group(grps[i]).var('plotlySelectionColour') + .set(picker.colourpicker('value')); + } + picker.on("change", function() { + for (var i = 0; i < grps.length; i++) { + crosstalk.group(grps[i]).var('plotlySelectionColour') + .set(picker.colourpicker('value')); + } + }); + } + } + + // if no plot exists yet, create one with a particular configuration + if (!instance.plotly) { + + var plot = Plotly.newPlot(graphDiv, x); + instance.plotly = true; + + } else if (x.layout.transition) { + + var plot = Plotly.react(graphDiv, x); + + } else { + + // this is essentially equivalent to Plotly.newPlot(), but avoids creating + // a new webgl context + // https://github.com/plotly/plotly.js/blob/2b24f9def901831e61282076cf3f835598d56f0e/src/plot_api/plot_api.js#L531-L532 + + // TODO: restore crosstalk selections? + Plotly.purge(graphDiv); + // TODO: why is this necessary to get crosstalk working? + graphDiv.data = undefined; + graphDiv.layout = undefined; + var plot = Plotly.newPlot(graphDiv, x); + } + + // Trigger plotly.js calls defined via `plotlyProxy()` + plot.then(function() { + if (HTMLWidgets.shinyMode) { + Shiny.addCustomMessageHandler("plotly-calls", function(msg) { + var gd = document.getElementById(msg.id); + if (!gd) { + throw new Error("Couldn't find plotly graph with id: " + msg.id); + } + // This isn't an official plotly.js method, but it's the only current way to + // change just the configuration of a plot + // https://community.plot.ly/t/update-config-function/9057 + if (msg.method == "reconfig") { + Plotly.react(gd, gd.data, gd.layout, msg.args); + return; + } + if (!Plotly[msg.method]) { + throw new Error("Unknown method " + msg.method); + } + var args = [gd].concat(msg.args); + Plotly[msg.method].apply(null, args); + }); + } + + // plotly's mapbox API doesn't currently support setting bounding boxes + // https://www.mapbox.com/mapbox-gl-js/example/fitbounds/ + // so we do this manually... + // TODO: make sure this triggers on a redraw and relayout as well as on initial draw + var mapboxIDs = graphDiv._fullLayout._subplots.mapbox || []; + for (var i = 0; i < mapboxIDs.length; i++) { + var id = mapboxIDs[i]; + var mapOpts = x.layout[id] || {}; + var args = mapOpts._fitBounds || {}; + if (!args) { + continue; + } + var mapObj = graphDiv._fullLayout[id]._subplot.map; + mapObj.fitBounds(args.bounds, args.options); + } + + }); + + // Attach attributes (e.g., "key", "z") to plotly event data + function eventDataWithKey(eventData) { + if (eventData === undefined || !eventData.hasOwnProperty("points")) { + return null; + } + return eventData.points.map(function(pt) { + var obj = { + curveNumber: pt.curveNumber, + pointNumber: pt.pointNumber, + x: pt.x, + y: pt.y + }; + + // If 'z' is reported with the event data, then use it! + if (pt.hasOwnProperty("z")) { + obj.z = pt.z; + } + + if (pt.hasOwnProperty("customdata")) { + obj.customdata = pt.customdata; + } + + /* + TL;DR: (I think) we have to select the graph div (again) to attach keys... + + Why? Remember that crosstalk will dynamically add/delete traces + (see traceManager.prototype.updateSelection() below) + For this reason, we can't simply grab keys from x.data (like we did previously) + Moreover, we can't use _fullData, since that doesn't include + unofficial attributes. It's true that click/hover events fire with + pt.data, but drag events don't... + */ + var gd = document.getElementById(el.id); + var trace = gd.data[pt.curveNumber]; + + if (!trace._isSimpleKey) { + var attrsToAttach = ["key"]; + } else { + // simple keys fire the whole key + obj.key = trace.key; + var attrsToAttach = []; + } + + for (var i = 0; i < attrsToAttach.length; i++) { + var attr = trace[attrsToAttach[i]]; + if (Array.isArray(attr)) { + if (typeof pt.pointNumber === "number") { + obj[attrsToAttach[i]] = attr[pt.pointNumber]; + } else if (Array.isArray(pt.pointNumber)) { + obj[attrsToAttach[i]] = attr[pt.pointNumber[0]][pt.pointNumber[1]]; + } else if (Array.isArray(pt.pointNumbers)) { + obj[attrsToAttach[i]] = pt.pointNumbers.map(function(idx) { return attr[idx]; }); + } + } + } + return obj; + }); + } + + + var legendEventData = function(d) { + // if legendgroup is not relevant just return the trace + var trace = d.data[d.curveNumber]; + if (!trace.legendgroup) return trace; + + // if legendgroup was specified, return all traces that match the group + var legendgrps = d.data.map(function(trace){ return trace.legendgroup; }); + var traces = []; + for (i = 0; i < legendgrps.length; i++) { + if (legendgrps[i] == trace.legendgroup) { + traces.push(d.data[i]); + } + } + + return traces; + }; + + + // send user input event data to shiny + if (HTMLWidgets.shinyMode && Shiny.setInputValue) { + + // Some events clear other input values + // TODO: always register these? + var eventClearMap = { + plotly_deselect: ["plotly_selected", "plotly_selecting", "plotly_brushed", "plotly_brushing", "plotly_click"], + plotly_unhover: ["plotly_hover"], + plotly_doubleclick: ["plotly_click"] + }; + + Object.keys(eventClearMap).map(function(evt) { + graphDiv.on(evt, function() { + var inputsToClear = eventClearMap[evt]; + inputsToClear.map(function(input) { + Shiny.setInputValue(input + "-" + x.source, null, {priority: "event"}); + }); + }); + }); + + var eventDataFunctionMap = { + plotly_click: eventDataWithKey, + plotly_sunburstclick: eventDataWithKey, + plotly_hover: eventDataWithKey, + plotly_unhover: eventDataWithKey, + // If 'plotly_selected' has already been fired, and you click + // on the plot afterwards, this event fires `undefined`?!? + // That might be considered a plotly.js bug, but it doesn't make + // sense for this input change to occur if `d` is falsy because, + // even in the empty selection case, `d` is truthy (an object), + // and the 'plotly_deselect' event will reset this input + plotly_selected: function(d) { if (d) { return eventDataWithKey(d); } }, + plotly_selecting: function(d) { if (d) { return eventDataWithKey(d); } }, + plotly_brushed: function(d) { + if (d) { return d.range ? d.range : d.lassoPoints; } + }, + plotly_brushing: function(d) { + if (d) { return d.range ? d.range : d.lassoPoints; } + }, + plotly_legendclick: legendEventData, + plotly_legenddoubleclick: legendEventData, + plotly_clickannotation: function(d) { return d.fullAnnotation } + }; + + var registerShinyValue = function(event) { + var eventDataPreProcessor = eventDataFunctionMap[event] || function(d) { return d ? d : el.id }; + // some events are unique to the R package + var plotlyJSevent = (event == "plotly_brushed") ? "plotly_selected" : (event == "plotly_brushing") ? "plotly_selecting" : event; + // register the event + graphDiv.on(plotlyJSevent, function(d) { + Shiny.setInputValue( + event + "-" + x.source, + JSON.stringify(eventDataPreProcessor(d)), + {priority: "event"} + ); + }); + } + + var shinyEvents = x.shinyEvents || []; + shinyEvents.map(registerShinyValue); + } + + // Given an array of {curveNumber: x, pointNumber: y} objects, + // return a hash of { + // set1: {value: [key1, key2, ...], _isSimpleKey: false}, + // set2: {value: [key3, key4, ...], _isSimpleKey: false} + // } + function pointsToKeys(points) { + var keysBySet = {}; + for (var i = 0; i < points.length; i++) { + + var trace = graphDiv.data[points[i].curveNumber]; + if (!trace.key || !trace.set) { + continue; + } + + // set defaults for this keySet + // note that we don't track the nested property (yet) since we always + // emit the union -- http://cpsievert.github.io/talks/20161212b/#21 + keysBySet[trace.set] = keysBySet[trace.set] || { + value: [], + _isSimpleKey: trace._isSimpleKey + }; + + // Use pointNumber by default, but aggregated traces should emit pointNumbers + var ptNum = points[i].pointNumber; + var hasPtNum = typeof ptNum === "number"; + var ptNum = hasPtNum ? ptNum : points[i].pointNumbers; + + // selecting a point of a "simple" trace means: select the + // entire key attached to this trace, which is useful for, + // say clicking on a fitted line to select corresponding observations + var key = trace._isSimpleKey ? trace.key : Array.isArray(ptNum) ? ptNum.map(function(idx) { return trace.key[idx]; }) : trace.key[ptNum]; + // http://stackoverflow.com/questions/10865025/merge-flatten-an-array-of-arrays-in-javascript + var keyFlat = trace._isNestedKey ? [].concat.apply([], key) : key; + + // TODO: better to only add new values? + keysBySet[trace.set].value = keysBySet[trace.set].value.concat(keyFlat); + } + + return keysBySet; + } + + + x.highlight.color = x.highlight.color || []; + // make sure highlight color is an array + if (!Array.isArray(x.highlight.color)) { + x.highlight.color = [x.highlight.color]; + } + + var traceManager = new TraceManager(graphDiv, x.highlight); + + // Gather all *unique* sets. + var allSets = []; + for (var curveIdx = 0; curveIdx < x.data.length; curveIdx++) { + var newSet = x.data[curveIdx].set; + if (newSet) { + if (allSets.indexOf(newSet) === -1) { + allSets.push(newSet); + } + } + } + + // register event listeners for all sets + for (var i = 0; i < allSets.length; i++) { + + var set = allSets[i]; + var selection = new crosstalk.SelectionHandle(set); + var filter = new crosstalk.FilterHandle(set); + + var filterChange = function(e) { + removeBrush(el); + traceManager.updateFilter(set, e.value); + }; + filter.on("change", filterChange); + + + var selectionChange = function(e) { + + // Workaround for 'plotly_selected' now firing previously selected + // points (in addition to new ones) when holding shift key. In our case, + // we just want the new keys + if (x.highlight.on === "plotly_selected" && x.highlight.persistentShift) { + // https://stackoverflow.com/questions/1187518/how-to-get-the-difference-between-two-arrays-in-javascript + Array.prototype.diff = function(a) { + return this.filter(function(i) {return a.indexOf(i) < 0;}); + }; + e.value = e.value.diff(e.oldValue); + } + + // array of "event objects" tracking the selection history + // this is used to avoid adding redundant selections + var selectionHistory = crosstalk.var("plotlySelectionHistory").get() || []; + + // Construct an event object "defining" the current event. + var event = { + receiverID: traceManager.gd.id, + plotlySelectionColour: crosstalk.group(set).var("plotlySelectionColour").get() + }; + event[set] = e.value; + // TODO: is there a smarter way to check object equality? + if (selectionHistory.length > 0) { + var ev = JSON.stringify(event); + for (var i = 0; i < selectionHistory.length; i++) { + var sel = JSON.stringify(selectionHistory[i]); + if (sel == ev) { + return; + } + } + } + + // accumulate history for persistent selection + if (!x.highlight.persistent) { + selectionHistory = [event]; + } else { + selectionHistory.push(event); + } + crosstalk.var("plotlySelectionHistory").set(selectionHistory); + + // do the actual updating of traces, frames, and the selectize widget + traceManager.updateSelection(set, e.value); + // https://github.com/selectize/selectize.js/blob/master/docs/api.md#methods_items + if (x.selectize) { + if (!x.highlight.persistent || e.value === null) { + selectize.clear(true); + } + selectize.addItems(e.value, true); + selectize.close(); + } + } + selection.on("change", selectionChange); + + // Set a crosstalk variable selection value, triggering an update + var turnOn = function(e) { + if (e) { + var selectedKeys = pointsToKeys(e.points); + // Keys are group names, values are array of selected keys from group. + for (var set in selectedKeys) { + if (selectedKeys.hasOwnProperty(set)) { + selection.set(selectedKeys[set].value, {sender: el}); + } + } + } + }; + if (x.highlight.debounce > 0) { + turnOn = debounce(turnOn, x.highlight.debounce); + } + graphDiv.on(x.highlight.on, turnOn); + + graphDiv.on(x.highlight.off, function turnOff(e) { + // remove any visual clues + removeBrush(el); + // remove any selection history + crosstalk.var("plotlySelectionHistory").set(null); + // trigger the actual removal of selection traces + selection.set(null, {sender: el}); + }); + + // register a callback for selectize so that there is bi-directional + // communication between the widget and direct manipulation events + if (x.selectize) { + var selectizeID = Object.keys(x.selectize)[i]; + var options = x.selectize[selectizeID]; + var first = [{value: "", label: "(All)"}]; + var opts = $.extend({ + options: first.concat(options.items), + searchField: "label", + valueField: "value", + labelField: "label", + maxItems: 50 + }, + options + ); + var select = $("#" + selectizeID).find("select")[0]; + var selectize = $(select).selectize(opts)[0].selectize; + // NOTE: this callback is triggered when *directly* altering + // dropdown items + selectize.on("change", function() { + var currentItems = traceManager.groupSelections[set] || []; + if (!x.highlight.persistent) { + removeBrush(el); + for (var i = 0; i < currentItems.length; i++) { + selectize.removeItem(currentItems[i], true); + } + } + var newItems = selectize.items.filter(function(idx) { + return currentItems.indexOf(idx) < 0; + }); + if (newItems.length > 0) { + traceManager.updateSelection(set, newItems); + } else { + // Item has been removed... + // TODO: this logic won't work for dynamically changing palette + traceManager.updateSelection(set, null); + traceManager.updateSelection(set, selectize.items); + } + }); + } + } // end of selectionChange + + } // end of renderValue +}); // end of widget definition + +/** + * @param graphDiv The Plotly graph div + * @param highlight An object with options for updating selection(s) + */ +function TraceManager(graphDiv, highlight) { + // The Plotly graph div + this.gd = graphDiv; + + // Preserve the original data. + // TODO: try using Lib.extendFlat() as done in + // https://github.com/plotly/plotly.js/pull/1136 + this.origData = JSON.parse(JSON.stringify(graphDiv.data)); + + // avoid doing this over and over + this.origOpacity = []; + for (var i = 0; i < this.origData.length; i++) { + this.origOpacity[i] = this.origData[i].opacity === 0 ? 0 : (this.origData[i].opacity || 1); + } + + // key: group name, value: null or array of keys representing the + // most recently received selection for that group. + this.groupSelections = {}; + + // selection parameters (e.g., transient versus persistent selection) + this.highlight = highlight; +} + +TraceManager.prototype.close = function() { + // TODO: Unhook all event handlers +}; + +TraceManager.prototype.updateFilter = function(group, keys) { + + if (typeof(keys) === "undefined" || keys === null) { + + this.gd.data = JSON.parse(JSON.stringify(this.origData)); + + } else { + + var traces = []; + for (var i = 0; i < this.origData.length; i++) { + var trace = this.origData[i]; + if (!trace.key || trace.set !== group) { + continue; + } + var matchFunc = getMatchFunc(trace); + var matches = matchFunc(trace.key, keys); + + if (matches.length > 0) { + if (!trace._isSimpleKey) { + // subsetArrayAttrs doesn't mutate trace (it makes a modified clone) + trace = subsetArrayAttrs(trace, matches); + } + traces.push(trace); + } + } + this.gd.data = traces; + } + + Plotly.redraw(this.gd); + + // NOTE: we purposely do _not_ restore selection(s), since on filter, + // axis likely will update, changing the pixel -> data mapping, leading + // to a likely mismatch in the brush outline and highlighted marks + +}; + +TraceManager.prototype.updateSelection = function(group, keys) { + + if (keys !== null && !Array.isArray(keys)) { + throw new Error("Invalid keys argument; null or array expected"); + } + + // if selection has been cleared, or if this is transient + // selection, delete the "selection traces" + var nNewTraces = this.gd.data.length - this.origData.length; + if (keys === null || !this.highlight.persistent && nNewTraces > 0) { + var tracesToRemove = []; + for (var i = 0; i < this.gd.data.length; i++) { + if (this.gd.data[i]._isCrosstalkTrace) tracesToRemove.push(i); + } + Plotly.deleteTraces(this.gd, tracesToRemove); + this.groupSelections[group] = keys; + } else { + // add to the groupSelection, rather than overwriting it + // TODO: can this be removed? + this.groupSelections[group] = this.groupSelections[group] || []; + for (var i = 0; i < keys.length; i++) { + var k = keys[i]; + if (this.groupSelections[group].indexOf(k) < 0) { + this.groupSelections[group].push(k); + } + } + } + + if (keys === null) { + + Plotly.restyle(this.gd, {"opacity": this.origOpacity}); + + } else if (keys.length >= 1) { + + // placeholder for new "selection traces" + var traces = []; + // this variable is set in R/highlight.R + var selectionColour = crosstalk.group(group).var("plotlySelectionColour").get() || + this.highlight.color[0]; + + for (var i = 0; i < this.origData.length; i++) { + // TODO: try using Lib.extendFlat() as done in + // https://github.com/plotly/plotly.js/pull/1136 + var trace = JSON.parse(JSON.stringify(this.gd.data[i])); + if (!trace.key || trace.set !== group) { + continue; + } + // Get sorted array of matching indices in trace.key + var matchFunc = getMatchFunc(trace); + var matches = matchFunc(trace.key, keys); + + if (matches.length > 0) { + // If this is a "simple" key, that means select the entire trace + if (!trace._isSimpleKey) { + trace = subsetArrayAttrs(trace, matches); + } + // reach into the full trace object so we can properly reflect the + // selection attributes in every view + var d = this.gd._fullData[i]; + + /* + / Recursively inherit selection attributes from various sources, + / in order of preference: + / (1) official plotly.js selected attribute + / (2) highlight(selected = attrs_selected(...)) + */ + // TODO: it would be neat to have a dropdown to dynamically specify these! + $.extend(true, trace, this.highlight.selected); + + // if it is defined, override color with the "dynamic brush color"" + if (d.marker) { + trace.marker = trace.marker || {}; + trace.marker.color = selectionColour || trace.marker.color || d.marker.color; + } + if (d.line) { + trace.line = trace.line || {}; + trace.line.color = selectionColour || trace.line.color || d.line.color; + } + if (d.textfont) { + trace.textfont = trace.textfont || {}; + trace.textfont.color = selectionColour || trace.textfont.color || d.textfont.color; + } + if (d.fillcolor) { + // TODO: should selectionColour inherit alpha from the existing fillcolor? + trace.fillcolor = selectionColour || trace.fillcolor || d.fillcolor; + } + // attach a sensible name/legendgroup + trace.name = trace.name || keys.join("
"); + trace.legendgroup = trace.legendgroup || keys.join("
"); + + // keep track of mapping between this new trace and the trace it targets + // (necessary for updating frames to reflect the selection traces) + trace._originalIndex = i; + trace._newIndex = this.gd._fullData.length + traces.length; + trace._isCrosstalkTrace = true; + traces.push(trace); + } + } + + if (traces.length > 0) { + + Plotly.addTraces(this.gd, traces).then(function(gd) { + // incrementally add selection traces to frames + // (this is heavily inspired by Plotly.Plots.modifyFrames() + // in src/plots/plots.js) + var _hash = gd._transitionData._frameHash; + var _frames = gd._transitionData._frames || []; + + for (var i = 0; i < _frames.length; i++) { + + // add to _frames[i].traces *if* this frame references selected trace(s) + var newIndices = []; + for (var j = 0; j < traces.length; j++) { + var tr = traces[j]; + if (_frames[i].traces.indexOf(tr._originalIndex) > -1) { + newIndices.push(tr._newIndex); + _frames[i].traces.push(tr._newIndex); + } + } + + // nothing to do... + if (newIndices.length === 0) { + continue; + } + + var ctr = 0; + var nFrameTraces = _frames[i].data.length; + + for (var j = 0; j < nFrameTraces; j++) { + var frameTrace = _frames[i].data[j]; + if (!frameTrace.key || frameTrace.set !== group) { + continue; + } + + var matchFunc = getMatchFunc(frameTrace); + var matches = matchFunc(frameTrace.key, keys); + + if (matches.length > 0) { + if (!trace._isSimpleKey) { + frameTrace = subsetArrayAttrs(frameTrace, matches); + } + var d = gd._fullData[newIndices[ctr]]; + if (d.marker) { + frameTrace.marker = d.marker; + } + if (d.line) { + frameTrace.line = d.line; + } + if (d.textfont) { + frameTrace.textfont = d.textfont; + } + ctr = ctr + 1; + _frames[i].data.push(frameTrace); + } + } + + // update gd._transitionData._frameHash + _hash[_frames[i].name] = _frames[i]; + } + + }); + + // dim traces that have a set matching the set of selection sets + var tracesToDim = [], + opacities = [], + sets = Object.keys(this.groupSelections), + n = this.origData.length; + + for (var i = 0; i < n; i++) { + var opacity = this.origOpacity[i] || 1; + // have we already dimmed this trace? Or is this even worth doing? + if (opacity !== this.gd._fullData[i].opacity || this.highlight.opacityDim === 1) { + continue; + } + // is this set an element of the set of selection sets? + var matches = findMatches(sets, [this.gd.data[i].set]); + if (matches.length) { + tracesToDim.push(i); + opacities.push(opacity * this.highlight.opacityDim); + } + } + + if (tracesToDim.length > 0) { + Plotly.restyle(this.gd, {"opacity": opacities}, tracesToDim); + // turn off the selected/unselected API + Plotly.restyle(this.gd, {"selectedpoints": null}); + } + + } + + } +}; + +/* +Note: in all of these match functions, we assume needleSet (i.e. the selected keys) +is a 1D (or flat) array. The real difference is the meaning of haystack. +findMatches() does the usual thing you'd expect for +linked brushing on a scatterplot matrix. findSimpleMatches() returns a match iff +haystack is a subset of the needleSet. findNestedMatches() returns +*/ + +function getMatchFunc(trace) { + return (trace._isNestedKey) ? findNestedMatches : + (trace._isSimpleKey) ? findSimpleMatches : findMatches; +} + +// find matches for "flat" keys +function findMatches(haystack, needleSet) { + var matches = []; + haystack.forEach(function(obj, i) { + if (obj === null || needleSet.indexOf(obj) >= 0) { + matches.push(i); + } + }); + return matches; +} + +// find matches for "simple" keys +function findSimpleMatches(haystack, needleSet) { + var match = haystack.every(function(val) { + return val === null || needleSet.indexOf(val) >= 0; + }); + // yes, this doesn't make much sense other than conforming + // to the output type of the other match functions + return (match) ? [0] : [] +} + +// find matches for a "nested" haystack (2D arrays) +function findNestedMatches(haystack, needleSet) { + var matches = []; + for (var i = 0; i < haystack.length; i++) { + var hay = haystack[i]; + var match = hay.every(function(val) { + return val === null || needleSet.indexOf(val) >= 0; + }); + if (match) { + matches.push(i); + } + } + return matches; +} + +function isPlainObject(obj) { + return ( + Object.prototype.toString.call(obj) === '[object Object]' && + Object.getPrototypeOf(obj) === Object.prototype + ); +} + +function subsetArrayAttrs(obj, indices) { + var newObj = {}; + Object.keys(obj).forEach(function(k) { + var val = obj[k]; + + if (k.charAt(0) === "_") { + newObj[k] = val; + } else if (k === "transforms" && Array.isArray(val)) { + newObj[k] = val.map(function(transform) { + return subsetArrayAttrs(transform, indices); + }); + } else if (k === "colorscale" && Array.isArray(val)) { + newObj[k] = val; + } else if (isPlainObject(val)) { + newObj[k] = subsetArrayAttrs(val, indices); + } else if (Array.isArray(val)) { + newObj[k] = subsetArray(val, indices); + } else { + newObj[k] = val; + } + }); + return newObj; +} + +function subsetArray(arr, indices) { + var result = []; + for (var i = 0; i < indices.length; i++) { + result.push(arr[indices[i]]); + } + return result; +} + +// Convenience function for removing plotly's brush +function removeBrush(el) { + var outlines = el.querySelectorAll(".select-outline"); + for (var i = 0; i < outlines.length; i++) { + outlines[i].remove(); + } +} + + +// https://davidwalsh.name/javascript-debounce-function + +// Returns a function, that, as long as it continues to be invoked, will not +// be triggered. The function will be called after it stops being called for +// N milliseconds. If `immediate` is passed, trigger the function on the +// leading edge, instead of the trailing. +function debounce(func, wait, immediate) { + var timeout; + return function() { + var context = this, args = arguments; + var later = function() { + timeout = null; + if (!immediate) func.apply(context, args); + }; + var callNow = immediate && !timeout; + clearTimeout(timeout); + timeout = setTimeout(later, wait); + if (callNow) func.apply(context, args); + }; +}; diff --git a/articles/using-new-shapes.html b/articles/using-new-shapes.html index d64deea..6292212 100644 --- a/articles/using-new-shapes.html +++ b/articles/using-new-shapes.html @@ -33,7 +33,7 @@ ggVennDiagram - 1.4.13 + 1.5.0

diff --git a/authors.html b/authors.html index 2dc559c..636584a 100644 --- a/authors.html +++ b/authors.html @@ -17,7 +17,7 @@ ggVennDiagram - 1.4.13 + 1.5.0
@@ -91,13 +91,13 @@

Citation

Gao C, Dusa A (2024). ggVennDiagram: A 'ggplot2' Implement of Venn Diagram. -R package version 1.4.13, https://gaospecial.github.io/ggVennDiagram/, https://github.com/gaospecial/ggVennDiagram. +R package version 1.5.0, https://gaospecial.github.io/ggVennDiagram/, https://github.com/gaospecial/ggVennDiagram.

@Manual{,
   title = {ggVennDiagram: A 'ggplot2' Implement of Venn Diagram},
   author = {Chun-Hui Gao and Adrian Dusa},
   year = {2024},
-  note = {R package version 1.4.13, https://gaospecial.github.io/ggVennDiagram/},
+  note = {R package version 1.5.0, https://gaospecial.github.io/ggVennDiagram/},
   url = {https://github.com/gaospecial/ggVennDiagram},
 }
diff --git a/index.html b/index.html index 771bac9..b7c25f1 100644 --- a/index.html +++ b/index.html @@ -41,7 +41,7 @@ ggVennDiagram - 1.4.13 + 1.5.0 diff --git a/news/index.html b/news/index.html index 3a70f6a..f461271 100644 --- a/news/index.html +++ b/news/index.html @@ -17,7 +17,7 @@ ggVennDiagram - 1.4.13 + 1.5.0 diff --git a/pkgdown.yml b/pkgdown.yml index 5c68a6c..4a0c30f 100644 --- a/pkgdown.yml +++ b/pkgdown.yml @@ -5,7 +5,7 @@ articles: fully-customed: fully-customed.html using-ggVennDiagram: using-ggVennDiagram.html using-new-shapes: using-new-shapes.html -last_built: 2024-01-09T00:38Z +last_built: 2024-01-19T05:54Z urls: reference: https://gaospecial.github.io/ggVennDiagram/reference article: https://gaospecial.github.io/ggVennDiagram/articles diff --git a/reference/Rplot002.png b/reference/Rplot002.png index 762cce5f34944868f5ae16e89f96e41d15674687..72b741bfb173aaa0685723aa76d7fbde8de349ec 100644 GIT binary patch literal 15416 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 literal 15092 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 diff --git a/reference/Rplot003.png b/reference/Rplot003.png index b135b02be57bdaf3322496b2c68f3b5128d39f22..8f8396018656451c659ebe7e9defe144404bbd6e 100644 GIT binary patch literal 12926 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 QMZt%%!X5d->-Qi18!YPW(*OVf literal 12872 zcmdsdcTiL9wtlczP(MUKie02iQ$UIpM4I#(KtbuCKtMuOKg2>&X@b(F1qej~5=u}M z1f&Lt5Q<7Cgia7b;I8d=&YgSioHM^OzklxB>*&D5Bzy1oeb=*|vYuSmR@=RUcLxfE z+O2-|vK|V>_8s}RZ412O-%%9}KepV|P`eC2;m`7=@<8~p{mxZW4-{(WKI9);dtbmR z3Uvsje))pIy*KneUq8;p%JtbL%Sh*a`?e(uJx+bR;{in=N^iQZq<>po&3)lT*Bp*$ zoMLg0fVoqIfCR_poV-#lms81^Vq7#f^Be*;%Uf5nSM<;k_nim#6)nY0Pjd*=M?9ZA zF*X(Ou7HmUG*tq4{O!SiL=XS_605`9s#_Q4iEJ$vc8CmNW`+ z*WHEx9a{38SNzO1x{YX$ zRnu^IJY({MU_{-pTsRJgL%zM1TlUNuT;TdziN>i{F)>`h7Y|3r#!|)854DdMo0*#% znwvYpmB)9pLI>rrtFv|6ttW?;n0bLXx10}N{J}q$n72Y_otZs7Bb^L&-#XupMtUSR z@Sv}qAqsVm@4r3gdDKRfHQT@QVzu=yUmgl3TJuC_Pft81?ri_PORvwmiQDsk<~=b< zvsx!cAD)+r3k{W&x3ZI%acA~0QU>MVA+}L4!$f@MQVNauv~JL7tIZwsS(@)-RDa_y zRzP%gbaqjZ6isTnVm`dzce?V3k)hmZqA&i)i>qy=)H8fH@RYJB9vjYxIwh*IgI(SD z;*V{Ws{+w)4TRI5KHZU1vzLf}jj^~Re&OGJkbnP?|3}_g5F#TZGgdyp!cWj>oxQ!z z<$S2~>=&q;52@^X^5^ZZuTq%PBr8Kh!;(fel;=Yf<1xXB;`s5;?WQ%}^CL}CwL-jM z4ctd5n0NR_Zv8B&XU&+tH!fnFHkzgR9;cjqBkmFW_c2>VoEO>3T~!Wl_;!@9t}RB) z+_UY<0S6L`LC!1f$4yL3FqVxi?gp2*P%|z(+~V-_)03yFX{MBD?aXJo?z%FvvZvxS z&8Pvw(M2Wnn_m`{=N@<}`*15q*Fm?6 zl#@w*dV&GJQn(~6bER7p-}$czuK!X~Z=dMQ>1=IHCK8Fcv>hQeoAXOeRu*ZQSC8o} z&}#?p%7+hjQ`vsk#)zL_H1S^-#*^PwWpvtJV#0!AD8xD8E@1U>?s0rPFa2GM@=C<| zFOH@}CG(Ss_fqLEQ7HL4TP6?NC17Hj6=F1kLwVtm^yy#|PX2n^_RM_U0QIRpP z+Hn4yv~UGnGWE-G3Nx$YmJ|<&;fDOZM^%SM9D97SV6s zMH{DFzdAfT3=r|yQ$eimu3{yJes+|wurTMYo@WYhfEn2q5B|4rz~4_#gwJS#_X0U- zt;354738|7THvL2Cc&nTee(u3YB~x<+zTCNZZz81vdtkgA>;G21K#mV462(*f;Q5I z8f>MmrR$ke28phR8%1#de%1wpRK>`86Wob)zPkD{iJj1Q)Qw8eqIjB@Z*G)S-CbLx z4ZKa5CVMKl5Oh4yrL241{7{N*_68w*?vMSHtzzc`Sv0Gh>}+*eSy^6{fQp-iCS4f$ za0E8Q1tPrTV>C~Q8R&6m8wih9iORgDipx+i)Jxx zrUJE!xdsvJT>Z&mXohm(i9RDdTJbX3{%a38l!esIDzOA!US0!p^Vb-3%Jr=8i(DF7 zT44b7Ar8<8VsQ1Or%#{0VHRBvm2`A=E{0R$;NYMu#Hr`wQ%2X@aU?-Ihd}5gGf(q| z;Q%Sfh6Oj>p_wqYTSvS)edECi%~yxii8Oq$sBbWhn9wtk&cKvP>?}k7-u+r`r+hcb$=%HB6GRRn2IJk~ zpe3nV?sT%l@yPnz#(U#In(2BwHf`X~fR{8nhpbLSj=Nj+d$cGyIyjsfD+!aFTlU-B zr%DQ7d9oHM-tlX5jS{rcpX!8Zyq`3fReJW@er(N=ux6)X(;VFVqCG z)gw>r_dM8LyyzW1XwqF3#oUNutB9Rl_5(b}Wo3OKex15+*wE0}c#a^;$8HV>_hQQR zSf)EUL(9?8vFN&PfP6Ul78Bs*jPp0^l+=&kD#M;!{wPg9_dRH%JL7C{)YW4KMn)Od zt(F~Sco7nbR$ke=@&61!m=GMJq2jC^f_Zp;~` z>JqyN_2saAIcg|&VA>c82v$!)bG=4zE&1}16!_cIWA=G)HkWpXFSGR)m)4ON&s#=m zr^TYLnZla4k9)>4+qrF0;#Z|>J-e$kPr$DqubzlZ=y`SZn5bc7VEEwBq}z^q?lfDe zY=Dki%$Gw%yak2sF2FWzQ1h5GLMKI!u@ zUS1vLrJWjrr!6Rp2Hf;!ZrIf#jD7l-yKl5z7TT4YN;m=+bF3V?i*9WmU`z>C@B9&d zZtA*^k5BBp1*NGcb6>T<54rG>=7gLlf1DKF_rx<^#ec<9{oKR%DJd5^J3CD&`*&eS zU33i%JI5EZva$*cwAKJXFl7?Y+QvB_4opuM`Tw}{?V@b(-Y1t82yGf{e7m-k_l9H} zTx)7-;u3BkH8eDcGtmxqsI43Bi;v#r_;xf#!U}Jf=%aeT;?8||y2a(uB&zs!)boel z+8BoWQMK@n2b*^~$FiZu4mbZ_;s&+c^5JQo3JD%O`ByW^04H+c>5g;x<^HAe5|w1qxsH*uFL*hUWaAgUX&waq zCZ`=c@At?lIGMg@>W}Z+4ulWtbNt}IuScI9 z)9)$bffz2c`YX0YYG>XG)s^EbL0`MTZNvHOvw^9p1EQc$L_#;(v8B={@uyt4-f#W~ zGWc|5N)j-{cek6`WhoY9hs3i3roJg39&V-S1g=D~%Ma}lv#c;t6ZH2CS&lrR_3~Jr zWu@8f-MhOuhyZ|a(H1Y)_Gb2G2F*gqg>4d)u-=Kte_#?Kk@femf{aH2$axY(RrstF z9+(&)kwAvaIJ6&gp_b&;4BMg3PY?EyBPv?~4)W()R0a_CCh&dN|A!>_t{e56D#uy{ zm^yXk7MiI^#Tf{3&Q021jnh=c)39DL#~enlN?Qgz4-}4mIWWC68FUz!JCL5-+^=4z zHj@vo@YrZ}u_e^1>Unh(S4bzLV2S+g{ecg>z&{IYsC5D}yD@r+K1{<1{l49?earM)?t$|W;Q8Z#=rJ7@C8-q^$n}PA<^UWPw9wt^s zB-Ps@jor}j*57Om8quuS{sq2jWkP$tf;qe2bT^OGhWU*mobG%-xb|%;q6XP7Ze;uS}2PCH46VK-7p-`=j(Y@np z3JF~*YqJsJqdkk9rXg$!3ZO6yJqES1l8v2FCU_*IDTcA!xsw>TX zISO76E>c_J2`IyeANyqf?ic;{Dv#B4HRFU*IwxRRy|1kGXep<`-WR=_%QfEE$Bnl`+nEunmhsNq&I`zZeP>&`R#TwoWv^2`_K zlh!R7W5nKB{OAt`;DeiDF-l3D5djNF5v~4k%Wl0RFAC5xZxigaIaF2)ye7Z34f|0r z1kZ6jF{`SIFVQKPa3wA=v$wWV-NUN@0d`6LMq*-OSMa-(kY&y@Bj8vyADP5Rr+%m-R!RLd8e0c(0mKoNO*)x zAp%(Y7dYYEk{hDWmK6@Px2J2A@1~fDX6zR+8hd3EeoD_Uc$nb-Ya%EAHfvAs39e_^ zAg+KJA^$;P$lZ8NZFz)ZJhxaH5U*U&1EyUM_2lwJWIrx! zFxG|=bHpZeF-Hni;Cp(B2-rKSVZ7;a(smOWuU+*_P2<4o$+%JTh`^Cv0z36zjhEEU zGwwrI4Gj!DebraL9E}ilLtCwp+I3)D0eA9Hc;p_61egk!jFI{ox#^+t{km(sor7K55!vj80tB&#}7 z3+WB5`k6@qL_BdqcoB|z%>t3AfcB*mRv#5_vVfoQa(8cL?h#PDSKvxwdC^JhYcayq zb9<|W;(yeH(0+snPMxL~leNjvJX$vLUHe3-V#xM^5x}1Th~UqA&MPZZ_^Jy*WHwavoOOnMt#%RFB5d|;K6df-6sSha#B-|OjAWZVfpJ`49bDF z^Fg~Q3K#=>kJ#`Yu1g>geEO78)%XWnW+Vb;cgo7haJv8D8w{waKCs;Ejd18MN2~ta z{11lvKLBX1RP8tM!_&Y9jPlIVZ#Bl8LeBbDtMg7yIba|x%+?8dFY7nxjeZ`)b4K?* zl)Fw;W==}?fq%@O!5WqbY%91?u#<}& z$ed3uJI6kDEiNt|1DK}7%Q}J2ynov!&K<#?6WN&)A9qSj$|Pd4C2Plm4_LO+@=5(S zR(7B5O`Z;1XY$J3NltHIXun}g69U1SZ0=TRm}8tjby`Uvf(Ca;0WcIbj1jEm?(?F$ zAT13b3RZdlv(F&n7Hbc>*{>{&U&|zyG+t(h>LzFEP|ByPa)5c95{PiB3+D&N6+2Zn z>RHF{{Y`vU^{vdY>on?Aq!rXC_D2f2$)1zW+C&917l98C(Wa((|} zOC_VnsYGL9DA9LHSB97FZV8LWC2o-wcJM5~-|8}0_PEX*V{e`!Jk4>iHVmFVCKyh9 zgz`$(8Mpr4;o)wunW9CE9cO=j<`Qm<&{1B#EJ0dz@1hv>(mwCHkXBGz#)=)Ear>#OIs ze*acd!Q6e51M;_%l{nw!&r7xgQh@p%@!F7}HL3>y^*rzM}KWBnAvR{|uGg1_o_A1lk z#}=NnDuC*kpq9Gr#huFSQ_(auHjbSPaMDMk`_c}pX_V!GlTR|rHF@C?cSkNa< z98Nfl|6EBHW|)k4F*+(NnbG54!McxjW_l5P4}u6d+0#i13t>?}Ie&@it?k_wtnGMdI_-H}W z#;xofq;)3gKw;|YN`rA#Dm?k^1c)@!bMQpm6;aw6d*SKFz zY4+0}vJUNUwPURt8yY-2bk)Y8r4<>N21Lci(n_eVx?xP(_7AF`=$-N3Z7X33u%IjV^SD5c+`c5f~)7#RKvh#^a=6tXEHkB z_Ax-r%yF*Mmr-fi2 zpnZ-m!;k6EO~}Y3k3U#V6py}!VSY+i0_F%t3^URIGRFrWtRrfx`xea!D3qI!Ju2zW z$L(nCh|f1S^Sr5mOktXI5`*-Nj2buN`NP0?Qd3ihwx(=F`APn^?;lhou$2PB0^m)y z71h3a@Mbx>9lKIS@HkhLh+7#Q=h5O~PmsTucqr^fBgu-3`ZLy)T!OO zYM#H(ldM%)lyo>qm$T4B6MRduhD2q@;ZV3}zToQjt;kiyjA8|m8@b*5CVOOLgyArI z&w{kvIE6&g_2c6RcB&nUmv>oZyh&o~#rLFTqu02lAN$7r*mRGf2C zl|R!9>1pvwz9pY0TK{lieYIL&F?Q*FudAh{g&;p-T0!3-P!^>(71Z_KsoA~qYcRqk zwyhqXviL^LmRnMB+VjwN1mHZrT;ulvc?OaoTD)bGP2nqOr3!C&VtMQCB1UdjVPPRz z(I&LSwGRjIT>e(Y7BMD%(@Ijgo2zRVLf}}y)r+t5U>!%k#+fqXGBQpes;F|paW|NQ z<|WQ;*_nwr((158iN^S$7gz0v8=~dUje?cIVoe81+%#O4^`5c-eyv1X1=_rMCl}}I zEgxAZ)ZSiX761^ztnen1I>va!!H4op-(_6gKRl3n<(a$kLI!Z@7R7nZy&|wZ$M(TH zuavUB=HyqIeZskmj9Kpz!Xx4uN%P?D$PTtyh}-}b05Hre>u8{>vKentRz%J80nO8V zZrUEKlPfr3(ixYY4!TrcULF{!dWZH1UA(fq2w8MC9PUvm`1lGa1{v$>pd*ISD%l1& zHJvx+rLO3Fg@-GtKWFbT*URy=CueSzV+%zNvO;M@cfQO(s&1OST|!)TBahDFQ*ut=zllOT?Tx*2pw3JMZ~M0xgl^x;(!)`K|?_`PcRJBk4uQ=!((`gQ3#y;n@|_Rm_P` zf9Qz9;lPZi$Ku=us!T^IAX*zl@s`fxwr!fC~V{^%!~(^hg|Q`k6$P2~bon zkqP^Ts8hVsw>3j}(-ZiYs+dzb=B{Pw$EL$d#=!@|zyG;okw(cUS3oaH@SQ4CSe>a6 zGl)@v!G|<<#hGgM0kP+A!3F`JM00@Izl3l-HGWJ~Gn`P6+@A52d@B{S|6*t5#H)*T zktcPgijtuD0DgdP@bu&K5-mh!HN`TJg+U|%oy-BI7V=wy!lK?nXMTWTh+x2b@v@

0}y&2DcibURIP=mS^i{B5TtyMdl=(q5A$SB|`3xOpde z^*H?Xc>l^48KRrFLR0`yXb};E;mbTk`Yikj8zw1LYwQ2A{s7@50XuG946-NiY!@;?mO()kZ^ik)>2miI1 zv!_}JhXk^}${~KJw{6#xT`q;i)h2i0(dMfccYMO2D_16RKzh*K0wX1B5%~&)UIG+8 za{%Zc<+WRt13;U3#l1pESeXM7RljcLPufBEf&`BU#kvTagn6|Fs)5$yl-~(=@0eY* zy38C{$HUM>A$fu7TCN4t9q%9{lRXRLGXu;-OTXFA?BoNYCdmg~-vfmT>33*~mnDwG zJ1umXyAgE2<&Bs3$e4ma^yT^?f|JUioHla-o@1%ucSQhncTy-hpcu~fc}Bv9I>&Z= zcq8wz0J_x?)CYeCG~~O3s;s5Jb?=ak86D1GMkB}$R>ip{C+MWW_D_PkGszMSoGPDI z&O?_Q0X)_$fc+xt)MXErR*di^ows_Y`uvyrdcaG85b1P2*n-oQONk>bNp9K1)h}Hw z@9|U-CeMa%mk=h2^kR@|c_0St%inl`Gm0!$X1K5M>oYDBo<78=uko@ujUXz30M`ll z<~|0P>LEB0u!|G9^Jq$E(XB?f>)Inm!Ai638WK?VTBf5X_ia~N>h(D8%QY#dUB4*p zb1;;RLD)UHXWJ$?J#9DoA=?2H60xPhwYYplx0ncfo1=Lm(jyK;(Afb$eXwTyUf>$? z;mJJ9H9b7u0rac0R~Lf01UoWnkwG9BYQ%~gy12L?4pF~nMihq|xB{g}c5hbhmA7R# zFE}@InWYF;dl7%OB1RB+a0U@7Ywv-c2dvE}dA}-k?v{ed86nOc4ntpFfI7UA1DQ8L zEx}ZjOT-Zk;)GF#&#{# zX)*8qSX%Z|n0i0>)XZ3!4y>ThG9WKESG4C`Z|>Zu(pr2rD=ExPT}br zoqnhFb3Z{bbODCF@`$@G^cDe^V=Bi4?ta?)xBH>hD_L{+OcvJ3-1xW&jp;O0fbQcG zOU74JSRlr$e5wH&olqMgX!Qv<=LA^&7t#YPz$As`UXkA;C0Woc?$BWZe&mT&bw5g4<{dFz9y9EX=bj{6kfN+d;+a-1C>nNqeDd`r^eh4ST z0Zh0ZTh3W|X6NN~dXt!aF9Bv}YB(sTGT*chpQHiLesNT7B2>D$;JRtRrVVU}@nYJAkqOqJtyhW?A~t*OMQI#2vU`a z_kM0im?lib!2ltWJK)Qw6c7igL}RrbDFlR;Ba$2(0|-uFNf8l(OiT^cjDyl_1%kH# zyu`7Oh=IuvgyEcVeuXa^;cczu|~Q&zfL0>G+e8DG_xlPR61sdFGjj52zM#wQ+IJ6#DbvT`;rhr2_#< zW>uMsXU?1v=HBJCoZH#ASZt)evOv}$0DT!5b`XbQCI}gt<=xE`SZoWiYoe0BK$PG*Y(lybrp!z+b zUz6I|w(>ovEN(ze&W?<4MWHIe*W2vhd$;bEQq!6gFyD%bz;`|%krlw6oFi(hD~!Cd znPceZp%J1}>9|b{RUI2!igeTD(Z3eWN+`$}yttJWtX86;DJT^B>1m{phUz0BkI-?@ z(ZR#;76j*pR#p-)B$Rn_-xJ2TeuifEAog9}Qey`(N5b4nd>OYF)mrYCf)Y^ndk-xj zU*2QH9_E|CLV4-6w#yDufOu)U@FOoCLoQINM%x`y6R#3jrLDqR(4H43jvayiK+^vn z*tQtZZ8mReb!Hh4U+C+Xt;@DzLV~ZlmK&i{K%3n-O3)H7R{W|e&{AUHE5q8$ z`ZAnhUdH8H!4Hjm=_CSIs&e+7{FA8aDhbZ&@WHWC5-U$zemIIH+CRF_W_YKgDX^=3+7SG=` z2euzCp-78e<_g16`jEJ#!+6C+q>l1<8>vy&Q4fy++bwqB+s%B# z$Aelg*_D4;gHmH@GMhB0U2aEy7+XucJx%HOY- ztfPX4lq2dGI*_#p%?}bns7?MY=rPv>mn2UsAj>d4z`jmkamiD??&}#n9?TQ@amNJY z>zgec0=b~99LC$zO(~Hylbs-D~API!{*l8e>TTDxj`LB#; z(g#CBYHn06_4}f`3TZquPxp%;?k`R!NtyWbsYpkAd%FuY$TiM#?4^ddBr+9i`u;@ICtN)pvXc1Digx*_3AEP9k-3b!ghP{Cu{^r`Zx;)HF5}Y|PU2N*b0(&3MZ$=vV4C;0n$6(EKy2)sKGQ zn)P+D0HS_>v=Qs=rejW;0eAg%qXenKpGYGji=njOLD>Bzoq~SgN(Pk#mbA9CU9*7< zFGAm7a4-X0T?66HwIoSZu;W-CX}xH0ukn=(GvvV0A8Pt_(>GM24~Lib(XlGB0Lf*V zIwfVatlN;awLvO}XhtOvYzk|?2BYh3i|{qv z${-vIe^NJC%WZ?0N8riZAoFJsJ|OFfP`KEn(_44*+Cu7Bs78|+Sr2U2O4qwRH&hS( zhEPNLy*k35X1i`LNqLchQv9DQ}WAh;;3)crTZO&o%OQT2nAhKuW&?t-X&7sh0Ff;bupKB;itaC_>^Ung#v znWEJbn))d7kWj{77qSJdEI;)8(pSK^@;qPA4 ggVennDiagram - 1.4.13 + 1.5.0 diff --git a/reference/VennPlotData.html b/reference/VennPlotData.html index 0efcb29..455878c 100644 --- a/reference/VennPlotData.html +++ b/reference/VennPlotData.html @@ -17,7 +17,7 @@ ggVennDiagram - 1.4.13 + 1.5.0 diff --git a/reference/all_identical.html b/reference/all_identical.html index d1ca3f7..685ef07 100644 --- a/reference/all_identical.html +++ b/reference/all_identical.html @@ -17,7 +17,7 @@ ggVennDiagram - 1.4.13 + 1.5.0 diff --git a/reference/combinations.html b/reference/combinations.html index 554191d..d18350e 100644 --- a/reference/combinations.html +++ b/reference/combinations.html @@ -17,7 +17,7 @@ ggVennDiagram - 1.4.13 + 1.5.0 diff --git a/reference/discern.html b/reference/discern.html index 39cad5a..7032fc4 100644 --- a/reference/discern.html +++ b/reference/discern.html @@ -19,7 +19,7 @@ ggVennDiagram - 1.4.13 + 1.5.0 diff --git a/reference/discern_overlap.html b/reference/discern_overlap.html index 8fa84a0..dc2f732 100644 --- a/reference/discern_overlap.html +++ b/reference/discern_overlap.html @@ -18,7 +18,7 @@ ggVennDiagram - 1.4.13 + 1.5.0 diff --git a/reference/get_shape_by_id.html b/reference/get_shape_by_id.html index 8e1a37b..5a7af98 100644 --- a/reference/get_shape_by_id.html +++ b/reference/get_shape_by_id.html @@ -17,7 +17,7 @@ ggVennDiagram - 1.4.13 + 1.5.0 diff --git a/reference/get_shape_data.html b/reference/get_shape_data.html index 6672b48..27fb992 100644 --- a/reference/get_shape_data.html +++ b/reference/get_shape_data.html @@ -18,7 +18,7 @@ ggVennDiagram - 1.4.13 + 1.5.0 diff --git a/reference/get_shapes.html b/reference/get_shapes.html index 5be07a3..e18f16c 100644 --- a/reference/get_shapes.html +++ b/reference/get_shapes.html @@ -17,7 +17,7 @@ ggVennDiagram - 1.4.13 + 1.5.0 diff --git a/reference/ggVennDiagram.html b/reference/ggVennDiagram.html index 2136daf..69f166b 100644 --- a/reference/ggVennDiagram.html +++ b/reference/ggVennDiagram.html @@ -17,7 +17,7 @@ ggVennDiagram - 1.4.13 + 1.5.0 diff --git a/reference/index.html b/reference/index.html index a8749bb..c15fd31 100644 --- a/reference/index.html +++ b/reference/index.html @@ -17,7 +17,7 @@ ggVennDiagram - 1.4.13 + 1.5.0 diff --git a/reference/launch_app.html b/reference/launch_app.html index 504aef9..3171bd5 100644 --- a/reference/launch_app.html +++ b/reference/launch_app.html @@ -17,7 +17,7 @@ ggVennDiagram - 1.4.13 + 1.5.0 diff --git a/reference/overlap.html b/reference/overlap.html index f08977c..44eba40 100644 --- a/reference/overlap.html +++ b/reference/overlap.html @@ -17,7 +17,7 @@ ggVennDiagram - 1.4.13 + 1.5.0 diff --git a/reference/plotData_add_venn.html b/reference/plotData_add_venn.html index ae567b2..54e58b0 100644 --- a/reference/plotData_add_venn.html +++ b/reference/plotData_add_venn.html @@ -17,7 +17,7 @@ ggVennDiagram - 1.4.13 + 1.5.0 diff --git a/reference/plot_shape_edge.html b/reference/plot_shape_edge.html index 51b02cd..00143b1 100644 --- a/reference/plot_shape_edge.html +++ b/reference/plot_shape_edge.html @@ -17,7 +17,7 @@ ggVennDiagram - 1.4.13 + 1.5.0 diff --git a/reference/plot_shapes.html b/reference/plot_shapes.html index b0dc54a..3d50ebd 100644 --- a/reference/plot_shapes.html +++ b/reference/plot_shapes.html @@ -19,7 +19,7 @@ ggVennDiagram - 1.4.13 + 1.5.0 diff --git a/reference/plot_venn.html b/reference/plot_venn.html index 0451354..0dea64c 100644 --- a/reference/plot_venn.html +++ b/reference/plot_venn.html @@ -17,7 +17,7 @@ ggVennDiagram - 1.4.13 + 1.5.0 diff --git a/reference/print.html b/reference/print.html index 271dd32..1cbe53e 100644 --- a/reference/print.html +++ b/reference/print.html @@ -18,7 +18,7 @@ ggVennDiagram - 1.4.13 + 1.5.0 diff --git a/reference/process_data.html b/reference/process_data.html index 19ec2e1..ce361bd 100644 --- a/reference/process_data.html +++ b/reference/process_data.html @@ -17,7 +17,7 @@ ggVennDiagram - 1.4.13 + 1.5.0 diff --git a/reference/process_upset_data.html b/reference/process_upset_data.html index 88831e5..1ace93d 100644 --- a/reference/process_upset_data.html +++ b/reference/process_upset_data.html @@ -17,7 +17,7 @@ ggVennDiagram - 1.4.13 + 1.5.0 diff --git a/reference/separate_longer_delim.html b/reference/separate_longer_delim.html index a53972b..cf77b51 100644 --- a/reference/separate_longer_delim.html +++ b/reference/separate_longer_delim.html @@ -17,7 +17,7 @@ ggVennDiagram - 1.4.13 + 1.5.0 diff --git a/reference/shapes.html b/reference/shapes.html index c390718..365e12e 100644 --- a/reference/shapes.html +++ b/reference/shapes.html @@ -18,7 +18,7 @@ ggVennDiagram - 1.4.13 + 1.5.0 diff --git a/reference/slice_idx.html b/reference/slice_idx.html index f6710d9..9f5142b 100644 --- a/reference/slice_idx.html +++ b/reference/slice_idx.html @@ -17,7 +17,7 @@ ggVennDiagram - 1.4.13 + 1.5.0 diff --git a/reference/unite.html b/reference/unite.html index 1f0e4ea..9b23e58 100644 --- a/reference/unite.html +++ b/reference/unite.html @@ -17,7 +17,7 @@ ggVennDiagram - 1.4.13 + 1.5.0 diff --git a/reference/upset-plot-1.png b/reference/upset-plot-1.png index ae7f8c415b1b38de414f3fdff5775e63eddd8733..4ab9c75ccc534f4ec457a9b1a25a920213c6186a 100644 GIT binary patch literal 46083 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 J96I6mzW@?9lQRGS literal 44655 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

|8ZESM>=n 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 literal 32299 zcmeFa1yt5;yC?c!D;5@t0*au7fB}k17#M(rw3LKMcOzj32)rVpq##Ilw}^;{fOLtV zNVjyK-_85(IeXTbz0R36d*|#olsg{VNvi^U@F(4`?ZePpmh%Y@^OZpkRD(Dg<^T7eKq;*s_6fu zpZcjiRFuZXf`yiX;)40If*k^%z8ReKuhLIrV$!s<Kq*e1$G`mPQ&!)y zW5<7u*}K#kXS}V_6&4nbl69%N9Pu2Q=@*f(0jIHjk5Z`ZC} zq4F`8gg*`p#B$WIe*f}C^avN%W#Ny%f8V+$F20kWrYOEnzxexi72#Mlwk(V8iu;G} zKb@JGN#m%I5SWl{dmmydCMK4Yo4b#OrlzLmdX(&jpr;xQx;&arPJ&EKpGr!!Zr^^_ z{_JrBHa-8zWd5>bnW@i)#A5Ml*QPfp+&g1-iYZh&YF)13`oM`~=_tPQVWx5N9QfWr zP2Lfu!%Z9TYlC|*ySK}Gv7dhBUCo?y0|iYRzI6U+UTit@I#_f02L9#so|^pfANFUh zZq-UkViHCk4NduNi@{@u+h(Wo>+~V z-XlSK)4`0~It;K#`Izf*@~#Xk>v`zh@No|NjeHeVZ?CvAP`O(SG$!#`4=7e?z4ud! z+m)si*K_Q#e0Sb3&t2nnxfJEvo}Ru#_SV+c>i4GZw9TpUkAB>~^2W)c-Ug?^22E@0 z^qynsY4&*xxcf9Txb2#nnxXB_c3b1-VNfw?TD7HVmAI49Qe0e|#t~{g^u2e3+J=ne zh^g)30Be!ov7F>+0Kc92^`pqt2V&>|MeAeplUTnmv2>?p183 zuQlJJ_V(>t3B@&r3k|(rI+LgTKg8WUEEeu*<;khx_>F$=-tD$*DtT%*?-(wX%O^VJ z@Et#{8F)mhTQS<#(fh<5GCJ;tty25XpZ_Oahs&-El>Ir~!Ont3+1R z6rkNAFfLVfa0NEs67Zh-+oPfBcy1BU(-_Qx%*`Q(}e!ThXMI7d365)TV{x#Kf&HU%tHLkrbEKGMH9Ur_b9rVSlgY{b>KK zl&0rs8Y?31$&unW>dKw3*v_07U8f%>pr)kcqMxSJ&SN^in4^}^;!GQ9q4qSN!}*?!G_%aEj%HNbZ(E^ZMUT zU%4&Yx^t*oa4KuXVFDe}&nk?pFs!Z!JlnufFcvuceME;VXCQfczFUZKX>oXoVZvVE z)2B}-=d(PV=Q|GPihpQZXl*Mle6Y5oRz{M(ac8c#sP_IcZQJsSice7yK}zGhTYv^! zQ9V)W0|G3?Hg0IpPpdb+$#e2#y0z;8)@oeE%t^Th)g0?fQL^l|Opjat{4qbm&3#4q z@j3YhN_rcL;7wX;V&(KYSLg2et+rIzrgd@(z#12~ z2&DcTljI)-tO>X?lqKL;PG(1YIQoui=6JQ3mc9L%{F!o-PnafY)$c5}x2CY$;h zY+qfGY=8FA&FM#(V-;sRem-GzC*vo`ak8l~%|Ib{$ST3rCa+)B45Me40298FSdQr- zfUEy}VQ#8qabeDtf!yoe7lsP|W5bRA=y2$N_v8Bq&S7BE&|Gof_l)2$24I`xe{~+u z?dtB~58rj#!^r4?@)Up5x#wHRbQze2pv1?-JC%2SZ1=tCWLKqSXfSAf*2mZPAd}{; zTg>dH!<71dY_h-*0D3}B~r0CXjE~gfdbe1EcLg(V@}FD zu+J2;U_U=P#da%okpgiEiBAA?4GA{*!_C8EDplgoAEmf@vwID5Q7b@eNTfBz0M zIV+VJ9v+_dUO7s3-7-REl>SVB3}Qq2;F~f_uq#wFB9W* z*Q~58+qStMv>2V}Qys21=QXPi5*)OQnbzWEn%EG=3siuuRmqn9*%R9I|Vl5t)s%2HVm!SEk?&qp4?Ti zG*`eFE*;flhPUn>U>aF5-k#I8V9Y;JD`Pg8*6``$N8zdtyhpisnE=ByB{!j^F(D72 zjQw1>BOgLbmUs7!kh@zG3eFP>;9DIU8*w6()MYR(DA$@l98{_b1`PjT{PbLBqY(C`_!xw&ak3!)qP z4LlU&3s@PqbgJpdJ=!~l4TNa50TJHPUGQ~sPKXG-N|V(Rvd zC5AUT)5fF-^mIO8%+RGYhM~$i&qg@Y5nUm-lhcIFejl!g`qQlYwCXSO$HTdc=jR>1 zTh@qQXZN;Os;^VHNk42`a`vRd&=a9~jeY#KM}ZaBSg#&#Y-~K|Q#R6^q;&;Q%5uTJ zAoee(7+H3KxR<%PpvJDQuHcefzFPYF(e2OFC!$*`yrrNj2r#CcPtZ?mZf;0CeCW`= zCo-863WM(M?w_Di6mH*?P>~*@!ex`U@g9z6aVB`_G!xTe`n3>$|_)7Y|opG{EnaC2*tm(HA+YUT7Tt1snzgZhQ*FUD=-ysvz^PM#R{5^qM~BY>_k~vnPb2jCV6>zd!@s6c7xV;2F+5M#xamB-QVJiw6xR# ztK=b|#MJ56>ZgI2bxgHQ*tag`EDJDZ^VXUv%lIOt$S6%|<kYSD%E)s11&Q9Fp%q+;EqO{ABPY!Lz5 z4jw#sJ*JL`6xQDz#>z(_0u=ie%y&))w#@{FmMlvO#{h~O!(P9BJ^lHL;5J%S%j*Hw z&3b5%Z)Mppg-bsZCz&IPn&oS~(m5z?-Q z*Y6Gzc`HReCT%hk$HccDuO+r-t;L507RGC!vwYg41L^;_*x~@@u*HWM2akQHx6#mG zvR}TuX3XyU?Cwnq-*kCG)e>wL>@#>n+Wg9IV zq$4GG!LUjz(JcU1a5Oz557M~ARb06Tz$nW?!&FY28@c#DmKLX$t|i>**xR=I&g4MT zNS3#^H=pf@`n7AHR=SZ!zHY<=vJF*<4zlR`eSlf zaCUXi`NKnklZ{$tKOfP4vT9K6jwae;d)V~@lt&VLU7;==o;)yoL7zN8iHfLm}f$>UiLUOsm~r4Yj35`f$u z51~a{VPS`*xi$|dFu@}_OTV}mnJW0lzP{uodp>%Lz<{+WVvMxplsWIZ|yI}#h;9t z#>QL~0#n}`GfZx(*!PA5dbl!dK|yWoLfz#epkcJi!-)riUvn@$G?>lwXLb<3%i+(< z;OCG!+aHpWY~8(U6Gauwkw z$%7yhLkpl7S_X%aLKOE=yw^`4R|&AcmuPrnijL%W+YUDzQHOHdtUUkH{MaQA5>PSJ zA_xs4%5N{avAaJH5^D!a?$+hG=x&~s`?GR>zH-SySa^QAL`YE2f-v?X z9TM_Lw!`-i{#s%hx_s#H;e$*hUy;(pud#0N+Y`YZl7ch8|1qVQHZuzDJ9zNH41c^* z+~!+Z8xtUc?WP}G9MJ?|BQyt|-LH|KMXCk)Y6(-QIjRx%HY zfhrR1E9%P9&5e!YJ!; zexT-l4v3f1bFA?)kis4N1%wC~=B9>+Yk0O2kUBm-`{D&nKeJ<+K|_3y?`YSl0=vNn z>OD`?xDVM*#N0Ge7P%SdG}|kX=hR&hST8c$7tS@(yaB^PyiX;tF>A~4Ws=tD@I9mM zM9kKLY1e|xpB6*|d0MB)AIV{RbFR7JlL7ws-jO>wx@k&4ss}YE+LC42ck)+FPJU6y zKdv_OMPZk~C!czxV33s{DHyuO$$N60=BJ6d2KBr;_T}NWgvGvuT>>9`G8PpLW1PO_ z2L`~>F`I1Cp~ZL8os@fDnU5fUptrPeqQ{V9u)wvhNpd1t6?zMCz)nIfB4FyFPzs5$ z#2lLrmtZ%}{P}phpv}_4RLM(8!9A$C$tj%QK79C~^tCO^LPs)#@vajL$QwD{#s76w z=EcD)2tO1wG)Z1~;m#mH=XUuZ6O+X0&K<|xK9IHm0E;Ni=TYglH4k5gz#<0ufEW*d z4kFnG;?Gr_x^ucgb|d9vZ)%MMoZR5~--k<7>63pfVZ;dwe~eL^h<5xDze-f7!{Ge_6)2UzhtUK}{G&E1PFuM0A6bRysRBV4fO46we zy8pNHd7^-A%^PYE^wDRM4ovX{i?f;7MF+kqI5d+|afV~D$73<_O)uGj#sTc0H+QVU z_3Uu&2?kV}>H3WPoy0?dSAOcpAD@hm#OAx4rNU)T;$-Un+ij`rO`G*1iq{H`+?#&C zR#0l36>q%X3VjSe|EpBT-6iee{EoNmHH#k3l85L$w{E+zo|ngta(&l}L+o#u)=_T= zjg0g#;`F%7`XPEGlGSD1)14YtoE(Ddq=kjI3ZFUh<|=o!zt<|yzmAuFonKTh@~~oi z`P=L3*X{-T&NOO^uI%`uB^DJb@O?LteN(o+(H$W~5C6{H4gK2{#P3utYnBxS{JM&j zE|z`-BVFP8b^i8w?_M6Y(T)i&hBn8PbMa&9Sjvw+bh0QRw_tHR5S_A zIS8(ep<+&GxMLmso9|gN)8WHc9zA;G8P?OIyXWyw(@X2DP=0hgyfrj5bfzTVv*Ash zDG`s7w~0qT-8~cDGk06hbYe9{Tjj}S`T(wFg_7cR{jrAzBSq>ETy}-Mr;IJLpa0c8 zYFpv{mt~g9bISdWT(t!Jhq?6V#>>-1W`e1ON?nonZX-3d zRx0y8o1qzhgD=S;dNuE&Z=~FQ_CxH!vc!oCw_-=e^W`fD&~UEmZ>I=1o^t75ePYw{ zV8Ex=N%8zGppp+iQl_cx82#Ka%6j~GwabWhP|KiCS*K@Nr+M~{7CU~1ox66iv$KEc zmEKpV!8DjMe;%{t|6`x$88$Lv`p*@@36N{X>{}L|cyy?t=tlR@ zOI)u5cJvREyT6aw2n#!f>NE!I{j?|OYgXS0nAy;oo$XGROBh>M4Z zf-PT!1Yg;pHOJYr%APy6Z{O~D%IkW%ZJt^nznygT>+5=;otqU_T?L@jx$=(X(4pfL zD)+MTayhgV<|v1mKL_SMp7`Sa;ll;(+qXqMnGPP5%XhGQ!m&XWsgAxMd3T~TM>uy< zzGR{nG89@%f!Y2U8)FgK$u9e*kh%mzGT8AuAJ8dtFx~m4UlaC~Co3^Tz5e>E-SpD? z*KCF^bh#oTB0RP~Gsy`4{rjpXu=It=CIe%rwFGtwMtN>5GR+pIn5x*@XIl^dhy&M+!CmkC;w>}SoaXK0 z^A58#qHHCl1Vfh0H82AC%a#l5= zo#>a7k}~}_-aM))3{`T?_ zKdDcSv%L{YnWiCZN#^F}2+(l%mY-^q^=6m5_G~>xqU`I}TEIx}7cZ_y^IbaFSRbbx z0l7^Xs^#x}>-Xy(QA|7+>^S*)W6{W+k3)|zc-;1!xC~87zdG!h$j%k(te>~9zPoK2 znPDqr!*t;?D5V>|mI&ZGfLnO+$>v_TS~Y(ixH$gxL}d@=n}n|m^)!;myhhDDGJ7}T znC&~(SzvQ}0ukilrcb`^KBH$EC4HqosGcQGGW$r-d zIrYQ#A}Zgzk1My%qs^W>wy-el+|Zb$)j45rRU>|?x7DVtE>*9F$D-?+c(9=A%R}PT z2R-;hF@5?6Guo`PRRW%rbR1i_koy?{Cmxd@{4!cA?ryJ-z45j#MnQSoT!)8HeQ!+! z=d(=|Yd=0S&7|%_Q&%vr4oLX>I3850=`qhe!^7&Rpq|KXPxsNYDjR!r0P?mX?j?{p|^@*6>G zDY5NiGlr+-n_sLv*Zvj-#fhD+R5s7v%9}%>;-|ipbW4UwhW1A?jyNl+DDq9|M*f_3 zeDW*S$%2ohXwN>RKWm+Mm;0{R2Agd3;~kgYKJRNtFj4x7>8?LD)Y|RH3H0GAx@PvL87j3+h#)y?>pyj!ugwJ~B2ivomqS z-0oQQ?q524_Uz$5zfKG_*xh@xc}}aRZ1kh--rbbD!AL(dH%*1p)+eUiFy8&xD2wv` znl(K~*7`O3rJC#lOVqbed_SyHqm0Ou`|+}r*2)z#I*wnT7;Kr!O<0&8t5hm*%GnP}krQ2y~BS3VO%@3sR*s&u3&6Ay7w5qCVv%*7luUD@kWg;YQ1Vu=Pi;7;o zn#jN9f~2+eWYY^NwDIqjk9wo!SL*r-Ul_9Ypf zhfjQS#RXj}J5OK=_Ckq?&EsxpY}$7mM23=|!0&6<-{ zRNURIwRWd!n{QWv#hEpf_6YsD=s?x)>JhLD@S+A zc%Q5t<-MVqnVC-TNQyKjx9-r2OlF|z_QOR-c}&~SiBuzN7|p4iu3~uymFN*QZS!?H z7ep;CDBN^R>$Gc5H!`r>Oi2{&uaDz&w*L(Yq2Se*HRsNu69smj&V0A3eG4`xwNc#v zq?|98DziwX;9Tq>alf#GSKI>vJIcGq*bW}NNZKfJxDjZRXK!$EwZqm-;&JNuDPTpo~GPiYeCAFz@N_tqg8X# ze>g8WVjPH}ik}&_1_ZDlNGdUm-@K?>8~H*hRW}6JRdL%A2vj;V7o{=Eq%B`5-ysV~ z8hs`zsiwNR_MP}%Qp;M|;(Wu6Q*)EDiiYgxnt>XRVWSib;5TeZls89uT5~e22O2|AgZ+1nkv;d-#po#UQ%t3=U3>m` zTRe#@)JHvH56;w3L9#PtlfKh-mOByw&R-wbh;_}W+g}!|DyKVCDUHAi|`hcx~FkKXUiapFg7XhlPZ0VxXW3 z9u0|p{}QN5DI0CNJB2hXe#vQDqM_>3%IMlL4*v^z__k@DIU%NcV3r02!WnF?<#%PggV+ zbBpcF8KvvjufO|9&3wsXB#6)K1EH7uaHK1oyJur~v52)|`H}?DAX1xCo=0O<=Mzcig1pwb zMn7_I09NEU2(~pfAogE}Ie=;>N-8fZIeqLdO2CVtpm-Eb1KfXtQqW&2@}VS!pkMR? z5h;KofZKGbhp*cS9*L_n&63fQcPE3NVaurl6t4~B1ew7Gb-#GA`JK>lzu8iN`5UdA z5fAZLO%=}VE`=vjzsF`$O@Ce>bq;JJuid)DgR#MrMJ)AJ={6Q-=12_OzUDNJn>(l; zK79Us<3b1H(zpAose#QZa>UP{zlWL^6?oQ$@DTZ$cj8vi{9@Gd>`yAVN=bn>Hl^qo zG^gsJuGO++EWxuTP#m3Gp+VJ#{=r&`*E&)_KDVUmy}azf5V!rX#EyQ)f`v(cP?dLp zoqaE^FkH8^Oue*|sTQGnUFhr0i5eG^e%SQYvWffgh)~mV)gpa>y2|UyzKYV#c{5)H zAa5z7DtoapQR4xsU0928jyTEy?WvFIet_-h6W5!efG7PR9L9hEa-e_m!3{gv6=n9{ zeN)V201}jLJE|!FWxUvUD98XX+kSDTdm-otRpzS)Yq#isdvkvIjfQwtvS1?BsO98x zx$D4{sE5WNKhR}N6I>ZVP#YFtphg_R4U?ofg>ejW$jg&9$K*l}8 z&PzFLNiOlLD*{{gvBtyYGMFCu$&&xmH2&=skG@B=YEnSw>%FPg?IZ=rX*YO;6MSXo zxg5f$V->GMt(Gr(ys0kq5;aET1G|(JA3-VNQ8Hi6J~9R)^W)L;WVkbMtVWZ`k}w@Q z-Y;HV#xEc{xa~VFjl_WV1{%tF4f07ov(Ttx3bBeI2?dKv8Lig-QD!uBC@H+=zpr+7 zcD~*uCi!E&3QPM! zfJ|O7&=#8f`CaNWaCYxW!*98EW7j;W_w!-m-__iGRQ>Mla=&m0XnI{=U;7CgeZC`ATzJ}d&{tw(=QK8%99sIsaE}srMd-~w0A#-9*K%# zRnFVcQ?x~>R{T^evxq&|@eR|MjdPPNCY){s(D|e}6YqUXF>E?sMwbYc0bm?hD}z~( z(pdcEvLCoIOo>dVi%DPoPZ8nGr&v-_vf+z22dC?n{kEh^y(AsK>I$PAq>|22TOP+* z%LuU#cEHTKkPdvhZ-A$Ep5Dqo(0H@)Fx9GL++RIZ9iQT<8HYc%{OKwO_uC#(&942k zFQ9;GnlP|etVfPqLv!~CJMs3K;)|?-rYwsHw31G{lg8h5?KZDk8(gVVwwP?tz$Mld zxQ24Jk+(pg+hiJcvKY3U!e9BxZSRZ(RlDbhK#1@6#eox9M9`zYl$Ku4GVkQd9Q5H- z=9*TVguBBWxW|lc*QW)(lz|_4Ek69%fK~<1Gz;PwKA&PLyK903?#LE6IhI*ad7^rs z-u!{bTHNvD%-+T1e!t_0vLV(1eJ_KB@j^)!wY+(SwR}~9qn>fs^0f)PGwK}_5w+5gs7BkKPB74D9k+3i21@>tl9#ciit+r_ZB zG#qF~n>sLRpO@bG>%zXpM2ld4o3J&MRoimhy#sQ7a-W^rc{X7uW!0g}BP;HfR^;`g zC74wip#vt+@#+UmrC~0{-7HW$cI?>m6}&H0Ju(0zqCwu$e_v3KQA`Ro%EHjvxqZ8q zvf#sX%=^hxuRg_(*%%rgnd6+74!N+p#oTQ1@lL?yWf79gR}9OeH!JMOcF7;kQHkGH zLPWAdP(}FXmbmLOd+TBvR^RkLV-=l0)3p~I*L_XGGl)t?VnHA&s+RVf-&_S&_-&qL zxJOkPAaYXd)u*G+UGo_j7%CRm)YQh_0FjJ}iW7=0I}Uk;;4R?by|g=_9}- z^;I7z>W6YFVgd?&CWv~oHywA$a9Wt8$Fq~gqcFc!O1CJT3YJUoi*DR!-*ZK?|#fVM?J?(ab6xU zKm?>ALB6=IsQAi$a-i2zB=atok5^SsLrkjnR#4N^+q}vb{UKl0!dUg%b(yKhdyNyx zge^R}vCKmYNpdPG0Y!B`FCbm2Bo`%JoIIU(XDU7R#*=n0h~`bc!stktLCq%>_EQvb z*2YPe?w`*NWfmnju9KMPZ%`QPD(7@1CY>^^#mcRjinlgVTr|)kiRct|qFgn&a>^tj z;@!JG_+-i2g5q8QWu4VnO&N{oSJ~0$OVj(r-r^ejcyygJ%?2n>(=6TqoxHj>6VQ-| zlHzVqv7WlR*1*Aznfh_3a=a0aL1*t?ug_T87KR!NsokIM)UjjNA*k^39=h9JyiCYE zN)8e~CGjX&SEP2C4@8mRPacd3*oH@!@!iZnUpTB0 znJ)Jw4XosZkol%Y`~5AnZ5cGuU0f=PeTo=_bSDjWyYYC5f{@l0I6J#xHK3RO7J~N4 zUD(bJ4ut!=Y4_1{0EN&h9HW9iiinDm6^N04I?MbOSuTh}`hmh20v#;1HVH=QI1-IS zOg<#LX20ywkL#e4Lats~T(FuO%lZRk@qLA5{5!gxHmq0$PvB087SdWhDpskx7qRDB6TWCIME0wi!A7N zampF;=set6gJ886EojrPiir{0$d#pmYYD~+>m>}pl`|bOq zPTW!GGPOWmV#arHUu(XvmeT)M_S?TABmeJS-M{)U@l3QYp{du!DW8(j?Ck1dhpO}Q zXUJ5g^0Jk)qWI%SK2?{4V1X#ikhXqWvZZrS2Rp)g(#raqI0bCAr~gcSRb0Fdx`>`= zETB0n@u2(z;B=mGoK5w7`7)5Jn1(db|KhfB!5@MmC@L!Isj*wacjYn#+q&&l=-=BU zUgUq9cdhQ+mkSJo^vhpwXILKn<_`;*&k>tn6b!DcYIFRaX~uptKUZt!@68PC^4g>( z0!Uz%y^3;@LqGBF{XE?8KSuSucu$``?fd;x$7rL}deh5JPKzuVrRC*mA=}zF!uc)j zcq3FI{r;M7bN2>n>dvv5Te}~N?}UIMjcbb1X#nKhoMV$flzkK`4817(i9Y?t#E`}D z2q8A~qh9Ij*U0Ui_Ju;B2U<1@nI8iOQOig!)$B+RFo+QWo9YhiAZ7~aRLvHldDBv( zHm5lw($rDQ<<+jEj7brlRAhM4PjHFoT+2sMJWv~!G5RaFr$SKDxo&fCpd~~C#U8i?n zO@s$(#x09*RyIfwcmJ}1@a%{}PT=LdlO%i>EYMz*L`beq%R}HDzOAfy;DQ_Q*Vor4 zCUAzR=W`Pbu#kvdQR>Ok*OU@5l- zFW@+Ktm?xC8ht{3;5LdC%>Qw18$JywKybF_VEOA4S728t03~w9!jsCd?3K=gT2E^@ zu=oN80HG+=xb=)x&$siqkcpaFTAcCQ!i$$JE^Dx^P5bx~70X*KP#r}<4Qe5XvIC%+ zTdgC0V?y4fAK6QRe@-{7Y(HR}Am>Fp(EjH8s8|H=EYm}M(8JbjD^lXpEV?CLa$JmT z25+048on9ZHIzlHfr7<}gjpz(*Wy9e)}RM_2+m%Gv;8M0Ywil6uy4*k7zfVuSE2v< zwjmQYyur#GVcFxiM(l)o^k{BpTNVYvMI_{{H^ z*5xQIdU#0y6Ll!T;*lHWA^1?jk7|9|I5E&9gGVFO!m|$KT3g(1odYj!o%XF;uXb5{ zdcH>~QT?9Y=vI5d#c8cL)tvfNTLhNADVyXK_n3P%;%1Cz6fBgd+G3i~9n%zkc4Zq? zghXI<8FztUUwI7fkQ8w+^+qZ0^#DU^fN#WIZRV%V^3dAZSy_*A9{Nh^py+2DD_RdI z2>wH)jT)Aa-TCu>#0HyEO2#vZ)A?-s;cFhQ?HMTGxFTianPonlHPzu_;&{>b>SHYxnw{?OkW*CDz2UGb z0(P1IkE1%CeEhUcr=COsv1M_)Su0P%Yj(bm=naN4F#$ z(hk=2&4M34quV{8tdw<(D(+f>;#phz@-U~XM|+A{$7L~pRcudZ2e(V{ptZ6fchsJ- z6-=p$d6i#-1pNIqC@Y$AZBij^l>MUJvE!(T-Ja!Z`hL)wXdK5kUL@l5GUMb=-bR6B zzKc`omfmJmG+?e9ek%(*F-tbM02{*xkb`m;ep)_WrS#zFh_Zx)yL_CIww^l~c|ZY4 z%Pt#cJZ6timtv|eP5)W1^W>aX)yJ!HU>ZQ-A*~5@N(SO}x?$6Y&*jI5;HHa8N@nm^ zRthZ{f;4V9OSb`BUHul_{OywMY?zwL>4r)CTkaEc(dhJJv&A)AKM!QS zY(HP4RqS`DXq;$z7KD*QtO;ooqTv!6=@_tOf6l^Bhv8zo+=g**T0#-Ci6}g z$%lOnk7mo6qhL7#df!0+yr#10i zBqW;WaQUy183!M(-;dih>ex%VUj_%8D08hknKLPt<6gSX!FrHm;3Z{+cc6@!S?rNJ zyHN&;VQ%tZbc#p=u`Uhr!X<%{CLX|d9ol>q9AT$YTgW!D5Hl<0lyFa(OFPYv-3MJ> zikGLRrk26F`GdA*BG&GacxsDxS!XgQ;|c``e4VbbJ3BRk9}0zrh8mU@39dgeW3h>G z*RD^3Yh{G5Txs!hU8v{3wB!>$GjtU-z(oUh;Y&q@JRY0``)iRgA;X|S0(YktP;LC% z#Vu^dkN*iBU7T`Wn!2AL9(YC$(H}f!iD{GC_PS-t3B(wU8VXCUaUgfMBtRQBWi+!j z6D`=V>|haWYW3iUH}z{HHN=9Tnxsg6-~pt{`F#>T;ef?aadY!z&hBC2-nIEf_OL-i z^UToGBTkhAu$*TYIDaeRxJ#qimEC9O3P|UI@vmp#n3;-FxJHg)RX#H5;qTrl3DTM% ztb`*-u45%`W^O)y9w4;L}^n5oJQ^Drxraje)AF6tuQ51jz?@4ap9D z2P@hrE1H5A#}AiT$R?<%f>$K-Z*h47Q>r}zM#NQ5X&IRbm@TR!)R!^8hcY`hlOzQ( zbF-yC?S32rI;#d5EB(k7fJaEZTBviu8pDCge7TH z(O;0oAm15^IIK#5JQURG9P3h!=5~(AQ*Vcioy90=ZC!J+YhPtqyT)%!HToPsfLLnZTXISK1*LV z3*SO~N*L zeUvXQ4l>h; z*u}>ij}3~20(D`^Igjn;7Y)Z3-c=aX=h|5aU`oC#zSyIOwz+2GZuRERe_+sqn0~F+ zGvE3h0f2F2s#&pw%F7m8#?h!GP_1K!p?7TJwmv#IFP4P`t>Y+~zD1!N;5cyLJOO7= z0Jue1jMa&Z37;UzFkkfH=AxtHzh6p5qdA4U*QFaNFH9sjYYWqf4q~NO9kk({d-eeS zU}V^%cFSd%YrkZ_7>T>&x6DSPq%TRAR<^-_qC0-;b5q)O%Klg5eRX1F{cV&n>cCry}E2%99PAls(X=Vq5qZ49#O+5-b+$J_#>ID0(K;F{iN zs!K4{W3UKL1|5&1YR-g^-aRL}3@>hGjl;cg+j~j^>5n5-wI_)=`|6lhZMKyGbu<)& z5GcrG&tg0g`N++HV2%UX`%TuaiY@wUGb|Kjoxc&EeXnum`TxQkro!I6iw3O#{XBS( zS>u^OeAeZ1|5FWsR=mJ-fU>ipEmwqvBb76Z$rK@0yo~oc77X=j0H8GBX~GQv<1&BW zfn*W^E5)s(P2(A&5EH{~H&wGOt3Z-d_3PN}_=8;YBjAjZ?U3w1X{ZlHs-DOAyCRX` zou+@TC7VM2HM?i>=g*%cCI?Gc9(=z19s6}9hl8-qZjx$)+c#U+?ugKn;`v=ZsM`Tx z-EUDVp$+tgwxq)+gCY?u@aVuT2!v4}H~R3Ovu%c*N(UDLa~N3N5Zg2O{MUgmU%phs zeTc>-?ZKT#^iB?%8t!#8s&*7a{^v|CgV)2C-zM zRy?1*7dYS41`+&WHUy0}5ReZT-0|a25z2iz)Lo?LfY2W_9_<-cnN|kk&%(C$w|=z}gFgCeB1NyxGF7nk|bIq#Qyu6C*`iaQRDrf!`vL@D>)9 z0{YsR!5sQ&AMznm;QHf@S{_6Q+@%0@D=;t)DyAZAo~bzj+<~Zf5`ocJwr~aW5MyJP z{5ncS3!&49$RLCCK4I{bQF9nTXcQVgiOI;u$aA`K2uBhEedyY&H<)}gX^uEB@(1a$ zM1Uca*X+^Jl?NeJ9Ed}b)+BGj2kz{kjYY;&jonH~nvcM36HvVsWe;4anx7d%R7G;8 z^}9d=82dy+!J^zv$BCV9@2UHtbwxQZE&2&LJ0X{kBQXhV})4v3b4%At=e zTdTxo1x+KZ3fijfc?gsQG+|%EHWpJV5SmEIo%;X_O1bUU#KN?y{ME6GCIt)Wm^Nbjin_;oQz`{(t}r?ZzoZRMcbv1{wCA`m zknGE_ZNoAK^|4i0MiBuAcj4s}7>NT%=Uty*??G z;k>CJ2qlN3es6MRBIkfODvy3GE1vT7`Z~jfZ^_zar zqPK>0A;f8qjIXz^ua0OgU=Kj*bvi)@z8YT2IywY08W2$Bh#GJ3s(x)}#~~LT23qEQ zX4i!pJYa7E39DE2UaEQaY2>Ek8E#*_Y>zVHX203Z&roUS3{fx@G6o3|qrozI^sl|k zBIeVB)hw~cG>x^_+i#E-QEb* zoCLk*PM}>8dj-#UbYs@T9fsGsS>YLVX=PC40z-ZtG4S^2l~&;#E?T2|Hz11b&VOUI>%g;O!{eKj878zC7{=%IPq{P$Cc z%Z4}RF<$g>-vJ~?klH1lwD#!OpFf#<*6eRL`kr|mJvZ&hA|`Ys?0F@CVv@(f$tE9J zgz!>%R{KD}6;PdPkZ4IrT|_f{Nx3As4!oftQXhJYnLo0BivHv z|Cv<~s-XG`AY5!A4-FKVYZ(AjEYkRGd4tab&9~802X!s|_xW}XR@QHrj<@ZCNQuKR z_US%vijcz{sZJ_N3ca91qtBrR3{tq!M=Bq*t2fwe&B>Q3bY3o{_egg7A0MhU^vX3Y zpvLzrw~%D~(lN>5nRyi1oOTgD{`s#5&cNQ)(D?3g!d2DcAR}y9Xg0(FJ?k)?XmrrP zX0SON-3STML}*>#eE5N`Iu+N81+;9{3fmK#2!C1`9btL306ag$TigH4ILrbv8gC0 zPIp*$4Kbhea--nD!1AOz;nk~GBSBl~VG;;{f?&QBkX6NEQ})@OXMs4;ouNM?$W76(3Z=ymrcrwlAmrM>bOGJg9#vWD9?x znygphP`^d5T}vedUs~FeOgg(D1REzs6q!ggxJDieToNY~UB5}e?rkwgoF z$ykbx9tplufYdEX1@o-Ee+9NRF@VZQhWE)>#xs{iPBDx4P%NI=#qKAzR{ILDF?#(2El}fUxFGY3j9*BVuLTwjhJ=lB$-|6r(h+j{XHxd*3P*lW8 zKVe(EQ-Kvrdk~XV=RI2yry>)|hdpDumC4X(Z-okWR0PT}EZ=vaFy}mL@eo@H2W?q& zk|S_(>#q8NUf&)HXeS=#&LP9H<4^+GRNfpNitb>8A^KNLXnF${@L%h#EAL7;oU z$I_V7HFgu1nDd!iI|6i;$caMHM8YLQTYuXsU(gf9`b=Fof5bw$v28D9U>maCAR*<+ z(?E<`oSS#Fz(?l5z1w40izlNg)9!w_#3xNTw;p^XMaWYY1dqu7WMK*kQXLB9?!cnx z^J4N&gLN^!)z#HRCPt3x4v=W|cqXyHk+ENviQy$elD{e4yK7(r3QK-KDW9s@{#=cv zYBHMXx>XlIIe1xiUGUJ@O^4(W9;JE%+FzU3E3D=spZ!pj_4{I}<Fjyj--?pVo3%RTPw;*?2#bUS%Q4Hs~vPX=oLLZUCxorGa z7BSTX0N)$ngzQ$ah*9W$d`d%>U9I;%APZ#`2;v$P5q2vQ!-Y1ign4s3gsj{l$y%C& zms#1^qH2?Hsma=!V`_HfBIMJKif(&nnx!%uyfni|#0D(kWxf6! z)dsn=YM;71s`u-0hJ;azroER#sT{}fi@NY=!y);{QakDCZ{3-&jmURZSp+C*b}{PpW){??*h3*%K1_qhgZTH+zsO;6;9 zg)u{15ChKYT3<{#4*)?4%$n}4kMk$1&6bx-02_m}yhAN#gI`Okqg2R!R3f6hMFO%% zONYDEXdnDcGNNSGqWpxTG8;ffBr6?&d6`AX>N+GQ;0zLQN%#eiwMG>36hyqq#&i0R zpgF!U+n<1>rN=*(D6$CXMwcLMNMTcT$=YJbCY@0|Noo89uMx2W97EtqlOM52xDe!o zq|_UUU_s8JqdPF`v8zatmxsu@If(5=GkbkR#l&h5V7G*m$B7F?;(Q21TK@Sh0@93e z6^XJ={MY#GK6YYd@>s9jNbKhd8U}{=nD}f_5(HpoL-q`|jc3L4FX~C`jpau-!Zuex zsKA>UOD{P9B&uJp;kFnrT#so%(~sxd z$zW|Na$v;3KP(wU8V=qL;3~ET#voa{M;rdH+O9mB%C+rlIH&2LiAv#|(vfsDu*ohd zrR*Zf7}?Tf*n~tOLnBc-c1dMSQfza!d8nf}onw}{w*Y`weqKRtZ-FwDjc1&b7<0B!Ci z{ouzdL2AKC)OkV57c21JX#vj1%vAP^E&pdFK>GQwI4FulXXX^@X_D(E zpnp0Z9!*Z^lf5uz0qF9t_*&C}jjS5Att8DE6)gcCb^zBP9}lHV#mi@=*nbjd{EM{Y zKj=_ymbCUO8ee~e#DRnr8et8{oUm2pB7?byVhN7W$ViPqDsH*FqJr%{=|($>jL)CR z{7f!_rf=cGg-}$;=yP48*s;{`~U@wuB3L{0bylA!Jok z>IOwrIta;@Kn+G(l_#SR7^Sh;3F`uO#j$Ki26Eq1`M1;CJ#>lR zl}CLR43t!DdOgCMh6snB7Ajnlm6ffGH_4qG9wh?Xrax{FIXbAKDD3R?ghww?XAzhJ zT}(O~P{h(8c`hdaE>r+8b|2&JxL<|pVgP!l$%2N^(b3~xC9U@gn$y3?pV75&yC~H= z^Rqv_9{bmyMRtlb(E*SOv7SU9X_{nT9D1##J0xD99Ju}%GwiyG(1uu@eNPrIkXyRx zs_BWgFb@N1O5SpFJ1f(L{_4T^^LMEW#qe)AI4BTX|!PXwqz+QO(>gjjx;$E!H301%d6T$6bwy#EYtZ56 zzXF^?Axh-v1f0NjEL6VIXT|2K+pA>5mzxe;mmLa880s>u&gR#T>71TPySLO&h-S?c zJiziU5or7Hb8P|7y&yISsR&|IhUSdaea^0;G?-5jK?oQDAWk2o?pNFG#85ZhBDmnXJO5cJD%0Xn1v1Rf@T6zB%3zGXk*4NN^w&oJzbjv<}&Dz`OX(ry;AE`+r4A z+1xAdKGYJ>z&>Vd91F-?jR_~%(%vx)1&uhQmpz+bCR8&Ta%X%xnx{p6$i0SA%We2c z1Vc3hJwb)7TT4O%Bp@6Ns}w)68X%lR`*2^g*6kz?)@}!m5D36tjIwq)P|1UYVE{pZ zC(oc}dHFoczRS+`Kgn>P7HC~fbhuItK>-pGW&~sdJa+Z__i7{IrOVW`wQ9N?|K<#) z7;Z|+1olxw-Q~iK!FWy4BH&O)P{p&ZU%xJMTjtwIi=I=~HqUD6{uv*m#zEd?64Yeq zSuco8AGxTTD|l^*Nqq&m>a4crexCF3B}h4G%A>U<_u-+z9V@O8sI0CgE`3zy!2}&e zhPfXUeOt$obsL4byYzQ=r1;bh2>}Oy` zR9~N$<~g=D6p2*^)&r;w%^GxA_y(OFr4N zD_SgnCG;_R039kZ#Djo%*&`uk$XyOHH%dzziN-&9vZtJVRVzlRNdclsmRik#OmoQE zs-Yaop4c}tUnG~PdnGk0Efa9Wv**tlD0laS77`{-RC*4IlF?TwSYFKGETGKxQsfmF>0 zE;c|GhEk{FV(zH1T2Dm~q&{l|JaJp3E=LtbE62isPnpHikKd@IlwB}B-(Lb)IE}RR zK+;+Ex!{G!>eUcM$3Q6B%8bBzv_P$7EOhq$z?ba1gW3Mh-0$xtAaCWV464@&GRpyY zs%3EB(-SUs<2(Wm$7C|2VTkCZFg|la>?<@BNal=W&R6}FR%uPm3yA1ACD2r9e5lH* z2?kD&O!b(1TwGig%C>91N{~qrRu!RZi7#~sVR}N>C`e1Y)K;eHB8c$ob>OBBC%ME)D1zC=rrZGY>NQ&rOU6w1&cwi3)&@ zzIY@-2Le}#d%^^?gkOpPk2!;}Ht(8j_ffdE4yU^{od5VVuUwlee_Y97X2sUAJ}A#5 zY4DuKAUI6F3AEi=`NQ|#FbPr%zc=GKp}ic1+SKP&U6tp{L#vLx>+#(ShM`UeX*Amv|uEMf(928qpGrre0v+;H)lS+oZVMaJ+}i`B~Bn> zRWm_rE8^q^-PjK8b2;#G;;bSKS@Ivg$Vb0oE$K3<^MLuA0>O(R`72>M2Oi*6fX14o z!2|Ed5>isCL~MXEE%DltX5N}Qtg?ZjK^NqEwZhrKfp5O1wRJ3M?SbAK_3^PuNk`F` z6fHd9HTie;bNdP9u@zw-JP)ZL}V4yjpEB0STIOZ0e!waq^)iyaf5 zFhKfFy*WGn4rc2eab-FJuBpD~QeD5GR%opDC7~0)bBw_|!C5npS)E@MZ(_5)2O1O7 zyCO)@UJlGRDd_T7B80J`qYuJ#LX1$(fGOT;dCKUKA73oc=3!s-1-VUP-1&7wU{kKcu47>nP!=qJ4S62!&JQAj)oYjz&53XCF5&H4t z$KOxh8rXSlysjG>!ST=h-1h2t6IONmpCX8U*VpNN%i~@Gc^lhT5~R2ef~=O?SWym~ z*wl^q0c1^OkT~cX8;kl6=e?UZ=PlZ7#i7kC*>O-@gJU`EV~=1@cOBHlFtkHEfqq0s zA(^1SjZF;Vb?_T?bad1m&s6)G$j{GTm*K!dy($N|11u^@rQ!81g{&dQi6&~qIpH)O z02YM<&WcS^K?HJ`7us=(K^)qFDI%0ewWa%|1@Q5CQRf%|#M;mFJB<`$WuhI}Lkk#O zV-n}MLg8|zgTpZj(m!@=)j&|B=HbJK1B&}WAXHrf)L>c0tunGMx~=V> z!N5r%oR8?4^JAyBp`qm4ir(=sMGADh?$52_X5A!LWL9zEzD#Po&>$=+-d@3il|2i2M70zf(p&^hJacgiWpv>jtOZ){d@(AHDWX+1L*x5Nbbduu0+PN=oMLWd^sJHMYgT^7( z3a9*)z&$juenbTg{d`8zRHhOth3b~=!KP*5s+i-8>I$0s+JG{@2O;)hP5jHA^?ZDF zu`KDrwlwTW$-{xIAmqsK;JvDdaX@ER8Gy7t3yvW&Jp2!!^w{&&_wK!h=b>mvswa-X zU0Z7t1b?Ja7wNn9Ms6Loggd6;z6I&>e&!=3mlTZ6Z*^0!4s8$N$&V|gGQI?9^=m>cH z*b+hjb%YMEJyjIVpzWsQBJ|F9Dl$aO3~yXvjtxY4^yuczA92rxU=fOV{jEjl3nbnT z&Dt@|UdPk1AO7OtCS`TyF2V@jk+6qV zhQ|go^2WOf8e`L<*mSib*`V1yc-%V`?Q$1CIX$<_tat13Gu%r;#lXPWmiM!55TDTi z<)@nX=;*&XQcu5Qdbq0GQa;MyehvRjo>7zoQb#Wr&I$?h%VoYUNZ0i?fuP}6^gU9Q z5u26cwAC4v)2spr4_lB{rHl{*y_@S=r_HnY7XP;Vl8Xm={7IKtcF9_lOORt0Jz6vC z&n;WA!c5{3B3QChHg;XZW;dQq{ZrjW%CBQiA{BkJdq9Y(W67lB$dcJP_M4at1lGlI zAwl9d4I8alrI!G}iO^bhH1H0;;&SuF-%%K1?l``y)DGzZd0b{8O2E3TbIG62Sy?6L zKn~dNQl6%?R<|*h#bVfn&a>xzJHwbDb-0O(1ev1YH!k*a`7jB=Gd;0nFm!cvA|R=N zuhR&OkzOct(gfEel=XP=Bu=r2xo8fs&j9~OSP}3shhSqL8LWYd#Hcl7$3>ZuWn=D5 z#V?=A98U{FqCy&1jKI^&f>J7Xm*X+KhQ+H-u2;6Y3&3TbwK%f12!_4Df#j;rEAzzW zI~xOjodP$@Ez%&1w4(BuH7EJ} z*MrD%RVm#q&39LB4KI55lw`lDzF7F5&Q3=D5hFp7lS{6Pf7y+9rlNW!b)Nn9HQ>tA zNPJhq;V#U$^{aukocD2a)ZAUSqvQy7YKRCrzP!7)QA(-|o1bA9W9XkdZJ}~#<>s-E zD%!2|bJ4D{tLfGmIu|5SQAwpzXPnOzS>)VOGncv!R@~jV| zVN&>mH65Gvo+}FbHyuwarG5e_14xO9o&lI8Xy(u6%B?SS17abL)1=1&i;XIzP7U&`?hU>9UPz-23lRT*t3&m8Qq-m{S?Xl< zPuz)U^9AxH+->=72b4$r2=fho6xmEpk$w173@uwK%`=tw!6!Gfl=K+lLPJ8-TuBoNROI)Kl=)GPHvl8rDM<$SW^Mj#W$Vk2#)R zPMzSU=GKSD!p!m*EuJJSK=lyAzGwVBL|#!Wt(3gx3pxo-Dd^7Viy%w7rq$!@x-P2Z z)XFbig>~|izDsjY^kt;`*U+SJq2Up0`m6Yu7^^bjs5G=?AuJH>C=dtI{?Bvg{)ldW zKXeR= z5sP#d06j4Bx5>oGU%A-1V!{q?idm%)R3SgD`F;)P~9^8sHrq~-ysVM2q^zF5BRRZ+Vs27B^DDE zMM_T6>#DM{lD%D-IrJAWm6&G8*$Kpoztmep{25SGPc?>uSGpS2%#O=Se0&-AuUOL- z^7_#ZBCWEIyssN_dI+em?121@kDz~1;PCLJewN92^r2R#&u(kG_6U8M6k8`Z?wL%wh!}8Ev4G#|s1dG3Oc?S6u z1gXJ?$8jJ>8Txy`GUkXb zXGoY-p{{0<;Id%ZuWj>`hp(J1d{}n2jB?aY89ZAC+_!@z?i1R8sVblZiUrgb4HTMC zGeF!1a9)ijc09M%{om+z)L_U3tBJOWXv6^OW1`+e{*E<8cs22fUeBFDv-lE}Jhz%o zWJ!_w51+6@y=Vk9{rP{bKxcmA|Gu>ScV9dq7=B~P(q}!YmE>P(s)zT*shqg_U(aJo A4FCWD diff --git a/reference/upset-plot.html b/reference/upset-plot.html index a6de47d..6c1766b 100644 --- a/reference/upset-plot.html +++ b/reference/upset-plot.html @@ -17,7 +17,7 @@ ggVennDiagram - 1.4.13 + 1.5.0 diff --git a/reference/venn_data.html b/reference/venn_data.html index 22583a5..8a57cc1 100644 --- a/reference/venn_data.html +++ b/reference/venn_data.html @@ -17,7 +17,7 @@ ggVennDiagram - 1.4.13 + 1.5.0 @@ -114,20 +114,20 @@

Examples

#> id name item count #> <chr> <chr> <list> <int> #> 1 1 A <chr [2]> 2 -#> 2 2 B <chr [4]> 4 -#> 3 3 C <chr [1]> 1 -#> 4 4 D <chr [2]> 2 -#> 5 1/2 A/B <chr [0]> 0 -#> 6 1/3 A/C <chr [2]> 2 +#> 2 2 B <chr [2]> 2 +#> 3 3 C <chr [5]> 5 +#> 4 4 D <chr [4]> 4 +#> 5 1/2 A/B <chr [2]> 2 +#> 6 1/3 A/C <chr [3]> 3 #> 7 1/4 A/D <chr [0]> 0 -#> 8 2/3 B/C <chr [1]> 1 -#> 9 2/4 B/D <chr [0]> 0 -#> 10 3/4 C/D <chr [2]> 2 +#> 8 2/3 B/C <chr [0]> 0 +#> 9 2/4 B/D <chr [3]> 3 +#> 10 3/4 C/D <chr [0]> 0 #> 11 1/2/3 A/B/C <chr [0]> 0 -#> 12 1/2/4 A/B/D <chr [2]> 2 -#> 13 1/3/4 A/C/D <chr [1]> 1 +#> 12 1/2/4 A/B/D <chr [1]> 1 +#> 13 1/3/4 A/C/D <chr [0]> 0 #> 14 2/3/4 B/C/D <chr [0]> 0 -#> 15 1/2/3/4 A/B/C/D <chr [1]> 1 +#> 15 1/2/3/4 A/B/C/D <chr [0]> 0 diff --git a/reference/venn_plot_data.html b/reference/venn_plot_data.html index 41da5ab..7cf5714 100644 --- a/reference/venn_plot_data.html +++ b/reference/venn_plot_data.html @@ -17,7 +17,7 @@ ggVennDiagram - 1.4.13 + 1.5.0 diff --git a/reference/vensets.html b/reference/vensets.html index 24b21c0..0aade74 100644 --- a/reference/vensets.html +++ b/reference/vensets.html @@ -17,7 +17,7 @@ ggVennDiagram - 1.4.13 + 1.5.0 diff --git a/roadmap.html b/roadmap.html index 67ef385..9d11429 100644 --- a/roadmap.html +++ b/roadmap.html @@ -17,7 +17,7 @@ ggVennDiagram - 1.4.13 + 1.5.0