Displaying service coarse graph

Change-Id: I88e6c83421d0f9fee1f34595fb640e4987e93514
diff --git a/views/ngXosViews/mcordTopology/env/default.js b/views/ngXosViews/mcordTopology/env/default.js
deleted file mode 100644
index acc8b5a..0000000
--- a/views/ngXosViews/mcordTopology/env/default.js
+++ /dev/null
@@ -1,13 +0,0 @@
-// This is a default configuration for your development environment.
-// You can duplicate this configuration for any of your Backend Environments.
-// Different configurations are loaded setting a NODE_ENV variable that contain the config file name.
-// `NODE_ENV=local npm start`
-//
-// If xoscsrftoken or xossessionid are not specified the browser value are used
-// (works only for local environment as both application are served on the same domain)
-
-module.exports = {
-  host: 'http://xos.dev:9999/',
-  xoscsrftoken: 's1hmvk8d66UwxnRlDze64FrswXBeHjRD',
-  xossessionid: '4qgqwp46w5ln4q24vitc8f5gx6i66wyk'
-};
diff --git a/views/ngXosViews/mcordTopology/env/mock.js b/views/ngXosViews/mcordTopology/env/mock.js
deleted file mode 100644
index 610ad78..0000000
--- a/views/ngXosViews/mcordTopology/env/mock.js
+++ /dev/null
@@ -1,5 +0,0 @@
-module.exports = {
-  host: 'http://localhost:4000',
-  xoscsrftoken: 'Pkq9PqoAsaMvrEiFAgxfw47IxTOtd0Y5',
-  xossessionid: 'qa1t49qeecdehofjkndqvxik71iwzfvf'
-};
\ No newline at end of file
diff --git a/views/ngXosViews/serviceGrid/bower.json b/views/ngXosViews/serviceGrid/bower.json
index 18bd401..941c8db 100644
--- a/views/ngXosViews/serviceGrid/bower.json
+++ b/views/ngXosViews/serviceGrid/bower.json
@@ -17,7 +17,8 @@
   "dependencies": {
     "js-yaml": "~3.6.1",
     "jszip": "Stuk/jszip#~3.0.0",
-    "file-saver": "eligrey/FileSaver.js#~1.3.2"
+    "file-saver": "eligrey/FileSaver.js#~1.3.2",
+    "graphlib": "~2.1.0"
   },
   "devDependencies": {
     "jquery": "2.1.4",
@@ -32,5 +33,8 @@
     "angular-chart.js": "~0.10.2",
     "d3": "~3.5.17",
     "angular-recursion": "~1.0.5"
+  },
+  "resolutions": {
+    "lodash": "~4.11.1"
   }
 }
diff --git a/views/ngXosViews/serviceGrid/src/css/main.css b/views/ngXosViews/serviceGrid/src/css/main.css
index ae13614..c36e56d 100644
--- a/views/ngXosViews/serviceGrid/src/css/main.css
+++ b/views/ngXosViews/serviceGrid/src/css/main.css
@@ -1,3 +1,37 @@
+xos-side-panel .xos-side-panel-content {
+  position: fixed;
+  width: 30%;
+  height: 100%;
+  padding: 25px;
+  background: #fff;
+  overflow: scroll; }
+  xos-side-panel .xos-side-panel-content.right {
+    border-left: 1px solid #555555;
+    top: 0;
+    right: 0;
+    visibility: hidden;
+    box-shadow: -10px 0px 20px -8px rgba(0, 0, 0, 0.75); }
+  xos-side-panel .xos-side-panel-content.right.out {
+    animation: 0.5s slideOutRight ease-in-out;
+    visibility: visible; }
+  xos-side-panel .xos-side-panel-content.right.in {
+    animation: 0.5s slideInRight ease-in-out;
+    visibility: visible; }
+
+@keyframes slideInRight {
+  from {
+    transform: translate3d(100%, 0, 0);
+    visibility: visible; }
+  to {
+    transform: translate3d(0, 0, 0); } }
+
+@keyframes slideOutRight {
+  from {
+    transform: translate3d(0, 0, 0); }
+  to {
+    visibility: hidden;
+    transform: translate3d(100%, 0, 0); } }
+
 #xosServiceGrid service-graph {
   display: block;
   width: 100%;
diff --git a/views/ngXosViews/serviceGrid/src/css/side-panel.css b/views/ngXosViews/serviceGrid/src/css/side-panel.css
new file mode 100644
index 0000000..3cde922
--- /dev/null
+++ b/views/ngXosViews/serviceGrid/src/css/side-panel.css
@@ -0,0 +1,33 @@
+xos-side-panel .xos-side-panel-content {
+  position: fixed;
+  width: 30%;
+  height: 100%;
+  padding: 25px;
+  background: #fff;
+  overflow: scroll; }
+  xos-side-panel .xos-side-panel-content.right {
+    border-left: 1px solid #555555;
+    top: 0;
+    right: 0;
+    visibility: hidden;
+    box-shadow: -10px 0px 20px -8px rgba(0, 0, 0, 0.75); }
+  xos-side-panel .xos-side-panel-content.right.out {
+    animation: 0.5s slideOutRight ease-in-out;
+    visibility: visible; }
+  xos-side-panel .xos-side-panel-content.right.in {
+    animation: 0.5s slideInRight ease-in-out;
+    visibility: visible; }
+
+@keyframes slideInRight {
+  from {
+    transform: translate3d(100%, 0, 0);
+    visibility: visible; }
+  to {
+    transform: translate3d(0, 0, 0); } }
+
+@keyframes slideOutRight {
+  from {
+    transform: translate3d(0, 0, 0); }
+  to {
+    visibility: hidden;
+    transform: translate3d(100%, 0, 0); } }
diff --git a/views/ngXosViews/serviceGrid/src/index.html b/views/ngXosViews/serviceGrid/src/index.html
index 8f95e59..0e3fa40 100644
--- a/views/ngXosViews/serviceGrid/src/index.html
+++ b/views/ngXosViews/serviceGrid/src/index.html
@@ -6,6 +6,7 @@
 <!-- endcss -->
 <!-- inject:css -->
 <link rel="stylesheet" href="/css/main.css">
+<link rel="stylesheet" href="/css/side-panel.css">
 <link rel="stylesheet" href="/../../../xos/core/static/xosNgLib.css">
 <!-- endinject -->
 
@@ -17,6 +18,8 @@
 <script src="vendor/js-yaml/dist/js-yaml.js"></script>
 <script src="vendor/jszip/dist/jszip.js"></script>
 <script src="vendor/file-saver/FileSaver.js"></script>
+<script src="vendor/lodash/lodash.js"></script>
+<script src="vendor/graphlib/dist/graphlib.core.js"></script>
 <script src="vendor/jquery/dist/jquery.js"></script>
 <script src="vendor/angular/angular.js"></script>
 <script src="vendor/angular-mocks/angular-mocks.js"></script>
@@ -24,7 +27,6 @@
 <script src="vendor/angular-cookies/angular-cookies.js"></script>
 <script src="vendor/angular-animate/angular-animate.js"></script>
 <script src="vendor/angular-resource/angular-resource.js"></script>
-<script src="vendor/lodash/lodash.js"></script>
 <script src="vendor/bootstrap-css/js/bootstrap.min.js"></script>
 <script src="vendor/Chart.js/Chart.js"></script>
 <script src="vendor/angular-chart.js/dist/angular-chart.js"></script>
@@ -38,6 +40,7 @@
 <script src="/.tmp/tosca_encoder.service.js"></script>
 <script src="/.tmp/slices_encorder.service.js"></script>
 <script src="/.tmp/site_encode.service.js"></script>
+<script src="/.tmp/sidePanel.component.js"></script>
 <script src="/.tmp/service_encorder.service.js"></script>
 <script src="/.tmp/service-graph.js"></script>
 <script src="/.tmp/networks_encoder.service.js"></script>
diff --git a/views/ngXosViews/serviceGrid/src/js/service-graph.js b/views/ngXosViews/serviceGrid/src/js/service-graph.js
index 51a711a..904466c 100644
--- a/views/ngXosViews/serviceGrid/src/js/service-graph.js
+++ b/views/ngXosViews/serviceGrid/src/js/service-graph.js
@@ -2,6 +2,64 @@
   'use strict';
 
   angular.module('xos.serviceGrid')
+  .service('Graph', function($q, Tenants, Services, Subscribers){
+
+    let tenancyGraph = new graphlib.Graph();
+    let cached = false;
+
+    const buildGraph = () => {
+
+      let deferred = $q.defer();
+
+      $q.all([
+        Tenants.query().$promise,
+        Services.query().$promise,
+        Subscribers.query().$promise
+      ])
+      .then((res) => {
+        let [tenants, services, subscribers] = res;
+        // adding service nodes
+        services.forEach(s => tenancyGraph.setNode(s.id, angular.extend(s, {type: 'service'})));
+
+
+        // coarse tenant
+        tenants.filter(t => t.subscriber_service && t.provider_service)
+          .forEach(t => tenancyGraph.setEdge(t.subscriber_service, t.provider_service, t, t.name));
+
+        // fine grain tenant
+        // adding subscribers as nodes (to build fine grain graph)
+        // subscribers.forEach(s => tenancyGraph.setNode(`sub-${s.id}`, angular.extend(s, {type: 'subscriber'})));
+        // TODO
+        // - Find tenant that start from a subscriber
+        // - Follow the chain: from the first tenant follow where subscriber_tenant = tenant_id untill we cannot find any more tenant
+        // tenants.filter(t => t.subscriber_root && t.provider_service)
+        // .forEach(t => tenancyGraph.setEdge(`sub-${t.subscriber_root}`, t.provider_service, t, t.name));
+        
+        deferred.resolve(tenancyGraph);
+      });
+
+      return deferred.promise;
+    };
+
+    this.getGraph = () => {
+      let deferred = $q.defer();
+
+      if(cached){
+        deferred.resolve(tenancyGraph);
+      }
+      else {
+        buildGraph()
+        .then((res) => {
+          cached = true;
+          deferred.resolve(res);
+        })
+        .catch(console.log);
+      }
+
+      return {$promise: deferred.promise};
+    };
+
+  })
   .directive('serviceGraph', function(){
     return {
       restrict: 'E',
@@ -9,54 +67,61 @@
       bindToController: true,
       controllerAs: 'vm',
       templateUrl: 'templates/service-graph.tpl.html',
-      controller: function($element, GraphService){
+      controller: function($scope, $element, GraphService, Graph, ToscaEncoder){
 
         let svg;
         let el = $element[0];
         let node;
         let link;
+        const _this = this;
 
+        this.panelConfig = {
+          position: 'right'
+        };
+
+        // animate node and links in the correct place
         const tick = (e) => {
-          // Push different nodes in different directions for clustering.
-          
           node
-            // .attr('cx', d => d.x)
-            //   .attr('cy', d => d.y)
-              .attr({
-                transform: d => `translate(${d.x}, ${d.y})`
-              });
+          .attr('cx', d => d.x)
+          .attr('cy', d => d.y)
+          .attr({
+            transform: d => `translate(${d.x}, ${d.y})`
+          });
           
-          link.attr('x1', d => d.source.x)
-              .attr('y1', d => d.source.y)
-              .attr('x2', d => d.target.x)
-              .attr('y2', d => d.target.y);
-        }
+          link
+          .attr('x1', d => d.source.x)
+          .attr('y1', d => d.source.y)
+          .attr('x2', d => getTargetNodeCircumferencePoint(d)[0])
+          .attr('y2', d => getTargetNodeCircumferencePoint(d)[1]);
+        };
 
-        GraphService.loadCoarseData()
-        .then((res) => {
+        Graph.getGraph().$promise
+        .then((graph) => {
 
           // build links
-          res.tenants = res.tenants.map(t => {
+          let links = graph.edges().map(e => {
             return {
-              source: t.provider_service,
-              target: t.subscriber_service
+              source: graph.node(e.v),
+              target: graph.node(e.w)
             }
           });
+          let nodes = graph.nodes().map(n => graph.node(n));
 
-          // add xos as a node
-          res.services.push({
-            name: 'XOS',
-            class: 'xos',
-            x: el.clientWidth / 2,
-            y: el.clientHeight / 2,
-            fixed: true
-          })
+           //add xos as a node
+          nodes.push({
+             name: 'XOS',
+             type: 'xos',
+             x: el.clientWidth / 2,
+             y: el.clientHeight / 2,
+             fixed: true
+           });
 
           handleSvg(el);
+          defineArrows();
 
           var force = d3.layout.force()
-            .nodes(res.services)
-            .links(res.tenants)
+            .nodes(nodes)
+            .links(links)
             .charge(-1060)
             .gravity(0.1)
             .linkDistance(200)
@@ -65,38 +130,66 @@
             .start();
 
           link = svg.selectAll('.link')
-          .data(res.tenants).enter().insert('line')
-                .attr('class', 'link');
+            .data(links).enter().insert('line')
+            .attr('class', 'link')
+            .attr('marker-end', 'url(#arrow)');
 
           node = svg.selectAll('.node')
-            .data(res.services)
+            .data(nodes)
             .enter().append('g')
             .call(force.drag)
-            .on("mousedown", function() { d3.event.stopPropagation(); });
+            .on('mousedown', function(d) {
+              $scope.$apply(() => {
+                if(d.name === 'XOS'){
+                  return;
+                }
+                _this.panelShow = true;
+                let status = parseInt(d.backend_status.match(/^[0-9]/)[0]);
+                console.log(status);
+                switch(status){
+                  case 0:
+                    d.icon = 'time';
+                    break;
+                  case 1:
+                    d.icon = 'ok';
+                    break;
+                  case 2:
+                    d.icon = 'remove';
+                    break;
+                }
+                _this.selectedNode = d;
+              });
+              d3.event.stopPropagation();
+            });
 
           node.append('circle')
             .attr({
-              class: d => `node ${d.class || ''}`,
+              class: d => `node ${d.type || ''}`,
               r: 10
             });
 
           node.append('text')
             .attr({
-              'text-anchor': 'middle'
+              'text-anchor': 'middle',
+              'alignment-baseline': 'middle'
             })
-            .text(d => d.name)
+            .text(d => d.humanReadableName || d.name);
 
+          // scale the node to fit the contained text
           node.select('circle')
             .attr({
               r: function(d){
-                let parent = d3.select(this).node().parentNode;
-                let sib = d3.select(parent).select('text').node().getBBox()
-                return (sib.width / 2) + 10
-                
+                const parent = d3.select(this).node().parentNode;
+                const sib = d3.select(parent).select('text').node().getBBox();
+                const radius = (sib.width / 2) + 10;
+
+                // add radius as node attribute
+                d.nodeWidth = radius * 2;
+                return radius;
               }
             })
 
-        })
+        });
 
         const handleSvg = (el) => {
           d3.select(el).select('svg').remove();
@@ -105,76 +198,39 @@
           .append('svg')
           .style('width', `${el.clientWidth}px`)
           .style('height', `${el.clientHeight}px`);
+        };
+
+        const defineArrows = () => {
+          svg.append('svg:defs').selectAll('marker')
+          .data(['arrow'])      // Different link/path types can be defined here
+          .enter().append('svg:marker')    // This section adds in the arrows
+          .attr('id', String)
+          .attr('viewBox', '0 -5 10 10')
+          .attr('refX', 10)
+          .attr('refY', 0)
+          .attr('markerWidth', 6)
+          .attr('markerHeight', 6)
+          .attr('orient', 'auto')
+          .append('svg:path')
+          .attr('d', 'M0,-5L10,0L0,5');
+        };
+
+        const getTargetNodeCircumferencePoint = d => {
+          const radius = d.target.nodeWidth / 2; // nodeWidth is just a custom attribute I calculate during the creation of the nodes depending on the node width
+          const dx = d.target.x - d.source.x;
+          const dy = d.target.y - d.source.y;
+          const gamma = Math.atan2(dy, dx); // Math.atan2 returns the angle in the correct quadrant as opposed to Math.atan
+
+          const tx = d.target.x - (Math.cos(gamma) * radius);
+          const ty = d.target.y - (Math.sin(gamma) * radius);
+
+          return [tx, ty];
+        };
+
+        this.exportToTosca = (service) => {
+          ToscaEncoder.serviceToTosca(service);
         }
       }
     };
   })
-})();
-
-// Draw services around xos and calculate coarse tenant as links
-
-// var width = 960, height = 500;
-
-// var fill = d3.scale.category10();
-
-// var nodes = [
-//   {id: 1},
-//   {id: 2},
-//   {id: 3},
-//   {id: 4},
-//   {id: 5}
-// ];
-
-// var links = [
-//   {source: 1, target: 2},
-//   {source: 2, target: 3}
-// ];
-
-// var svg = d3.select("body").append("svg")
-//     .attr("width", width)
-//     .attr("height", height);
-
-// var force = d3.layout.force()
-//     .nodes(nodes)
-//     .links(links)
-//     .charge(-8*12)
-//     .gravity(0.1)
-//     .size([width, height])
-//     .on("tick", tick)
-//     .start();
-
-// svg.append('circle')
-// .attr({
-//   "class": "xos",
-//   r: 20,
-//   cx: () => width / 2,
-//   cy: () => height / 2,
-// })
-
-// var node = svg.selectAll(".node")
-//     .data(nodes)
-//   .enter().append("circle")
-//     .attr("class", "node")
-//     .attr("cx", ({ x }) => x)
-//     .attr("cy", ({ y }) => y)
-//     .attr("r", 8)
-//     .style("fill", ({}, index) => fill(index & 3))
-//     .style("stroke", ({}, index) => d3.rgb(fill(index & 3)).darker(2))
-//     .call(force.drag)
-//     .on("mousedown", ({}) => d3.event.stopPropagation());
-
-// var link = svg.selectAll(".link")
-// .data(links).enter().insert("line")
-//       .attr("class", "link");
-
-// function tick(e) {
-//   // Push different nodes in different directions for clustering.
-  
-//   node.attr("cx", function(d) { return d.x; })
-//       .attr("cy", function(d) { return d.y; });
-  
-//   link.attr("x1", function(d) { return d.source.x; })
-//       .attr("y1", function(d) { return d.source.y; })
-//       .attr("x2", function(d) { return d.target.x; })
-//       .attr("y2", function(d) { return d.target.y; });
-// }
+})();
\ No newline at end of file
diff --git a/views/ngXosViews/serviceGrid/src/js/sidePanel.component.js b/views/ngXosViews/serviceGrid/src/js/sidePanel.component.js
new file mode 100644
index 0000000..4421ee7
--- /dev/null
+++ b/views/ngXosViews/serviceGrid/src/js/sidePanel.component.js
@@ -0,0 +1,74 @@
+/**
+ * © OpenCORD
+ *
+ * Visit http://guide.xosproject.org/devguide/addview/ for more information
+ *
+ * Created by teone on 7/18/16.
+ */
+
+(function () {
+  'use strict';
+
+  angular.module('xos.uiComponents')
+  .directive('xosSidePanel', function(){
+    return {
+      restrict: 'E',
+      scope: {
+        config: '=',
+        show: '='
+      },
+      template: `
+        <div class="xos-side-panel-content {{vm.classes.join(' ')}}">
+          <div class="row">
+            <div class="col-xs-12">
+              <button type="button" class="close" ng-click="vm.dismiss()">
+                <span aria-hidden="true">&times;</span>
+              </button>
+            </div>
+          </div>
+          <div class="row">
+            <div class="col-xs-12" ng-transclude></div>
+          </div>
+        </div>
+      `,
+      transclude: true,
+      bindToController: true,
+      controllerAs: 'vm',
+      controller: function($scope, $timeout, _){
+        console.log(this.show);
+
+        this.classes = [];
+
+        this.classes.push(this.config.position);
+
+        this.dismiss = () => {
+          this.show = false;
+          this.classes = this.toggleClass(this.classes);
+          $timeout(() => {
+            return _.remove(this.classes, c => c === 'out');
+          }, 500);
+        };
+
+        this.toggleClass = (classes) => {
+          if(classes.indexOf('in') > -1){
+            _.remove(this.classes, c => c === 'in');
+            this.classes.push('out');
+            return classes;
+          }
+          _.remove(this.classes, c => c === 'out');
+          this.classes.push('in');
+          return classes;
+        };
+
+        $scope.$watch(() => this.show, val => {
+          if (angular.isDefined(val)){
+            if (val && val === true){
+              this.classes = this.toggleClass(this.classes);
+            }
+          }
+        })
+      }
+    }
+  });
+})();
+
diff --git a/views/ngXosViews/serviceGrid/src/sass/main.scss b/views/ngXosViews/serviceGrid/src/sass/main.scss
index bc8d14a..e892746 100644
--- a/views/ngXosViews/serviceGrid/src/sass/main.scss
+++ b/views/ngXosViews/serviceGrid/src/sass/main.scss
@@ -1,4 +1,5 @@
 @import '../../../../style/sass/lib/_variables.scss';
+@import './side-panel.scss';
 
 #xosServiceGrid {
   service-graph {
diff --git a/views/ngXosViews/serviceGrid/src/sass/side-panel.scss b/views/ngXosViews/serviceGrid/src/sass/side-panel.scss
new file mode 100644
index 0000000..0d5d508
--- /dev/null
+++ b/views/ngXosViews/serviceGrid/src/sass/side-panel.scss
@@ -0,0 +1,54 @@
+@import '../../../../style/sass/lib/_variables.scss';
+
+xos-side-panel{
+
+  .xos-side-panel-content{
+    position: fixed;
+    width: 30%;
+    height: 100%;
+    padding: 25px;
+    background: #fff;
+    overflow: scroll;
+
+    &.right {
+      border-left: 1px solid $gray;
+      top: 0;
+      //right: -35%;
+      right: 0;
+      visibility: hidden;
+      box-shadow: -10px 0px 20px -8px rgba(0,0,0,0.75);
+    }
+
+    &.right.out {
+      animation:  0.5s slideOutRight ease-in-out;
+      visibility: visible;
+    }
+
+    &.right.in {
+      animation:  0.5s slideInRight ease-in-out;
+      visibility: visible;
+    }
+  }
+}
+
+@keyframes slideInRight {
+  from {
+    transform: translate3d(100%, 0, 0);
+    visibility: visible;
+  }
+
+  to {
+    transform: translate3d(0, 0, 0);
+  }
+}
+
+@keyframes slideOutRight {
+  from {
+    transform: translate3d(0, 0, 0);
+  }
+
+  to {
+    visibility: hidden;
+    transform: translate3d(100%, 0, 0);
+  }
+}
\ No newline at end of file
diff --git a/views/ngXosViews/serviceGrid/src/templates/service-graph.tpl.html b/views/ngXosViews/serviceGrid/src/templates/service-graph.tpl.html
index c61da91..328ea7d 100644
--- a/views/ngXosViews/serviceGrid/src/templates/service-graph.tpl.html
+++ b/views/ngXosViews/serviceGrid/src/templates/service-graph.tpl.html
@@ -1,9 +1,6 @@
 <div class="row">
   <div class="col-sm-10">
     <h1>Graph</h1>
-    <ul>
-      <li>Use D3 to create a service chart based on coarse services?</li>
-    </ul>
   </div>
   <div class="col-sm-2">
     <a href="/admin/core/service/add" class="btn btn-success btn-block">
@@ -14,4 +11,30 @@
       Service List
     </a>
   </div>
-</div>
\ No newline at end of file
+</div>
+<xos-side-panel config="vm.panelConfig" show="vm.panelShow">
+  <h1>
+    {{vm.selectedNode.name}}
+    <small>
+      <i class="glyphicon glyphicon-{{vm.selectedNode.icon}}"></i>
+    </small>
+  </h1>
+  <table class="table">
+    <tr>
+      <td>Kind:</td>
+      <td>{{vm.selectedNode.kind}}</td>
+    </tr>
+    <tr>
+      <td>Enabled:</td>
+      <td>{{vm.selectedNode.enabled}}</td>
+    </tr>
+    <tr>
+      <td>Status:</td>
+      <td>{{vm.selectedNode.backend_status}}</td>
+    </tr>
+  </table>
+  <a ng-click="vm.exportToTosca(vm.selectedNode)" class="btn btn-primary">
+    Export to TOSCA
+    <i class="glyphicon glyphicon-export"></i>
+  </a>
+</xos-side-panel>
\ No newline at end of file
diff --git a/views/ngXosViews/serviceGrid/src/templates/service-grid.tpl.html b/views/ngXosViews/serviceGrid/src/templates/service-grid.tpl.html
index 8e88e38..37402d6 100644
--- a/views/ngXosViews/serviceGrid/src/templates/service-grid.tpl.html
+++ b/views/ngXosViews/serviceGrid/src/templates/service-grid.tpl.html
@@ -7,9 +7,9 @@
       <i class="glyphicon glyphicon-plus"></i>
       Add Service
     </a>
-    <!-- <a href="#/graph" class="btn btn-default btn-block">
+    <a href="#/graph" class="btn btn-default btn-block">
       Tenancy Graph
-    </a> -->
+    </a>
   </div>
 </div>
 
diff --git a/xos/core/xoslib/static/css/xosServiceGrid.css b/xos/core/xoslib/static/css/xosServiceGrid.css
index c722065..717197d 100644
--- a/xos/core/xoslib/static/css/xosServiceGrid.css
+++ b/xos/core/xoslib/static/css/xosServiceGrid.css
@@ -1 +1,2 @@
-#xosServiceGrid service-graph{display:block;width:100%;height:600px}#xosServiceGrid .node{stroke:#337ab7;fill:white}#xosServiceGrid .node.xos{fill:#d9534f}#xosServiceGrid .link{stroke:black;stroke-width:2px}
\ No newline at end of file
+xos-side-panel .xos-side-panel-content{position:fixed;width:30%;height:100%;padding:25px;background:#fff;overflow:scroll}xos-side-panel .xos-side-panel-content.right{border-left:1px solid #555;top:0;right:0;visibility:hidden;box-shadow:-10px 0 20px -8px rgba(0,0,0,.75)}xos-side-panel .xos-side-panel-content.right.out{animation:.5s slideOutRight ease-in-out;visibility:visible}xos-side-panel .xos-side-panel-content.right.in{animation:.5s slideInRight ease-in-out;visibility:visible}@keyframes slideInRight{from{transform:translate3d(100%,0,0);visibility:visible}to{transform:translate3d(0,0,0)}}@keyframes slideOutRight{from{transform:translate3d(0,0,0)}to{visibility:hidden;transform:translate3d(100%,0,0)}}#xosServiceGrid service-graph{display:block;width:100%;height:600px}#xosServiceGrid .node{stroke:#337ab7;fill:white}#xosServiceGrid .node.xos{fill:#d9534f}#xosServiceGrid .link{stroke:black;stroke-width:2px}
+xos-side-panel .xos-side-panel-content{position:fixed;width:30%;height:100%;padding:25px;background:#fff;overflow:scroll}xos-side-panel .xos-side-panel-content.right{border-left:1px solid #555;top:0;right:0;visibility:hidden;box-shadow:-10px 0 20px -8px rgba(0,0,0,.75)}xos-side-panel .xos-side-panel-content.right.out{animation:.5s slideOutRight ease-in-out;visibility:visible}xos-side-panel .xos-side-panel-content.right.in{animation:.5s slideInRight ease-in-out;visibility:visible}@keyframes slideInRight{from{transform:translate3d(100%,0,0);visibility:visible}to{transform:translate3d(0,0,0)}}@keyframes slideOutRight{from{transform:translate3d(0,0,0)}to{visibility:hidden;transform:translate3d(100%,0,0)}}
\ No newline at end of file
diff --git a/xos/core/xoslib/static/js/vendor/xosServiceGridVendor.js b/xos/core/xoslib/static/js/vendor/xosServiceGridVendor.js
index 14009a2..05700bd 100644
--- a/xos/core/xoslib/static/js/vendor/xosServiceGridVendor.js
+++ b/xos/core/xoslib/static/js/vendor/xosServiceGridVendor.js
@@ -1,5 +1,7 @@
-!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.jsyaml=t()}}(function(){return function t(e,r,n){function i(s,o){if(!r[s]){if(!e[s]){var u="function"==typeof require&&require;if(!o&&u)return u(s,!0);if(a)return a(s,!0);var l=new Error("Cannot find module '"+s+"'");throw l.code="MODULE_NOT_FOUND",l}var c=r[s]={exports:{}};e[s][0].call(c.exports,function(t){var r=e[s][1][t];return i(r?r:t)},c,c.exports,t,e,r,n)}return r[s].exports}for(var a="function"==typeof require&&require,s=0;s<n.length;s++)i(n[s]);return i}({1:[function(t,e,r){"use strict";function n(t){return function(){throw new Error("Function "+t+" is deprecated and cannot be used.")}}var i=t("./js-yaml/loader"),a=t("./js-yaml/dumper");e.exports.Type=t("./js-yaml/type"),e.exports.Schema=t("./js-yaml/schema"),e.exports.FAILSAFE_SCHEMA=t("./js-yaml/schema/failsafe"),e.exports.JSON_SCHEMA=t("./js-yaml/schema/json"),e.exports.CORE_SCHEMA=t("./js-yaml/schema/core"),e.exports.DEFAULT_SAFE_SCHEMA=t("./js-yaml/schema/default_safe"),e.exports.DEFAULT_FULL_SCHEMA=t("./js-yaml/schema/default_full"),e.exports.load=i.load,e.exports.loadAll=i.loadAll,e.exports.safeLoad=i.safeLoad,e.exports.safeLoadAll=i.safeLoadAll,e.exports.dump=a.dump,e.exports.safeDump=a.safeDump,e.exports.YAMLException=t("./js-yaml/exception"),e.exports.MINIMAL_SCHEMA=t("./js-yaml/schema/failsafe"),e.exports.SAFE_SCHEMA=t("./js-yaml/schema/default_safe"),e.exports.DEFAULT_SCHEMA=t("./js-yaml/schema/default_full"),e.exports.scan=n("scan"),e.exports.parse=n("parse"),e.exports.compose=n("compose"),e.exports.addConstructor=n("addConstructor")},{"./js-yaml/dumper":3,"./js-yaml/exception":4,"./js-yaml/loader":5,"./js-yaml/schema":7,"./js-yaml/schema/core":8,"./js-yaml/schema/default_full":9,"./js-yaml/schema/default_safe":10,"./js-yaml/schema/failsafe":11,"./js-yaml/schema/json":12,"./js-yaml/type":13}],2:[function(t,e,r){"use strict";function n(t){return"undefined"==typeof t||null===t}function i(t){return"object"==typeof t&&null!==t}function a(t){return Array.isArray(t)?t:n(t)?[]:[t]}function s(t,e){var r,n,i,a;if(e)for(a=Object.keys(e),r=0,n=a.length;n>r;r+=1)i=a[r],t[i]=e[i];return t}function o(t,e){var r,n="";for(r=0;e>r;r+=1)n+=t;return n}function u(t){return 0===t&&Number.NEGATIVE_INFINITY===1/t}e.exports.isNothing=n,e.exports.isObject=i,e.exports.toArray=a,e.exports.repeat=o,e.exports.isNegativeZero=u,e.exports.extend=s},{}],3:[function(t,e,r){"use strict";function n(t,e){var r,n,i,a,s,o,u;if(null===e)return{};for(r={},n=Object.keys(e),i=0,a=n.length;a>i;i+=1)s=n[i],o=String(e[s]),"!!"===s.slice(0,2)&&(s="tag:yaml.org,2002:"+s.slice(2)),u=t.compiledTypeMap[s],u&&D.call(u.styleAliases,o)&&(o=u.styleAliases[o]),r[s]=o;return r}function i(t){var e,r,n;if(e=t.toString(16).toUpperCase(),255>=t)r="x",n=2;else if(65535>=t)r="u",n=4;else{if(!(4294967295>=t))throw new T("code point within a string may not be greater than 0xFFFFFFFF");r="U",n=8}return"\\"+r+z.repeat("0",n-e.length)+e}function a(t){this.schema=t.schema||F,this.indent=Math.max(1,t.indent||2),this.skipInvalid=t.skipInvalid||!1,this.flowLevel=z.isNothing(t.flowLevel)?-1:t.flowLevel,this.styleMap=n(this.schema,t.styles||null),this.sortKeys=t.sortKeys||!1,this.lineWidth=t.lineWidth||80,this.noRefs=t.noRefs||!1,this.noCompatMode=t.noCompatMode||!1,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function s(t,e){for(var r,n=z.repeat(" ",e),i=0,a=-1,s="",o=t.length;o>i;)a=t.indexOf("\n",i),-1===a?(r=t.slice(i),i=o):(r=t.slice(i,a+1),i=a+1),r.length&&"\n"!==r&&(s+=n),s+=r;return s}function o(t,e){return"\n"+z.repeat(" ",t.indent*e)}function u(t,e){var r,n,i;for(r=0,n=t.implicitTypes.length;n>r;r+=1)if(i=t.implicitTypes[r],i.resolve(e))return!0;return!1}function l(t){return t===L||t===j}function c(t){return t>=32&&126>=t||t>=161&&55295>=t&&8232!==t&&8233!==t||t>=57344&&65533>=t&&65279!==t||t>=65536&&1114111>=t}function f(t){return c(t)&&65279!==t&&t!==G&&t!==$&&t!==Q&&t!==et&&t!==nt&&t!==q&&t!==M}function h(t){return c(t)&&65279!==t&&!l(t)&&t!==K&&t!==X&&t!==q&&t!==G&&t!==$&&t!==Q&&t!==et&&t!==nt&&t!==M&&t!==Z&&t!==Y&&t!==U&&t!==rt&&t!==V&&t!==H&&t!==P&&t!==W&&t!==J&&t!==tt}function d(t,e,r,n,i){var a,s,o=!1,u=!1,d=-1!==n,p=-1,m=h(t.charCodeAt(0))&&!l(t.charCodeAt(t.length-1));if(e)for(a=0;a<t.length;a++){if(s=t.charCodeAt(a),!c(s))return ct;m=m&&f(s)}else{for(a=0;a<t.length;a++){if(s=t.charCodeAt(a),s===R)o=!0,d&&(u=u||a-p-1>n&&" "!==t[p+1],p=a);else if(!c(s))return ct;m=m&&f(s)}u=u||d&&a-p-1>n&&" "!==t[p+1]}return o||u?" "===t[0]&&r>9?ct:u?lt:ut:m&&!i(t)?st:ot}function p(t,e,r,n){t.dump=function(){function i(e){return u(t,e)}if(0===e.length)return"''";if(!t.noCompatMode&&-1!==at.indexOf(e))return"'"+e+"'";var a=t.indent*Math.max(1,r),o=-1===t.lineWidth?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-a),l=n||t.flowLevel>-1&&r>=t.flowLevel;switch(d(e,l,t.indent,o,i)){case st:return e;case ot:return"'"+e.replace(/'/g,"''")+"'";case ut:return"|"+m(e,t.indent)+g(s(e,a));case lt:return">"+m(e,t.indent)+g(s(_(e,o),a));case ct:return'"'+v(e,o)+'"';default:throw new T("impossible error: invalid scalar style")}}()}function m(t,e){var r=" "===t[0]?String(e):"",n="\n"===t[t.length-1],i=n&&("\n"===t[t.length-2]||"\n"===t),a=i?"+":n?"":"-";return r+a+"\n"}function g(t){return"\n"===t[t.length-1]?t.slice(0,-1):t}function _(t,e){for(var r,n,i=/(\n+)([^\n]*)/g,a=function(){var r=t.indexOf("\n");return r=-1!==r?r:t.length,i.lastIndex=r,y(t.slice(0,r),e)}(),s="\n"===t[0]||" "===t[0];n=i.exec(t);){var o=n[1],u=n[2];r=" "===u[0],a+=o+(s||r||""===u?"":"\n")+y(u,e),s=r}return a}function y(t,e){if(""===t||" "===t[0])return t;for(var r,n,i=/ [^ ]/g,a=0,s=0,o=0,u="";r=i.exec(t);)o=r.index,o-a>e&&(n=s>a?s:o,u+="\n"+t.slice(a,n),a=n+1),s=o;return u+="\n",u+=t.length-a>e&&s>a?t.slice(a,s)+"\n"+t.slice(s+1):t.slice(a),u.slice(1)}function v(t){for(var e,r,n="",a=0;a<t.length;a++)e=t.charCodeAt(a),r=it[e],n+=!r&&c(e)?t[a]:r||i(e);return n}function w(t,e,r){var n,i,a="",s=t.tag;for(n=0,i=r.length;i>n;n+=1)S(t,e,r[n],!1,!1)&&(0!==n&&(a+=", "),a+=t.dump);t.tag=s,t.dump="["+a+"]"}function b(t,e,r,n){var i,a,s="",u=t.tag;for(i=0,a=r.length;a>i;i+=1)S(t,e+1,r[i],!0,!0)&&(n&&0===i||(s+=o(t,e)),s+="- "+t.dump);t.tag=u,t.dump=s||"[]"}function k(t,e,r){var n,i,a,s,o,u="",l=t.tag,c=Object.keys(r);for(n=0,i=c.length;i>n;n+=1)o="",0!==n&&(o+=", "),a=c[n],s=r[a],S(t,e,a,!1,!1)&&(t.dump.length>1024&&(o+="? "),o+=t.dump+": ",S(t,e,s,!1,!1)&&(o+=t.dump,u+=o));t.tag=l,t.dump="{"+u+"}"}function x(t,e,r,n){var i,a,s,u,l,c,f="",h=t.tag,d=Object.keys(r);if(t.sortKeys===!0)d.sort();else if("function"==typeof t.sortKeys)d.sort(t.sortKeys);else if(t.sortKeys)throw new T("sortKeys must be a boolean or a function");for(i=0,a=d.length;a>i;i+=1)c="",n&&0===i||(c+=o(t,e)),s=d[i],u=r[s],S(t,e+1,s,!0,!0,!0)&&(l=null!==t.tag&&"?"!==t.tag||t.dump&&t.dump.length>1024,l&&(c+=t.dump&&R===t.dump.charCodeAt(0)?"?":"? "),c+=t.dump,l&&(c+=o(t,e)),S(t,e+1,u,!0,l)&&(c+=t.dump&&R===t.dump.charCodeAt(0)?":":": ",c+=t.dump,f+=c));t.tag=h,t.dump=f||"{}"}function A(t,e,r){var n,i,a,s,o,u;for(i=r?t.explicitTypes:t.implicitTypes,a=0,s=i.length;s>a;a+=1)if(o=i[a],(o.instanceOf||o.predicate)&&(!o.instanceOf||"object"==typeof e&&e instanceof o.instanceOf)&&(!o.predicate||o.predicate(e))){if(t.tag=r?o.tag:"?",o.represent){if(u=t.styleMap[o.tag]||o.defaultStyle,"[object Function]"===N.call(o.represent))n=o.represent(e,u);else{if(!D.call(o.represent,u))throw new T("!<"+o.tag+'> tag resolver accepts not "'+u+'" style');n=o.represent[u](e,u)}t.dump=n}return!0}return!1}function S(t,e,r,n,i,a){t.tag=null,t.dump=r,A(t,r,!1)||A(t,r,!0);var s=N.call(t.dump);n&&(n=t.flowLevel<0||t.flowLevel>e);var o,u,l="[object Object]"===s||"[object Array]"===s;if(l&&(o=t.duplicates.indexOf(r),u=-1!==o),(null!==t.tag&&"?"!==t.tag||u||2!==t.indent&&e>0)&&(i=!1),u&&t.usedDuplicates[o])t.dump="*ref_"+o;else{if(l&&u&&!t.usedDuplicates[o]&&(t.usedDuplicates[o]=!0),"[object Object]"===s)n&&0!==Object.keys(t.dump).length?(x(t,e,t.dump,i),u&&(t.dump="&ref_"+o+t.dump)):(k(t,e,t.dump),u&&(t.dump="&ref_"+o+" "+t.dump));else if("[object Array]"===s)n&&0!==t.dump.length?(b(t,e,t.dump,i),u&&(t.dump="&ref_"+o+t.dump)):(w(t,e,t.dump),u&&(t.dump="&ref_"+o+" "+t.dump));else{if("[object String]"!==s){if(t.skipInvalid)return!1;throw new T("unacceptable kind of an object to dump "+s)}"?"!==t.tag&&p(t,t.dump,e,a)}null!==t.tag&&"?"!==t.tag&&(t.dump="!<"+t.tag+"> "+t.dump)}return!0}function C(t,e){var r,n,i=[],a=[];for(E(t,i,a),r=0,n=a.length;n>r;r+=1)e.duplicates.push(i[a[r]]);e.usedDuplicates=new Array(n)}function E(t,e,r){var n,i,a;if(null!==t&&"object"==typeof t)if(i=e.indexOf(t),-1!==i)-1===r.indexOf(i)&&r.push(i);else if(e.push(t),Array.isArray(t))for(i=0,a=t.length;a>i;i+=1)E(t[i],e,r);else for(n=Object.keys(t),i=0,a=n.length;a>i;i+=1)E(t[n[i]],e,r)}function I(t,e){e=e||{};var r=new a(e);return r.noRefs||C(t,r),S(r,0,t,!0,!0)?r.dump+"\n":""}function O(t,e){return I(t,z.extend({schema:B},e))}var z=t("./common"),T=t("./exception"),F=t("./schema/default_full"),B=t("./schema/default_safe"),N=Object.prototype.toString,D=Object.prototype.hasOwnProperty,j=9,R=10,L=32,U=33,P=34,M=35,W=37,Z=38,H=39,Y=42,G=44,K=45,q=58,V=62,X=63,J=64,$=91,Q=93,tt=96,et=123,rt=124,nt=125,it={};it[0]="\\0",it[7]="\\a",it[8]="\\b",it[9]="\\t",it[10]="\\n",it[11]="\\v",it[12]="\\f",it[13]="\\r",it[27]="\\e",it[34]='\\"',it[92]="\\\\",it[133]="\\N",it[160]="\\_",it[8232]="\\L",it[8233]="\\P";var at=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],st=1,ot=2,ut=3,lt=4,ct=5;e.exports.dump=I,e.exports.safeDump=O},{"./common":2,"./exception":4,"./schema/default_full":9,"./schema/default_safe":10}],4:[function(t,e,r){"use strict";function n(t,e){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||"",this.name="YAMLException",this.reason=t,this.mark=e,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():"")}n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,n.prototype.toString=function(t){var e=this.name+": ";return e+=this.reason||"(unknown reason)",!t&&this.mark&&(e+=" "+this.mark.toString()),e},e.exports=n},{}],5:[function(t,e,r){"use strict";function n(t){return 10===t||13===t}function i(t){return 9===t||32===t}function a(t){return 9===t||32===t||10===t||13===t}function s(t){return 44===t||91===t||93===t||123===t||125===t}function o(t){var e;return t>=48&&57>=t?t-48:(e=32|t,e>=97&&102>=e?e-97+10:-1)}function u(t){return 120===t?2:117===t?4:85===t?8:0}function l(t){return t>=48&&57>=t?t-48:-1}function c(t){return 48===t?"\x00":97===t?"":98===t?"\b":116===t?"	":9===t?"	":110===t?"\n":118===t?"\x0B":102===t?"\f":114===t?"\r":101===t?"":32===t?" ":34===t?'"':47===t?"/":92===t?"\\":78===t?"Â…":95===t?" ":76===t?"\u2028":80===t?"\u2029":""}function f(t){return 65535>=t?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}function h(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||H,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function d(t,e){return new M(e,new W(t.filename,t.input,t.position,t.line,t.position-t.lineStart))}function p(t,e){throw d(t,e)}function m(t,e){t.onWarning&&t.onWarning.call(null,d(t,e))}function g(t,e,r,n){var i,a,s,o;if(r>e){if(o=t.input.slice(e,r),n)for(i=0,a=o.length;a>i;i+=1)s=o.charCodeAt(i),9===s||s>=32&&1114111>=s||p(t,"expected valid JSON character");else Q.test(o)&&p(t,"the stream contains non-printable characters");t.result+=o}}function _(t,e,r,n){var i,a,s,o;for(P.isObject(r)||p(t,"cannot merge mappings; the provided source object is unacceptable"),i=Object.keys(r),s=0,o=i.length;o>s;s+=1)a=i[s],Y.call(e,a)||(e[a]=r[a],n[a]=!0)}function y(t,e,r,n,i,a){var s,o;if(i=String(i),null===e&&(e={}),"tag:yaml.org,2002:merge"===n)if(Array.isArray(a))for(s=0,o=a.length;o>s;s+=1)_(t,e,a[s],r);else _(t,e,a,r);else t.json||Y.call(r,i)||!Y.call(e,i)||p(t,"duplicated mapping key"),e[i]=a,delete r[i];return e}function v(t){var e;e=t.input.charCodeAt(t.position),10===e?t.position++:13===e?(t.position++,10===t.input.charCodeAt(t.position)&&t.position++):p(t,"a line break is expected"),t.line+=1,t.lineStart=t.position}function w(t,e,r){for(var a=0,s=t.input.charCodeAt(t.position);0!==s;){for(;i(s);)s=t.input.charCodeAt(++t.position);if(e&&35===s)do s=t.input.charCodeAt(++t.position);while(10!==s&&13!==s&&0!==s);if(!n(s))break;for(v(t),s=t.input.charCodeAt(t.position),a++,t.lineIndent=0;32===s;)t.lineIndent++,s=t.input.charCodeAt(++t.position)}return-1!==r&&0!==a&&t.lineIndent<r&&m(t,"deficient indentation"),a}function b(t){var e,r=t.position;return e=t.input.charCodeAt(r),(45===e||46===e)&&e===t.input.charCodeAt(r+1)&&e===t.input.charCodeAt(r+2)&&(r+=3,e=t.input.charCodeAt(r),0===e||a(e))}function k(t,e){1===e?t.result+=" ":e>1&&(t.result+=P.repeat("\n",e-1))}function x(t,e,r){var o,u,l,c,f,h,d,p,m,_=t.kind,y=t.result;if(m=t.input.charCodeAt(t.position),a(m)||s(m)||35===m||38===m||42===m||33===m||124===m||62===m||39===m||34===m||37===m||64===m||96===m)return!1;if((63===m||45===m)&&(u=t.input.charCodeAt(t.position+1),a(u)||r&&s(u)))return!1;for(t.kind="scalar",t.result="",l=c=t.position,f=!1;0!==m;){if(58===m){if(u=t.input.charCodeAt(t.position+1),a(u)||r&&s(u))break}else if(35===m){if(o=t.input.charCodeAt(t.position-1),a(o))break}else{if(t.position===t.lineStart&&b(t)||r&&s(m))break;if(n(m)){if(h=t.line,d=t.lineStart,p=t.lineIndent,w(t,!1,-1),t.lineIndent>=e){f=!0,m=t.input.charCodeAt(t.position);continue}t.position=c,t.line=h,t.lineStart=d,t.lineIndent=p;break}}f&&(g(t,l,c,!1),k(t,t.line-h),l=c=t.position,f=!1),i(m)||(c=t.position+1),m=t.input.charCodeAt(++t.position)}return g(t,l,c,!1),t.result?!0:(t.kind=_,t.result=y,!1)}function A(t,e){var r,i,a;if(r=t.input.charCodeAt(t.position),39!==r)return!1;for(t.kind="scalar",t.result="",t.position++,i=a=t.position;0!==(r=t.input.charCodeAt(t.position));)if(39===r){if(g(t,i,t.position,!0),r=t.input.charCodeAt(++t.position),39!==r)return!0;i=a=t.position,t.position++}else n(r)?(g(t,i,a,!0),k(t,w(t,!1,e)),i=a=t.position):t.position===t.lineStart&&b(t)?p(t,"unexpected end of the document within a single quoted scalar"):(t.position++,a=t.position);p(t,"unexpected end of the stream within a single quoted scalar")}function S(t,e){var r,i,a,s,l,c;if(c=t.input.charCodeAt(t.position),34!==c)return!1;for(t.kind="scalar",t.result="",t.position++,r=i=t.position;0!==(c=t.input.charCodeAt(t.position));){if(34===c)return g(t,r,t.position,!0),t.position++,!0;if(92===c){if(g(t,r,t.position,!0),c=t.input.charCodeAt(++t.position),n(c))w(t,!1,e);else if(256>c&&it[c])t.result+=at[c],t.position++;else if((l=u(c))>0){for(a=l,s=0;a>0;a--)c=t.input.charCodeAt(++t.position),(l=o(c))>=0?s=(s<<4)+l:p(t,"expected hexadecimal character");t.result+=f(s),t.position++}else p(t,"unknown escape sequence");r=i=t.position}else n(c)?(g(t,r,i,!0),k(t,w(t,!1,e)),r=i=t.position):t.position===t.lineStart&&b(t)?p(t,"unexpected end of the document within a double quoted scalar"):(t.position++,i=t.position)}p(t,"unexpected end of the stream within a double quoted scalar")}function C(t,e){var r,n,i,s,o,u,l,c,f,h,d,m=!0,g=t.tag,_=t.anchor,v={};if(d=t.input.charCodeAt(t.position),91===d)s=93,l=!1,n=[];else{if(123!==d)return!1;s=125,l=!0,n={}}for(null!==t.anchor&&(t.anchorMap[t.anchor]=n),d=t.input.charCodeAt(++t.position);0!==d;){if(w(t,!0,e),d=t.input.charCodeAt(t.position),d===s)return t.position++,t.tag=g,t.anchor=_,t.kind=l?"mapping":"sequence",t.result=n,!0;m||p(t,"missed comma between flow collection entries"),f=c=h=null,o=u=!1,63===d&&(i=t.input.charCodeAt(t.position+1),a(i)&&(o=u=!0,t.position++,w(t,!0,e))),r=t.line,B(t,e,G,!1,!0),f=t.tag,c=t.result,w(t,!0,e),d=t.input.charCodeAt(t.position),!u&&t.line!==r||58!==d||(o=!0,d=t.input.charCodeAt(++t.position),w(t,!0,e),B(t,e,G,!1,!0),h=t.result),l?y(t,n,v,f,c,h):o?n.push(y(t,null,v,f,c,h)):n.push(c),w(t,!0,e),d=t.input.charCodeAt(t.position),44===d?(m=!0,d=t.input.charCodeAt(++t.position)):m=!1}p(t,"unexpected end of the stream within a flow collection")}function E(t,e){var r,a,s,o,u=X,c=!1,f=!1,h=e,d=0,m=!1;if(o=t.input.charCodeAt(t.position),124===o)a=!1;else{if(62!==o)return!1;a=!0}for(t.kind="scalar",t.result="";0!==o;)if(o=t.input.charCodeAt(++t.position),43===o||45===o)X===u?u=43===o?$:J:p(t,"repeat of a chomping mode identifier");else{if(!((s=l(o))>=0))break;0===s?p(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):f?p(t,"repeat of an indentation width identifier"):(h=e+s-1,f=!0)}if(i(o)){do o=t.input.charCodeAt(++t.position);while(i(o));if(35===o)do o=t.input.charCodeAt(++t.position);while(!n(o)&&0!==o)}for(;0!==o;){for(v(t),t.lineIndent=0,o=t.input.charCodeAt(t.position);(!f||t.lineIndent<h)&&32===o;)t.lineIndent++,o=t.input.charCodeAt(++t.position);if(!f&&t.lineIndent>h&&(h=t.lineIndent),n(o))d++;else{if(t.lineIndent<h){u===$?t.result+=P.repeat("\n",c?1+d:d):u===X&&c&&(t.result+="\n");break}for(a?i(o)?(m=!0,t.result+=P.repeat("\n",c?1+d:d)):m?(m=!1,t.result+=P.repeat("\n",d+1)):0===d?c&&(t.result+=" "):t.result+=P.repeat("\n",d):t.result+=P.repeat("\n",c?1+d:d),c=!0,f=!0,d=0,r=t.position;!n(o)&&0!==o;)o=t.input.charCodeAt(++t.position);g(t,r,t.position,!1)}}return!0}function I(t,e){var r,n,i,s=t.tag,o=t.anchor,u=[],l=!1;for(null!==t.anchor&&(t.anchorMap[t.anchor]=u),i=t.input.charCodeAt(t.position);0!==i&&45===i&&(n=t.input.charCodeAt(t.position+1),a(n));)if(l=!0,t.position++,w(t,!0,-1)&&t.lineIndent<=e)u.push(null),i=t.input.charCodeAt(t.position);else if(r=t.line,B(t,e,q,!1,!0),u.push(t.result),w(t,!0,-1),i=t.input.charCodeAt(t.position),(t.line===r||t.lineIndent>e)&&0!==i)p(t,"bad indentation of a sequence entry");else if(t.lineIndent<e)break;return l?(t.tag=s,t.anchor=o,t.kind="sequence",t.result=u,!0):!1}function O(t,e,r){var n,s,o,u,l=t.tag,c=t.anchor,f={},h={},d=null,m=null,g=null,_=!1,v=!1;for(null!==t.anchor&&(t.anchorMap[t.anchor]=f),u=t.input.charCodeAt(t.position);0!==u;){if(n=t.input.charCodeAt(t.position+1),o=t.line,63!==u&&58!==u||!a(n)){if(!B(t,r,K,!1,!0))break;if(t.line===o){for(u=t.input.charCodeAt(t.position);i(u);)u=t.input.charCodeAt(++t.position);if(58===u)u=t.input.charCodeAt(++t.position),a(u)||p(t,"a whitespace character is expected after the key-value separator within a block mapping"),_&&(y(t,f,h,d,m,null),d=m=g=null),v=!0,_=!1,s=!1,d=t.tag,m=t.result;else{if(!v)return t.tag=l,t.anchor=c,!0;p(t,"can not read an implicit mapping pair; a colon is missed")}}else{if(!v)return t.tag=l,t.anchor=c,!0;p(t,"can not read a block mapping entry; a multiline key may not be an implicit key")}}else 63===u?(_&&(y(t,f,h,d,m,null),d=m=g=null),v=!0,_=!0,s=!0):_?(_=!1,s=!0):p(t,"incomplete explicit mapping pair; a key node is missed"),t.position+=1,u=n;if((t.line===o||t.lineIndent>e)&&(B(t,e,V,!0,s)&&(_?m=t.result:g=t.result),_||(y(t,f,h,d,m,g),d=m=g=null),w(t,!0,-1),u=t.input.charCodeAt(t.position)),t.lineIndent>e&&0!==u)p(t,"bad indentation of a mapping entry");else if(t.lineIndent<e)break}return _&&y(t,f,h,d,m,null),v&&(t.tag=l,t.anchor=c,t.kind="mapping",t.result=f),v}function z(t){var e,r,n,i,s=!1,o=!1;if(i=t.input.charCodeAt(t.position),33!==i)return!1;if(null!==t.tag&&p(t,"duplication of a tag property"),i=t.input.charCodeAt(++t.position),60===i?(s=!0,i=t.input.charCodeAt(++t.position)):33===i?(o=!0,r="!!",i=t.input.charCodeAt(++t.position)):r="!",e=t.position,s){do i=t.input.charCodeAt(++t.position);while(0!==i&&62!==i);t.position<t.length?(n=t.input.slice(e,t.position),i=t.input.charCodeAt(++t.position)):p(t,"unexpected end of the stream within a verbatim tag")}else{for(;0!==i&&!a(i);)33===i&&(o?p(t,"tag suffix cannot contain exclamation marks"):(r=t.input.slice(e-1,t.position+1),rt.test(r)||p(t,"named tag handle cannot contain such characters"),o=!0,e=t.position+1)),i=t.input.charCodeAt(++t.position);n=t.input.slice(e,t.position),et.test(n)&&p(t,"tag suffix cannot contain flow indicator characters")}return n&&!nt.test(n)&&p(t,"tag name cannot contain such characters: "+n),s?t.tag=n:Y.call(t.tagMap,r)?t.tag=t.tagMap[r]+n:"!"===r?t.tag="!"+n:"!!"===r?t.tag="tag:yaml.org,2002:"+n:p(t,'undeclared tag handle "'+r+'"'),!0}function T(t){var e,r;if(r=t.input.charCodeAt(t.position),38!==r)return!1;for(null!==t.anchor&&p(t,"duplication of an anchor property"),r=t.input.charCodeAt(++t.position),e=t.position;0!==r&&!a(r)&&!s(r);)r=t.input.charCodeAt(++t.position);return t.position===e&&p(t,"name of an anchor node must contain at least one character"),t.anchor=t.input.slice(e,t.position),!0}function F(t){var e,r,n;if(n=t.input.charCodeAt(t.position),42!==n)return!1;for(n=t.input.charCodeAt(++t.position),e=t.position;0!==n&&!a(n)&&!s(n);)n=t.input.charCodeAt(++t.position);return t.position===e&&p(t,"name of an alias node must contain at least one character"),r=t.input.slice(e,t.position),t.anchorMap.hasOwnProperty(r)||p(t,'unidentified alias "'+r+'"'),t.result=t.anchorMap[r],w(t,!0,-1),!0}function B(t,e,r,n,i){var a,s,o,u,l,c,f,h,d=1,m=!1,g=!1;if(null!==t.listener&&t.listener("open",t),t.tag=null,t.anchor=null,t.kind=null,t.result=null,a=s=o=V===r||q===r,n&&w(t,!0,-1)&&(m=!0,t.lineIndent>e?d=1:t.lineIndent===e?d=0:t.lineIndent<e&&(d=-1)),1===d)for(;z(t)||T(t);)w(t,!0,-1)?(m=!0,o=a,t.lineIndent>e?d=1:t.lineIndent===e?d=0:t.lineIndent<e&&(d=-1)):o=!1;if(o&&(o=m||i),1!==d&&V!==r||(f=G===r||K===r?e:e+1,h=t.position-t.lineStart,1===d?o&&(I(t,h)||O(t,h,f))||C(t,f)?g=!0:(s&&E(t,f)||A(t,f)||S(t,f)?g=!0:F(t)?(g=!0,null===t.tag&&null===t.anchor||p(t,"alias node should not have any properties")):x(t,f,G===r)&&(g=!0,null===t.tag&&(t.tag="?")),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):0===d&&(g=o&&I(t,h))),null!==t.tag&&"!"!==t.tag)if("?"===t.tag){for(u=0,l=t.implicitTypes.length;l>u;u+=1)if(c=t.implicitTypes[u],c.resolve(t.result)){t.result=c.construct(t.result),t.tag=c.tag,null!==t.anchor&&(t.anchorMap[t.anchor]=t.result);break}}else Y.call(t.typeMap,t.tag)?(c=t.typeMap[t.tag],null!==t.result&&c.kind!==t.kind&&p(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+c.kind+'", not "'+t.kind+'"'),c.resolve(t.result)?(t.result=c.construct(t.result),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):p(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")):p(t,"unknown tag !<"+t.tag+">");return null!==t.listener&&t.listener("close",t),null!==t.tag||null!==t.anchor||g}function N(t){var e,r,s,o,u=t.position,l=!1;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap={},t.anchorMap={};0!==(o=t.input.charCodeAt(t.position))&&(w(t,!0,-1),o=t.input.charCodeAt(t.position),!(t.lineIndent>0||37!==o));){for(l=!0,o=t.input.charCodeAt(++t.position),e=t.position;0!==o&&!a(o);)o=t.input.charCodeAt(++t.position);for(r=t.input.slice(e,t.position),s=[],r.length<1&&p(t,"directive name must not be less than one character in length");0!==o;){for(;i(o);)o=t.input.charCodeAt(++t.position);if(35===o){do o=t.input.charCodeAt(++t.position);while(0!==o&&!n(o));break}if(n(o))break;for(e=t.position;0!==o&&!a(o);)o=t.input.charCodeAt(++t.position);s.push(t.input.slice(e,t.position))}0!==o&&v(t),Y.call(ot,r)?ot[r](t,r,s):m(t,'unknown document directive "'+r+'"')}return w(t,!0,-1),0===t.lineIndent&&45===t.input.charCodeAt(t.position)&&45===t.input.charCodeAt(t.position+1)&&45===t.input.charCodeAt(t.position+2)?(t.position+=3,w(t,!0,-1)):l&&p(t,"directives end mark is expected"),B(t,t.lineIndent-1,V,!1,!0),w(t,!0,-1),t.checkLineBreaks&&tt.test(t.input.slice(u,t.position))&&m(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&b(t)?void(46===t.input.charCodeAt(t.position)&&(t.position+=3,w(t,!0,-1))):void(t.position<t.length-1&&p(t,"end of the stream or a document separator is expected"))}function D(t,e){t=String(t),e=e||{},0!==t.length&&(10!==t.charCodeAt(t.length-1)&&13!==t.charCodeAt(t.length-1)&&(t+="\n"),65279===t.charCodeAt(0)&&(t=t.slice(1)));var r=new h(t,e);for(r.input+="\x00";32===r.input.charCodeAt(r.position);)r.lineIndent+=1,r.position+=1;for(;r.position<r.length-1;)N(r);return r.documents}function j(t,e,r){var n,i,a=D(t,r);for(n=0,i=a.length;i>n;n+=1)e(a[n])}function R(t,e){var r=D(t,e);if(0!==r.length){if(1===r.length)return r[0];throw new M("expected a single document in the stream, but found more")}}function L(t,e,r){j(t,e,P.extend({schema:Z},r))}function U(t,e){return R(t,P.extend({schema:Z},e))}for(var P=t("./common"),M=t("./exception"),W=t("./mark"),Z=t("./schema/default_safe"),H=t("./schema/default_full"),Y=Object.prototype.hasOwnProperty,G=1,K=2,q=3,V=4,X=1,J=2,$=3,Q=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,tt=/[\x85\u2028\u2029]/,et=/[,\[\]\{\}]/,rt=/^(?:!|!!|![a-z\-]+!)$/i,nt=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i,it=new Array(256),at=new Array(256),st=0;256>st;st++)it[st]=c(st)?1:0,at[st]=c(st);var ot={YAML:function(t,e,r){var n,i,a;null!==t.version&&p(t,"duplication of %YAML directive"),1!==r.length&&p(t,"YAML directive accepts exactly one argument"),n=/^([0-9]+)\.([0-9]+)$/.exec(r[0]),null===n&&p(t,"ill-formed argument of the YAML directive"),i=parseInt(n[1],10),a=parseInt(n[2],10),1!==i&&p(t,"unacceptable YAML version of the document"),t.version=r[0],t.checkLineBreaks=2>a,1!==a&&2!==a&&m(t,"unsupported YAML version of the document")},TAG:function(t,e,r){var n,i;2!==r.length&&p(t,"TAG directive accepts exactly two arguments"),n=r[0],i=r[1],rt.test(n)||p(t,"ill-formed tag handle (first argument) of the TAG directive"),Y.call(t.tagMap,n)&&p(t,'there is a previously declared suffix for "'+n+'" tag handle'),nt.test(i)||p(t,"ill-formed tag prefix (second argument) of the TAG directive"),t.tagMap[n]=i}};e.exports.loadAll=j,e.exports.load=R,e.exports.safeLoadAll=L,e.exports.safeLoad=U},{"./common":2,"./exception":4,"./mark":6,"./schema/default_full":9,"./schema/default_safe":10}],6:[function(t,e,r){"use strict";function n(t,e,r,n,i){this.name=t,this.buffer=e,this.position=r,this.line=n,this.column=i}var i=t("./common");n.prototype.getSnippet=function(t,e){var r,n,a,s,o;if(!this.buffer)return null;for(t=t||4,e=e||75,r="",n=this.position;n>0&&-1==="\x00\r\nÂ…\u2028\u2029".indexOf(this.buffer.charAt(n-1));)if(n-=1,this.position-n>e/2-1){r=" ... ",n+=5;break}for(a="",s=this.position;s<this.buffer.length&&-1==="\x00\r\nÂ…\u2028\u2029".indexOf(this.buffer.charAt(s));)if(s+=1,s-this.position>e/2-1){a=" ... ",s-=5;break}return o=this.buffer.slice(n,s),i.repeat(" ",t)+r+o+a+"\n"+i.repeat(" ",t+this.position-n+r.length)+"^"},n.prototype.toString=function(t){var e,r="";return this.name&&(r+='in "'+this.name+'" '),r+="at line "+(this.line+1)+", column "+(this.column+1),t||(e=this.getSnippet(),e&&(r+=":\n"+e)),r},e.exports=n},{"./common":2}],7:[function(t,e,r){"use strict";function n(t,e,r){var i=[];return t.include.forEach(function(t){r=n(t,e,r)}),t[e].forEach(function(t){r.forEach(function(e,r){e.tag===t.tag&&i.push(r)}),r.push(t)}),r.filter(function(t,e){return-1===i.indexOf(e)})}function i(){function t(t){n[t.tag]=t}var e,r,n={};for(e=0,r=arguments.length;r>e;e+=1)arguments[e].forEach(t);return n}function a(t){this.include=t.include||[],this.implicit=t.implicit||[],this.explicit=t.explicit||[],this.implicit.forEach(function(t){if(t.loadKind&&"scalar"!==t.loadKind)throw new o("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.")}),this.compiledImplicit=n(this,"implicit",[]),this.compiledExplicit=n(this,"explicit",[]),this.compiledTypeMap=i(this.compiledImplicit,this.compiledExplicit)}var s=t("./common"),o=t("./exception"),u=t("./type");a.DEFAULT=null,a.create=function(){var t,e;switch(arguments.length){case 1:t=a.DEFAULT,e=arguments[0];break;case 2:t=arguments[0],e=arguments[1];break;default:throw new o("Wrong number of arguments for Schema.create function")}if(t=s.toArray(t),e=s.toArray(e),!t.every(function(t){return t instanceof a}))throw new o("Specified list of super schemas (or a single Schema object) contains a non-Schema object.");if(!e.every(function(t){return t instanceof u}))throw new o("Specified list of YAML types (or a single Type object) contains a non-Type object.");return new a({include:t,explicit:e})},e.exports=a},{"./common":2,"./exception":4,"./type":13}],8:[function(t,e,r){"use strict";var n=t("../schema");e.exports=new n({include:[t("./json")]})},{"../schema":7,"./json":12}],9:[function(t,e,r){"use strict";var n=t("../schema");e.exports=n.DEFAULT=new n({include:[t("./default_safe")],explicit:[t("../type/js/undefined"),t("../type/js/regexp"),t("../type/js/function")]})},{"../schema":7,"../type/js/function":18,"../type/js/regexp":19,"../type/js/undefined":20,"./default_safe":10}],10:[function(t,e,r){"use strict";var n=t("../schema");e.exports=new n({include:[t("./core")],implicit:[t("../type/timestamp"),t("../type/merge")],explicit:[t("../type/binary"),t("../type/omap"),t("../type/pairs"),t("../type/set")]})},{"../schema":7,"../type/binary":14,"../type/merge":22,"../type/omap":24,"../type/pairs":25,"../type/set":27,"../type/timestamp":29,"./core":8}],11:[function(t,e,r){"use strict";var n=t("../schema");e.exports=new n({explicit:[t("../type/str"),t("../type/seq"),t("../type/map")]})},{"../schema":7,"../type/map":21,"../type/seq":26,"../type/str":28}],12:[function(t,e,r){"use strict";var n=t("../schema");e.exports=new n({include:[t("./failsafe")],implicit:[t("../type/null"),t("../type/bool"),t("../type/int"),t("../type/float")]})},{"../schema":7,"../type/bool":15,"../type/float":16,"../type/int":17,"../type/null":23,"./failsafe":11}],13:[function(t,e,r){"use strict";function n(t){var e={};return null!==t&&Object.keys(t).forEach(function(r){t[r].forEach(function(t){e[String(t)]=r})}),e}function i(t,e){if(e=e||{},Object.keys(e).forEach(function(e){if(-1===s.indexOf(e))throw new a('Unknown option "'+e+'" is met in definition of "'+t+'" YAML type.')}),this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=n(e.styleAliases||null),-1===o.indexOf(this.kind))throw new a('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}var a=t("./exception"),s=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],o=["scalar","sequence","mapping"];e.exports=i},{"./exception":4}],14:[function(t,e,r){"use strict";function n(t){if(null===t)return!1;var e,r,n=0,i=t.length,a=f;for(r=0;i>r;r++)if(e=a.indexOf(t.charAt(r)),!(e>64)){if(0>e)return!1;n+=6}return n%8===0}function i(t){var e,r,n=t.replace(/[\r\n=]/g,""),i=n.length,a=f,s=0,u=[];for(e=0;i>e;e++)e%4===0&&e&&(u.push(s>>16&255),u.push(s>>8&255),u.push(255&s)),s=s<<6|a.indexOf(n.charAt(e));return r=i%4*6,0===r?(u.push(s>>16&255),u.push(s>>8&255),u.push(255&s)):18===r?(u.push(s>>10&255),u.push(s>>2&255)):12===r&&u.push(s>>4&255),o?new o(u):u}function a(t){var e,r,n="",i=0,a=t.length,s=f;for(e=0;a>e;e++)e%3===0&&e&&(n+=s[i>>18&63],n+=s[i>>12&63],n+=s[i>>6&63],n+=s[63&i]),i=(i<<8)+t[e];return r=a%3,0===r?(n+=s[i>>18&63],n+=s[i>>12&63],n+=s[i>>6&63],n+=s[63&i]):2===r?(n+=s[i>>10&63],n+=s[i>>4&63],n+=s[i<<2&63],n+=s[64]):1===r&&(n+=s[i>>2&63],n+=s[i<<4&63],n+=s[64],n+=s[64]),n}function s(t){return o&&o.isBuffer(t)}var o;try{var u=t;o=u("buffer").Buffer;
-}catch(l){}var c=t("../type"),f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";e.exports=new c("tag:yaml.org,2002:binary",{kind:"scalar",resolve:n,construct:i,predicate:s,represent:a})},{"../type":13}],15:[function(t,e,r){"use strict";function n(t){if(null===t)return!1;var e=t.length;return 4===e&&("true"===t||"True"===t||"TRUE"===t)||5===e&&("false"===t||"False"===t||"FALSE"===t)}function i(t){return"true"===t||"True"===t||"TRUE"===t}function a(t){return"[object Boolean]"===Object.prototype.toString.call(t)}var s=t("../type");e.exports=new s("tag:yaml.org,2002:bool",{kind:"scalar",resolve:n,construct:i,predicate:a,represent:{lowercase:function(t){return t?"true":"false"},uppercase:function(t){return t?"TRUE":"FALSE"},camelcase:function(t){return t?"True":"False"}},defaultStyle:"lowercase"})},{"../type":13}],16:[function(t,e,r){"use strict";function n(t){return null===t?!1:!!l.test(t)}function i(t){var e,r,n,i;return e=t.replace(/_/g,"").toLowerCase(),r="-"===e[0]?-1:1,i=[],"+-".indexOf(e[0])>=0&&(e=e.slice(1)),".inf"===e?1===r?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===e?NaN:e.indexOf(":")>=0?(e.split(":").forEach(function(t){i.unshift(parseFloat(t,10))}),e=0,n=1,i.forEach(function(t){e+=t*n,n*=60}),r*e):r*parseFloat(e,10)}function a(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(o.isNegativeZero(t))return"-0.0";return r=t.toString(10),c.test(r)?r.replace("e",".e"):r}function s(t){return"[object Number]"===Object.prototype.toString.call(t)&&(t%1!==0||o.isNegativeZero(t))}var o=t("../common"),u=t("../type"),l=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)\\.[0-9_]*(?:[eE][-+][0-9]+)?|\\.[0-9_]+(?:[eE][-+][0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),c=/^[-+]?[0-9]+e/;e.exports=new u("tag:yaml.org,2002:float",{kind:"scalar",resolve:n,construct:i,predicate:s,represent:a,defaultStyle:"lowercase"})},{"../common":2,"../type":13}],17:[function(t,e,r){"use strict";function n(t){return t>=48&&57>=t||t>=65&&70>=t||t>=97&&102>=t}function i(t){return t>=48&&55>=t}function a(t){return t>=48&&57>=t}function s(t){if(null===t)return!1;var e,r=t.length,s=0,o=!1;if(!r)return!1;if(e=t[s],"-"!==e&&"+"!==e||(e=t[++s]),"0"===e){if(s+1===r)return!0;if(e=t[++s],"b"===e){for(s++;r>s;s++)if(e=t[s],"_"!==e){if("0"!==e&&"1"!==e)return!1;o=!0}return o}if("x"===e){for(s++;r>s;s++)if(e=t[s],"_"!==e){if(!n(t.charCodeAt(s)))return!1;o=!0}return o}for(;r>s;s++)if(e=t[s],"_"!==e){if(!i(t.charCodeAt(s)))return!1;o=!0}return o}for(;r>s;s++)if(e=t[s],"_"!==e){if(":"===e)break;if(!a(t.charCodeAt(s)))return!1;o=!0}return o?":"!==e?!0:/^(:[0-5]?[0-9])+$/.test(t.slice(s)):!1}function o(t){var e,r,n=t,i=1,a=[];return-1!==n.indexOf("_")&&(n=n.replace(/_/g,"")),e=n[0],"-"!==e&&"+"!==e||("-"===e&&(i=-1),n=n.slice(1),e=n[0]),"0"===n?0:"0"===e?"b"===n[1]?i*parseInt(n.slice(2),2):"x"===n[1]?i*parseInt(n,16):i*parseInt(n,8):-1!==n.indexOf(":")?(n.split(":").forEach(function(t){a.unshift(parseInt(t,10))}),n=0,r=1,a.forEach(function(t){n+=t*r,r*=60}),i*n):i*parseInt(n,10)}function u(t){return"[object Number]"===Object.prototype.toString.call(t)&&t%1===0&&!l.isNegativeZero(t)}var l=t("../common"),c=t("../type");e.exports=new c("tag:yaml.org,2002:int",{kind:"scalar",resolve:s,construct:o,predicate:u,represent:{binary:function(t){return"0b"+t.toString(2)},octal:function(t){return"0"+t.toString(8)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return"0x"+t.toString(16).toUpperCase()}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})},{"../common":2,"../type":13}],18:[function(t,e,r){"use strict";function n(t){if(null===t)return!1;try{var e="("+t+")",r=o.parse(e,{range:!0});return"Program"===r.type&&1===r.body.length&&"ExpressionStatement"===r.body[0].type&&"FunctionExpression"===r.body[0].expression.type}catch(n){return!1}}function i(t){var e,r="("+t+")",n=o.parse(r,{range:!0}),i=[];if("Program"!==n.type||1!==n.body.length||"ExpressionStatement"!==n.body[0].type||"FunctionExpression"!==n.body[0].expression.type)throw new Error("Failed to resolve function");return n.body[0].expression.params.forEach(function(t){i.push(t.name)}),e=n.body[0].expression.body.range,new Function(i,r.slice(e[0]+1,e[1]-1))}function a(t){return t.toString()}function s(t){return"[object Function]"===Object.prototype.toString.call(t)}var o;try{var u=t;o=u("esprima")}catch(l){"undefined"!=typeof window&&(o=window.esprima)}var c=t("../../type");e.exports=new c("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:n,construct:i,predicate:s,represent:a})},{"../../type":13}],19:[function(t,e,r){"use strict";function n(t){if(null===t)return!1;if(0===t.length)return!1;var e=t,r=/\/([gim]*)$/.exec(t),n="";if("/"===e[0]){if(r&&(n=r[1]),n.length>3)return!1;if("/"!==e[e.length-n.length-1])return!1}return!0}function i(t){var e=t,r=/\/([gim]*)$/.exec(t),n="";return"/"===e[0]&&(r&&(n=r[1]),e=e.slice(1,e.length-n.length-1)),new RegExp(e,n)}function a(t){var e="/"+t.source+"/";return t.global&&(e+="g"),t.multiline&&(e+="m"),t.ignoreCase&&(e+="i"),e}function s(t){return"[object RegExp]"===Object.prototype.toString.call(t)}var o=t("../../type");e.exports=new o("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:n,construct:i,predicate:s,represent:a})},{"../../type":13}],20:[function(t,e,r){"use strict";function n(){return!0}function i(){}function a(){return""}function s(t){return"undefined"==typeof t}var o=t("../../type");e.exports=new o("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:n,construct:i,predicate:s,represent:a})},{"../../type":13}],21:[function(t,e,r){"use strict";var n=t("../type");e.exports=new n("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return null!==t?t:{}}})},{"../type":13}],22:[function(t,e,r){"use strict";function n(t){return"<<"===t||null===t}var i=t("../type");e.exports=new i("tag:yaml.org,2002:merge",{kind:"scalar",resolve:n})},{"../type":13}],23:[function(t,e,r){"use strict";function n(t){if(null===t)return!0;var e=t.length;return 1===e&&"~"===t||4===e&&("null"===t||"Null"===t||"NULL"===t)}function i(){return null}function a(t){return null===t}var s=t("../type");e.exports=new s("tag:yaml.org,2002:null",{kind:"scalar",resolve:n,construct:i,predicate:a,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})},{"../type":13}],24:[function(t,e,r){"use strict";function n(t){if(null===t)return!0;var e,r,n,i,a,u=[],l=t;for(e=0,r=l.length;r>e;e+=1){if(n=l[e],a=!1,"[object Object]"!==o.call(n))return!1;for(i in n)if(s.call(n,i)){if(a)return!1;a=!0}if(!a)return!1;if(-1!==u.indexOf(i))return!1;u.push(i)}return!0}function i(t){return null!==t?t:[]}var a=t("../type"),s=Object.prototype.hasOwnProperty,o=Object.prototype.toString;e.exports=new a("tag:yaml.org,2002:omap",{kind:"sequence",resolve:n,construct:i})},{"../type":13}],25:[function(t,e,r){"use strict";function n(t){if(null===t)return!0;var e,r,n,i,a,o=t;for(a=new Array(o.length),e=0,r=o.length;r>e;e+=1){if(n=o[e],"[object Object]"!==s.call(n))return!1;if(i=Object.keys(n),1!==i.length)return!1;a[e]=[i[0],n[i[0]]]}return!0}function i(t){if(null===t)return[];var e,r,n,i,a,s=t;for(a=new Array(s.length),e=0,r=s.length;r>e;e+=1)n=s[e],i=Object.keys(n),a[e]=[i[0],n[i[0]]];return a}var a=t("../type"),s=Object.prototype.toString;e.exports=new a("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:n,construct:i})},{"../type":13}],26:[function(t,e,r){"use strict";var n=t("../type");e.exports=new n("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return null!==t?t:[]}})},{"../type":13}],27:[function(t,e,r){"use strict";function n(t){if(null===t)return!0;var e,r=t;for(e in r)if(s.call(r,e)&&null!==r[e])return!1;return!0}function i(t){return null!==t?t:{}}var a=t("../type"),s=Object.prototype.hasOwnProperty;e.exports=new a("tag:yaml.org,2002:set",{kind:"mapping",resolve:n,construct:i})},{"../type":13}],28:[function(t,e,r){"use strict";var n=t("../type");e.exports=new n("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return null!==t?t:""}})},{"../type":13}],29:[function(t,e,r){"use strict";function n(t){return null===t?!1:null!==o.exec(t)?!0:null!==u.exec(t)}function i(t){var e,r,n,i,a,s,l,c,f,h,d=0,p=null;if(e=o.exec(t),null===e&&(e=u.exec(t)),null===e)throw new Error("Date resolve error");if(r=+e[1],n=+e[2]-1,i=+e[3],!e[4])return new Date(Date.UTC(r,n,i));if(a=+e[4],s=+e[5],l=+e[6],e[7]){for(d=e[7].slice(0,3);d.length<3;)d+="0";d=+d}return e[9]&&(c=+e[10],f=+(e[11]||0),p=6e4*(60*c+f),"-"===e[9]&&(p=-p)),h=new Date(Date.UTC(r,n,i,a,s,l,d)),p&&h.setTime(h.getTime()-p),h}function a(t){return t.toISOString()}var s=t("../type"),o=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),u=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");e.exports=new s("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:n,construct:i,instanceOf:Date,represent:a})},{"../type":13}],"/":[function(t,e,r){"use strict";var n=t("./lib/js-yaml.js");e.exports=n},{"./lib/js-yaml.js":1}]},{},[])("/")}),function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.JSZip=t()}}(function(){var t;return function e(t,r,n){function i(s,o){if(!r[s]){if(!t[s]){var u="function"==typeof require&&require;if(!o&&u)return u(s,!0);if(a)return a(s,!0);var l=new Error("Cannot find module '"+s+"'");throw l.code="MODULE_NOT_FOUND",l}var c=r[s]={exports:{}};t[s][0].call(c.exports,function(e){var r=t[s][1][e];return i(r?r:e)},c,c.exports,e,t,r,n)}return r[s].exports}for(var a="function"==typeof require&&require,s=0;s<n.length;s++)i(n[s]);return i}({1:[function(t,e,r){"use strict";var n=t("./utils"),i=t("./support"),a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";r.encode=function(t){for(var e,r,i,s,o,u,l,c=[],f=0,h=t.length,d=h,p="string"!==n.getTypeOf(t);f<t.length;)d=h-f,p?(e=t[f++],r=h>f?t[f++]:0,i=h>f?t[f++]:0):(e=t.charCodeAt(f++),r=h>f?t.charCodeAt(f++):0,i=h>f?t.charCodeAt(f++):0),s=e>>2,o=(3&e)<<4|r>>4,u=d>1?(15&r)<<2|i>>6:64,l=d>2?63&i:64,c.push(a.charAt(s)+a.charAt(o)+a.charAt(u)+a.charAt(l));return c.join("")},r.decode=function(t){var e,r,n,s,o,u,l,c=0,f=0;t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");var h=3*t.length/4;t.charAt(t.length-1)===a.charAt(64)&&h--,t.charAt(t.length-2)===a.charAt(64)&&h--;var d;for(d=i.uint8array?new Uint8Array(h):new Array(h);c<t.length;)s=a.indexOf(t.charAt(c++)),o=a.indexOf(t.charAt(c++)),u=a.indexOf(t.charAt(c++)),l=a.indexOf(t.charAt(c++)),e=s<<2|o>>4,r=(15&o)<<4|u>>2,n=(3&u)<<6|l,d[f++]=e,64!==u&&(d[f++]=r),64!==l&&(d[f++]=n);return d}},{"./support":27,"./utils":29}],2:[function(t,e,r){"use strict";function n(t,e,r,n,i){this.compressedSize=t,this.uncompressedSize=e,this.crc32=r,this.compression=n,this.compressedContent=i}var i=t("./external"),a=t("./stream/DataWorker"),s=t("./stream/DataLengthProbe"),o=t("./stream/Crc32Probe"),s=t("./stream/DataLengthProbe");n.prototype={getContentWorker:function(){var t=new a(i.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new s("data_length")),e=this;return t.on("end",function(){if(this.streamInfo.data_length!==e.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),t},getCompressedWorker:function(){return new a(i.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},n.createWorkerFrom=function(t,e,r){return t.pipe(new o).pipe(new s("uncompressedSize")).pipe(e.compressWorker(r)).pipe(new s("compressedSize")).withStreamInfo("compression",e)},e.exports=n},{"./external":6,"./stream/Crc32Probe":22,"./stream/DataLengthProbe":23,"./stream/DataWorker":24}],3:[function(t,e,r){"use strict";var n=t("./stream/GenericWorker");r.STORE={magic:"\x00\x00",compressWorker:function(t){return new n("STORE compression")},uncompressWorker:function(){return new n("STORE decompression")}},r.DEFLATE=t("./flate")},{"./flate":7,"./stream/GenericWorker":25}],4:[function(t,e,r){"use strict";function n(){for(var t,e=[],r=0;256>r;r++){t=r;for(var n=0;8>n;n++)t=1&t?3988292384^t>>>1:t>>>1;e[r]=t}return e}function i(t,e,r,n){var i=o,a=n+r;t=-1^t;for(var s=n;a>s;s++)t=t>>>8^i[255&(t^e[s])];return-1^t}function a(t,e,r,n){var i=o,a=n+r;t=-1^t;for(var s=n;a>s;s++)t=t>>>8^i[255&(t^e.charCodeAt(s))];return-1^t}var s=t("./utils"),o=n();e.exports=function(t,e){if("undefined"==typeof t||!t.length)return 0;var r="string"!==s.getTypeOf(t);return r?i(0|e,t,t.length,0):a(0|e,t,t.length,0)}},{"./utils":29}],5:[function(t,e,r){"use strict";r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!0,r.date=null,r.compression=null,r.compressionOptions=null,r.comment=null,r.unixPermissions=null,r.dosPermissions=null},{}],6:[function(t,e,r){"use strict";var n=t("es6-promise").Promise;e.exports={Promise:n}},{"es6-promise":37}],7:[function(t,e,r){"use strict";function n(t,e){o.call(this,"FlateWorker/"+t),this._pako=new a[t]({raw:!0,level:e.level||-1}),this.meta={};var r=this;this._pako.onData=function(t){r.push({data:t,meta:r.meta})}}var i="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,a=t("pako"),s=t("./utils"),o=t("./stream/GenericWorker"),u=i?"uint8array":"array";r.magic="\b\x00",s.inherits(n,o),n.prototype.processChunk=function(t){this.meta=t.meta,this._pako.push(s.transformTo(u,t.data),!1)},n.prototype.flush=function(){o.prototype.flush.call(this),this._pako.push([],!0)},n.prototype.cleanUp=function(){o.prototype.cleanUp.call(this),this._pako=null},r.compressWorker=function(t){return new n("Deflate",t)},r.uncompressWorker=function(){return new n("Inflate",{})}},{"./stream/GenericWorker":25,"./utils":29,pako:38}],8:[function(t,e,r){"use strict";function n(t,e,r,n){a.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=e,this.zipPlatform=r,this.encodeFileName=n,this.streamFiles=t,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}var i=t("../utils"),a=t("../stream/GenericWorker"),s=t("../utf8"),o=t("../crc32"),u=t("../signature"),l=function(t,e){var r,n="";for(r=0;e>r;r++)n+=String.fromCharCode(255&t),t>>>=8;return n},c=function(t,e){var r=t;return t||(r=e?16893:33204),(65535&r)<<16},f=function(t,e){return 63&(t||0)},h=function(t,e,r,n,a,h){var d,p,m=t.file,g=t.compression,_=h!==s.utf8encode,y=i.transformTo("string",h(m.name)),v=i.transformTo("string",s.utf8encode(m.name)),w=m.comment,b=i.transformTo("string",h(w)),k=i.transformTo("string",s.utf8encode(w)),x=v.length!==m.name.length,A=k.length!==w.length,S="",C="",E="",I=m.dir,O=m.date,z={crc32:0,compressedSize:0,uncompressedSize:0};e&&!r||(z.crc32=t.crc32,z.compressedSize=t.compressedSize,z.uncompressedSize=t.uncompressedSize);var T=0;e&&(T|=8),_||!x&&!A||(T|=2048);var F=0,B=0;I&&(F|=16),"UNIX"===a?(B=798,F|=c(m.unixPermissions,I)):(B=20,F|=f(m.dosPermissions,I)),d=O.getUTCHours(),d<<=6,d|=O.getUTCMinutes(),d<<=5,d|=O.getUTCSeconds()/2,p=O.getUTCFullYear()-1980,p<<=4,p|=O.getUTCMonth()+1,p<<=5,p|=O.getUTCDate(),x&&(C=l(1,1)+l(o(y),4)+v,S+="up"+l(C.length,2)+C),A&&(E=l(1,1)+l(o(b),4)+k,S+="uc"+l(E.length,2)+E);var N="";N+="\n\x00",N+=l(T,2),N+=g.magic,N+=l(d,2),N+=l(p,2),N+=l(z.crc32,4),N+=l(z.compressedSize,4),N+=l(z.uncompressedSize,4),N+=l(y.length,2),N+=l(S.length,2);var D=u.LOCAL_FILE_HEADER+N+y+S,j=u.CENTRAL_FILE_HEADER+l(B,2)+N+l(b.length,2)+"\x00\x00\x00\x00"+l(F,4)+l(n,4)+y+S+b;return{fileRecord:D,dirRecord:j}},d=function(t,e,r,n,a){var s="",o=i.transformTo("string",a(n));return s=u.CENTRAL_DIRECTORY_END+"\x00\x00\x00\x00"+l(t,2)+l(t,2)+l(e,4)+l(r,4)+l(o.length,2)+o},p=function(t){var e="";return e=u.DATA_DESCRIPTOR+l(t.crc32,4)+l(t.compressedSize,4)+l(t.uncompressedSize,4)};i.inherits(n,a),n.prototype.push=function(t){var e=t.meta.percent||0,r=this.entriesCount,n=this._sources.length;this.accumulate?this.contentBuffer.push(t):(this.bytesWritten+=t.data.length,a.prototype.push.call(this,{data:t.data,meta:{currentFile:this.currentFile,percent:r?(e+100*(r-n-1))/r:100}}))},n.prototype.openedSource=function(t){if(this.currentSourceOffset=this.bytesWritten,this.currentFile=t.file.name,this.streamFiles&&!t.file.dir){var e=h(t,this.streamFiles,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:e.fileRecord,meta:{percent:0}})}else this.accumulate=!0},n.prototype.closedSource=function(t){this.accumulate=!1;var e=h(t,this.streamFiles,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(e.dirRecord),this.streamFiles&&!t.file.dir)this.push({data:p(t),meta:{percent:100}});else for(this.push({data:e.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},n.prototype.flush=function(){for(var t=this.bytesWritten,e=0;e<this.dirRecords.length;e++)this.push({data:this.dirRecords[e],meta:{percent:100}});var r=this.bytesWritten-t,n=d(this.dirRecords.length,r,t,this.zipComment,this.encodeFileName);this.push({data:n,meta:{percent:100}})},n.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},n.prototype.registerPrevious=function(t){this._sources.push(t);var e=this;return t.on("data",function(t){e.processChunk(t)}),t.on("end",function(){e.closedSource(e.previous.streamInfo),e._sources.length?e.prepareNextSource():e.end()}),t.on("error",function(t){e.error(t)}),this},n.prototype.resume=function(){return a.prototype.resume.call(this)?!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0):!1},n.prototype.error=function(t){var e=this._sources;if(!a.prototype.error.call(this,t))return!1;for(var r=0;r<e.length;r++)try{e[r].error(t)}catch(t){}return!0},n.prototype.lock=function(){a.prototype.lock.call(this);for(var t=this._sources,e=0;e<t.length;e++)t[e].lock()},e.exports=n},{"../crc32":4,"../signature":20,"../stream/GenericWorker":25,"../utf8":28,"../utils":29}],9:[function(t,e,r){"use strict";var n=t("../compressions"),i=t("./ZipFileWorker"),a=function(t,e){var r=t||e,i=n[r];if(!i)throw new Error(r+" is not a valid compression method !");return i};r.generateWorker=function(t,e,r){var n=new i(e.streamFiles,r,e.platform,e.encodeFileName),s=0;try{t.forEach(function(t,r){s++;var i=a(r.options.compression,e.compression),o=r.options.compressionOptions||e.compressionOptions||{},u=r.dir,l=r.date;r._compressWorker(i,o).withStreamInfo("file",{name:t,dir:u,date:l,comment:r.comment||"",unixPermissions:r.unixPermissions,dosPermissions:r.dosPermissions}).pipe(n)}),n.entriesCount=s}catch(o){n.error(o)}return n}},{"../compressions":3,"./ZipFileWorker":8}],10:[function(t,e,r){"use strict";function n(){if(!(this instanceof n))return new n;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files={},this.comment=null,this.root="",this.clone=function(){var t=new n;for(var e in this)"function"!=typeof this[e]&&(t[e]=this[e]);return t}}n.prototype=t("./object"),n.prototype.loadAsync=t("./load"),n.support=t("./support"),n.defaults=t("./defaults"),n.loadAsync=function(t,e){return(new n).loadAsync(t,e)},n.external=t("./external"),e.exports=n},{"./defaults":5,"./external":6,"./load":11,"./object":13,"./support":27}],11:[function(t,e,r){"use strict";function n(t){return new a.Promise(function(e,r){var n=t.decompressed.getContentWorker().pipe(new u);n.on("error",function(t){r(t)}).on("end",function(){n.streamInfo.crc32!==t.decompressed.crc32?r(new Error("Corrupted zip : CRC32 mismatch")):e()}).resume()})}var i=t("./utils"),a=t("./external"),s=t("./utf8"),i=t("./utils"),o=t("./zipEntries"),u=t("./stream/Crc32Probe"),l=t("./nodejsUtils");e.exports=function(t,e){var r=this;return e=i.extend(e||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:s.utf8decode}),l.isNode&&l.isStream(t)?a.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):i.prepareContent("the loaded zip file",t,!0,e.optimizedBinaryString,e.base64).then(function(t){var r=new o(e);return r.load(t),r}).then(function(t){var r=[a.Promise.resolve(t)],i=t.files;if(e.checkCRC32)for(var s=0;s<i.length;s++)r.push(n(i[s]));return a.Promise.all(r)}).then(function(t){for(var n=t.shift(),i=n.files,a=0;a<i.length;a++){var s=i[a];r.file(s.fileNameStr,s.decompressed,{binary:!0,optimizedBinaryString:!0,date:s.date,dir:s.dir,comment:s.fileCommentStr.length?s.fileCommentStr:null,unixPermissions:s.unixPermissions,dosPermissions:s.dosPermissions,createFolders:e.createFolders})}return n.zipComment.length&&(r.comment=n.zipComment),r})}},{"./external":6,"./nodejsUtils":12,"./stream/Crc32Probe":22,"./utf8":28,"./utils":29,"./zipEntries":30}],12:[function(t,e,r){(function(t){"use strict";e.exports={isNode:"undefined"!=typeof t,newBuffer:function(e,r){return new t(e,r)},isBuffer:function(e){return t.isBuffer(e)},isStream:function(t){return t&&"function"==typeof t.on&&"function"==typeof t.pause&&"function"==typeof t.resume}}}).call(this,"undefined"!=typeof Buffer?Buffer:void 0)},{}],13:[function(t,e,r){"use strict";function n(t){return"[object RegExp]"===Object.prototype.toString.call(t)}var i=t("./utf8"),a=t("./utils"),s=t("./stream/GenericWorker"),o=t("./stream/StreamHelper"),u=t("./defaults"),l=t("./compressedObject"),c=t("./zipObject"),f=t("./generate"),h=t("./nodejsUtils"),d=t("./nodejs/NodejsStreamInputAdapter"),p=function(t,e,r){var n,i=a.getTypeOf(e);r=a.extend(r||{},u),r.date=r.date||new Date,null!==r.compression&&(r.compression=r.compression.toUpperCase()),"string"==typeof r.unixPermissions&&(r.unixPermissions=parseInt(r.unixPermissions,8)),r.unixPermissions&&16384&r.unixPermissions&&(r.dir=!0),r.dosPermissions&&16&r.dosPermissions&&(r.dir=!0),r.dir&&(t=g(t)),r.createFolders&&(n=m(t))&&_.call(this,n,!0);var o="string"===i&&r.binary===!1&&r.base64===!1;r.binary=!o;var f=e instanceof l&&0===e.uncompressedSize;(f||r.dir||!e||0===e.length)&&(r.base64=!1,r.binary=!0,e="",r.compression="STORE",i="string");var p=null;p=e instanceof l||e instanceof s?e:h.isNode&&h.isStream(e)?new d(t,e):a.prepareContent(t,e,r.binary,r.optimizedBinaryString,r.base64);var y=new c(t,p,r);this.files[t]=y},m=function(t){"/"===t.slice(-1)&&(t=t.substring(0,t.length-1));var e=t.lastIndexOf("/");return e>0?t.substring(0,e):""},g=function(t){return"/"!==t.slice(-1)&&(t+="/"),t},_=function(t,e){return e="undefined"!=typeof e?e:u.createFolders,t=g(t),this.files[t]||p.call(this,t,null,{dir:!0,createFolders:e}),this.files[t]},y={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(t){var e,r,n;for(e in this.files)this.files.hasOwnProperty(e)&&(n=this.files[e],r=e.slice(this.root.length,e.length),r&&e.slice(0,this.root.length)===this.root&&t(r,n))},filter:function(t){var e=[];return this.forEach(function(r,n){t(r,n)&&e.push(n)}),e},file:function(t,e,r){if(1===arguments.length){if(n(t)){var i=t;return this.filter(function(t,e){return!e.dir&&i.test(t)})}var a=this.files[this.root+t];return a&&!a.dir?a:null}return t=this.root+t,p.call(this,t,e,r),this},folder:function(t){if(!t)return this;if(n(t))return this.filter(function(e,r){return r.dir&&t.test(e)});var e=this.root+t,r=_.call(this,e),i=this.clone();return i.root=r.name,i},remove:function(t){t=this.root+t;var e=this.files[t];if(e||("/"!==t.slice(-1)&&(t+="/"),e=this.files[t]),e&&!e.dir)delete this.files[t];else for(var r=this.filter(function(e,r){return r.name.slice(0,t.length)===t}),n=0;n<r.length;n++)delete this.files[r[n].name];return this},generate:function(t){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(t){var e,r={};try{if(r=a.extend(t||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:i.utf8encode}),r.type=r.type.toLowerCase(),r.compression=r.compression.toUpperCase(),"binarystring"===r.type&&(r.type="string"),!r.type)throw new Error("No output type specified.");a.checkSupport(r.type),"darwin"!==t.platform&&"freebsd"!==t.platform&&"linux"!==t.platform&&"sunos"!==t.platform||(t.platform="UNIX"),"win32"===t.platform&&(t.platform="DOS");var n=r.comment||this.comment||"";e=f.generateWorker(this,r,n)}catch(u){e=new s("error"),e.error(u)}return new o(e,r.type||"string",r.mimeType)},generateAsync:function(t,e){return this.generateInternalStream(t).accumulate(e)},generateNodeStream:function(t,e){return t=t||{},t.type||(t.type="nodebuffer"),this.generateInternalStream(t).toNodejsStream(e)}};e.exports=y},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":35,"./nodejsUtils":12,"./stream/GenericWorker":25,"./stream/StreamHelper":26,"./utf8":28,"./utils":29,"./zipObject":32}],14:[function(t,e,r){"use strict";function n(t){i.call(this,t);for(var e=0;e<this.data.length;e++)t[e]=255&t[e]}var i=t("./DataReader"),a=t("../utils");a.inherits(n,i),n.prototype.byteAt=function(t){return this.data[this.zero+t]},n.prototype.lastIndexOfSignature=function(t){for(var e=t.charCodeAt(0),r=t.charCodeAt(1),n=t.charCodeAt(2),i=t.charCodeAt(3),a=this.length-4;a>=0;--a)if(this.data[a]===e&&this.data[a+1]===r&&this.data[a+2]===n&&this.data[a+3]===i)return a-this.zero;return-1},n.prototype.readAndCheckSignature=function(t){var e=t.charCodeAt(0),r=t.charCodeAt(1),n=t.charCodeAt(2),i=t.charCodeAt(3),a=this.readData(4);return e===a[0]&&r===a[1]&&n===a[2]&&i===a[3]},n.prototype.readData=function(t){if(this.checkOffset(t),0===t)return[];var e=this.data.slice(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=n},{"../utils":29,"./DataReader":15}],15:[function(t,e,r){"use strict";function n(t){this.data=t,this.length=t.length,this.index=0,this.zero=0}var i=t("../utils");n.prototype={checkOffset:function(t){this.checkIndex(this.index+t)},checkIndex:function(t){if(this.length<this.zero+t||0>t)throw new Error("End of data reached (data length = "+this.length+", asked index = "+t+"). Corrupted zip ?")},setIndex:function(t){this.checkIndex(t),this.index=t},skip:function(t){this.setIndex(this.index+t)},byteAt:function(t){},readInt:function(t){var e,r=0;for(this.checkOffset(t),e=this.index+t-1;e>=this.index;e--)r=(r<<8)+this.byteAt(e);return this.index+=t,r},readString:function(t){return i.transformTo("string",this.readData(t))},readData:function(t){},lastIndexOfSignature:function(t){},readAndCheckSignature:function(t){},readDate:function(){var t=this.readInt(4);return new Date(Date.UTC((t>>25&127)+1980,(t>>21&15)-1,t>>16&31,t>>11&31,t>>5&63,(31&t)<<1))}},e.exports=n},{"../utils":29}],16:[function(t,e,r){"use strict";function n(t){i.call(this,t)}var i=t("./Uint8ArrayReader"),a=t("../utils");a.inherits(n,i),n.prototype.readData=function(t){this.checkOffset(t);var e=this.data.slice(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=n},{"../utils":29,"./Uint8ArrayReader":18}],17:[function(t,e,r){"use strict";function n(t){i.call(this,t)}var i=t("./DataReader"),a=t("../utils");a.inherits(n,i),n.prototype.byteAt=function(t){return this.data.charCodeAt(this.zero+t)},n.prototype.lastIndexOfSignature=function(t){return this.data.lastIndexOf(t)-this.zero},n.prototype.readAndCheckSignature=function(t){var e=this.readData(4);return t===e},n.prototype.readData=function(t){this.checkOffset(t);var e=this.data.slice(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=n},{"../utils":29,"./DataReader":15}],18:[function(t,e,r){"use strict";function n(t){i.call(this,t)}var i=t("./ArrayReader"),a=t("../utils");a.inherits(n,i),n.prototype.readData=function(t){if(this.checkOffset(t),0===t)return new Uint8Array(0);var e=this.data.subarray(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=n},{"../utils":29,"./ArrayReader":14}],19:[function(t,e,r){"use strict";var n=t("../utils"),i=t("../support"),a=t("./ArrayReader"),s=t("./StringReader"),o=t("./NodeBufferReader"),u=t("./Uint8ArrayReader");e.exports=function(t){var e=n.getTypeOf(t);return n.checkSupport(e),"string"!==e||i.uint8array?"nodebuffer"===e?new o(t):i.uint8array?new u(n.transformTo("uint8array",t)):new a(n.transformTo("array",t)):new s(t)}},{"../support":27,"../utils":29,"./ArrayReader":14,"./NodeBufferReader":16,"./StringReader":17,"./Uint8ArrayReader":18}],20:[function(t,e,r){"use strict";r.LOCAL_FILE_HEADER="PK",r.CENTRAL_FILE_HEADER="PK",r.CENTRAL_DIRECTORY_END="PK",r.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK",r.ZIP64_CENTRAL_DIRECTORY_END="PK",r.DATA_DESCRIPTOR="PK\b"},{}],21:[function(t,e,r){"use strict";function n(t){i.call(this,"ConvertWorker to "+t),this.destType=t}var i=t("./GenericWorker"),a=t("../utils");a.inherits(n,i),n.prototype.processChunk=function(t){this.push({data:a.transformTo(this.destType,t.data),meta:t.meta})},e.exports=n},{"../utils":29,"./GenericWorker":25}],22:[function(t,e,r){"use strict";function n(){i.call(this,"Crc32Probe")}var i=t("./GenericWorker"),a=t("../crc32"),s=t("../utils");s.inherits(n,i),n.prototype.processChunk=function(t){this.streamInfo.crc32=a(t.data,this.streamInfo.crc32||0),this.push(t)},e.exports=n},{"../crc32":4,"../utils":29,"./GenericWorker":25}],23:[function(t,e,r){"use strict";function n(t){a.call(this,"DataLengthProbe for "+t),this.propName=t,this.withStreamInfo(t,0)}var i=t("../utils"),a=t("./GenericWorker");i.inherits(n,a),n.prototype.processChunk=function(t){if(t){var e=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=e+t.data.length}a.prototype.processChunk.call(this,t)},e.exports=n},{"../utils":29,"./GenericWorker":25}],24:[function(t,e,r){"use strict";function n(t){a.call(this,"DataWorker");var e=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,t.then(function(t){e.dataIsReady=!0,e.data=t,e.max=t&&t.length||0,e.type=i.getTypeOf(t),e.isPaused||e._tickAndRepeat()},function(t){e.error(t)})}var i=t("../utils"),a=t("./GenericWorker"),s=16384;i.inherits(n,a),n.prototype.cleanUp=function(){a.prototype.cleanUp.call(this),this.data=null},n.prototype.resume=function(){return a.prototype.resume.call(this)?(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,i.delay(this._tickAndRepeat,[],this)),!0):!1},n.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(i.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},n.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var t=s,e=null,r=Math.min(this.max,this.index+t);if(this.index>=this.max)return this.end();switch(this.type){case"string":e=this.data.substring(this.index,r);break;case"uint8array":e=this.data.subarray(this.index,r);break;case"array":case"nodebuffer":e=this.data.slice(this.index,r)}return this.index=r,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})},e.exports=n},{"../utils":29,"./GenericWorker":25
-}],25:[function(t,e,r){"use strict";function n(t){this.name=t||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}n.prototype={push:function(t){this.emit("data",t)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(t){this.emit("error",t)}return!0},error:function(t){return this.isFinished?!1:(this.isPaused?this.generatedError=t:(this.isFinished=!0,this.emit("error",t),this.previous&&this.previous.error(t),this.cleanUp()),!0)},on:function(t,e){return this._listeners[t].push(e),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(t,e){if(this._listeners[t])for(var r=0;r<this._listeners[t].length;r++)this._listeners[t][r].call(this,e)},pipe:function(t){return t.registerPrevious(this)},registerPrevious:function(t){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=t.streamInfo,this.mergeStreamInfo(),this.previous=t;var e=this;return t.on("data",function(t){e.processChunk(t)}),t.on("end",function(){e.end()}),t.on("error",function(t){e.error(t)}),this},pause:function(){return this.isPaused||this.isFinished?!1:(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;this.isPaused=!1;var t=!1;return this.generatedError&&(this.error(this.generatedError),t=!0),this.previous&&this.previous.resume(),!t},flush:function(){},processChunk:function(t){this.push(t)},withStreamInfo:function(t,e){return this.extraStreamInfo[t]=e,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var t in this.extraStreamInfo)this.extraStreamInfo.hasOwnProperty(t)&&(this.streamInfo[t]=this.extraStreamInfo[t])},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var t="Worker "+this.name;return this.previous?this.previous+" -> "+t:t}},e.exports=n},{}],26:[function(t,e,r){(function(r){"use strict";function n(t,e,r){switch(t){case"blob":return o.newBlob(o.transformTo("arraybuffer",e),r);case"base64":return c.encode(e);default:return o.transformTo(t,e)}}function i(t,e){var n,i=0,a=null,s=0;for(n=0;n<e.length;n++)s+=e[n].length;switch(t){case"string":return e.join("");case"array":return Array.prototype.concat.apply([],e);case"uint8array":for(a=new Uint8Array(s),n=0;n<e.length;n++)a.set(e[n],i),i+=e[n].length;return a;case"nodebuffer":return r.concat(e);default:throw new Error("concat : unsupported type '"+t+"'")}}function a(t,e){return new h.Promise(function(r,a){var s=[],o=t._internalType,u=t._outputType,l=t._mimeType;t.on("data",function(t,r){s.push(t),e&&e(r)}).on("error",function(t){s=[],a(t)}).on("end",function(){try{var t=n(u,i(o,s),l);r(t)}catch(e){a(e)}s=[]}).resume()})}function s(t,e,r){var n=e;switch(e){case"blob":case"arraybuffer":n="uint8array";break;case"base64":n="string"}try{this._internalType=n,this._outputType=e,this._mimeType=r,o.checkSupport(n),this._worker=t.pipe(new u(n)),t.lock()}catch(i){this._worker=new l("error"),this._worker.error(i)}}var o=t("../utils"),u=t("./ConvertWorker"),l=t("./GenericWorker"),c=t("../base64"),f=t("../nodejs/NodejsStreamOutputAdapter"),h=t("../external");s.prototype={accumulate:function(t){return a(this,t)},on:function(t,e){var r=this;return"data"===t?this._worker.on(t,function(t){e.call(r,t.data,t.meta)}):this._worker.on(t,function(){o.delay(e,arguments,r)}),this},resume:function(){return o.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(t){if(o.checkSupport("nodestream"),"nodebuffer"!==this._outputType)throw new Error(this._outputType+" is not supported by this method");return new f(this,{objectMode:"nodebuffer"!==this._outputType},t)}},e.exports=s}).call(this,"undefined"!=typeof Buffer?Buffer:void 0)},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":35,"../utils":29,"./ConvertWorker":21,"./GenericWorker":25}],27:[function(t,e,r){(function(e){"use strict";if(r.base64=!0,r.array=!0,r.string=!0,r.arraybuffer="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array,r.nodebuffer="undefined"!=typeof e,r.uint8array="undefined"!=typeof Uint8Array,"undefined"==typeof ArrayBuffer)r.blob=!1;else{var n=new ArrayBuffer(0);try{r.blob=0===new Blob([n],{type:"application/zip"}).size}catch(i){try{var a=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,s=new a;s.append(n),r.blob=0===s.getBlob("application/zip").size}catch(i){r.blob=!1}}}r.nodestream=!!t("./nodejs/NodejsStreamOutputAdapter").prototype}).call(this,"undefined"!=typeof Buffer?Buffer:void 0)},{"./nodejs/NodejsStreamOutputAdapter":35}],28:[function(t,e,r){"use strict";function n(){u.call(this,"utf-8 decode"),this.leftOver=null}function i(){u.call(this,"utf-8 encode")}for(var a=t("./utils"),s=t("./support"),o=t("./nodejsUtils"),u=t("./stream/GenericWorker"),l=new Array(256),c=0;256>c;c++)l[c]=c>=252?6:c>=248?5:c>=240?4:c>=224?3:c>=192?2:1;l[254]=l[254]=1;var f=function(t){var e,r,n,i,a,o=t.length,u=0;for(i=0;o>i;i++)r=t.charCodeAt(i),55296===(64512&r)&&o>i+1&&(n=t.charCodeAt(i+1),56320===(64512&n)&&(r=65536+(r-55296<<10)+(n-56320),i++)),u+=128>r?1:2048>r?2:65536>r?3:4;for(e=s.uint8array?new Uint8Array(u):new Array(u),a=0,i=0;u>a;i++)r=t.charCodeAt(i),55296===(64512&r)&&o>i+1&&(n=t.charCodeAt(i+1),56320===(64512&n)&&(r=65536+(r-55296<<10)+(n-56320),i++)),128>r?e[a++]=r:2048>r?(e[a++]=192|r>>>6,e[a++]=128|63&r):65536>r?(e[a++]=224|r>>>12,e[a++]=128|r>>>6&63,e[a++]=128|63&r):(e[a++]=240|r>>>18,e[a++]=128|r>>>12&63,e[a++]=128|r>>>6&63,e[a++]=128|63&r);return e},h=function(t,e){var r;for(e=e||t.length,e>t.length&&(e=t.length),r=e-1;r>=0&&128===(192&t[r]);)r--;return 0>r?e:0===r?e:r+l[t[r]]>e?r:e},d=function(t){var e,r,n,i,s=t.length,o=new Array(2*s);for(r=0,e=0;s>e;)if(n=t[e++],128>n)o[r++]=n;else if(i=l[n],i>4)o[r++]=65533,e+=i-1;else{for(n&=2===i?31:3===i?15:7;i>1&&s>e;)n=n<<6|63&t[e++],i--;i>1?o[r++]=65533:65536>n?o[r++]=n:(n-=65536,o[r++]=55296|n>>10&1023,o[r++]=56320|1023&n)}return o.length!==r&&(o.subarray?o=o.subarray(0,r):o.length=r),a.applyFromCharCode(o)};r.utf8encode=function(t){return s.nodebuffer?o.newBuffer(t,"utf-8"):f(t)},r.utf8decode=function(t){return s.nodebuffer?a.transformTo("nodebuffer",t).toString("utf-8"):(t=a.transformTo(s.uint8array?"uint8array":"array",t),d(t))},a.inherits(n,u),n.prototype.processChunk=function(t){var e=a.transformTo(s.uint8array?"uint8array":"array",t.data);if(this.leftOver&&this.leftOver.length){if(s.uint8array){var n=e;e=new Uint8Array(n.length+this.leftOver.length),e.set(this.leftOver,0),e.set(n,this.leftOver.length)}else e=this.leftOver.concat(e);this.leftOver=null}var i=h(e),o=e;i!==e.length&&(s.uint8array?(o=e.subarray(0,i),this.leftOver=e.subarray(i,e.length)):(o=e.slice(0,i),this.leftOver=e.slice(i,e.length))),this.push({data:r.utf8decode(o),meta:t.meta})},n.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:r.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},r.Utf8DecodeWorker=n,a.inherits(i,u),i.prototype.processChunk=function(t){this.push({data:r.utf8encode(t.data),meta:t.meta})},r.Utf8EncodeWorker=i},{"./nodejsUtils":12,"./stream/GenericWorker":25,"./support":27,"./utils":29}],29:[function(t,e,r){"use strict";function n(t){var e=null;return e=u.uint8array?new Uint8Array(t.length):new Array(t.length),a(t,e)}function i(t){return t}function a(t,e){for(var r=0;r<t.length;++r)e[r]=255&t.charCodeAt(r);return e}function s(t){var e=65536,n=r.getTypeOf(t),i=!0;if("uint8array"===n?i=d.applyCanBeUsed.uint8array:"nodebuffer"===n&&(i=d.applyCanBeUsed.nodebuffer),i)for(;e>1;)try{return d.stringifyByChunk(t,n,e)}catch(a){e=Math.floor(e/2)}return d.stringifyByChar(t)}function o(t,e){for(var r=0;r<t.length;r++)e[r]=t[r];return e}var u=t("./support"),l=t("./base64"),c=t("./nodejsUtils"),f=t("asap"),h=t("./external");r.newBlob=function(t,e){r.checkSupport("blob");try{return new Blob([t],{type:e})}catch(n){try{var i=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,a=new i;return a.append(t),a.getBlob(e)}catch(n){throw new Error("Bug : can't construct the Blob.")}}};var d={stringifyByChunk:function(t,e,r){var n=[],i=0,a=t.length;if(r>=a)return String.fromCharCode.apply(null,t);for(;a>i;)"array"===e||"nodebuffer"===e?n.push(String.fromCharCode.apply(null,t.slice(i,Math.min(i+r,a)))):n.push(String.fromCharCode.apply(null,t.subarray(i,Math.min(i+r,a)))),i+=r;return n.join("")},stringifyByChar:function(t){for(var e="",r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},applyCanBeUsed:{uint8array:function(){try{return u.uint8array&&1===String.fromCharCode.apply(null,new Uint8Array(1)).length}catch(t){return!1}}(),nodebuffer:function(){try{return u.nodebuffer&&1===String.fromCharCode.apply(null,c.newBuffer(1)).length}catch(t){return!1}}()}};r.applyFromCharCode=s;var p={};p.string={string:i,array:function(t){return a(t,new Array(t.length))},arraybuffer:function(t){return p.string.uint8array(t).buffer},uint8array:function(t){return a(t,new Uint8Array(t.length))},nodebuffer:function(t){return a(t,c.newBuffer(t.length))}},p.array={string:s,array:i,arraybuffer:function(t){return new Uint8Array(t).buffer},uint8array:function(t){return new Uint8Array(t)},nodebuffer:function(t){return c.newBuffer(t)}},p.arraybuffer={string:function(t){return s(new Uint8Array(t))},array:function(t){return o(new Uint8Array(t),new Array(t.byteLength))},arraybuffer:i,uint8array:function(t){return new Uint8Array(t)},nodebuffer:function(t){return c.newBuffer(new Uint8Array(t))}},p.uint8array={string:s,array:function(t){return o(t,new Array(t.length))},arraybuffer:function(t){return t.buffer},uint8array:i,nodebuffer:function(t){return c.newBuffer(t)}},p.nodebuffer={string:s,array:function(t){return o(t,new Array(t.length))},arraybuffer:function(t){return p.nodebuffer.uint8array(t).buffer},uint8array:function(t){return o(t,new Uint8Array(t.length))},nodebuffer:i},r.transformTo=function(t,e){if(e||(e=""),!t)return e;r.checkSupport(t);var n=r.getTypeOf(e),i=p[n][t](e);return i},r.getTypeOf=function(t){return"string"==typeof t?"string":"[object Array]"===Object.prototype.toString.call(t)?"array":u.nodebuffer&&c.isBuffer(t)?"nodebuffer":u.uint8array&&t instanceof Uint8Array?"uint8array":u.arraybuffer&&t instanceof ArrayBuffer?"arraybuffer":void 0},r.checkSupport=function(t){var e=u[t.toLowerCase()];if(!e)throw new Error(t+" is not supported by this platform")},r.MAX_VALUE_16BITS=65535,r.MAX_VALUE_32BITS=-1,r.pretty=function(t){var e,r,n="";for(r=0;r<(t||"").length;r++)e=t.charCodeAt(r),n+="\\x"+(16>e?"0":"")+e.toString(16).toUpperCase();return n},r.delay=function(t,e,r){f(function(){t.apply(r||null,e||[])})},r.inherits=function(t,e){var r=function(){};r.prototype=e.prototype,t.prototype=new r},r.extend=function(){var t,e,r={};for(t=0;t<arguments.length;t++)for(e in arguments[t])arguments[t].hasOwnProperty(e)&&"undefined"==typeof r[e]&&(r[e]=arguments[t][e]);return r},r.prepareContent=function(t,e,i,a,s){var o=null;return o=u.blob&&e instanceof Blob&&"undefined"!=typeof FileReader?new h.Promise(function(t,r){var n=new FileReader;n.onload=function(e){t(e.target.result)},n.onerror=function(t){r(t.target.error)},n.readAsArrayBuffer(e)}):h.Promise.resolve(e),o.then(function(e){var o=r.getTypeOf(e);return o?("arraybuffer"===o?e=r.transformTo("uint8array",e):"string"===o&&(s?e=l.decode(e):i&&a!==!0&&(e=n(e))),e):h.Promise.reject(new Error("The data of '"+t+"' is in an unsupported format !"))})}},{"./base64":1,"./external":6,"./nodejsUtils":12,"./support":27,asap:33}],30:[function(t,e,r){"use strict";function n(t){this.files=[],this.loadOptions=t}var i=t("./reader/readerFor"),a=t("./utils"),s=t("./signature"),o=t("./zipEntry"),u=(t("./utf8"),t("./support"));n.prototype={checkSignature:function(t){if(!this.reader.readAndCheckSignature(t)){this.reader.index-=4;var e=this.reader.readString(4);throw new Error("Corrupted zip or bug : unexpected signature ("+a.pretty(e)+", expected "+a.pretty(t)+")")}},isSignature:function(t,e){var r=this.reader.index;this.reader.setIndex(t);var n=this.reader.readString(4),i=n===e;return this.reader.setIndex(r),i},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var t=this.reader.readData(this.zipCommentLength),e=u.uint8array?"uint8array":"array",r=a.transformTo(e,t);this.zipComment=this.loadOptions.decodeFileName(r)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var t,e,r,n=this.zip64EndOfCentralSize-44,i=0;n>i;)t=this.reader.readInt(2),e=this.reader.readInt(4),r=this.reader.readData(e),this.zip64ExtensibleData[t]={id:t,length:e,value:r}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),this.disksCount>1)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var t,e;for(t=0;t<this.files.length;t++)e=this.files[t],this.reader.setIndex(e.localHeaderOffset),this.checkSignature(s.LOCAL_FILE_HEADER),e.readLocalPart(this.reader),e.handleUTF8(),e.processAttributes()},readCentralDir:function(){var t;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(s.CENTRAL_FILE_HEADER);)t=new o({zip64:this.zip64},this.loadOptions),t.readCentralPart(this.reader),this.files.push(t);if(this.centralDirRecords!==this.files.length&&0!==this.centralDirRecords&&0===this.files.length)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var t=this.reader.lastIndexOfSignature(s.CENTRAL_DIRECTORY_END);if(0>t){var e=!this.isSignature(0,s.LOCAL_FILE_HEADER);throw e?new Error("Can't find end of central directory : is this a zip file ? If it is, see http://stuk.github.io/jszip/documentation/howto/read_zip.html"):new Error("Corrupted zip : can't find end of central directory")}this.reader.setIndex(t);var r=t;if(this.checkSignature(s.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===a.MAX_VALUE_16BITS||this.diskWithCentralDirStart===a.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===a.MAX_VALUE_16BITS||this.centralDirRecords===a.MAX_VALUE_16BITS||this.centralDirSize===a.MAX_VALUE_32BITS||this.centralDirOffset===a.MAX_VALUE_32BITS){if(this.zip64=!0,t=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR),0>t)throw new Error("Corrupted zip : can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(t),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,s.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip : can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var n=this.centralDirOffset+this.centralDirSize;this.zip64&&(n+=20,n+=12+this.zip64EndOfCentralSize);var i=r-n;if(i>0)this.isSignature(r,s.CENTRAL_FILE_HEADER)||(this.reader.zero=i);else if(0>i)throw new Error("Corrupted zip: missing "+Math.abs(i)+" bytes.")},prepareReader:function(t){this.reader=i(t)},load:function(t){this.prepareReader(t),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},e.exports=n},{"./reader/readerFor":19,"./signature":20,"./support":27,"./utf8":28,"./utils":29,"./zipEntry":31}],31:[function(t,e,r){"use strict";function n(t,e){this.options=t,this.loadOptions=e}var i=t("./reader/readerFor"),a=t("./utils"),s=t("./compressedObject"),o=t("./crc32"),u=t("./utf8"),l=t("./compressions"),c=t("./support"),f=0,h=3,d=function(t){for(var e in l)if(l.hasOwnProperty(e)&&l[e].magic===t)return l[e];return null};n.prototype={isEncrypted:function(){return 1===(1&this.bitFlag)},useUTF8:function(){return 2048===(2048&this.bitFlag)},readLocalPart:function(t){var e,r;if(t.skip(22),this.fileNameLength=t.readInt(2),r=t.readInt(2),this.fileName=t.readData(this.fileNameLength),t.skip(r),-1===this.compressedSize||-1===this.uncompressedSize)throw new Error("Bug or corrupted zip : didn't get enough informations from the central directory (compressedSize === -1 || uncompressedSize === -1)");if(e=d(this.compressionMethod),null===e)throw new Error("Corrupted zip : compression "+a.pretty(this.compressionMethod)+" unknown (inner file : "+a.transformTo("string",this.fileName)+")");this.decompressed=new s(this.compressedSize,this.uncompressedSize,this.crc32,e,t.readData(this.compressedSize))},readCentralPart:function(t){this.versionMadeBy=t.readInt(2),t.skip(2),this.bitFlag=t.readInt(2),this.compressionMethod=t.readString(2),this.date=t.readDate(),this.crc32=t.readInt(4),this.compressedSize=t.readInt(4),this.uncompressedSize=t.readInt(4);var e=t.readInt(2);if(this.extraFieldsLength=t.readInt(2),this.fileCommentLength=t.readInt(2),this.diskNumberStart=t.readInt(2),this.internalFileAttributes=t.readInt(2),this.externalFileAttributes=t.readInt(4),this.localHeaderOffset=t.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");t.skip(e),this.readExtraFields(t),this.parseZIP64ExtraField(t),this.fileComment=t.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var t=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),t===f&&(this.dosPermissions=63&this.externalFileAttributes),t===h&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||"/"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(t){if(this.extraFields[1]){var e=i(this.extraFields[1].value);this.uncompressedSize===a.MAX_VALUE_32BITS&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===a.MAX_VALUE_32BITS&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===a.MAX_VALUE_32BITS&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===a.MAX_VALUE_32BITS&&(this.diskNumberStart=e.readInt(4))}},readExtraFields:function(t){var e,r,n,i=t.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});t.index<i;)e=t.readInt(2),r=t.readInt(2),n=t.readData(r),this.extraFields[e]={id:e,length:r,value:n}},handleUTF8:function(){var t=c.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=u.utf8decode(this.fileName),this.fileCommentStr=u.utf8decode(this.fileComment);else{var e=this.findExtraFieldUnicodePath();if(null!==e)this.fileNameStr=e;else{var r=a.transformTo(t,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(r)}var n=this.findExtraFieldUnicodeComment();if(null!==n)this.fileCommentStr=n;else{var i=a.transformTo(t,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(i)}}},findExtraFieldUnicodePath:function(){var t=this.extraFields[28789];if(t){var e=i(t.value);return 1!==e.readInt(1)?null:o(this.fileName)!==e.readInt(4)?null:u.utf8decode(e.readData(t.length-5))}return null},findExtraFieldUnicodeComment:function(){var t=this.extraFields[25461];if(t){var e=i(t.value);return 1!==e.readInt(1)?null:o(this.fileComment)!==e.readInt(4)?null:u.utf8decode(e.readData(t.length-5))}return null}},e.exports=n},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":19,"./support":27,"./utf8":28,"./utils":29}],32:[function(t,e,r){"use strict";var n=t("./stream/StreamHelper"),i=t("./stream/DataWorker"),a=t("./utf8"),s=t("./compressedObject"),o=t("./stream/GenericWorker"),u=function(t,e,r){this.name=t,this.dir=r.dir,this.date=r.date,this.comment=r.comment,this.unixPermissions=r.unixPermissions,this.dosPermissions=r.dosPermissions,this._data=e,this._dataBinary=r.binary,this.options={compression:r.compression,compressionOptions:r.compressionOptions}};u.prototype={internalStream:function(t){var e=t.toLowerCase(),r="string"===e||"text"===e;"binarystring"!==e&&"text"!==e||(e="string");var i=this._decompressWorker(),s=!this._dataBinary;return s&&!r&&(i=i.pipe(new a.Utf8EncodeWorker)),!s&&r&&(i=i.pipe(new a.Utf8DecodeWorker)),new n(i,e,"")},async:function(t,e){return this.internalStream(t).accumulate(e)},nodeStream:function(t,e){return this.internalStream(t||"nodebuffer").toNodejsStream(e)},_compressWorker:function(t,e){if(this._data instanceof s&&this._data.compression.magic===t.magic)return this._data.getCompressedWorker();var r=this._decompressWorker();return this._dataBinary||(r=r.pipe(new a.Utf8EncodeWorker)),s.createWorkerFrom(r,t,e)},_decompressWorker:function(){return this._data instanceof s?this._data.getContentWorker():this._data instanceof o?this._data:new i(this._data)}};for(var l=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],c=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},f=0;f<l.length;f++)u.prototype[l[f]]=c;e.exports=u},{"./compressedObject":2,"./stream/DataWorker":24,"./stream/GenericWorker":25,"./stream/StreamHelper":26,"./utf8":28}],33:[function(t,e,r){"use strict";function n(){if(u.length)throw u.shift()}function i(t){var e;e=o.length?o.pop():new a,e.task=t,s(e)}function a(){this.task=null}var s=t("./raw"),o=[],u=[],l=s.makeRequestCallFromTimer(n);e.exports=i,a.prototype.call=function(){try{this.task.call()}catch(t){i.onerror?i.onerror(t):(u.push(t),l())}finally{this.task=null,o[o.length]=this}}},{"./raw":34}],34:[function(t,e,r){(function(t){"use strict";function r(t){o.length||(s(),u=!0),o[o.length]=t}function n(){for(;l<o.length;){var t=l;if(l+=1,o[t].call(),l>c){for(var e=0,r=o.length-l;r>e;e++)o[e]=o[e+l];o.length-=l,l=0}}o.length=0,l=0,u=!1}function i(t){var e=1,r=new f(t),n=document.createTextNode("");return r.observe(n,{characterData:!0}),function(){e=-e,n.data=e}}function a(t){return function(){function e(){clearTimeout(r),clearInterval(n),t()}var r=setTimeout(e,0),n=setInterval(e,50)}}e.exports=r;var s,o=[],u=!1,l=0,c=1024,f=t.MutationObserver||t.WebKitMutationObserver;s="function"==typeof f?i(n):a(n),r.requestFlush=s,r.makeRequestCallFromTimer=a}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],35:[function(t,e,r){},{}],36:[function(t,e,r){function n(){c=!1,o.length?l=o.concat(l):f=-1,l.length&&i()}function i(){if(!c){var t=setTimeout(n);c=!0;for(var e=l.length;e;){for(o=l,l=[];++f<e;)o&&o[f].run();f=-1,e=l.length}o=null,c=!1,clearTimeout(t)}}function a(t,e){this.fun=t,this.array=e}function s(){}var o,u=e.exports={},l=[],c=!1,f=-1;u.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)e[r-1]=arguments[r];l.push(new a(t,e)),1!==l.length||c||setTimeout(i,0)},a.prototype.run=function(){this.fun.apply(null,this.array)},u.title="browser",u.browser=!0,u.env={},u.argv=[],u.version="",u.versions={},u.on=s,u.addListener=s,u.once=s,u.off=s,u.removeListener=s,u.removeAllListeners=s,u.emit=s,u.binding=function(t){throw new Error("process.binding is not supported")},u.cwd=function(){return"/"},u.chdir=function(t){throw new Error("process.chdir is not supported")},u.umask=function(){return 0}},{}],37:[function(e,r,n){(function(n,i){(function(){"use strict";function a(t){return"function"==typeof t||"object"==typeof t&&null!==t}function s(t){return"function"==typeof t}function o(t){return"object"==typeof t&&null!==t}function u(t){G=t}function l(t){X=t}function c(){return function(){n.nextTick(m)}}function f(){return function(){Y(m)}}function h(){var t=0,e=new Q(m),r=document.createTextNode("");return e.observe(r,{characterData:!0}),function(){r.data=t=++t%2}}function d(){var t=new MessageChannel;return t.port1.onmessage=m,function(){t.port2.postMessage(0)}}function p(){return function(){setTimeout(m,1)}}function m(){for(var t=0;V>t;t+=2){var e=rt[t],r=rt[t+1];e(r),rt[t]=void 0,rt[t+1]=void 0}V=0}function g(){try{var t=e,r=t("vertx");return Y=r.runOnLoop||r.runOnContext,f()}catch(n){return p()}}function _(){}function y(){return new TypeError("You cannot resolve a promise with itself")}function v(){return new TypeError("A promises callback cannot return that same promise.")}function w(t){try{return t.then}catch(e){return st.error=e,st}}function b(t,e,r,n){try{t.call(e,r,n)}catch(i){return i}}function k(t,e,r){X(function(t){var n=!1,i=b(r,e,function(r){n||(n=!0,e!==r?S(t,r):E(t,r))},function(e){n||(n=!0,I(t,e))},"Settle: "+(t._label||" unknown promise"));!n&&i&&(n=!0,I(t,i))},t)}function x(t,e){e._state===it?E(t,e._result):e._state===at?I(t,e._result):O(e,void 0,function(e){S(t,e)},function(e){I(t,e)})}function A(t,e){if(e.constructor===t.constructor)x(t,e);else{var r=w(e);r===st?I(t,st.error):void 0===r?E(t,e):s(r)?k(t,e,r):E(t,e)}}function S(t,e){t===e?I(t,y()):a(e)?A(t,e):E(t,e)}function C(t){t._onerror&&t._onerror(t._result),z(t)}function E(t,e){t._state===nt&&(t._result=e,t._state=it,0!==t._subscribers.length&&X(z,t))}function I(t,e){t._state===nt&&(t._state=at,t._result=e,X(C,t))}function O(t,e,r,n){var i=t._subscribers,a=i.length;t._onerror=null,i[a]=e,i[a+it]=r,i[a+at]=n,0===a&&t._state&&X(z,t)}function z(t){var e=t._subscribers,r=t._state;if(0!==e.length){for(var n,i,a=t._result,s=0;s<e.length;s+=3)n=e[s],i=e[s+r],n?B(r,n,i,a):i(a);t._subscribers.length=0}}function T(){this.error=null}function F(t,e){try{return t(e)}catch(r){return ot.error=r,ot}}function B(t,e,r,n){var i,a,o,u,l=s(r);if(l){if(i=F(r,n),i===ot?(u=!0,a=i.error,i=null):o=!0,e===i)return void I(e,v())}else i=n,o=!0;e._state!==nt||(l&&o?S(e,i):u?I(e,a):t===it?E(e,i):t===at&&I(e,i))}function N(t,e){try{e(function(e){S(t,e)},function(e){I(t,e)})}catch(r){I(t,r)}}function D(t,e){var r=this;r._instanceConstructor=t,r.promise=new t(_),r._validateInput(e)?(r._input=e,r.length=e.length,r._remaining=e.length,r._init(),0===r.length?E(r.promise,r._result):(r.length=r.length||0,r._enumerate(),0===r._remaining&&E(r.promise,r._result))):I(r.promise,r._validationError())}function j(t){return new ut(this,t).promise}function R(t){function e(t){S(i,t)}function r(t){I(i,t)}var n=this,i=new n(_);if(!q(t))return I(i,new TypeError("You must pass an array to race.")),i;for(var a=t.length,s=0;i._state===nt&&a>s;s++)O(n.resolve(t[s]),void 0,e,r);return i}function L(t){var e=this;if(t&&"object"==typeof t&&t.constructor===e)return t;var r=new e(_);return S(r,t),r}function U(t){var e=this,r=new e(_);return I(r,t),r}function P(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function M(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}function W(t){this._id=dt++,this._state=void 0,this._result=void 0,this._subscribers=[],_!==t&&(s(t)||P(),this instanceof W||M(),N(this,t))}function Z(){var t;if("undefined"!=typeof i)t=i;else if("undefined"!=typeof self)t=self;else try{t=Function("return this")()}catch(e){throw new Error("polyfill failed because global object is unavailable in this environment")}var r=t.Promise;r&&"[object Promise]"===Object.prototype.toString.call(r.resolve())&&!r.cast||(t.Promise=pt)}var H;H=Array.isArray?Array.isArray:function(t){return"[object Array]"===Object.prototype.toString.call(t)};var Y,G,K,q=H,V=0,X=({}.toString,function(t,e){rt[V]=t,rt[V+1]=e,V+=2,2===V&&(G?G(m):K())}),J="undefined"!=typeof window?window:void 0,$=J||{},Q=$.MutationObserver||$.WebKitMutationObserver,tt="undefined"!=typeof n&&"[object process]"==={}.toString.call(n),et="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel,rt=new Array(1e3);K=tt?c():Q?h():et?d():void 0===J&&"function"==typeof e?g():p();var nt=void 0,it=1,at=2,st=new T,ot=new T;D.prototype._validateInput=function(t){return q(t)},D.prototype._validationError=function(){return new Error("Array Methods must be provided an Array")},D.prototype._init=function(){this._result=new Array(this.length)};var ut=D;D.prototype._enumerate=function(){for(var t=this,e=t.length,r=t.promise,n=t._input,i=0;r._state===nt&&e>i;i++)t._eachEntry(n[i],i)},D.prototype._eachEntry=function(t,e){var r=this,n=r._instanceConstructor;o(t)?t.constructor===n&&t._state!==nt?(t._onerror=null,r._settledAt(t._state,e,t._result)):r._willSettleAt(n.resolve(t),e):(r._remaining--,r._result[e]=t)},D.prototype._settledAt=function(t,e,r){var n=this,i=n.promise;i._state===nt&&(n._remaining--,t===at?I(i,r):n._result[e]=r),0===n._remaining&&E(i,n._result)},D.prototype._willSettleAt=function(t,e){var r=this;O(t,void 0,function(t){r._settledAt(it,e,t)},function(t){r._settledAt(at,e,t)})};var lt=j,ct=R,ft=L,ht=U,dt=0,pt=W;W.all=lt,W.race=ct,W.resolve=ft,W.reject=ht,W._setScheduler=u,W._setAsap=l,W._asap=X,W.prototype={constructor:W,then:function(t,e){var r=this,n=r._state;if(n===it&&!t||n===at&&!e)return this;var i=new this.constructor(_),a=r._result;if(n){var s=arguments[n-1];X(function(){B(n,i,s,a)})}else O(r,i,t,e);return i},"catch":function(t){return this.then(null,t)}};var mt=Z,gt={Promise:pt,polyfill:mt};"function"==typeof t&&t.amd?t(function(){return gt}):"undefined"!=typeof r&&r.exports?r.exports=gt:"undefined"!=typeof this&&(this.ES6Promise=gt),mt()}).call(this)}).call(this,e("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{_process:36}],38:[function(t,e,r){"use strict";var n=t("./lib/utils/common").assign,i=t("./lib/deflate"),a=t("./lib/inflate"),s=t("./lib/zlib/constants"),o={};n(o,i,a,s),e.exports=o},{"./lib/deflate":39,"./lib/inflate":40,"./lib/utils/common":41,"./lib/zlib/constants":44}],39:[function(t,e,r){"use strict";function n(t){if(!(this instanceof n))return new n(t);this.options=u.assign({level:y,method:w,chunkSize:16384,windowBits:15,memLevel:8,strategy:v,to:""},t||{});var e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new f,this.strm.avail_out=0;var r=o.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(r!==m)throw new Error(c[r]);if(e.header&&o.deflateSetHeader(this.strm,e.header),e.dictionary){var i;if(i="string"==typeof e.dictionary?l.string2buf(e.dictionary):"[object ArrayBuffer]"===h.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,r=o.deflateSetDictionary(this.strm,i),r!==m)throw new Error(c[r]);this._dict_set=!0}}function i(t,e){var r=new n(e);if(r.push(t,!0),r.err)throw r.msg;return r.result}function a(t,e){return e=e||{},e.raw=!0,i(t,e)}function s(t,e){return e=e||{},e.gzip=!0,i(t,e)}var o=t("./zlib/deflate"),u=t("./utils/common"),l=t("./utils/strings"),c=t("./zlib/messages"),f=t("./zlib/zstream"),h=Object.prototype.toString,d=0,p=4,m=0,g=1,_=2,y=-1,v=0,w=8;n.prototype.push=function(t,e){var r,n,i=this.strm,a=this.options.chunkSize;if(this.ended)return!1;n=e===~~e?e:e===!0?p:d,"string"==typeof t?i.input=l.string2buf(t):"[object ArrayBuffer]"===h.call(t)?i.input=new Uint8Array(t):i.input=t,
-i.next_in=0,i.avail_in=i.input.length;do{if(0===i.avail_out&&(i.output=new u.Buf8(a),i.next_out=0,i.avail_out=a),r=o.deflate(i,n),r!==g&&r!==m)return this.onEnd(r),this.ended=!0,!1;0!==i.avail_out&&(0!==i.avail_in||n!==p&&n!==_)||("string"===this.options.to?this.onData(l.buf2binstring(u.shrinkBuf(i.output,i.next_out))):this.onData(u.shrinkBuf(i.output,i.next_out)))}while((i.avail_in>0||0===i.avail_out)&&r!==g);return n===p?(r=o.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===m):n===_?(this.onEnd(m),i.avail_out=0,!0):!0},n.prototype.onData=function(t){this.chunks.push(t)},n.prototype.onEnd=function(t){t===m&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=u.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},r.Deflate=n,r.deflate=i,r.deflateRaw=a,r.gzip=s},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(t,e,r){"use strict";function n(t){if(!(this instanceof n))return new n(t);this.options=o.assign({chunkSize:16384,windowBits:0,to:""},t||{});var e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0===(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new f,this.strm.avail_out=0;var r=s.inflateInit2(this.strm,e.windowBits);if(r!==l.Z_OK)throw new Error(c[r]);this.header=new h,s.inflateGetHeader(this.strm,this.header)}function i(t,e){var r=new n(e);if(r.push(t,!0),r.err)throw r.msg;return r.result}function a(t,e){return e=e||{},e.raw=!0,i(t,e)}var s=t("./zlib/inflate"),o=t("./utils/common"),u=t("./utils/strings"),l=t("./zlib/constants"),c=t("./zlib/messages"),f=t("./zlib/zstream"),h=t("./zlib/gzheader"),d=Object.prototype.toString;n.prototype.push=function(t,e){var r,n,i,a,c,f,h=this.strm,p=this.options.chunkSize,m=this.options.dictionary,g=!1;if(this.ended)return!1;n=e===~~e?e:e===!0?l.Z_FINISH:l.Z_NO_FLUSH,"string"==typeof t?h.input=u.binstring2buf(t):"[object ArrayBuffer]"===d.call(t)?h.input=new Uint8Array(t):h.input=t,h.next_in=0,h.avail_in=h.input.length;do{if(0===h.avail_out&&(h.output=new o.Buf8(p),h.next_out=0,h.avail_out=p),r=s.inflate(h,l.Z_NO_FLUSH),r===l.Z_NEED_DICT&&m&&(f="string"==typeof m?u.string2buf(m):"[object ArrayBuffer]"===d.call(m)?new Uint8Array(m):m,r=s.inflateSetDictionary(this.strm,f)),r===l.Z_BUF_ERROR&&g===!0&&(r=l.Z_OK,g=!1),r!==l.Z_STREAM_END&&r!==l.Z_OK)return this.onEnd(r),this.ended=!0,!1;h.next_out&&(0!==h.avail_out&&r!==l.Z_STREAM_END&&(0!==h.avail_in||n!==l.Z_FINISH&&n!==l.Z_SYNC_FLUSH)||("string"===this.options.to?(i=u.utf8border(h.output,h.next_out),a=h.next_out-i,c=u.buf2string(h.output,i),h.next_out=a,h.avail_out=p-a,a&&o.arraySet(h.output,h.output,i,a,0),this.onData(c)):this.onData(o.shrinkBuf(h.output,h.next_out)))),0===h.avail_in&&0===h.avail_out&&(g=!0)}while((h.avail_in>0||0===h.avail_out)&&r!==l.Z_STREAM_END);return r===l.Z_STREAM_END&&(n=l.Z_FINISH),n===l.Z_FINISH?(r=s.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===l.Z_OK):n===l.Z_SYNC_FLUSH?(this.onEnd(l.Z_OK),h.avail_out=0,!0):!0},n.prototype.onData=function(t){this.chunks.push(t)},n.prototype.onEnd=function(t){t===l.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},r.Inflate=n,r.inflate=i,r.inflateRaw=a,r.ungzip=i},{"./utils/common":41,"./utils/strings":42,"./zlib/constants":44,"./zlib/gzheader":47,"./zlib/inflate":49,"./zlib/messages":51,"./zlib/zstream":53}],41:[function(t,e,r){"use strict";var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;r.assign=function(t){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var r=e.shift();if(r){if("object"!=typeof r)throw new TypeError(r+"must be non-object");for(var n in r)r.hasOwnProperty(n)&&(t[n]=r[n])}}return t},r.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var i={arraySet:function(t,e,r,n,i){if(e.subarray&&t.subarray)return void t.set(e.subarray(r,r+n),i);for(var a=0;n>a;a++)t[i+a]=e[r+a]},flattenChunks:function(t){var e,r,n,i,a,s;for(n=0,e=0,r=t.length;r>e;e++)n+=t[e].length;for(s=new Uint8Array(n),i=0,e=0,r=t.length;r>e;e++)a=t[e],s.set(a,i),i+=a.length;return s}},a={arraySet:function(t,e,r,n,i){for(var a=0;n>a;a++)t[i+a]=e[r+a]},flattenChunks:function(t){return[].concat.apply([],t)}};r.setTyped=function(t){t?(r.Buf8=Uint8Array,r.Buf16=Uint16Array,r.Buf32=Int32Array,r.assign(r,i)):(r.Buf8=Array,r.Buf16=Array,r.Buf32=Array,r.assign(r,a))},r.setTyped(n)},{}],42:[function(t,e,r){"use strict";function n(t,e){if(65537>e&&(t.subarray&&s||!t.subarray&&a))return String.fromCharCode.apply(null,i.shrinkBuf(t,e));for(var r="",n=0;e>n;n++)r+=String.fromCharCode(t[n]);return r}var i=t("./common"),a=!0,s=!0;try{String.fromCharCode.apply(null,[0])}catch(o){a=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(o){s=!1}for(var u=new i.Buf8(256),l=0;256>l;l++)u[l]=l>=252?6:l>=248?5:l>=240?4:l>=224?3:l>=192?2:1;u[254]=u[254]=1,r.string2buf=function(t){var e,r,n,a,s,o=t.length,u=0;for(a=0;o>a;a++)r=t.charCodeAt(a),55296===(64512&r)&&o>a+1&&(n=t.charCodeAt(a+1),56320===(64512&n)&&(r=65536+(r-55296<<10)+(n-56320),a++)),u+=128>r?1:2048>r?2:65536>r?3:4;for(e=new i.Buf8(u),s=0,a=0;u>s;a++)r=t.charCodeAt(a),55296===(64512&r)&&o>a+1&&(n=t.charCodeAt(a+1),56320===(64512&n)&&(r=65536+(r-55296<<10)+(n-56320),a++)),128>r?e[s++]=r:2048>r?(e[s++]=192|r>>>6,e[s++]=128|63&r):65536>r?(e[s++]=224|r>>>12,e[s++]=128|r>>>6&63,e[s++]=128|63&r):(e[s++]=240|r>>>18,e[s++]=128|r>>>12&63,e[s++]=128|r>>>6&63,e[s++]=128|63&r);return e},r.buf2binstring=function(t){return n(t,t.length)},r.binstring2buf=function(t){for(var e=new i.Buf8(t.length),r=0,n=e.length;n>r;r++)e[r]=t.charCodeAt(r);return e},r.buf2string=function(t,e){var r,i,a,s,o=e||t.length,l=new Array(2*o);for(i=0,r=0;o>r;)if(a=t[r++],128>a)l[i++]=a;else if(s=u[a],s>4)l[i++]=65533,r+=s-1;else{for(a&=2===s?31:3===s?15:7;s>1&&o>r;)a=a<<6|63&t[r++],s--;s>1?l[i++]=65533:65536>a?l[i++]=a:(a-=65536,l[i++]=55296|a>>10&1023,l[i++]=56320|1023&a)}return n(l,i)},r.utf8border=function(t,e){var r;for(e=e||t.length,e>t.length&&(e=t.length),r=e-1;r>=0&&128===(192&t[r]);)r--;return 0>r?e:0===r?e:r+u[t[r]]>e?r:e}},{"./common":41}],43:[function(t,e,r){"use strict";function n(t,e,r,n){for(var i=65535&t|0,a=t>>>16&65535|0,s=0;0!==r;){s=r>2e3?2e3:r,r-=s;do i=i+e[n++]|0,a=a+i|0;while(--s);i%=65521,a%=65521}return i|a<<16|0}e.exports=n},{}],44:[function(t,e,r){"use strict";e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(t,e,r){"use strict";function n(){for(var t,e=[],r=0;256>r;r++){t=r;for(var n=0;8>n;n++)t=1&t?3988292384^t>>>1:t>>>1;e[r]=t}return e}function i(t,e,r,n){var i=a,s=n+r;t^=-1;for(var o=n;s>o;o++)t=t>>>8^i[255&(t^e[o])];return-1^t}var a=n();e.exports=i},{}],46:[function(t,e,r){"use strict";function n(t,e){return t.msg=N[e],e}function i(t){return(t<<1)-(t>4?9:0)}function a(t){for(var e=t.length;--e>=0;)t[e]=0}function s(t){var e=t.state,r=e.pending;r>t.avail_out&&(r=t.avail_out),0!==r&&(z.arraySet(t.output,e.pending_buf,e.pending_out,r,t.next_out),t.next_out+=r,e.pending_out+=r,t.total_out+=r,t.avail_out-=r,e.pending-=r,0===e.pending&&(e.pending_out=0))}function o(t,e){T._tr_flush_block(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,s(t.strm)}function u(t,e){t.pending_buf[t.pending++]=e}function l(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e}function c(t,e,r,n){var i=t.avail_in;return i>n&&(i=n),0===i?0:(t.avail_in-=i,z.arraySet(e,t.input,t.next_in,i,r),1===t.state.wrap?t.adler=F(t.adler,e,i,r):2===t.state.wrap&&(t.adler=B(t.adler,e,i,r)),t.next_in+=i,t.total_in+=i,i)}function f(t,e){var r,n,i=t.max_chain_length,a=t.strstart,s=t.prev_length,o=t.nice_match,u=t.strstart>t.w_size-ft?t.strstart-(t.w_size-ft):0,l=t.window,c=t.w_mask,f=t.prev,h=t.strstart+ct,d=l[a+s-1],p=l[a+s];t.prev_length>=t.good_match&&(i>>=2),o>t.lookahead&&(o=t.lookahead);do if(r=e,l[r+s]===p&&l[r+s-1]===d&&l[r]===l[a]&&l[++r]===l[a+1]){a+=2,r++;do;while(l[++a]===l[++r]&&l[++a]===l[++r]&&l[++a]===l[++r]&&l[++a]===l[++r]&&l[++a]===l[++r]&&l[++a]===l[++r]&&l[++a]===l[++r]&&l[++a]===l[++r]&&h>a);if(n=ct-(h-a),a=h-ct,n>s){if(t.match_start=e,s=n,n>=o)break;d=l[a+s-1],p=l[a+s]}}while((e=f[e&c])>u&&0!==--i);return s<=t.lookahead?s:t.lookahead}function h(t){var e,r,n,i,a,s=t.w_size;do{if(i=t.window_size-t.lookahead-t.strstart,t.strstart>=s+(s-ft)){z.arraySet(t.window,t.window,s,s,0),t.match_start-=s,t.strstart-=s,t.block_start-=s,r=t.hash_size,e=r;do n=t.head[--e],t.head[e]=n>=s?n-s:0;while(--r);r=s,e=r;do n=t.prev[--e],t.prev[e]=n>=s?n-s:0;while(--r);i+=s}if(0===t.strm.avail_in)break;if(r=c(t.strm,t.window,t.strstart+t.lookahead,i),t.lookahead+=r,t.lookahead+t.insert>=lt)for(a=t.strstart-t.insert,t.ins_h=t.window[a],t.ins_h=(t.ins_h<<t.hash_shift^t.window[a+1])&t.hash_mask;t.insert&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[a+lt-1])&t.hash_mask,t.prev[a&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=a,a++,t.insert--,!(t.lookahead+t.insert<lt)););}while(t.lookahead<ft&&0!==t.strm.avail_in)}function d(t,e){var r=65535;for(r>t.pending_buf_size-5&&(r=t.pending_buf_size-5);;){if(t.lookahead<=1){if(h(t),0===t.lookahead&&e===D)return wt;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var n=t.block_start+r;if((0===t.strstart||t.strstart>=n)&&(t.lookahead=t.strstart-n,t.strstart=n,o(t,!1),0===t.strm.avail_out))return wt;if(t.strstart-t.block_start>=t.w_size-ft&&(o(t,!1),0===t.strm.avail_out))return wt}return t.insert=0,e===L?(o(t,!0),0===t.strm.avail_out?kt:xt):t.strstart>t.block_start&&(o(t,!1),0===t.strm.avail_out)?wt:wt}function p(t,e){for(var r,n;;){if(t.lookahead<ft){if(h(t),t.lookahead<ft&&e===D)return wt;if(0===t.lookahead)break}if(r=0,t.lookahead>=lt&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+lt-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==r&&t.strstart-r<=t.w_size-ft&&(t.match_length=f(t,r)),t.match_length>=lt)if(n=T._tr_tally(t,t.strstart-t.match_start,t.match_length-lt),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=lt){t.match_length--;do t.strstart++,t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+lt-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart;while(0!==--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+1])&t.hash_mask;else n=T._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(n&&(o(t,!1),0===t.strm.avail_out))return wt}return t.insert=t.strstart<lt-1?t.strstart:lt-1,e===L?(o(t,!0),0===t.strm.avail_out?kt:xt):t.last_lit&&(o(t,!1),0===t.strm.avail_out)?wt:bt}function m(t,e){for(var r,n,i;;){if(t.lookahead<ft){if(h(t),t.lookahead<ft&&e===D)return wt;if(0===t.lookahead)break}if(r=0,t.lookahead>=lt&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+lt-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=lt-1,0!==r&&t.prev_length<t.max_lazy_match&&t.strstart-r<=t.w_size-ft&&(t.match_length=f(t,r),t.match_length<=5&&(t.strategy===G||t.match_length===lt&&t.strstart-t.match_start>4096)&&(t.match_length=lt-1)),t.prev_length>=lt&&t.match_length<=t.prev_length){i=t.strstart+t.lookahead-lt,n=T._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-lt),t.lookahead-=t.prev_length-1,t.prev_length-=2;do++t.strstart<=i&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+lt-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart);while(0!==--t.prev_length);if(t.match_available=0,t.match_length=lt-1,t.strstart++,n&&(o(t,!1),0===t.strm.avail_out))return wt}else if(t.match_available){if(n=T._tr_tally(t,0,t.window[t.strstart-1]),n&&o(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return wt}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(n=T._tr_tally(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<lt-1?t.strstart:lt-1,e===L?(o(t,!0),0===t.strm.avail_out?kt:xt):t.last_lit&&(o(t,!1),0===t.strm.avail_out)?wt:bt}function g(t,e){for(var r,n,i,a,s=t.window;;){if(t.lookahead<=ct){if(h(t),t.lookahead<=ct&&e===D)return wt;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=lt&&t.strstart>0&&(i=t.strstart-1,n=s[i],n===s[++i]&&n===s[++i]&&n===s[++i])){a=t.strstart+ct;do;while(n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&a>i);t.match_length=ct-(a-i),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=lt?(r=T._tr_tally(t,1,t.match_length-lt),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(r=T._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),r&&(o(t,!1),0===t.strm.avail_out))return wt}return t.insert=0,e===L?(o(t,!0),0===t.strm.avail_out?kt:xt):t.last_lit&&(o(t,!1),0===t.strm.avail_out)?wt:bt}function _(t,e){for(var r;;){if(0===t.lookahead&&(h(t),0===t.lookahead)){if(e===D)return wt;break}if(t.match_length=0,r=T._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,r&&(o(t,!1),0===t.strm.avail_out))return wt}return t.insert=0,e===L?(o(t,!0),0===t.strm.avail_out?kt:xt):t.last_lit&&(o(t,!1),0===t.strm.avail_out)?wt:bt}function y(t,e,r,n,i){this.good_length=t,this.max_lazy=e,this.nice_length=r,this.max_chain=n,this.func=i}function v(t){t.window_size=2*t.w_size,a(t.head),t.max_lazy_match=O[t.level].max_lazy,t.good_match=O[t.level].good_length,t.nice_match=O[t.level].nice_length,t.max_chain_length=O[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=lt-1,t.match_available=0,t.ins_h=0}function w(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=$,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new z.Buf16(2*ot),this.dyn_dtree=new z.Buf16(2*(2*at+1)),this.bl_tree=new z.Buf16(2*(2*st+1)),a(this.dyn_ltree),a(this.dyn_dtree),a(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new z.Buf16(ut+1),this.heap=new z.Buf16(2*it+1),a(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new z.Buf16(2*it+1),a(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function b(t){var e;return t&&t.state?(t.total_in=t.total_out=0,t.data_type=J,e=t.state,e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?dt:yt,t.adler=2===e.wrap?0:1,e.last_flush=D,T._tr_init(e),P):n(t,W)}function k(t){var e=b(t);return e===P&&v(t.state),e}function x(t,e){return t&&t.state?2!==t.state.wrap?W:(t.state.gzhead=e,P):W}function A(t,e,r,i,a,s){if(!t)return W;var o=1;if(e===Y&&(e=6),0>i?(o=0,i=-i):i>15&&(o=2,i-=16),1>a||a>Q||r!==$||8>i||i>15||0>e||e>9||0>s||s>V)return n(t,W);8===i&&(i=9);var u=new w;return t.state=u,u.strm=t,u.wrap=o,u.gzhead=null,u.w_bits=i,u.w_size=1<<u.w_bits,u.w_mask=u.w_size-1,u.hash_bits=a+7,u.hash_size=1<<u.hash_bits,u.hash_mask=u.hash_size-1,u.hash_shift=~~((u.hash_bits+lt-1)/lt),u.window=new z.Buf8(2*u.w_size),u.head=new z.Buf16(u.hash_size),u.prev=new z.Buf16(u.w_size),u.lit_bufsize=1<<a+6,u.pending_buf_size=4*u.lit_bufsize,u.pending_buf=new z.Buf8(u.pending_buf_size),u.d_buf=u.lit_bufsize>>1,u.l_buf=3*u.lit_bufsize,u.level=e,u.strategy=s,u.method=r,k(t)}function S(t,e){return A(t,e,$,tt,et,X)}function C(t,e){var r,o,c,f;if(!t||!t.state||e>U||0>e)return t?n(t,W):W;if(o=t.state,!t.output||!t.input&&0!==t.avail_in||o.status===vt&&e!==L)return n(t,0===t.avail_out?H:W);if(o.strm=t,r=o.last_flush,o.last_flush=e,o.status===dt)if(2===o.wrap)t.adler=0,u(o,31),u(o,139),u(o,8),o.gzhead?(u(o,(o.gzhead.text?1:0)+(o.gzhead.hcrc?2:0)+(o.gzhead.extra?4:0)+(o.gzhead.name?8:0)+(o.gzhead.comment?16:0)),u(o,255&o.gzhead.time),u(o,o.gzhead.time>>8&255),u(o,o.gzhead.time>>16&255),u(o,o.gzhead.time>>24&255),u(o,9===o.level?2:o.strategy>=K||o.level<2?4:0),u(o,255&o.gzhead.os),o.gzhead.extra&&o.gzhead.extra.length&&(u(o,255&o.gzhead.extra.length),u(o,o.gzhead.extra.length>>8&255)),o.gzhead.hcrc&&(t.adler=B(t.adler,o.pending_buf,o.pending,0)),o.gzindex=0,o.status=pt):(u(o,0),u(o,0),u(o,0),u(o,0),u(o,0),u(o,9===o.level?2:o.strategy>=K||o.level<2?4:0),u(o,At),o.status=yt);else{var h=$+(o.w_bits-8<<4)<<8,d=-1;d=o.strategy>=K||o.level<2?0:o.level<6?1:6===o.level?2:3,h|=d<<6,0!==o.strstart&&(h|=ht),h+=31-h%31,o.status=yt,l(o,h),0!==o.strstart&&(l(o,t.adler>>>16),l(o,65535&t.adler)),t.adler=1}if(o.status===pt)if(o.gzhead.extra){for(c=o.pending;o.gzindex<(65535&o.gzhead.extra.length)&&(o.pending!==o.pending_buf_size||(o.gzhead.hcrc&&o.pending>c&&(t.adler=B(t.adler,o.pending_buf,o.pending-c,c)),s(t),c=o.pending,o.pending!==o.pending_buf_size));)u(o,255&o.gzhead.extra[o.gzindex]),o.gzindex++;o.gzhead.hcrc&&o.pending>c&&(t.adler=B(t.adler,o.pending_buf,o.pending-c,c)),o.gzindex===o.gzhead.extra.length&&(o.gzindex=0,o.status=mt)}else o.status=mt;if(o.status===mt)if(o.gzhead.name){c=o.pending;do{if(o.pending===o.pending_buf_size&&(o.gzhead.hcrc&&o.pending>c&&(t.adler=B(t.adler,o.pending_buf,o.pending-c,c)),s(t),c=o.pending,o.pending===o.pending_buf_size)){f=1;break}f=o.gzindex<o.gzhead.name.length?255&o.gzhead.name.charCodeAt(o.gzindex++):0,u(o,f)}while(0!==f);o.gzhead.hcrc&&o.pending>c&&(t.adler=B(t.adler,o.pending_buf,o.pending-c,c)),0===f&&(o.gzindex=0,o.status=gt)}else o.status=gt;if(o.status===gt)if(o.gzhead.comment){c=o.pending;do{if(o.pending===o.pending_buf_size&&(o.gzhead.hcrc&&o.pending>c&&(t.adler=B(t.adler,o.pending_buf,o.pending-c,c)),s(t),c=o.pending,o.pending===o.pending_buf_size)){f=1;break}f=o.gzindex<o.gzhead.comment.length?255&o.gzhead.comment.charCodeAt(o.gzindex++):0,u(o,f)}while(0!==f);o.gzhead.hcrc&&o.pending>c&&(t.adler=B(t.adler,o.pending_buf,o.pending-c,c)),0===f&&(o.status=_t)}else o.status=_t;if(o.status===_t&&(o.gzhead.hcrc?(o.pending+2>o.pending_buf_size&&s(t),o.pending+2<=o.pending_buf_size&&(u(o,255&t.adler),u(o,t.adler>>8&255),t.adler=0,o.status=yt)):o.status=yt),0!==o.pending){if(s(t),0===t.avail_out)return o.last_flush=-1,P}else if(0===t.avail_in&&i(e)<=i(r)&&e!==L)return n(t,H);if(o.status===vt&&0!==t.avail_in)return n(t,H);if(0!==t.avail_in||0!==o.lookahead||e!==D&&o.status!==vt){var p=o.strategy===K?_(o,e):o.strategy===q?g(o,e):O[o.level].func(o,e);if(p!==kt&&p!==xt||(o.status=vt),p===wt||p===kt)return 0===t.avail_out&&(o.last_flush=-1),P;if(p===bt&&(e===j?T._tr_align(o):e!==U&&(T._tr_stored_block(o,0,0,!1),e===R&&(a(o.head),0===o.lookahead&&(o.strstart=0,o.block_start=0,o.insert=0))),s(t),0===t.avail_out))return o.last_flush=-1,P}return e!==L?P:o.wrap<=0?M:(2===o.wrap?(u(o,255&t.adler),u(o,t.adler>>8&255),u(o,t.adler>>16&255),u(o,t.adler>>24&255),u(o,255&t.total_in),u(o,t.total_in>>8&255),u(o,t.total_in>>16&255),u(o,t.total_in>>24&255)):(l(o,t.adler>>>16),l(o,65535&t.adler)),s(t),o.wrap>0&&(o.wrap=-o.wrap),0!==o.pending?P:M)}function E(t){var e;return t&&t.state?(e=t.state.status,e!==dt&&e!==pt&&e!==mt&&e!==gt&&e!==_t&&e!==yt&&e!==vt?n(t,W):(t.state=null,e===yt?n(t,Z):P)):W}function I(t,e){var r,n,i,s,o,u,l,c,f=e.length;if(!t||!t.state)return W;if(r=t.state,s=r.wrap,2===s||1===s&&r.status!==dt||r.lookahead)return W;for(1===s&&(t.adler=F(t.adler,e,f,0)),r.wrap=0,f>=r.w_size&&(0===s&&(a(r.head),r.strstart=0,r.block_start=0,r.insert=0),c=new z.Buf8(r.w_size),z.arraySet(c,e,f-r.w_size,r.w_size,0),e=c,f=r.w_size),o=t.avail_in,u=t.next_in,l=t.input,t.avail_in=f,t.next_in=0,t.input=e,h(r);r.lookahead>=lt;){n=r.strstart,i=r.lookahead-(lt-1);do r.ins_h=(r.ins_h<<r.hash_shift^r.window[n+lt-1])&r.hash_mask,r.prev[n&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=n,n++;while(--i);r.strstart=n,r.lookahead=lt-1,h(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=lt-1,r.match_available=0,t.next_in=u,t.input=l,t.avail_in=o,r.wrap=s,P}var O,z=t("../utils/common"),T=t("./trees"),F=t("./adler32"),B=t("./crc32"),N=t("./messages"),D=0,j=1,R=3,L=4,U=5,P=0,M=1,W=-2,Z=-3,H=-5,Y=-1,G=1,K=2,q=3,V=4,X=0,J=2,$=8,Q=9,tt=15,et=8,rt=29,nt=256,it=nt+1+rt,at=30,st=19,ot=2*it+1,ut=15,lt=3,ct=258,ft=ct+lt+1,ht=32,dt=42,pt=69,mt=73,gt=91,_t=103,yt=113,vt=666,wt=1,bt=2,kt=3,xt=4,At=3;O=[new y(0,0,0,0,d),new y(4,4,8,4,p),new y(4,5,16,8,p),new y(4,6,32,32,p),new y(4,4,16,16,m),new y(8,16,32,32,m),new y(8,16,128,128,m),new y(8,32,128,256,m),new y(32,128,258,1024,m),new y(32,258,258,4096,m)],r.deflateInit=S,r.deflateInit2=A,r.deflateReset=k,r.deflateResetKeep=b,r.deflateSetHeader=x,r.deflate=C,r.deflateEnd=E,r.deflateSetDictionary=I,r.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./messages":51,"./trees":52}],47:[function(t,e,r){"use strict";function n(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}e.exports=n},{}],48:[function(t,e,r){"use strict";var n=30,i=12;e.exports=function(t,e){var r,a,s,o,u,l,c,f,h,d,p,m,g,_,y,v,w,b,k,x,A,S,C,E,I;r=t.state,a=t.next_in,E=t.input,s=a+(t.avail_in-5),o=t.next_out,I=t.output,u=o-(e-t.avail_out),l=o+(t.avail_out-257),c=r.dmax,f=r.wsize,h=r.whave,d=r.wnext,p=r.window,m=r.hold,g=r.bits,_=r.lencode,y=r.distcode,v=(1<<r.lenbits)-1,w=(1<<r.distbits)-1;t:do{15>g&&(m+=E[a++]<<g,g+=8,m+=E[a++]<<g,g+=8),b=_[m&v];e:for(;;){if(k=b>>>24,m>>>=k,g-=k,k=b>>>16&255,0===k)I[o++]=65535&b;else{if(!(16&k)){if(0===(64&k)){b=_[(65535&b)+(m&(1<<k)-1)];continue e}if(32&k){r.mode=i;break t}t.msg="invalid literal/length code",r.mode=n;break t}x=65535&b,k&=15,k&&(k>g&&(m+=E[a++]<<g,g+=8),x+=m&(1<<k)-1,m>>>=k,g-=k),15>g&&(m+=E[a++]<<g,g+=8,m+=E[a++]<<g,g+=8),b=y[m&w];r:for(;;){if(k=b>>>24,m>>>=k,g-=k,k=b>>>16&255,!(16&k)){if(0===(64&k)){b=y[(65535&b)+(m&(1<<k)-1)];continue r}t.msg="invalid distance code",r.mode=n;break t}if(A=65535&b,k&=15,k>g&&(m+=E[a++]<<g,g+=8,k>g&&(m+=E[a++]<<g,g+=8)),A+=m&(1<<k)-1,A>c){t.msg="invalid distance too far back",r.mode=n;break t}if(m>>>=k,g-=k,k=o-u,A>k){if(k=A-k,k>h&&r.sane){t.msg="invalid distance too far back",r.mode=n;break t}if(S=0,C=p,0===d){if(S+=f-k,x>k){x-=k;do I[o++]=p[S++];while(--k);S=o-A,C=I}}else if(k>d){if(S+=f+d-k,k-=d,x>k){x-=k;do I[o++]=p[S++];while(--k);if(S=0,x>d){k=d,x-=k;do I[o++]=p[S++];while(--k);S=o-A,C=I}}}else if(S+=d-k,x>k){x-=k;do I[o++]=p[S++];while(--k);S=o-A,C=I}for(;x>2;)I[o++]=C[S++],I[o++]=C[S++],I[o++]=C[S++],x-=3;x&&(I[o++]=C[S++],x>1&&(I[o++]=C[S++]))}else{S=o-A;do I[o++]=I[S++],I[o++]=I[S++],I[o++]=I[S++],x-=3;while(x>2);x&&(I[o++]=I[S++],x>1&&(I[o++]=I[S++]))}break}}break}}while(s>a&&l>o);x=g>>3,a-=x,g-=x<<3,m&=(1<<g)-1,t.next_in=a,t.next_out=o,t.avail_in=s>a?5+(s-a):5-(a-s),t.avail_out=l>o?257+(l-o):257-(o-l),r.hold=m,r.bits=g}},{}],49:[function(t,e,r){"use strict";function n(t){return(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function i(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new y.Buf16(320),this.work=new y.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function a(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=R,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new y.Buf32(mt),e.distcode=e.distdyn=new y.Buf32(gt),e.sane=1,e.back=-1,O):F}function s(t){var e;return t&&t.state?(e=t.state,e.wsize=0,e.whave=0,e.wnext=0,a(t)):F}function o(t,e){var r,n;return t&&t.state?(n=t.state,0>e?(r=0,e=-e):(r=(e>>4)+1,48>e&&(e&=15)),e&&(8>e||e>15)?F:(null!==n.window&&n.wbits!==e&&(n.window=null),n.wrap=r,n.wbits=e,s(t))):F}function u(t,e){var r,n;return t?(n=new i,t.state=n,n.window=null,r=o(t,e),r!==O&&(t.state=null),r):F}function l(t){return u(t,yt)}function c(t){if(vt){var e;for(g=new y.Buf32(512),_=new y.Buf32(32),e=0;144>e;)t.lens[e++]=8;for(;256>e;)t.lens[e++]=9;for(;280>e;)t.lens[e++]=7;for(;288>e;)t.lens[e++]=8;for(k(A,t.lens,0,288,g,0,t.work,{bits:9}),e=0;32>e;)t.lens[e++]=5;k(S,t.lens,0,32,_,0,t.work,{bits:5}),vt=!1}t.lencode=g,t.lenbits=9,t.distcode=_,t.distbits=5}function f(t,e,r,n){var i,a=t.state;return null===a.window&&(a.wsize=1<<a.wbits,a.wnext=0,a.whave=0,a.window=new y.Buf8(a.wsize)),n>=a.wsize?(y.arraySet(a.window,e,r-a.wsize,a.wsize,0),a.wnext=0,a.whave=a.wsize):(i=a.wsize-a.wnext,i>n&&(i=n),y.arraySet(a.window,e,r-n,i,a.wnext),n-=i,n?(y.arraySet(a.window,e,r-n,n,0),a.wnext=n,a.whave=a.wsize):(a.wnext+=i,a.wnext===a.wsize&&(a.wnext=0),a.whave<a.wsize&&(a.whave+=i))),0}function h(t,e){var r,i,a,s,o,u,l,h,d,p,m,g,_,mt,gt,_t,yt,vt,wt,bt,kt,xt,At,St,Ct=0,Et=new y.Buf8(4),It=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!t||!t.state||!t.output||!t.input&&0!==t.avail_in)return F;r=t.state,r.mode===q&&(r.mode=V),o=t.next_out,a=t.output,l=t.avail_out,s=t.next_in,i=t.input,u=t.avail_in,h=r.hold,d=r.bits,p=u,m=l,xt=O;t:for(;;)switch(r.mode){case R:if(0===r.wrap){r.mode=V;break}for(;16>d;){if(0===u)break t;u--,h+=i[s++]<<d,d+=8}if(2&r.wrap&&35615===h){r.check=0,Et[0]=255&h,Et[1]=h>>>8&255,r.check=w(r.check,Et,2,0),h=0,d=0,r.mode=L;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&h)<<8)+(h>>8))%31){t.msg="incorrect header check",r.mode=ht;break}if((15&h)!==j){t.msg="unknown compression method",r.mode=ht;break}if(h>>>=4,d-=4,kt=(15&h)+8,0===r.wbits)r.wbits=kt;else if(kt>r.wbits){t.msg="invalid window size",r.mode=ht;break}r.dmax=1<<kt,t.adler=r.check=1,r.mode=512&h?G:q,h=0,d=0;break;case L:for(;16>d;){if(0===u)break t;u--,h+=i[s++]<<d,d+=8}if(r.flags=h,(255&r.flags)!==j){t.msg="unknown compression method",r.mode=ht;break}if(57344&r.flags){t.msg="unknown header flags set",r.mode=ht;break}r.head&&(r.head.text=h>>8&1),512&r.flags&&(Et[0]=255&h,Et[1]=h>>>8&255,r.check=w(r.check,Et,2,0)),h=0,d=0,r.mode=U;case U:for(;32>d;){if(0===u)break t;u--,h+=i[s++]<<d,d+=8}r.head&&(r.head.time=h),512&r.flags&&(Et[0]=255&h,Et[1]=h>>>8&255,Et[2]=h>>>16&255,Et[3]=h>>>24&255,r.check=w(r.check,Et,4,0)),h=0,d=0,r.mode=P;case P:for(;16>d;){if(0===u)break t;u--,h+=i[s++]<<d,d+=8}r.head&&(r.head.xflags=255&h,r.head.os=h>>8),512&r.flags&&(Et[0]=255&h,Et[1]=h>>>8&255,r.check=w(r.check,Et,2,0)),h=0,d=0,r.mode=M;case M:if(1024&r.flags){for(;16>d;){if(0===u)break t;u--,h+=i[s++]<<d,d+=8}r.length=h,r.head&&(r.head.extra_len=h),512&r.flags&&(Et[0]=255&h,Et[1]=h>>>8&255,r.check=w(r.check,Et,2,0)),h=0,d=0}else r.head&&(r.head.extra=null);r.mode=W;case W:if(1024&r.flags&&(g=r.length,g>u&&(g=u),g&&(r.head&&(kt=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),y.arraySet(r.head.extra,i,s,g,kt)),512&r.flags&&(r.check=w(r.check,i,g,s)),u-=g,s+=g,r.length-=g),r.length))break t;r.length=0,r.mode=Z;case Z:if(2048&r.flags){if(0===u)break t;g=0;do kt=i[s+g++],r.head&&kt&&r.length<65536&&(r.head.name+=String.fromCharCode(kt));while(kt&&u>g);if(512&r.flags&&(r.check=w(r.check,i,g,s)),u-=g,s+=g,kt)break t}else r.head&&(r.head.name=null);r.length=0,r.mode=H;case H:if(4096&r.flags){if(0===u)break t;g=0;do kt=i[s+g++],r.head&&kt&&r.length<65536&&(r.head.comment+=String.fromCharCode(kt));while(kt&&u>g);if(512&r.flags&&(r.check=w(r.check,i,g,s)),u-=g,s+=g,kt)break t}else r.head&&(r.head.comment=null);r.mode=Y;case Y:if(512&r.flags){for(;16>d;){if(0===u)break t;u--,h+=i[s++]<<d,d+=8}if(h!==(65535&r.check)){t.msg="header crc mismatch",r.mode=ht;break}h=0,d=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),t.adler=r.check=0,r.mode=q;break;case G:for(;32>d;){if(0===u)break t;u--,h+=i[s++]<<d,d+=8}t.adler=r.check=n(h),h=0,d=0,r.mode=K;case K:if(0===r.havedict)return t.next_out=o,t.avail_out=l,t.next_in=s,t.avail_in=u,r.hold=h,r.bits=d,T;t.adler=r.check=1,r.mode=q;case q:if(e===E||e===I)break t;case V:if(r.last){h>>>=7&d,d-=7&d,r.mode=lt;break}for(;3>d;){if(0===u)break t;u--,h+=i[s++]<<d,d+=8}switch(r.last=1&h,h>>>=1,d-=1,3&h){case 0:r.mode=X;break;case 1:if(c(r),r.mode=rt,e===I){h>>>=2,d-=2;break t}break;case 2:r.mode=Q;break;case 3:t.msg="invalid block type",r.mode=ht}h>>>=2,d-=2;break;case X:for(h>>>=7&d,d-=7&d;32>d;){if(0===u)break t;u--,h+=i[s++]<<d,d+=8}if((65535&h)!==(h>>>16^65535)){t.msg="invalid stored block lengths",r.mode=ht;break}if(r.length=65535&h,h=0,d=0,r.mode=J,e===I)break t;case J:r.mode=$;case $:if(g=r.length){if(g>u&&(g=u),g>l&&(g=l),0===g)break t;y.arraySet(a,i,s,g,o),u-=g,s+=g,l-=g,o+=g,r.length-=g;break}r.mode=q;break;case Q:for(;14>d;){if(0===u)break t;u--,h+=i[s++]<<d,d+=8}if(r.nlen=(31&h)+257,h>>>=5,d-=5,r.ndist=(31&h)+1,h>>>=5,d-=5,r.ncode=(15&h)+4,h>>>=4,d-=4,r.nlen>286||r.ndist>30){t.msg="too many length or distance symbols",r.mode=ht;break}r.have=0,r.mode=tt;case tt:for(;r.have<r.ncode;){for(;3>d;){if(0===u)break t;u--,h+=i[s++]<<d,d+=8}r.lens[It[r.have++]]=7&h,h>>>=3,d-=3}for(;r.have<19;)r.lens[It[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,At={bits:r.lenbits},xt=k(x,r.lens,0,19,r.lencode,0,r.work,At),r.lenbits=At.bits,xt){t.msg="invalid code lengths set",r.mode=ht;break}r.have=0,r.mode=et;case et:for(;r.have<r.nlen+r.ndist;){for(;Ct=r.lencode[h&(1<<r.lenbits)-1],gt=Ct>>>24,_t=Ct>>>16&255,yt=65535&Ct,!(d>=gt);){if(0===u)break t;u--,h+=i[s++]<<d,d+=8}if(16>yt)h>>>=gt,d-=gt,r.lens[r.have++]=yt;else{if(16===yt){for(St=gt+2;St>d;){if(0===u)break t;u--,h+=i[s++]<<d,d+=8}if(h>>>=gt,d-=gt,0===r.have){t.msg="invalid bit length repeat",r.mode=ht;break}kt=r.lens[r.have-1],g=3+(3&h),h>>>=2,d-=2}else if(17===yt){for(St=gt+3;St>d;){if(0===u)break t;u--,h+=i[s++]<<d,d+=8}h>>>=gt,d-=gt,kt=0,g=3+(7&h),h>>>=3,d-=3}else{for(St=gt+7;St>d;){if(0===u)break t;u--,h+=i[s++]<<d,d+=8}h>>>=gt,d-=gt,kt=0,g=11+(127&h),h>>>=7,d-=7}if(r.have+g>r.nlen+r.ndist){t.msg="invalid bit length repeat",r.mode=ht;break}for(;g--;)r.lens[r.have++]=kt}}if(r.mode===ht)break;if(0===r.lens[256]){t.msg="invalid code -- missing end-of-block",r.mode=ht;break}if(r.lenbits=9,At={bits:r.lenbits},xt=k(A,r.lens,0,r.nlen,r.lencode,0,r.work,At),r.lenbits=At.bits,xt){t.msg="invalid literal/lengths set",r.mode=ht;break}if(r.distbits=6,r.distcode=r.distdyn,At={bits:r.distbits},xt=k(S,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,At),r.distbits=At.bits,xt){t.msg="invalid distances set",r.mode=ht;break}if(r.mode=rt,e===I)break t;case rt:r.mode=nt;case nt:if(u>=6&&l>=258){t.next_out=o,t.avail_out=l,t.next_in=s,t.avail_in=u,r.hold=h,r.bits=d,b(t,m),o=t.next_out,a=t.output,l=t.avail_out,s=t.next_in,i=t.input,u=t.avail_in,h=r.hold,d=r.bits,r.mode===q&&(r.back=-1);break}for(r.back=0;Ct=r.lencode[h&(1<<r.lenbits)-1],gt=Ct>>>24,_t=Ct>>>16&255,yt=65535&Ct,!(d>=gt);){if(0===u)break t;u--,h+=i[s++]<<d,
-d+=8}if(_t&&0===(240&_t)){for(vt=gt,wt=_t,bt=yt;Ct=r.lencode[bt+((h&(1<<vt+wt)-1)>>vt)],gt=Ct>>>24,_t=Ct>>>16&255,yt=65535&Ct,!(d>=vt+gt);){if(0===u)break t;u--,h+=i[s++]<<d,d+=8}h>>>=vt,d-=vt,r.back+=vt}if(h>>>=gt,d-=gt,r.back+=gt,r.length=yt,0===_t){r.mode=ut;break}if(32&_t){r.back=-1,r.mode=q;break}if(64&_t){t.msg="invalid literal/length code",r.mode=ht;break}r.extra=15&_t,r.mode=it;case it:if(r.extra){for(St=r.extra;St>d;){if(0===u)break t;u--,h+=i[s++]<<d,d+=8}r.length+=h&(1<<r.extra)-1,h>>>=r.extra,d-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=at;case at:for(;Ct=r.distcode[h&(1<<r.distbits)-1],gt=Ct>>>24,_t=Ct>>>16&255,yt=65535&Ct,!(d>=gt);){if(0===u)break t;u--,h+=i[s++]<<d,d+=8}if(0===(240&_t)){for(vt=gt,wt=_t,bt=yt;Ct=r.distcode[bt+((h&(1<<vt+wt)-1)>>vt)],gt=Ct>>>24,_t=Ct>>>16&255,yt=65535&Ct,!(d>=vt+gt);){if(0===u)break t;u--,h+=i[s++]<<d,d+=8}h>>>=vt,d-=vt,r.back+=vt}if(h>>>=gt,d-=gt,r.back+=gt,64&_t){t.msg="invalid distance code",r.mode=ht;break}r.offset=yt,r.extra=15&_t,r.mode=st;case st:if(r.extra){for(St=r.extra;St>d;){if(0===u)break t;u--,h+=i[s++]<<d,d+=8}r.offset+=h&(1<<r.extra)-1,h>>>=r.extra,d-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){t.msg="invalid distance too far back",r.mode=ht;break}r.mode=ot;case ot:if(0===l)break t;if(g=m-l,r.offset>g){if(g=r.offset-g,g>r.whave&&r.sane){t.msg="invalid distance too far back",r.mode=ht;break}g>r.wnext?(g-=r.wnext,_=r.wsize-g):_=r.wnext-g,g>r.length&&(g=r.length),mt=r.window}else mt=a,_=o-r.offset,g=r.length;g>l&&(g=l),l-=g,r.length-=g;do a[o++]=mt[_++];while(--g);0===r.length&&(r.mode=nt);break;case ut:if(0===l)break t;a[o++]=r.length,l--,r.mode=nt;break;case lt:if(r.wrap){for(;32>d;){if(0===u)break t;u--,h|=i[s++]<<d,d+=8}if(m-=l,t.total_out+=m,r.total+=m,m&&(t.adler=r.check=r.flags?w(r.check,a,m,o-m):v(r.check,a,m,o-m)),m=l,(r.flags?h:n(h))!==r.check){t.msg="incorrect data check",r.mode=ht;break}h=0,d=0}r.mode=ct;case ct:if(r.wrap&&r.flags){for(;32>d;){if(0===u)break t;u--,h+=i[s++]<<d,d+=8}if(h!==(4294967295&r.total)){t.msg="incorrect length check",r.mode=ht;break}h=0,d=0}r.mode=ft;case ft:xt=z;break t;case ht:xt=B;break t;case dt:return N;case pt:default:return F}return t.next_out=o,t.avail_out=l,t.next_in=s,t.avail_in=u,r.hold=h,r.bits=d,(r.wsize||m!==t.avail_out&&r.mode<ht&&(r.mode<lt||e!==C))&&f(t,t.output,t.next_out,m-t.avail_out)?(r.mode=dt,N):(p-=t.avail_in,m-=t.avail_out,t.total_in+=p,t.total_out+=m,r.total+=m,r.wrap&&m&&(t.adler=r.check=r.flags?w(r.check,a,m,t.next_out-m):v(r.check,a,m,t.next_out-m)),t.data_type=r.bits+(r.last?64:0)+(r.mode===q?128:0)+(r.mode===rt||r.mode===J?256:0),(0===p&&0===m||e===C)&&xt===O&&(xt=D),xt)}function d(t){if(!t||!t.state)return F;var e=t.state;return e.window&&(e.window=null),t.state=null,O}function p(t,e){var r;return t&&t.state?(r=t.state,0===(2&r.wrap)?F:(r.head=e,e.done=!1,O)):F}function m(t,e){var r,n,i,a=e.length;return t&&t.state?(r=t.state,0!==r.wrap&&r.mode!==K?F:r.mode===K&&(n=1,n=v(n,e,a,0),n!==r.check)?B:(i=f(t,e,a,a))?(r.mode=dt,N):(r.havedict=1,O)):F}var g,_,y=t("../utils/common"),v=t("./adler32"),w=t("./crc32"),b=t("./inffast"),k=t("./inftrees"),x=0,A=1,S=2,C=4,E=5,I=6,O=0,z=1,T=2,F=-2,B=-3,N=-4,D=-5,j=8,R=1,L=2,U=3,P=4,M=5,W=6,Z=7,H=8,Y=9,G=10,K=11,q=12,V=13,X=14,J=15,$=16,Q=17,tt=18,et=19,rt=20,nt=21,it=22,at=23,st=24,ot=25,ut=26,lt=27,ct=28,ft=29,ht=30,dt=31,pt=32,mt=852,gt=592,_t=15,yt=_t,vt=!0;r.inflateReset=s,r.inflateReset2=o,r.inflateResetKeep=a,r.inflateInit=l,r.inflateInit2=u,r.inflate=h,r.inflateEnd=d,r.inflateGetHeader=p,r.inflateSetDictionary=m,r.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./inffast":48,"./inftrees":50}],50:[function(t,e,r){"use strict";var n=t("../utils/common"),i=15,a=852,s=592,o=0,u=1,l=2,c=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],f=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],h=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],d=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];e.exports=function(t,e,r,p,m,g,_,y){var v,w,b,k,x,A,S,C,E,I=y.bits,O=0,z=0,T=0,F=0,B=0,N=0,D=0,j=0,R=0,L=0,U=null,P=0,M=new n.Buf16(i+1),W=new n.Buf16(i+1),Z=null,H=0;for(O=0;i>=O;O++)M[O]=0;for(z=0;p>z;z++)M[e[r+z]]++;for(B=I,F=i;F>=1&&0===M[F];F--);if(B>F&&(B=F),0===F)return m[g++]=20971520,m[g++]=20971520,y.bits=1,0;for(T=1;F>T&&0===M[T];T++);for(T>B&&(B=T),j=1,O=1;i>=O;O++)if(j<<=1,j-=M[O],0>j)return-1;if(j>0&&(t===o||1!==F))return-1;for(W[1]=0,O=1;i>O;O++)W[O+1]=W[O]+M[O];for(z=0;p>z;z++)0!==e[r+z]&&(_[W[e[r+z]]++]=z);if(t===o?(U=Z=_,A=19):t===u?(U=c,P-=257,Z=f,H-=257,A=256):(U=h,Z=d,A=-1),L=0,z=0,O=T,x=g,N=B,D=0,b=-1,R=1<<B,k=R-1,t===u&&R>a||t===l&&R>s)return 1;for(var Y=0;;){Y++,S=O-D,_[z]<A?(C=0,E=_[z]):_[z]>A?(C=Z[H+_[z]],E=U[P+_[z]]):(C=96,E=0),v=1<<O-D,w=1<<N,T=w;do w-=v,m[x+(L>>D)+w]=S<<24|C<<16|E|0;while(0!==w);for(v=1<<O-1;L&v;)v>>=1;if(0!==v?(L&=v-1,L+=v):L=0,z++,0===--M[O]){if(O===F)break;O=e[r+_[z]]}if(O>B&&(L&k)!==b){for(0===D&&(D=B),x+=T,N=O-D,j=1<<N;F>N+D&&(j-=M[N+D],!(0>=j));)N++,j<<=1;if(R+=1<<N,t===u&&R>a||t===l&&R>s)return 1;b=L&k,m[b]=B<<24|N<<16|x-g|0}}return 0!==L&&(m[x+L]=O-D<<24|64<<16|0),y.bits=B,0}},{"../utils/common":41}],51:[function(t,e,r){"use strict";e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],52:[function(t,e,r){"use strict";function n(t){for(var e=t.length;--e>=0;)t[e]=0}function i(t,e,r,n,i){this.static_tree=t,this.extra_bits=e,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=t&&t.length}function a(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}function s(t){return 256>t?ut[t]:ut[256+(t>>>7)]}function o(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function u(t,e,r){t.bi_valid>V-r?(t.bi_buf|=e<<t.bi_valid&65535,o(t,t.bi_buf),t.bi_buf=e>>V-t.bi_valid,t.bi_valid+=r-V):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=r)}function l(t,e,r){u(t,r[2*e],r[2*e+1])}function c(t,e){var r=0;do r|=1&t,t>>>=1,r<<=1;while(--e>0);return r>>>1}function f(t){16===t.bi_valid?(o(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}function h(t,e){var r,n,i,a,s,o,u=e.dyn_tree,l=e.max_code,c=e.stat_desc.static_tree,f=e.stat_desc.has_stree,h=e.stat_desc.extra_bits,d=e.stat_desc.extra_base,p=e.stat_desc.max_length,m=0;for(a=0;q>=a;a++)t.bl_count[a]=0;for(u[2*t.heap[t.heap_max]+1]=0,r=t.heap_max+1;K>r;r++)n=t.heap[r],a=u[2*u[2*n+1]+1]+1,a>p&&(a=p,m++),u[2*n+1]=a,n>l||(t.bl_count[a]++,s=0,n>=d&&(s=h[n-d]),o=u[2*n],t.opt_len+=o*(a+s),f&&(t.static_len+=o*(c[2*n+1]+s)));if(0!==m){do{for(a=p-1;0===t.bl_count[a];)a--;t.bl_count[a]--,t.bl_count[a+1]+=2,t.bl_count[p]--,m-=2}while(m>0);for(a=p;0!==a;a--)for(n=t.bl_count[a];0!==n;)i=t.heap[--r],i>l||(u[2*i+1]!==a&&(t.opt_len+=(a-u[2*i+1])*u[2*i],u[2*i+1]=a),n--)}}function d(t,e,r){var n,i,a=new Array(q+1),s=0;for(n=1;q>=n;n++)a[n]=s=s+r[n-1]<<1;for(i=0;e>=i;i++){var o=t[2*i+1];0!==o&&(t[2*i]=c(a[o]++,o))}}function p(){var t,e,r,n,a,s=new Array(q+1);for(r=0,n=0;W-1>n;n++)for(ct[n]=r,t=0;t<1<<et[n];t++)lt[r++]=n;for(lt[r-1]=n,a=0,n=0;16>n;n++)for(ft[n]=a,t=0;t<1<<rt[n];t++)ut[a++]=n;for(a>>=7;Y>n;n++)for(ft[n]=a<<7,t=0;t<1<<rt[n]-7;t++)ut[256+a++]=n;for(e=0;q>=e;e++)s[e]=0;for(t=0;143>=t;)st[2*t+1]=8,t++,s[8]++;for(;255>=t;)st[2*t+1]=9,t++,s[9]++;for(;279>=t;)st[2*t+1]=7,t++,s[7]++;for(;287>=t;)st[2*t+1]=8,t++,s[8]++;for(d(st,H+1,s),t=0;Y>t;t++)ot[2*t+1]=5,ot[2*t]=c(t,5);ht=new i(st,et,Z+1,H,q),dt=new i(ot,rt,0,Y,q),pt=new i(new Array(0),nt,0,G,X)}function m(t){var e;for(e=0;H>e;e++)t.dyn_ltree[2*e]=0;for(e=0;Y>e;e++)t.dyn_dtree[2*e]=0;for(e=0;G>e;e++)t.bl_tree[2*e]=0;t.dyn_ltree[2*J]=1,t.opt_len=t.static_len=0,t.last_lit=t.matches=0}function g(t){t.bi_valid>8?o(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0}function _(t,e,r,n){g(t),n&&(o(t,r),o(t,~r)),F.arraySet(t.pending_buf,t.window,e,r,t.pending),t.pending+=r}function y(t,e,r,n){var i=2*e,a=2*r;return t[i]<t[a]||t[i]===t[a]&&n[e]<=n[r]}function v(t,e,r){for(var n=t.heap[r],i=r<<1;i<=t.heap_len&&(i<t.heap_len&&y(e,t.heap[i+1],t.heap[i],t.depth)&&i++,!y(e,n,t.heap[i],t.depth));)t.heap[r]=t.heap[i],r=i,i<<=1;t.heap[r]=n}function w(t,e,r){var n,i,a,o,c=0;if(0!==t.last_lit)do n=t.pending_buf[t.d_buf+2*c]<<8|t.pending_buf[t.d_buf+2*c+1],i=t.pending_buf[t.l_buf+c],c++,0===n?l(t,i,e):(a=lt[i],l(t,a+Z+1,e),o=et[a],0!==o&&(i-=ct[a],u(t,i,o)),n--,a=s(n),l(t,a,r),o=rt[a],0!==o&&(n-=ft[a],u(t,n,o)));while(c<t.last_lit);l(t,J,e)}function b(t,e){var r,n,i,a=e.dyn_tree,s=e.stat_desc.static_tree,o=e.stat_desc.has_stree,u=e.stat_desc.elems,l=-1;for(t.heap_len=0,t.heap_max=K,r=0;u>r;r++)0!==a[2*r]?(t.heap[++t.heap_len]=l=r,t.depth[r]=0):a[2*r+1]=0;for(;t.heap_len<2;)i=t.heap[++t.heap_len]=2>l?++l:0,a[2*i]=1,t.depth[i]=0,t.opt_len--,o&&(t.static_len-=s[2*i+1]);for(e.max_code=l,r=t.heap_len>>1;r>=1;r--)v(t,a,r);i=u;do r=t.heap[1],t.heap[1]=t.heap[t.heap_len--],v(t,a,1),n=t.heap[1],t.heap[--t.heap_max]=r,t.heap[--t.heap_max]=n,a[2*i]=a[2*r]+a[2*n],t.depth[i]=(t.depth[r]>=t.depth[n]?t.depth[r]:t.depth[n])+1,a[2*r+1]=a[2*n+1]=i,t.heap[1]=i++,v(t,a,1);while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],h(t,e),d(a,l,t.bl_count)}function k(t,e,r){var n,i,a=-1,s=e[1],o=0,u=7,l=4;for(0===s&&(u=138,l=3),e[2*(r+1)+1]=65535,n=0;r>=n;n++)i=s,s=e[2*(n+1)+1],++o<u&&i===s||(l>o?t.bl_tree[2*i]+=o:0!==i?(i!==a&&t.bl_tree[2*i]++,t.bl_tree[2*$]++):10>=o?t.bl_tree[2*Q]++:t.bl_tree[2*tt]++,o=0,a=i,0===s?(u=138,l=3):i===s?(u=6,l=3):(u=7,l=4))}function x(t,e,r){var n,i,a=-1,s=e[1],o=0,c=7,f=4;for(0===s&&(c=138,f=3),n=0;r>=n;n++)if(i=s,s=e[2*(n+1)+1],!(++o<c&&i===s)){if(f>o){do l(t,i,t.bl_tree);while(0!==--o)}else 0!==i?(i!==a&&(l(t,i,t.bl_tree),o--),l(t,$,t.bl_tree),u(t,o-3,2)):10>=o?(l(t,Q,t.bl_tree),u(t,o-3,3)):(l(t,tt,t.bl_tree),u(t,o-11,7));o=0,a=i,0===s?(c=138,f=3):i===s?(c=6,f=3):(c=7,f=4)}}function A(t){var e;for(k(t,t.dyn_ltree,t.l_desc.max_code),k(t,t.dyn_dtree,t.d_desc.max_code),b(t,t.bl_desc),e=G-1;e>=3&&0===t.bl_tree[2*it[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}function S(t,e,r,n){var i;for(u(t,e-257,5),u(t,r-1,5),u(t,n-4,4),i=0;n>i;i++)u(t,t.bl_tree[2*it[i]+1],3);x(t,t.dyn_ltree,e-1),x(t,t.dyn_dtree,r-1)}function C(t){var e,r=4093624447;for(e=0;31>=e;e++,r>>>=1)if(1&r&&0!==t.dyn_ltree[2*e])return N;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return D;for(e=32;Z>e;e++)if(0!==t.dyn_ltree[2*e])return D;return N}function E(t){mt||(p(),mt=!0),t.l_desc=new a(t.dyn_ltree,ht),t.d_desc=new a(t.dyn_dtree,dt),t.bl_desc=new a(t.bl_tree,pt),t.bi_buf=0,t.bi_valid=0,m(t)}function I(t,e,r,n){u(t,(R<<1)+(n?1:0),3),_(t,e,r,!0)}function O(t){u(t,L<<1,3),l(t,J,st),f(t)}function z(t,e,r,n){var i,a,s=0;t.level>0?(t.strm.data_type===j&&(t.strm.data_type=C(t)),b(t,t.l_desc),b(t,t.d_desc),s=A(t),i=t.opt_len+3+7>>>3,a=t.static_len+3+7>>>3,i>=a&&(i=a)):i=a=r+5,i>=r+4&&-1!==e?I(t,e,r,n):t.strategy===B||a===i?(u(t,(L<<1)+(n?1:0),3),w(t,st,ot)):(u(t,(U<<1)+(n?1:0),3),S(t,t.l_desc.max_code+1,t.d_desc.max_code+1,s+1),w(t,t.dyn_ltree,t.dyn_dtree)),m(t),n&&g(t)}function T(t,e,r){return t.pending_buf[t.d_buf+2*t.last_lit]=e>>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&r,t.last_lit++,0===e?t.dyn_ltree[2*r]++:(t.matches++,e--,t.dyn_ltree[2*(lt[r]+Z+1)]++,t.dyn_dtree[2*s(e)]++),t.last_lit===t.lit_bufsize-1}var F=t("../utils/common"),B=4,N=0,D=1,j=2,R=0,L=1,U=2,P=3,M=258,W=29,Z=256,H=Z+1+W,Y=30,G=19,K=2*H+1,q=15,V=16,X=7,J=256,$=16,Q=17,tt=18,et=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],rt=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],nt=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],it=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],at=512,st=new Array(2*(H+2));n(st);var ot=new Array(2*Y);n(ot);var ut=new Array(at);n(ut);var lt=new Array(M-P+1);n(lt);var ct=new Array(W);n(ct);var ft=new Array(Y);n(ft);var ht,dt,pt,mt=!1;r._tr_init=E,r._tr_stored_block=I,r._tr_flush_block=z,r._tr_tally=T,r._tr_align=O},{"../utils/common":41}],53:[function(t,e,r){"use strict";function n(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}e.exports=n},{}]},{},[10])(10)});var saveAs=saveAs||function(t){"use strict";if(!("undefined"==typeof t||"undefined"!=typeof navigator&&/MSIE [1-9]\./.test(navigator.userAgent))){var e=t.document,r=function(){return t.URL||t.webkitURL||t},n=e.createElementNS("http://www.w3.org/1999/xhtml","a"),i="download"in n,a=function(t){var e=new MouseEvent("click");t.dispatchEvent(e)},s=/constructor/i.test(t.HTMLElement),o=/CriOS\/[\d]+/.test(navigator.userAgent),u=function(e){(t.setImmediate||t.setTimeout)(function(){throw e},0)},l="application/octet-stream",c=4e4,f=function(t){var e=function(){"string"==typeof t?r().revokeObjectURL(t):t.remove()};setTimeout(e,c)},h=function(t,e,r){e=[].concat(e);for(var n=e.length;n--;){var i=t["on"+e[n]];if("function"==typeof i)try{i.call(t,r||t)}catch(a){u(a)}}},d=function(t){return/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(t.type)?new Blob([String.fromCharCode(65279),t],{type:t.type}):t},p=function(e,u,c){c||(e=d(e));var p,m=this,g=e.type,_=g===l,y=function(){h(m,"writestart progress write writeend".split(" "))},v=function(){if((o||_&&s)&&t.FileReader){var n=new FileReader;return n.onloadend=function(){var e=o?n.result:n.result.replace(/^data:[^;]*;/,"data:attachment/file;"),r=t.open(e,"_blank");r||(t.location.href=e),e=void 0,m.readyState=m.DONE,y()},n.readAsDataURL(e),void(m.readyState=m.INIT)}if(p||(p=r().createObjectURL(e)),_)t.location.href=p;else{var i=t.open(p,"_blank");i||(t.location.href=p)}m.readyState=m.DONE,y(),f(p)};return m.readyState=m.INIT,i?(p=r().createObjectURL(e),void setTimeout(function(){n.href=p,n.download=u,a(n),y(),f(p),m.readyState=m.DONE})):void v()},m=p.prototype,g=function(t,e,r){return new p(t,e||t.name||"download",r)};return"undefined"!=typeof navigator&&navigator.msSaveOrOpenBlob?function(t,e,r){return e=e||t.name||"download",r||(t=d(t)),navigator.msSaveOrOpenBlob(t,e)}:(m.abort=function(){},m.readyState=m.INIT=0,m.WRITING=1,m.DONE=2,m.error=m.onwritestart=m.onprogress=m.onwrite=m.onabort=m.onerror=m.onwriteend=null,g)}}("undefined"!=typeof self&&self||"undefined"!=typeof window&&window||this.content);"undefined"!=typeof module&&module.exports?module.exports.saveAs=saveAs:"undefined"!=typeof define&&null!==define&&null!==define.amd&&define([],function(){return saveAs});
\ No newline at end of file
+!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.jsyaml=t()}}(function(){return function t(e,n,r){function i(a,s){if(!n[a]){if(!e[a]){var u="function"==typeof require&&require;if(!s&&u)return u(a,!0);if(o)return o(a,!0);var c=new Error("Cannot find module '"+a+"'");throw c.code="MODULE_NOT_FOUND",c}var f=n[a]={exports:{}};e[a][0].call(f.exports,function(t){var n=e[a][1][t];return i(n?n:t)},f,f.exports,t,e,n,r)}return n[a].exports}for(var o="function"==typeof require&&require,a=0;a<r.length;a++)i(r[a]);return i}({1:[function(t,e,n){"use strict";function r(t){return function(){throw new Error("Function "+t+" is deprecated and cannot be used.")}}var i=t("./js-yaml/loader"),o=t("./js-yaml/dumper");e.exports.Type=t("./js-yaml/type"),e.exports.Schema=t("./js-yaml/schema"),e.exports.FAILSAFE_SCHEMA=t("./js-yaml/schema/failsafe"),e.exports.JSON_SCHEMA=t("./js-yaml/schema/json"),e.exports.CORE_SCHEMA=t("./js-yaml/schema/core"),e.exports.DEFAULT_SAFE_SCHEMA=t("./js-yaml/schema/default_safe"),e.exports.DEFAULT_FULL_SCHEMA=t("./js-yaml/schema/default_full"),e.exports.load=i.load,e.exports.loadAll=i.loadAll,e.exports.safeLoad=i.safeLoad,e.exports.safeLoadAll=i.safeLoadAll,e.exports.dump=o.dump,e.exports.safeDump=o.safeDump,e.exports.YAMLException=t("./js-yaml/exception"),e.exports.MINIMAL_SCHEMA=t("./js-yaml/schema/failsafe"),e.exports.SAFE_SCHEMA=t("./js-yaml/schema/default_safe"),e.exports.DEFAULT_SCHEMA=t("./js-yaml/schema/default_full"),e.exports.scan=r("scan"),e.exports.parse=r("parse"),e.exports.compose=r("compose"),e.exports.addConstructor=r("addConstructor")},{"./js-yaml/dumper":3,"./js-yaml/exception":4,"./js-yaml/loader":5,"./js-yaml/schema":7,"./js-yaml/schema/core":8,"./js-yaml/schema/default_full":9,"./js-yaml/schema/default_safe":10,"./js-yaml/schema/failsafe":11,"./js-yaml/schema/json":12,"./js-yaml/type":13}],2:[function(t,e,n){"use strict";function r(t){return"undefined"==typeof t||null===t}function i(t){return"object"==typeof t&&null!==t}function o(t){return Array.isArray(t)?t:r(t)?[]:[t]}function a(t,e){var n,r,i,o;if(e)for(o=Object.keys(e),n=0,r=o.length;r>n;n+=1)i=o[n],t[i]=e[i];return t}function s(t,e){var n,r="";for(n=0;e>n;n+=1)r+=t;return r}function u(t){return 0===t&&Number.NEGATIVE_INFINITY===1/t}e.exports.isNothing=r,e.exports.isObject=i,e.exports.toArray=o,e.exports.repeat=s,e.exports.isNegativeZero=u,e.exports.extend=a},{}],3:[function(t,e,n){"use strict";function r(t,e){var n,r,i,o,a,s,u;if(null===e)return{};for(n={},r=Object.keys(e),i=0,o=r.length;o>i;i+=1)a=r[i],s=String(e[a]),"!!"===a.slice(0,2)&&(a="tag:yaml.org,2002:"+a.slice(2)),u=t.compiledTypeMap[a],u&&R.call(u.styleAliases,s)&&(s=u.styleAliases[s]),n[a]=s;return n}function i(t){var e,n,r;if(e=t.toString(16).toUpperCase(),255>=t)n="x",r=2;else if(65535>=t)n="u",r=4;else{if(!(4294967295>=t))throw new j("code point within a string may not be greater than 0xFFFFFFFF");n="U",r=8}return"\\"+n+z.repeat("0",r-e.length)+e}function o(t){this.schema=t.schema||T,this.indent=Math.max(1,t.indent||2),this.skipInvalid=t.skipInvalid||!1,this.flowLevel=z.isNothing(t.flowLevel)?-1:t.flowLevel,this.styleMap=r(this.schema,t.styles||null),this.sortKeys=t.sortKeys||!1,this.lineWidth=t.lineWidth||80,this.noRefs=t.noRefs||!1,this.noCompatMode=t.noCompatMode||!1,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function a(t,e){for(var n,r=z.repeat(" ",e),i=0,o=-1,a="",s=t.length;s>i;)o=t.indexOf("\n",i),-1===o?(n=t.slice(i),i=s):(n=t.slice(i,o+1),i=o+1),n.length&&"\n"!==n&&(a+=r),a+=n;return a}function s(t,e){return"\n"+z.repeat(" ",t.indent*e)}function u(t,e){var n,r,i;for(n=0,r=t.implicitTypes.length;r>n;n+=1)if(i=t.implicitTypes[n],i.resolve(e))return!0;return!1}function c(t){return t===L||t===D}function f(t){return t>=32&&126>=t||t>=161&&55295>=t&&8232!==t&&8233!==t||t>=57344&&65533>=t&&65279!==t||t>=65536&&1114111>=t}function l(t){return f(t)&&65279!==t&&t!==H&&t!==J&&t!==Q&&t!==et&&t!==rt&&t!==K&&t!==M}function h(t){return f(t)&&65279!==t&&!c(t)&&t!==G&&t!==V&&t!==K&&t!==H&&t!==J&&t!==Q&&t!==et&&t!==rt&&t!==M&&t!==Z&&t!==Y&&t!==U&&t!==nt&&t!==$&&t!==q&&t!==P&&t!==W&&t!==X&&t!==tt}function d(t,e,n,r,i){var o,a,s=!1,u=!1,d=-1!==r,p=-1,_=h(t.charCodeAt(0))&&!c(t.charCodeAt(t.length-1));if(e)for(o=0;o<t.length;o++){if(a=t.charCodeAt(o),!f(a))return ft;_=_&&l(a)}else{for(o=0;o<t.length;o++){if(a=t.charCodeAt(o),a===B)s=!0,d&&(u=u||o-p-1>r&&" "!==t[p+1],p=o);else if(!f(a))return ft;_=_&&l(a)}u=u||d&&o-p-1>r&&" "!==t[p+1]}return s||u?" "===t[0]&&n>9?ft:u?ct:ut:_&&!i(t)?at:st}function p(t,e,n,r){t.dump=function(){function i(e){return u(t,e)}if(0===e.length)return"''";if(!t.noCompatMode&&-1!==ot.indexOf(e))return"'"+e+"'";var o=t.indent*Math.max(1,n),s=-1===t.lineWidth?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-o),c=r||t.flowLevel>-1&&n>=t.flowLevel;switch(d(e,c,t.indent,s,i)){case at:return e;case st:return"'"+e.replace(/'/g,"''")+"'";case ut:return"|"+_(e,t.indent)+g(a(e,o));case ct:return">"+_(e,t.indent)+g(a(v(e,s),o));case ft:return'"'+y(e,s)+'"';default:throw new j("impossible error: invalid scalar style")}}()}function _(t,e){var n=" "===t[0]?String(e):"",r="\n"===t[t.length-1],i=r&&("\n"===t[t.length-2]||"\n"===t),o=i?"+":r?"":"-";return n+o+"\n"}function g(t){return"\n"===t[t.length-1]?t.slice(0,-1):t}function v(t,e){for(var n,r,i=/(\n+)([^\n]*)/g,o=function(){var n=t.indexOf("\n");return n=-1!==n?n:t.length,i.lastIndex=n,m(t.slice(0,n),e)}(),a="\n"===t[0]||" "===t[0];r=i.exec(t);){var s=r[1],u=r[2];n=" "===u[0],o+=s+(a||n||""===u?"":"\n")+m(u,e),a=n}return o}function m(t,e){if(""===t||" "===t[0])return t;for(var n,r,i=/ [^ ]/g,o=0,a=0,s=0,u="";n=i.exec(t);)s=n.index,s-o>e&&(r=a>o?a:s,u+="\n"+t.slice(o,r),o=r+1),a=s;return u+="\n",u+=t.length-o>e&&a>o?t.slice(o,a)+"\n"+t.slice(a+1):t.slice(o),u.slice(1)}function y(t){for(var e,n,r="",o=0;o<t.length;o++)e=t.charCodeAt(o),n=it[e],r+=!n&&f(e)?t[o]:n||i(e);return r}function w(t,e,n){var r,i,o="",a=t.tag;for(r=0,i=n.length;i>r;r+=1)C(t,e,n[r],!1,!1)&&(0!==r&&(o+=", "),o+=t.dump);t.tag=a,t.dump="["+o+"]"}function b(t,e,n,r){var i,o,a="",u=t.tag;for(i=0,o=n.length;o>i;i+=1)C(t,e+1,n[i],!0,!0)&&(r&&0===i||(a+=s(t,e)),a+="- "+t.dump);t.tag=u,t.dump=a||"[]"}function x(t,e,n){var r,i,o,a,s,u="",c=t.tag,f=Object.keys(n);for(r=0,i=f.length;i>r;r+=1)s="",0!==r&&(s+=", "),o=f[r],a=n[o],C(t,e,o,!1,!1)&&(t.dump.length>1024&&(s+="? "),s+=t.dump+": ",C(t,e,a,!1,!1)&&(s+=t.dump,u+=s));t.tag=c,t.dump="{"+u+"}"}function k(t,e,n,r){var i,o,a,u,c,f,l="",h=t.tag,d=Object.keys(n);if(t.sortKeys===!0)d.sort();else if("function"==typeof t.sortKeys)d.sort(t.sortKeys);else if(t.sortKeys)throw new j("sortKeys must be a boolean or a function");for(i=0,o=d.length;o>i;i+=1)f="",r&&0===i||(f+=s(t,e)),a=d[i],u=n[a],C(t,e+1,a,!0,!0,!0)&&(c=null!==t.tag&&"?"!==t.tag||t.dump&&t.dump.length>1024,c&&(f+=t.dump&&B===t.dump.charCodeAt(0)?"?":"? "),f+=t.dump,c&&(f+=s(t,e)),C(t,e+1,u,!0,c)&&(f+=t.dump&&B===t.dump.charCodeAt(0)?":":": ",f+=t.dump,l+=f));t.tag=h,t.dump=l||"{}"}function A(t,e,n){var r,i,o,a,s,u;for(i=n?t.explicitTypes:t.implicitTypes,o=0,a=i.length;a>o;o+=1)if(s=i[o],(s.instanceOf||s.predicate)&&(!s.instanceOf||"object"==typeof e&&e instanceof s.instanceOf)&&(!s.predicate||s.predicate(e))){if(t.tag=n?s.tag:"?",s.represent){if(u=t.styleMap[s.tag]||s.defaultStyle,"[object Function]"===F.call(s.represent))r=s.represent(e,u);else{if(!R.call(s.represent,u))throw new j("!<"+s.tag+'> tag resolver accepts not "'+u+'" style');r=s.represent[u](e,u)}t.dump=r}return!0}return!1}function C(t,e,n,r,i,o){t.tag=null,t.dump=n,A(t,n,!1)||A(t,n,!0);var a=F.call(t.dump);r&&(r=t.flowLevel<0||t.flowLevel>e);var s,u,c="[object Object]"===a||"[object Array]"===a;if(c&&(s=t.duplicates.indexOf(n),u=-1!==s),(null!==t.tag&&"?"!==t.tag||u||2!==t.indent&&e>0)&&(i=!1),u&&t.usedDuplicates[s])t.dump="*ref_"+s;else{if(c&&u&&!t.usedDuplicates[s]&&(t.usedDuplicates[s]=!0),"[object Object]"===a)r&&0!==Object.keys(t.dump).length?(k(t,e,t.dump,i),u&&(t.dump="&ref_"+s+t.dump)):(x(t,e,t.dump),u&&(t.dump="&ref_"+s+" "+t.dump));else if("[object Array]"===a)r&&0!==t.dump.length?(b(t,e,t.dump,i),u&&(t.dump="&ref_"+s+t.dump)):(w(t,e,t.dump),u&&(t.dump="&ref_"+s+" "+t.dump));else{if("[object String]"!==a){if(t.skipInvalid)return!1;throw new j("unacceptable kind of an object to dump "+a)}"?"!==t.tag&&p(t,t.dump,e,o)}null!==t.tag&&"?"!==t.tag&&(t.dump="!<"+t.tag+"> "+t.dump)}return!0}function S(t,e){var n,r,i=[],o=[];for(E(t,i,o),n=0,r=o.length;r>n;n+=1)e.duplicates.push(i[o[n]]);e.usedDuplicates=new Array(r)}function E(t,e,n){var r,i,o;if(null!==t&&"object"==typeof t)if(i=e.indexOf(t),-1!==i)-1===n.indexOf(i)&&n.push(i);else if(e.push(t),Array.isArray(t))for(i=0,o=t.length;o>i;i+=1)E(t[i],e,n);else for(r=Object.keys(t),i=0,o=r.length;o>i;i+=1)E(t[r[i]],e,n)}function I(t,e){e=e||{};var n=new o(e);return n.noRefs||S(t,n),C(n,0,t,!0,!0)?n.dump+"\n":""}function O(t,e){return I(t,z.extend({schema:N},e))}var z=t("./common"),j=t("./exception"),T=t("./schema/default_full"),N=t("./schema/default_safe"),F=Object.prototype.toString,R=Object.prototype.hasOwnProperty,D=9,B=10,L=32,U=33,P=34,M=35,W=37,Z=38,q=39,Y=42,H=44,G=45,K=58,$=62,V=63,X=64,J=91,Q=93,tt=96,et=123,nt=124,rt=125,it={};it[0]="\\0",it[7]="\\a",it[8]="\\b",it[9]="\\t",it[10]="\\n",it[11]="\\v",it[12]="\\f",it[13]="\\r",it[27]="\\e",it[34]='\\"',it[92]="\\\\",it[133]="\\N",it[160]="\\_",it[8232]="\\L",it[8233]="\\P";var ot=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],at=1,st=2,ut=3,ct=4,ft=5;e.exports.dump=I,e.exports.safeDump=O},{"./common":2,"./exception":4,"./schema/default_full":9,"./schema/default_safe":10}],4:[function(t,e,n){"use strict";function r(t,e){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||"",this.name="YAMLException",this.reason=t,this.mark=e,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():"")}r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,r.prototype.toString=function(t){var e=this.name+": ";return e+=this.reason||"(unknown reason)",!t&&this.mark&&(e+=" "+this.mark.toString()),e},e.exports=r},{}],5:[function(t,e,n){"use strict";function r(t){return 10===t||13===t}function i(t){return 9===t||32===t}function o(t){return 9===t||32===t||10===t||13===t}function a(t){return 44===t||91===t||93===t||123===t||125===t}function s(t){var e;return t>=48&&57>=t?t-48:(e=32|t,e>=97&&102>=e?e-97+10:-1)}function u(t){return 120===t?2:117===t?4:85===t?8:0}function c(t){return t>=48&&57>=t?t-48:-1}function f(t){return 48===t?"\x00":97===t?"":98===t?"\b":116===t?"	":9===t?"	":110===t?"\n":118===t?"\x0B":102===t?"\f":114===t?"\r":101===t?"":32===t?" ":34===t?'"':47===t?"/":92===t?"\\":78===t?"Â…":95===t?" ":76===t?"\u2028":80===t?"\u2029":""}function l(t){return 65535>=t?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}function h(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||q,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function d(t,e){return new M(e,new W(t.filename,t.input,t.position,t.line,t.position-t.lineStart))}function p(t,e){throw d(t,e)}function _(t,e){t.onWarning&&t.onWarning.call(null,d(t,e))}function g(t,e,n,r){var i,o,a,s;if(n>e){if(s=t.input.slice(e,n),r)for(i=0,o=s.length;o>i;i+=1)a=s.charCodeAt(i),9===a||a>=32&&1114111>=a||p(t,"expected valid JSON character");else Q.test(s)&&p(t,"the stream contains non-printable characters");t.result+=s}}function v(t,e,n,r){var i,o,a,s;for(P.isObject(n)||p(t,"cannot merge mappings; the provided source object is unacceptable"),i=Object.keys(n),a=0,s=i.length;s>a;a+=1)o=i[a],Y.call(e,o)||(e[o]=n[o],r[o]=!0)}function m(t,e,n,r,i,o){var a,s;if(i=String(i),null===e&&(e={}),"tag:yaml.org,2002:merge"===r)if(Array.isArray(o))for(a=0,s=o.length;s>a;a+=1)v(t,e,o[a],n);else v(t,e,o,n);else t.json||Y.call(n,i)||!Y.call(e,i)||p(t,"duplicated mapping key"),e[i]=o,delete n[i];return e}function y(t){var e;e=t.input.charCodeAt(t.position),10===e?t.position++:13===e?(t.position++,10===t.input.charCodeAt(t.position)&&t.position++):p(t,"a line break is expected"),t.line+=1,t.lineStart=t.position}function w(t,e,n){for(var o=0,a=t.input.charCodeAt(t.position);0!==a;){for(;i(a);)a=t.input.charCodeAt(++t.position);if(e&&35===a)do a=t.input.charCodeAt(++t.position);while(10!==a&&13!==a&&0!==a);if(!r(a))break;for(y(t),a=t.input.charCodeAt(t.position),o++,t.lineIndent=0;32===a;)t.lineIndent++,a=t.input.charCodeAt(++t.position)}return-1!==n&&0!==o&&t.lineIndent<n&&_(t,"deficient indentation"),o}function b(t){var e,n=t.position;return e=t.input.charCodeAt(n),(45===e||46===e)&&e===t.input.charCodeAt(n+1)&&e===t.input.charCodeAt(n+2)&&(n+=3,e=t.input.charCodeAt(n),0===e||o(e))}function x(t,e){1===e?t.result+=" ":e>1&&(t.result+=P.repeat("\n",e-1))}function k(t,e,n){var s,u,c,f,l,h,d,p,_,v=t.kind,m=t.result;if(_=t.input.charCodeAt(t.position),o(_)||a(_)||35===_||38===_||42===_||33===_||124===_||62===_||39===_||34===_||37===_||64===_||96===_)return!1;if((63===_||45===_)&&(u=t.input.charCodeAt(t.position+1),o(u)||n&&a(u)))return!1;for(t.kind="scalar",t.result="",c=f=t.position,l=!1;0!==_;){if(58===_){if(u=t.input.charCodeAt(t.position+1),o(u)||n&&a(u))break}else if(35===_){if(s=t.input.charCodeAt(t.position-1),o(s))break}else{if(t.position===t.lineStart&&b(t)||n&&a(_))break;if(r(_)){if(h=t.line,d=t.lineStart,p=t.lineIndent,w(t,!1,-1),t.lineIndent>=e){l=!0,_=t.input.charCodeAt(t.position);continue}t.position=f,t.line=h,t.lineStart=d,t.lineIndent=p;break}}l&&(g(t,c,f,!1),x(t,t.line-h),c=f=t.position,l=!1),i(_)||(f=t.position+1),_=t.input.charCodeAt(++t.position)}return g(t,c,f,!1),t.result?!0:(t.kind=v,t.result=m,!1)}function A(t,e){var n,i,o;if(n=t.input.charCodeAt(t.position),39!==n)return!1;for(t.kind="scalar",t.result="",t.position++,i=o=t.position;0!==(n=t.input.charCodeAt(t.position));)if(39===n){if(g(t,i,t.position,!0),n=t.input.charCodeAt(++t.position),39!==n)return!0;i=o=t.position,t.position++}else r(n)?(g(t,i,o,!0),x(t,w(t,!1,e)),i=o=t.position):t.position===t.lineStart&&b(t)?p(t,"unexpected end of the document within a single quoted scalar"):(t.position++,o=t.position);p(t,"unexpected end of the stream within a single quoted scalar")}function C(t,e){var n,i,o,a,c,f;if(f=t.input.charCodeAt(t.position),34!==f)return!1;for(t.kind="scalar",t.result="",t.position++,n=i=t.position;0!==(f=t.input.charCodeAt(t.position));){if(34===f)return g(t,n,t.position,!0),t.position++,!0;if(92===f){if(g(t,n,t.position,!0),f=t.input.charCodeAt(++t.position),r(f))w(t,!1,e);else if(256>f&&it[f])t.result+=ot[f],t.position++;else if((c=u(f))>0){for(o=c,a=0;o>0;o--)f=t.input.charCodeAt(++t.position),(c=s(f))>=0?a=(a<<4)+c:p(t,"expected hexadecimal character");t.result+=l(a),t.position++}else p(t,"unknown escape sequence");n=i=t.position}else r(f)?(g(t,n,i,!0),x(t,w(t,!1,e)),n=i=t.position):t.position===t.lineStart&&b(t)?p(t,"unexpected end of the document within a double quoted scalar"):(t.position++,i=t.position)}p(t,"unexpected end of the stream within a double quoted scalar")}function S(t,e){var n,r,i,a,s,u,c,f,l,h,d,_=!0,g=t.tag,v=t.anchor,y={};if(d=t.input.charCodeAt(t.position),91===d)a=93,c=!1,r=[];else{if(123!==d)return!1;a=125,c=!0,r={}}for(null!==t.anchor&&(t.anchorMap[t.anchor]=r),d=t.input.charCodeAt(++t.position);0!==d;){if(w(t,!0,e),d=t.input.charCodeAt(t.position),d===a)return t.position++,t.tag=g,t.anchor=v,t.kind=c?"mapping":"sequence",t.result=r,!0;_||p(t,"missed comma between flow collection entries"),l=f=h=null,s=u=!1,63===d&&(i=t.input.charCodeAt(t.position+1),o(i)&&(s=u=!0,t.position++,w(t,!0,e))),n=t.line,N(t,e,H,!1,!0),l=t.tag,f=t.result,w(t,!0,e),d=t.input.charCodeAt(t.position),!u&&t.line!==n||58!==d||(s=!0,d=t.input.charCodeAt(++t.position),w(t,!0,e),N(t,e,H,!1,!0),h=t.result),c?m(t,r,y,l,f,h):s?r.push(m(t,null,y,l,f,h)):r.push(f),w(t,!0,e),d=t.input.charCodeAt(t.position),44===d?(_=!0,d=t.input.charCodeAt(++t.position)):_=!1}p(t,"unexpected end of the stream within a flow collection")}function E(t,e){var n,o,a,s,u=V,f=!1,l=!1,h=e,d=0,_=!1;if(s=t.input.charCodeAt(t.position),124===s)o=!1;else{if(62!==s)return!1;o=!0}for(t.kind="scalar",t.result="";0!==s;)if(s=t.input.charCodeAt(++t.position),43===s||45===s)V===u?u=43===s?J:X:p(t,"repeat of a chomping mode identifier");else{if(!((a=c(s))>=0))break;0===a?p(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):l?p(t,"repeat of an indentation width identifier"):(h=e+a-1,l=!0)}if(i(s)){do s=t.input.charCodeAt(++t.position);while(i(s));if(35===s)do s=t.input.charCodeAt(++t.position);while(!r(s)&&0!==s)}for(;0!==s;){for(y(t),t.lineIndent=0,s=t.input.charCodeAt(t.position);(!l||t.lineIndent<h)&&32===s;)t.lineIndent++,s=t.input.charCodeAt(++t.position);if(!l&&t.lineIndent>h&&(h=t.lineIndent),r(s))d++;else{if(t.lineIndent<h){u===J?t.result+=P.repeat("\n",f?1+d:d):u===V&&f&&(t.result+="\n");break}for(o?i(s)?(_=!0,t.result+=P.repeat("\n",f?1+d:d)):_?(_=!1,t.result+=P.repeat("\n",d+1)):0===d?f&&(t.result+=" "):t.result+=P.repeat("\n",d):t.result+=P.repeat("\n",f?1+d:d),f=!0,l=!0,d=0,n=t.position;!r(s)&&0!==s;)s=t.input.charCodeAt(++t.position);g(t,n,t.position,!1)}}return!0}function I(t,e){var n,r,i,a=t.tag,s=t.anchor,u=[],c=!1;for(null!==t.anchor&&(t.anchorMap[t.anchor]=u),i=t.input.charCodeAt(t.position);0!==i&&45===i&&(r=t.input.charCodeAt(t.position+1),o(r));)if(c=!0,t.position++,w(t,!0,-1)&&t.lineIndent<=e)u.push(null),i=t.input.charCodeAt(t.position);else if(n=t.line,N(t,e,K,!1,!0),u.push(t.result),w(t,!0,-1),i=t.input.charCodeAt(t.position),(t.line===n||t.lineIndent>e)&&0!==i)p(t,"bad indentation of a sequence entry");else if(t.lineIndent<e)break;return c?(t.tag=a,t.anchor=s,t.kind="sequence",t.result=u,!0):!1}function O(t,e,n){var r,a,s,u,c=t.tag,f=t.anchor,l={},h={},d=null,_=null,g=null,v=!1,y=!1;for(null!==t.anchor&&(t.anchorMap[t.anchor]=l),u=t.input.charCodeAt(t.position);0!==u;){if(r=t.input.charCodeAt(t.position+1),s=t.line,63!==u&&58!==u||!o(r)){if(!N(t,n,G,!1,!0))break;if(t.line===s){for(u=t.input.charCodeAt(t.position);i(u);)u=t.input.charCodeAt(++t.position);if(58===u)u=t.input.charCodeAt(++t.position),o(u)||p(t,"a whitespace character is expected after the key-value separator within a block mapping"),v&&(m(t,l,h,d,_,null),d=_=g=null),y=!0,v=!1,a=!1,d=t.tag,_=t.result;else{if(!y)return t.tag=c,t.anchor=f,!0;p(t,"can not read an implicit mapping pair; a colon is missed")}}else{if(!y)return t.tag=c,t.anchor=f,!0;p(t,"can not read a block mapping entry; a multiline key may not be an implicit key")}}else 63===u?(v&&(m(t,l,h,d,_,null),d=_=g=null),y=!0,v=!0,a=!0):v?(v=!1,a=!0):p(t,"incomplete explicit mapping pair; a key node is missed"),t.position+=1,u=r;if((t.line===s||t.lineIndent>e)&&(N(t,e,$,!0,a)&&(v?_=t.result:g=t.result),v||(m(t,l,h,d,_,g),d=_=g=null),w(t,!0,-1),u=t.input.charCodeAt(t.position)),t.lineIndent>e&&0!==u)p(t,"bad indentation of a mapping entry");else if(t.lineIndent<e)break}return v&&m(t,l,h,d,_,null),y&&(t.tag=c,t.anchor=f,t.kind="mapping",t.result=l),y}function z(t){var e,n,r,i,a=!1,s=!1;if(i=t.input.charCodeAt(t.position),33!==i)return!1;if(null!==t.tag&&p(t,"duplication of a tag property"),i=t.input.charCodeAt(++t.position),60===i?(a=!0,i=t.input.charCodeAt(++t.position)):33===i?(s=!0,n="!!",i=t.input.charCodeAt(++t.position)):n="!",e=t.position,a){do i=t.input.charCodeAt(++t.position);while(0!==i&&62!==i);t.position<t.length?(r=t.input.slice(e,t.position),i=t.input.charCodeAt(++t.position)):p(t,"unexpected end of the stream within a verbatim tag")}else{for(;0!==i&&!o(i);)33===i&&(s?p(t,"tag suffix cannot contain exclamation marks"):(n=t.input.slice(e-1,t.position+1),nt.test(n)||p(t,"named tag handle cannot contain such characters"),s=!0,e=t.position+1)),i=t.input.charCodeAt(++t.position);r=t.input.slice(e,t.position),et.test(r)&&p(t,"tag suffix cannot contain flow indicator characters")}return r&&!rt.test(r)&&p(t,"tag name cannot contain such characters: "+r),a?t.tag=r:Y.call(t.tagMap,n)?t.tag=t.tagMap[n]+r:"!"===n?t.tag="!"+r:"!!"===n?t.tag="tag:yaml.org,2002:"+r:p(t,'undeclared tag handle "'+n+'"'),!0}function j(t){var e,n;if(n=t.input.charCodeAt(t.position),38!==n)return!1;for(null!==t.anchor&&p(t,"duplication of an anchor property"),n=t.input.charCodeAt(++t.position),e=t.position;0!==n&&!o(n)&&!a(n);)n=t.input.charCodeAt(++t.position);return t.position===e&&p(t,"name of an anchor node must contain at least one character"),t.anchor=t.input.slice(e,t.position),!0}function T(t){var e,n,r;if(r=t.input.charCodeAt(t.position),42!==r)return!1;for(r=t.input.charCodeAt(++t.position),e=t.position;0!==r&&!o(r)&&!a(r);)r=t.input.charCodeAt(++t.position);return t.position===e&&p(t,"name of an alias node must contain at least one character"),n=t.input.slice(e,t.position),t.anchorMap.hasOwnProperty(n)||p(t,'unidentified alias "'+n+'"'),t.result=t.anchorMap[n],w(t,!0,-1),!0}function N(t,e,n,r,i){var o,a,s,u,c,f,l,h,d=1,_=!1,g=!1;if(null!==t.listener&&t.listener("open",t),t.tag=null,t.anchor=null,t.kind=null,t.result=null,o=a=s=$===n||K===n,r&&w(t,!0,-1)&&(_=!0,t.lineIndent>e?d=1:t.lineIndent===e?d=0:t.lineIndent<e&&(d=-1)),1===d)for(;z(t)||j(t);)w(t,!0,-1)?(_=!0,s=o,t.lineIndent>e?d=1:t.lineIndent===e?d=0:t.lineIndent<e&&(d=-1)):s=!1;if(s&&(s=_||i),1!==d&&$!==n||(l=H===n||G===n?e:e+1,h=t.position-t.lineStart,1===d?s&&(I(t,h)||O(t,h,l))||S(t,l)?g=!0:(a&&E(t,l)||A(t,l)||C(t,l)?g=!0:T(t)?(g=!0,null===t.tag&&null===t.anchor||p(t,"alias node should not have any properties")):k(t,l,H===n)&&(g=!0,null===t.tag&&(t.tag="?")),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):0===d&&(g=s&&I(t,h))),null!==t.tag&&"!"!==t.tag)if("?"===t.tag){for(u=0,c=t.implicitTypes.length;c>u;u+=1)if(f=t.implicitTypes[u],f.resolve(t.result)){t.result=f.construct(t.result),t.tag=f.tag,null!==t.anchor&&(t.anchorMap[t.anchor]=t.result);break}}else Y.call(t.typeMap,t.tag)?(f=t.typeMap[t.tag],null!==t.result&&f.kind!==t.kind&&p(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+f.kind+'", not "'+t.kind+'"'),f.resolve(t.result)?(t.result=f.construct(t.result),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):p(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")):p(t,"unknown tag !<"+t.tag+">");return null!==t.listener&&t.listener("close",t),null!==t.tag||null!==t.anchor||g}function F(t){var e,n,a,s,u=t.position,c=!1;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap={},t.anchorMap={};0!==(s=t.input.charCodeAt(t.position))&&(w(t,!0,-1),s=t.input.charCodeAt(t.position),!(t.lineIndent>0||37!==s));){for(c=!0,s=t.input.charCodeAt(++t.position),e=t.position;0!==s&&!o(s);)s=t.input.charCodeAt(++t.position);for(n=t.input.slice(e,t.position),a=[],n.length<1&&p(t,"directive name must not be less than one character in length");0!==s;){for(;i(s);)s=t.input.charCodeAt(++t.position);if(35===s){do s=t.input.charCodeAt(++t.position);while(0!==s&&!r(s));break}if(r(s))break;for(e=t.position;0!==s&&!o(s);)s=t.input.charCodeAt(++t.position);a.push(t.input.slice(e,t.position))}0!==s&&y(t),Y.call(st,n)?st[n](t,n,a):_(t,'unknown document directive "'+n+'"')}return w(t,!0,-1),0===t.lineIndent&&45===t.input.charCodeAt(t.position)&&45===t.input.charCodeAt(t.position+1)&&45===t.input.charCodeAt(t.position+2)?(t.position+=3,w(t,!0,-1)):c&&p(t,"directives end mark is expected"),N(t,t.lineIndent-1,$,!1,!0),w(t,!0,-1),t.checkLineBreaks&&tt.test(t.input.slice(u,t.position))&&_(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&b(t)?void(46===t.input.charCodeAt(t.position)&&(t.position+=3,w(t,!0,-1))):void(t.position<t.length-1&&p(t,"end of the stream or a document separator is expected"))}function R(t,e){t=String(t),e=e||{},0!==t.length&&(10!==t.charCodeAt(t.length-1)&&13!==t.charCodeAt(t.length-1)&&(t+="\n"),65279===t.charCodeAt(0)&&(t=t.slice(1)));var n=new h(t,e);for(n.input+="\x00";32===n.input.charCodeAt(n.position);)n.lineIndent+=1,n.position+=1;for(;n.position<n.length-1;)F(n);return n.documents}function D(t,e,n){var r,i,o=R(t,n);for(r=0,i=o.length;i>r;r+=1)e(o[r])}function B(t,e){var n=R(t,e);if(0!==n.length){if(1===n.length)return n[0];throw new M("expected a single document in the stream, but found more")}}function L(t,e,n){D(t,e,P.extend({schema:Z},n))}function U(t,e){return B(t,P.extend({schema:Z},e))}for(var P=t("./common"),M=t("./exception"),W=t("./mark"),Z=t("./schema/default_safe"),q=t("./schema/default_full"),Y=Object.prototype.hasOwnProperty,H=1,G=2,K=3,$=4,V=1,X=2,J=3,Q=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,tt=/[\x85\u2028\u2029]/,et=/[,\[\]\{\}]/,nt=/^(?:!|!!|![a-z\-]+!)$/i,rt=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i,it=new Array(256),ot=new Array(256),at=0;256>at;at++)it[at]=f(at)?1:0,ot[at]=f(at);var st={YAML:function(t,e,n){var r,i,o;null!==t.version&&p(t,"duplication of %YAML directive"),1!==n.length&&p(t,"YAML directive accepts exactly one argument"),r=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),null===r&&p(t,"ill-formed argument of the YAML directive"),i=parseInt(r[1],10),o=parseInt(r[2],10),1!==i&&p(t,"unacceptable YAML version of the document"),t.version=n[0],t.checkLineBreaks=2>o,1!==o&&2!==o&&_(t,"unsupported YAML version of the document")},TAG:function(t,e,n){var r,i;2!==n.length&&p(t,"TAG directive accepts exactly two arguments"),r=n[0],i=n[1],nt.test(r)||p(t,"ill-formed tag handle (first argument) of the TAG directive"),Y.call(t.tagMap,r)&&p(t,'there is a previously declared suffix for "'+r+'" tag handle'),rt.test(i)||p(t,"ill-formed tag prefix (second argument) of the TAG directive"),t.tagMap[r]=i}};e.exports.loadAll=D,e.exports.load=B,e.exports.safeLoadAll=L,e.exports.safeLoad=U},{"./common":2,"./exception":4,"./mark":6,"./schema/default_full":9,"./schema/default_safe":10}],6:[function(t,e,n){"use strict";function r(t,e,n,r,i){this.name=t,this.buffer=e,this.position=n,this.line=r,this.column=i}var i=t("./common");r.prototype.getSnippet=function(t,e){var n,r,o,a,s;if(!this.buffer)return null;for(t=t||4,e=e||75,n="",r=this.position;r>0&&-1==="\x00\r\nÂ…\u2028\u2029".indexOf(this.buffer.charAt(r-1));)if(r-=1,this.position-r>e/2-1){n=" ... ",r+=5;break}for(o="",a=this.position;a<this.buffer.length&&-1==="\x00\r\nÂ…\u2028\u2029".indexOf(this.buffer.charAt(a));)if(a+=1,a-this.position>e/2-1){o=" ... ",a-=5;break}return s=this.buffer.slice(r,a),i.repeat(" ",t)+n+s+o+"\n"+i.repeat(" ",t+this.position-r+n.length)+"^"},r.prototype.toString=function(t){var e,n="";return this.name&&(n+='in "'+this.name+'" '),n+="at line "+(this.line+1)+", column "+(this.column+1),t||(e=this.getSnippet(),e&&(n+=":\n"+e)),n},e.exports=r},{"./common":2}],7:[function(t,e,n){"use strict";function r(t,e,n){var i=[];return t.include.forEach(function(t){n=r(t,e,n)}),t[e].forEach(function(t){n.forEach(function(e,n){e.tag===t.tag&&i.push(n)}),n.push(t)}),n.filter(function(t,e){return-1===i.indexOf(e)})}function i(){function t(t){r[t.tag]=t}var e,n,r={};for(e=0,n=arguments.length;n>e;e+=1)arguments[e].forEach(t);return r}function o(t){this.include=t.include||[],this.implicit=t.implicit||[],this.explicit=t.explicit||[],this.implicit.forEach(function(t){if(t.loadKind&&"scalar"!==t.loadKind)throw new s("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.")}),this.compiledImplicit=r(this,"implicit",[]),this.compiledExplicit=r(this,"explicit",[]),this.compiledTypeMap=i(this.compiledImplicit,this.compiledExplicit)}var a=t("./common"),s=t("./exception"),u=t("./type");o.DEFAULT=null,o.create=function(){var t,e;switch(arguments.length){case 1:t=o.DEFAULT,e=arguments[0];break;case 2:t=arguments[0],e=arguments[1];break;default:throw new s("Wrong number of arguments for Schema.create function")}if(t=a.toArray(t),e=a.toArray(e),!t.every(function(t){return t instanceof o}))throw new s("Specified list of super schemas (or a single Schema object) contains a non-Schema object.");if(!e.every(function(t){return t instanceof u}))throw new s("Specified list of YAML types (or a single Type object) contains a non-Type object.");return new o({include:t,explicit:e})},e.exports=o},{"./common":2,"./exception":4,"./type":13}],8:[function(t,e,n){"use strict";var r=t("../schema");e.exports=new r({include:[t("./json")]})},{"../schema":7,"./json":12}],9:[function(t,e,n){"use strict";var r=t("../schema");e.exports=r.DEFAULT=new r({include:[t("./default_safe")],explicit:[t("../type/js/undefined"),t("../type/js/regexp"),t("../type/js/function")]})},{"../schema":7,"../type/js/function":18,"../type/js/regexp":19,"../type/js/undefined":20,"./default_safe":10}],10:[function(t,e,n){"use strict";var r=t("../schema");e.exports=new r({include:[t("./core")],implicit:[t("../type/timestamp"),t("../type/merge")],explicit:[t("../type/binary"),t("../type/omap"),t("../type/pairs"),t("../type/set")]})},{"../schema":7,"../type/binary":14,"../type/merge":22,"../type/omap":24,"../type/pairs":25,"../type/set":27,"../type/timestamp":29,"./core":8}],11:[function(t,e,n){"use strict";var r=t("../schema");e.exports=new r({explicit:[t("../type/str"),t("../type/seq"),t("../type/map")]})},{"../schema":7,"../type/map":21,"../type/seq":26,"../type/str":28}],12:[function(t,e,n){"use strict";var r=t("../schema");e.exports=new r({include:[t("./failsafe")],implicit:[t("../type/null"),t("../type/bool"),t("../type/int"),t("../type/float")]})},{"../schema":7,"../type/bool":15,"../type/float":16,"../type/int":17,"../type/null":23,"./failsafe":11}],13:[function(t,e,n){"use strict";function r(t){var e={};return null!==t&&Object.keys(t).forEach(function(n){t[n].forEach(function(t){e[String(t)]=n})}),e}function i(t,e){if(e=e||{},Object.keys(e).forEach(function(e){if(-1===a.indexOf(e))throw new o('Unknown option "'+e+'" is met in definition of "'+t+'" YAML type.')}),this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=r(e.styleAliases||null),-1===s.indexOf(this.kind))throw new o('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}var o=t("./exception"),a=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],s=["scalar","sequence","mapping"];e.exports=i},{"./exception":4}],14:[function(t,e,n){"use strict";function r(t){if(null===t)return!1;var e,n,r=0,i=t.length,o=l;for(n=0;i>n;n++)if(e=o.indexOf(t.charAt(n)),!(e>64)){if(0>e)return!1;r+=6}return r%8===0}function i(t){var e,n,r=t.replace(/[\r\n=]/g,""),i=r.length,o=l,a=0,u=[];for(e=0;i>e;e++)e%4===0&&e&&(u.push(a>>16&255),u.push(a>>8&255),u.push(255&a)),a=a<<6|o.indexOf(r.charAt(e));return n=i%4*6,0===n?(u.push(a>>16&255),u.push(a>>8&255),u.push(255&a)):18===n?(u.push(a>>10&255),u.push(a>>2&255)):12===n&&u.push(a>>4&255),s?new s(u):u}function o(t){var e,n,r="",i=0,o=t.length,a=l;for(e=0;o>e;e++)e%3===0&&e&&(r+=a[i>>18&63],r+=a[i>>12&63],r+=a[i>>6&63],r+=a[63&i]),i=(i<<8)+t[e];return n=o%3,0===n?(r+=a[i>>18&63],r+=a[i>>12&63],r+=a[i>>6&63],r+=a[63&i]):2===n?(r+=a[i>>10&63],r+=a[i>>4&63],r+=a[i<<2&63],r+=a[64]):1===n&&(r+=a[i>>2&63],r+=a[i<<4&63],r+=a[64],r+=a[64]),r}function a(t){return s&&s.isBuffer(t)}var s;try{var u=t;s=u("buffer").Buffer;
+}catch(c){}var f=t("../type"),l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";e.exports=new f("tag:yaml.org,2002:binary",{kind:"scalar",resolve:r,construct:i,predicate:a,represent:o})},{"../type":13}],15:[function(t,e,n){"use strict";function r(t){if(null===t)return!1;var e=t.length;return 4===e&&("true"===t||"True"===t||"TRUE"===t)||5===e&&("false"===t||"False"===t||"FALSE"===t)}function i(t){return"true"===t||"True"===t||"TRUE"===t}function o(t){return"[object Boolean]"===Object.prototype.toString.call(t)}var a=t("../type");e.exports=new a("tag:yaml.org,2002:bool",{kind:"scalar",resolve:r,construct:i,predicate:o,represent:{lowercase:function(t){return t?"true":"false"},uppercase:function(t){return t?"TRUE":"FALSE"},camelcase:function(t){return t?"True":"False"}},defaultStyle:"lowercase"})},{"../type":13}],16:[function(t,e,n){"use strict";function r(t){return null===t?!1:!!c.test(t)}function i(t){var e,n,r,i;return e=t.replace(/_/g,"").toLowerCase(),n="-"===e[0]?-1:1,i=[],"+-".indexOf(e[0])>=0&&(e=e.slice(1)),".inf"===e?1===n?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===e?NaN:e.indexOf(":")>=0?(e.split(":").forEach(function(t){i.unshift(parseFloat(t,10))}),e=0,r=1,i.forEach(function(t){e+=t*r,r*=60}),n*e):n*parseFloat(e,10)}function o(t,e){var n;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(s.isNegativeZero(t))return"-0.0";return n=t.toString(10),f.test(n)?n.replace("e",".e"):n}function a(t){return"[object Number]"===Object.prototype.toString.call(t)&&(t%1!==0||s.isNegativeZero(t))}var s=t("../common"),u=t("../type"),c=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)\\.[0-9_]*(?:[eE][-+][0-9]+)?|\\.[0-9_]+(?:[eE][-+][0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),f=/^[-+]?[0-9]+e/;e.exports=new u("tag:yaml.org,2002:float",{kind:"scalar",resolve:r,construct:i,predicate:a,represent:o,defaultStyle:"lowercase"})},{"../common":2,"../type":13}],17:[function(t,e,n){"use strict";function r(t){return t>=48&&57>=t||t>=65&&70>=t||t>=97&&102>=t}function i(t){return t>=48&&55>=t}function o(t){return t>=48&&57>=t}function a(t){if(null===t)return!1;var e,n=t.length,a=0,s=!1;if(!n)return!1;if(e=t[a],"-"!==e&&"+"!==e||(e=t[++a]),"0"===e){if(a+1===n)return!0;if(e=t[++a],"b"===e){for(a++;n>a;a++)if(e=t[a],"_"!==e){if("0"!==e&&"1"!==e)return!1;s=!0}return s}if("x"===e){for(a++;n>a;a++)if(e=t[a],"_"!==e){if(!r(t.charCodeAt(a)))return!1;s=!0}return s}for(;n>a;a++)if(e=t[a],"_"!==e){if(!i(t.charCodeAt(a)))return!1;s=!0}return s}for(;n>a;a++)if(e=t[a],"_"!==e){if(":"===e)break;if(!o(t.charCodeAt(a)))return!1;s=!0}return s?":"!==e?!0:/^(:[0-5]?[0-9])+$/.test(t.slice(a)):!1}function s(t){var e,n,r=t,i=1,o=[];return-1!==r.indexOf("_")&&(r=r.replace(/_/g,"")),e=r[0],"-"!==e&&"+"!==e||("-"===e&&(i=-1),r=r.slice(1),e=r[0]),"0"===r?0:"0"===e?"b"===r[1]?i*parseInt(r.slice(2),2):"x"===r[1]?i*parseInt(r,16):i*parseInt(r,8):-1!==r.indexOf(":")?(r.split(":").forEach(function(t){o.unshift(parseInt(t,10))}),r=0,n=1,o.forEach(function(t){r+=t*n,n*=60}),i*r):i*parseInt(r,10)}function u(t){return"[object Number]"===Object.prototype.toString.call(t)&&t%1===0&&!c.isNegativeZero(t)}var c=t("../common"),f=t("../type");e.exports=new f("tag:yaml.org,2002:int",{kind:"scalar",resolve:a,construct:s,predicate:u,represent:{binary:function(t){return"0b"+t.toString(2)},octal:function(t){return"0"+t.toString(8)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return"0x"+t.toString(16).toUpperCase()}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})},{"../common":2,"../type":13}],18:[function(t,e,n){"use strict";function r(t){if(null===t)return!1;try{var e="("+t+")",n=s.parse(e,{range:!0});return"Program"===n.type&&1===n.body.length&&"ExpressionStatement"===n.body[0].type&&"FunctionExpression"===n.body[0].expression.type}catch(r){return!1}}function i(t){var e,n="("+t+")",r=s.parse(n,{range:!0}),i=[];if("Program"!==r.type||1!==r.body.length||"ExpressionStatement"!==r.body[0].type||"FunctionExpression"!==r.body[0].expression.type)throw new Error("Failed to resolve function");return r.body[0].expression.params.forEach(function(t){i.push(t.name)}),e=r.body[0].expression.body.range,new Function(i,n.slice(e[0]+1,e[1]-1))}function o(t){return t.toString()}function a(t){return"[object Function]"===Object.prototype.toString.call(t)}var s;try{var u=t;s=u("esprima")}catch(c){"undefined"!=typeof window&&(s=window.esprima)}var f=t("../../type");e.exports=new f("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:r,construct:i,predicate:a,represent:o})},{"../../type":13}],19:[function(t,e,n){"use strict";function r(t){if(null===t)return!1;if(0===t.length)return!1;var e=t,n=/\/([gim]*)$/.exec(t),r="";if("/"===e[0]){if(n&&(r=n[1]),r.length>3)return!1;if("/"!==e[e.length-r.length-1])return!1}return!0}function i(t){var e=t,n=/\/([gim]*)$/.exec(t),r="";return"/"===e[0]&&(n&&(r=n[1]),e=e.slice(1,e.length-r.length-1)),new RegExp(e,r)}function o(t){var e="/"+t.source+"/";return t.global&&(e+="g"),t.multiline&&(e+="m"),t.ignoreCase&&(e+="i"),e}function a(t){return"[object RegExp]"===Object.prototype.toString.call(t)}var s=t("../../type");e.exports=new s("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:r,construct:i,predicate:a,represent:o})},{"../../type":13}],20:[function(t,e,n){"use strict";function r(){return!0}function i(){}function o(){return""}function a(t){return"undefined"==typeof t}var s=t("../../type");e.exports=new s("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:r,construct:i,predicate:a,represent:o})},{"../../type":13}],21:[function(t,e,n){"use strict";var r=t("../type");e.exports=new r("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return null!==t?t:{}}})},{"../type":13}],22:[function(t,e,n){"use strict";function r(t){return"<<"===t||null===t}var i=t("../type");e.exports=new i("tag:yaml.org,2002:merge",{kind:"scalar",resolve:r})},{"../type":13}],23:[function(t,e,n){"use strict";function r(t){if(null===t)return!0;var e=t.length;return 1===e&&"~"===t||4===e&&("null"===t||"Null"===t||"NULL"===t)}function i(){return null}function o(t){return null===t}var a=t("../type");e.exports=new a("tag:yaml.org,2002:null",{kind:"scalar",resolve:r,construct:i,predicate:o,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})},{"../type":13}],24:[function(t,e,n){"use strict";function r(t){if(null===t)return!0;var e,n,r,i,o,u=[],c=t;for(e=0,n=c.length;n>e;e+=1){if(r=c[e],o=!1,"[object Object]"!==s.call(r))return!1;for(i in r)if(a.call(r,i)){if(o)return!1;o=!0}if(!o)return!1;if(-1!==u.indexOf(i))return!1;u.push(i)}return!0}function i(t){return null!==t?t:[]}var o=t("../type"),a=Object.prototype.hasOwnProperty,s=Object.prototype.toString;e.exports=new o("tag:yaml.org,2002:omap",{kind:"sequence",resolve:r,construct:i})},{"../type":13}],25:[function(t,e,n){"use strict";function r(t){if(null===t)return!0;var e,n,r,i,o,s=t;for(o=new Array(s.length),e=0,n=s.length;n>e;e+=1){if(r=s[e],"[object Object]"!==a.call(r))return!1;if(i=Object.keys(r),1!==i.length)return!1;o[e]=[i[0],r[i[0]]]}return!0}function i(t){if(null===t)return[];var e,n,r,i,o,a=t;for(o=new Array(a.length),e=0,n=a.length;n>e;e+=1)r=a[e],i=Object.keys(r),o[e]=[i[0],r[i[0]]];return o}var o=t("../type"),a=Object.prototype.toString;e.exports=new o("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:r,construct:i})},{"../type":13}],26:[function(t,e,n){"use strict";var r=t("../type");e.exports=new r("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return null!==t?t:[]}})},{"../type":13}],27:[function(t,e,n){"use strict";function r(t){if(null===t)return!0;var e,n=t;for(e in n)if(a.call(n,e)&&null!==n[e])return!1;return!0}function i(t){return null!==t?t:{}}var o=t("../type"),a=Object.prototype.hasOwnProperty;e.exports=new o("tag:yaml.org,2002:set",{kind:"mapping",resolve:r,construct:i})},{"../type":13}],28:[function(t,e,n){"use strict";var r=t("../type");e.exports=new r("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return null!==t?t:""}})},{"../type":13}],29:[function(t,e,n){"use strict";function r(t){return null===t?!1:null!==s.exec(t)?!0:null!==u.exec(t)}function i(t){var e,n,r,i,o,a,c,f,l,h,d=0,p=null;if(e=s.exec(t),null===e&&(e=u.exec(t)),null===e)throw new Error("Date resolve error");if(n=+e[1],r=+e[2]-1,i=+e[3],!e[4])return new Date(Date.UTC(n,r,i));if(o=+e[4],a=+e[5],c=+e[6],e[7]){for(d=e[7].slice(0,3);d.length<3;)d+="0";d=+d}return e[9]&&(f=+e[10],l=+(e[11]||0),p=6e4*(60*f+l),"-"===e[9]&&(p=-p)),h=new Date(Date.UTC(n,r,i,o,a,c,d)),p&&h.setTime(h.getTime()-p),h}function o(t){return t.toISOString()}var a=t("../type"),s=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),u=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");e.exports=new a("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:r,construct:i,instanceOf:Date,represent:o})},{"../type":13}],"/":[function(t,e,n){"use strict";var r=t("./lib/js-yaml.js");e.exports=r},{"./lib/js-yaml.js":1}]},{},[])("/")}),function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.JSZip=t()}}(function(){var t;return function e(t,n,r){function i(a,s){if(!n[a]){if(!t[a]){var u="function"==typeof require&&require;if(!s&&u)return u(a,!0);if(o)return o(a,!0);var c=new Error("Cannot find module '"+a+"'");throw c.code="MODULE_NOT_FOUND",c}var f=n[a]={exports:{}};t[a][0].call(f.exports,function(e){var n=t[a][1][e];return i(n?n:e)},f,f.exports,e,t,n,r)}return n[a].exports}for(var o="function"==typeof require&&require,a=0;a<r.length;a++)i(r[a]);return i}({1:[function(t,e,n){"use strict";var r=t("./utils"),i=t("./support"),o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";n.encode=function(t){for(var e,n,i,a,s,u,c,f=[],l=0,h=t.length,d=h,p="string"!==r.getTypeOf(t);l<t.length;)d=h-l,p?(e=t[l++],n=h>l?t[l++]:0,i=h>l?t[l++]:0):(e=t.charCodeAt(l++),n=h>l?t.charCodeAt(l++):0,i=h>l?t.charCodeAt(l++):0),a=e>>2,s=(3&e)<<4|n>>4,u=d>1?(15&n)<<2|i>>6:64,c=d>2?63&i:64,f.push(o.charAt(a)+o.charAt(s)+o.charAt(u)+o.charAt(c));return f.join("")},n.decode=function(t){var e,n,r,a,s,u,c,f=0,l=0;t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");var h=3*t.length/4;t.charAt(t.length-1)===o.charAt(64)&&h--,t.charAt(t.length-2)===o.charAt(64)&&h--;var d;for(d=i.uint8array?new Uint8Array(h):new Array(h);f<t.length;)a=o.indexOf(t.charAt(f++)),s=o.indexOf(t.charAt(f++)),u=o.indexOf(t.charAt(f++)),c=o.indexOf(t.charAt(f++)),e=a<<2|s>>4,n=(15&s)<<4|u>>2,r=(3&u)<<6|c,d[l++]=e,64!==u&&(d[l++]=n),64!==c&&(d[l++]=r);return d}},{"./support":27,"./utils":29}],2:[function(t,e,n){"use strict";function r(t,e,n,r,i){this.compressedSize=t,this.uncompressedSize=e,this.crc32=n,this.compression=r,this.compressedContent=i}var i=t("./external"),o=t("./stream/DataWorker"),a=t("./stream/DataLengthProbe"),s=t("./stream/Crc32Probe"),a=t("./stream/DataLengthProbe");r.prototype={getContentWorker:function(){var t=new o(i.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new a("data_length")),e=this;return t.on("end",function(){if(this.streamInfo.data_length!==e.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),t},getCompressedWorker:function(){return new o(i.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},r.createWorkerFrom=function(t,e,n){return t.pipe(new s).pipe(new a("uncompressedSize")).pipe(e.compressWorker(n)).pipe(new a("compressedSize")).withStreamInfo("compression",e)},e.exports=r},{"./external":6,"./stream/Crc32Probe":22,"./stream/DataLengthProbe":23,"./stream/DataWorker":24}],3:[function(t,e,n){"use strict";var r=t("./stream/GenericWorker");n.STORE={magic:"\x00\x00",compressWorker:function(t){return new r("STORE compression")},uncompressWorker:function(){return new r("STORE decompression")}},n.DEFLATE=t("./flate")},{"./flate":7,"./stream/GenericWorker":25}],4:[function(t,e,n){"use strict";function r(){for(var t,e=[],n=0;256>n;n++){t=n;for(var r=0;8>r;r++)t=1&t?3988292384^t>>>1:t>>>1;e[n]=t}return e}function i(t,e,n,r){var i=s,o=r+n;t=-1^t;for(var a=r;o>a;a++)t=t>>>8^i[255&(t^e[a])];return-1^t}function o(t,e,n,r){var i=s,o=r+n;t=-1^t;for(var a=r;o>a;a++)t=t>>>8^i[255&(t^e.charCodeAt(a))];return-1^t}var a=t("./utils"),s=r();e.exports=function(t,e){if("undefined"==typeof t||!t.length)return 0;var n="string"!==a.getTypeOf(t);return n?i(0|e,t,t.length,0):o(0|e,t,t.length,0)}},{"./utils":29}],5:[function(t,e,n){"use strict";n.base64=!1,n.binary=!1,n.dir=!1,n.createFolders=!0,n.date=null,n.compression=null,n.compressionOptions=null,n.comment=null,n.unixPermissions=null,n.dosPermissions=null},{}],6:[function(t,e,n){"use strict";var r=t("es6-promise").Promise;e.exports={Promise:r}},{"es6-promise":37}],7:[function(t,e,n){"use strict";function r(t,e){s.call(this,"FlateWorker/"+t),this._pako=new o[t]({raw:!0,level:e.level||-1}),this.meta={};var n=this;this._pako.onData=function(t){n.push({data:t,meta:n.meta})}}var i="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,o=t("pako"),a=t("./utils"),s=t("./stream/GenericWorker"),u=i?"uint8array":"array";n.magic="\b\x00",a.inherits(r,s),r.prototype.processChunk=function(t){this.meta=t.meta,this._pako.push(a.transformTo(u,t.data),!1)},r.prototype.flush=function(){s.prototype.flush.call(this),this._pako.push([],!0)},r.prototype.cleanUp=function(){s.prototype.cleanUp.call(this),this._pako=null},n.compressWorker=function(t){return new r("Deflate",t)},n.uncompressWorker=function(){return new r("Inflate",{})}},{"./stream/GenericWorker":25,"./utils":29,pako:38}],8:[function(t,e,n){"use strict";function r(t,e,n,r){o.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=e,this.zipPlatform=n,this.encodeFileName=r,this.streamFiles=t,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}var i=t("../utils"),o=t("../stream/GenericWorker"),a=t("../utf8"),s=t("../crc32"),u=t("../signature"),c=function(t,e){var n,r="";for(n=0;e>n;n++)r+=String.fromCharCode(255&t),t>>>=8;return r},f=function(t,e){var n=t;return t||(n=e?16893:33204),(65535&n)<<16},l=function(t,e){return 63&(t||0)},h=function(t,e,n,r,o,h){var d,p,_=t.file,g=t.compression,v=h!==a.utf8encode,m=i.transformTo("string",h(_.name)),y=i.transformTo("string",a.utf8encode(_.name)),w=_.comment,b=i.transformTo("string",h(w)),x=i.transformTo("string",a.utf8encode(w)),k=y.length!==_.name.length,A=x.length!==w.length,C="",S="",E="",I=_.dir,O=_.date,z={crc32:0,compressedSize:0,uncompressedSize:0};e&&!n||(z.crc32=t.crc32,z.compressedSize=t.compressedSize,z.uncompressedSize=t.uncompressedSize);var j=0;e&&(j|=8),v||!k&&!A||(j|=2048);var T=0,N=0;I&&(T|=16),"UNIX"===o?(N=798,T|=f(_.unixPermissions,I)):(N=20,T|=l(_.dosPermissions,I)),d=O.getUTCHours(),d<<=6,d|=O.getUTCMinutes(),d<<=5,d|=O.getUTCSeconds()/2,p=O.getUTCFullYear()-1980,p<<=4,p|=O.getUTCMonth()+1,p<<=5,p|=O.getUTCDate(),k&&(S=c(1,1)+c(s(m),4)+y,C+="up"+c(S.length,2)+S),A&&(E=c(1,1)+c(s(b),4)+x,C+="uc"+c(E.length,2)+E);var F="";F+="\n\x00",F+=c(j,2),F+=g.magic,F+=c(d,2),F+=c(p,2),F+=c(z.crc32,4),F+=c(z.compressedSize,4),F+=c(z.uncompressedSize,4),F+=c(m.length,2),F+=c(C.length,2);var R=u.LOCAL_FILE_HEADER+F+m+C,D=u.CENTRAL_FILE_HEADER+c(N,2)+F+c(b.length,2)+"\x00\x00\x00\x00"+c(T,4)+c(r,4)+m+C+b;return{fileRecord:R,dirRecord:D}},d=function(t,e,n,r,o){var a="",s=i.transformTo("string",o(r));return a=u.CENTRAL_DIRECTORY_END+"\x00\x00\x00\x00"+c(t,2)+c(t,2)+c(e,4)+c(n,4)+c(s.length,2)+s},p=function(t){var e="";return e=u.DATA_DESCRIPTOR+c(t.crc32,4)+c(t.compressedSize,4)+c(t.uncompressedSize,4)};i.inherits(r,o),r.prototype.push=function(t){var e=t.meta.percent||0,n=this.entriesCount,r=this._sources.length;this.accumulate?this.contentBuffer.push(t):(this.bytesWritten+=t.data.length,o.prototype.push.call(this,{data:t.data,meta:{currentFile:this.currentFile,percent:n?(e+100*(n-r-1))/n:100}}))},r.prototype.openedSource=function(t){if(this.currentSourceOffset=this.bytesWritten,this.currentFile=t.file.name,this.streamFiles&&!t.file.dir){var e=h(t,this.streamFiles,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:e.fileRecord,meta:{percent:0}})}else this.accumulate=!0},r.prototype.closedSource=function(t){this.accumulate=!1;var e=h(t,this.streamFiles,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(e.dirRecord),this.streamFiles&&!t.file.dir)this.push({data:p(t),meta:{percent:100}});else for(this.push({data:e.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},r.prototype.flush=function(){for(var t=this.bytesWritten,e=0;e<this.dirRecords.length;e++)this.push({data:this.dirRecords[e],meta:{percent:100}});var n=this.bytesWritten-t,r=d(this.dirRecords.length,n,t,this.zipComment,this.encodeFileName);this.push({data:r,meta:{percent:100}})},r.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},r.prototype.registerPrevious=function(t){this._sources.push(t);var e=this;return t.on("data",function(t){e.processChunk(t)}),t.on("end",function(){e.closedSource(e.previous.streamInfo),e._sources.length?e.prepareNextSource():e.end()}),t.on("error",function(t){e.error(t)}),this},r.prototype.resume=function(){return o.prototype.resume.call(this)?!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0):!1},r.prototype.error=function(t){var e=this._sources;if(!o.prototype.error.call(this,t))return!1;for(var n=0;n<e.length;n++)try{e[n].error(t)}catch(t){}return!0},r.prototype.lock=function(){o.prototype.lock.call(this);for(var t=this._sources,e=0;e<t.length;e++)t[e].lock()},e.exports=r},{"../crc32":4,"../signature":20,"../stream/GenericWorker":25,"../utf8":28,"../utils":29}],9:[function(t,e,n){"use strict";var r=t("../compressions"),i=t("./ZipFileWorker"),o=function(t,e){var n=t||e,i=r[n];if(!i)throw new Error(n+" is not a valid compression method !");return i};n.generateWorker=function(t,e,n){var r=new i(e.streamFiles,n,e.platform,e.encodeFileName),a=0;try{t.forEach(function(t,n){a++;var i=o(n.options.compression,e.compression),s=n.options.compressionOptions||e.compressionOptions||{},u=n.dir,c=n.date;n._compressWorker(i,s).withStreamInfo("file",{name:t,dir:u,date:c,comment:n.comment||"",unixPermissions:n.unixPermissions,dosPermissions:n.dosPermissions}).pipe(r)}),r.entriesCount=a}catch(s){r.error(s)}return r}},{"../compressions":3,"./ZipFileWorker":8}],10:[function(t,e,n){"use strict";function r(){if(!(this instanceof r))return new r;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files={},this.comment=null,this.root="",this.clone=function(){var t=new r;for(var e in this)"function"!=typeof this[e]&&(t[e]=this[e]);return t}}r.prototype=t("./object"),r.prototype.loadAsync=t("./load"),r.support=t("./support"),r.defaults=t("./defaults"),r.loadAsync=function(t,e){return(new r).loadAsync(t,e)},r.external=t("./external"),e.exports=r},{"./defaults":5,"./external":6,"./load":11,"./object":13,"./support":27}],11:[function(t,e,n){"use strict";function r(t){return new o.Promise(function(e,n){var r=t.decompressed.getContentWorker().pipe(new u);r.on("error",function(t){n(t)}).on("end",function(){r.streamInfo.crc32!==t.decompressed.crc32?n(new Error("Corrupted zip : CRC32 mismatch")):e()}).resume()})}var i=t("./utils"),o=t("./external"),a=t("./utf8"),i=t("./utils"),s=t("./zipEntries"),u=t("./stream/Crc32Probe"),c=t("./nodejsUtils");e.exports=function(t,e){var n=this;return e=i.extend(e||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:a.utf8decode}),c.isNode&&c.isStream(t)?o.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):i.prepareContent("the loaded zip file",t,!0,e.optimizedBinaryString,e.base64).then(function(t){var n=new s(e);return n.load(t),n}).then(function(t){var n=[o.Promise.resolve(t)],i=t.files;if(e.checkCRC32)for(var a=0;a<i.length;a++)n.push(r(i[a]));return o.Promise.all(n)}).then(function(t){for(var r=t.shift(),i=r.files,o=0;o<i.length;o++){var a=i[o];n.file(a.fileNameStr,a.decompressed,{binary:!0,optimizedBinaryString:!0,date:a.date,dir:a.dir,comment:a.fileCommentStr.length?a.fileCommentStr:null,unixPermissions:a.unixPermissions,dosPermissions:a.dosPermissions,createFolders:e.createFolders})}return r.zipComment.length&&(n.comment=r.zipComment),n})}},{"./external":6,"./nodejsUtils":12,"./stream/Crc32Probe":22,"./utf8":28,"./utils":29,"./zipEntries":30}],12:[function(t,e,n){(function(t){"use strict";e.exports={isNode:"undefined"!=typeof t,newBuffer:function(e,n){return new t(e,n)},isBuffer:function(e){return t.isBuffer(e)},isStream:function(t){return t&&"function"==typeof t.on&&"function"==typeof t.pause&&"function"==typeof t.resume}}}).call(this,"undefined"!=typeof Buffer?Buffer:void 0)},{}],13:[function(t,e,n){"use strict";function r(t){return"[object RegExp]"===Object.prototype.toString.call(t)}var i=t("./utf8"),o=t("./utils"),a=t("./stream/GenericWorker"),s=t("./stream/StreamHelper"),u=t("./defaults"),c=t("./compressedObject"),f=t("./zipObject"),l=t("./generate"),h=t("./nodejsUtils"),d=t("./nodejs/NodejsStreamInputAdapter"),p=function(t,e,n){var r,i=o.getTypeOf(e);n=o.extend(n||{},u),n.date=n.date||new Date,null!==n.compression&&(n.compression=n.compression.toUpperCase()),"string"==typeof n.unixPermissions&&(n.unixPermissions=parseInt(n.unixPermissions,8)),n.unixPermissions&&16384&n.unixPermissions&&(n.dir=!0),n.dosPermissions&&16&n.dosPermissions&&(n.dir=!0),n.dir&&(t=g(t)),n.createFolders&&(r=_(t))&&v.call(this,r,!0);var s="string"===i&&n.binary===!1&&n.base64===!1;n.binary=!s;var l=e instanceof c&&0===e.uncompressedSize;(l||n.dir||!e||0===e.length)&&(n.base64=!1,n.binary=!0,e="",n.compression="STORE",i="string");var p=null;p=e instanceof c||e instanceof a?e:h.isNode&&h.isStream(e)?new d(t,e):o.prepareContent(t,e,n.binary,n.optimizedBinaryString,n.base64);var m=new f(t,p,n);this.files[t]=m},_=function(t){"/"===t.slice(-1)&&(t=t.substring(0,t.length-1));var e=t.lastIndexOf("/");return e>0?t.substring(0,e):""},g=function(t){return"/"!==t.slice(-1)&&(t+="/"),t},v=function(t,e){return e="undefined"!=typeof e?e:u.createFolders,t=g(t),this.files[t]||p.call(this,t,null,{dir:!0,createFolders:e}),this.files[t]},m={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(t){var e,n,r;for(e in this.files)this.files.hasOwnProperty(e)&&(r=this.files[e],n=e.slice(this.root.length,e.length),n&&e.slice(0,this.root.length)===this.root&&t(n,r))},filter:function(t){var e=[];return this.forEach(function(n,r){t(n,r)&&e.push(r)}),e},file:function(t,e,n){if(1===arguments.length){if(r(t)){var i=t;return this.filter(function(t,e){return!e.dir&&i.test(t)})}var o=this.files[this.root+t];return o&&!o.dir?o:null}return t=this.root+t,p.call(this,t,e,n),this},folder:function(t){if(!t)return this;if(r(t))return this.filter(function(e,n){return n.dir&&t.test(e)});var e=this.root+t,n=v.call(this,e),i=this.clone();return i.root=n.name,i},remove:function(t){t=this.root+t;var e=this.files[t];if(e||("/"!==t.slice(-1)&&(t+="/"),e=this.files[t]),e&&!e.dir)delete this.files[t];else for(var n=this.filter(function(e,n){return n.name.slice(0,t.length)===t}),r=0;r<n.length;r++)delete this.files[n[r].name];return this},generate:function(t){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(t){var e,n={};try{if(n=o.extend(t||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:i.utf8encode}),n.type=n.type.toLowerCase(),n.compression=n.compression.toUpperCase(),"binarystring"===n.type&&(n.type="string"),!n.type)throw new Error("No output type specified.");o.checkSupport(n.type),"darwin"!==t.platform&&"freebsd"!==t.platform&&"linux"!==t.platform&&"sunos"!==t.platform||(t.platform="UNIX"),"win32"===t.platform&&(t.platform="DOS");var r=n.comment||this.comment||"";e=l.generateWorker(this,n,r)}catch(u){e=new a("error"),e.error(u)}return new s(e,n.type||"string",n.mimeType)},generateAsync:function(t,e){return this.generateInternalStream(t).accumulate(e)},generateNodeStream:function(t,e){return t=t||{},t.type||(t.type="nodebuffer"),this.generateInternalStream(t).toNodejsStream(e)}};e.exports=m},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":35,"./nodejsUtils":12,"./stream/GenericWorker":25,"./stream/StreamHelper":26,"./utf8":28,"./utils":29,"./zipObject":32}],14:[function(t,e,n){"use strict";function r(t){i.call(this,t);for(var e=0;e<this.data.length;e++)t[e]=255&t[e]}var i=t("./DataReader"),o=t("../utils");o.inherits(r,i),r.prototype.byteAt=function(t){return this.data[this.zero+t]},r.prototype.lastIndexOfSignature=function(t){for(var e=t.charCodeAt(0),n=t.charCodeAt(1),r=t.charCodeAt(2),i=t.charCodeAt(3),o=this.length-4;o>=0;--o)if(this.data[o]===e&&this.data[o+1]===n&&this.data[o+2]===r&&this.data[o+3]===i)return o-this.zero;return-1},r.prototype.readAndCheckSignature=function(t){var e=t.charCodeAt(0),n=t.charCodeAt(1),r=t.charCodeAt(2),i=t.charCodeAt(3),o=this.readData(4);return e===o[0]&&n===o[1]&&r===o[2]&&i===o[3]},r.prototype.readData=function(t){if(this.checkOffset(t),0===t)return[];var e=this.data.slice(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=r},{"../utils":29,"./DataReader":15}],15:[function(t,e,n){"use strict";function r(t){this.data=t,this.length=t.length,this.index=0,this.zero=0}var i=t("../utils");r.prototype={checkOffset:function(t){this.checkIndex(this.index+t)},checkIndex:function(t){if(this.length<this.zero+t||0>t)throw new Error("End of data reached (data length = "+this.length+", asked index = "+t+"). Corrupted zip ?")},setIndex:function(t){this.checkIndex(t),this.index=t},skip:function(t){this.setIndex(this.index+t)},byteAt:function(t){},readInt:function(t){var e,n=0;for(this.checkOffset(t),e=this.index+t-1;e>=this.index;e--)n=(n<<8)+this.byteAt(e);return this.index+=t,n},readString:function(t){return i.transformTo("string",this.readData(t))},readData:function(t){},lastIndexOfSignature:function(t){},readAndCheckSignature:function(t){},readDate:function(){var t=this.readInt(4);return new Date(Date.UTC((t>>25&127)+1980,(t>>21&15)-1,t>>16&31,t>>11&31,t>>5&63,(31&t)<<1))}},e.exports=r},{"../utils":29}],16:[function(t,e,n){"use strict";function r(t){i.call(this,t)}var i=t("./Uint8ArrayReader"),o=t("../utils");o.inherits(r,i),r.prototype.readData=function(t){this.checkOffset(t);var e=this.data.slice(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=r},{"../utils":29,"./Uint8ArrayReader":18}],17:[function(t,e,n){"use strict";function r(t){i.call(this,t)}var i=t("./DataReader"),o=t("../utils");o.inherits(r,i),r.prototype.byteAt=function(t){return this.data.charCodeAt(this.zero+t)},r.prototype.lastIndexOfSignature=function(t){return this.data.lastIndexOf(t)-this.zero},r.prototype.readAndCheckSignature=function(t){var e=this.readData(4);return t===e},r.prototype.readData=function(t){this.checkOffset(t);var e=this.data.slice(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=r},{"../utils":29,"./DataReader":15}],18:[function(t,e,n){"use strict";function r(t){i.call(this,t)}var i=t("./ArrayReader"),o=t("../utils");o.inherits(r,i),r.prototype.readData=function(t){if(this.checkOffset(t),0===t)return new Uint8Array(0);var e=this.data.subarray(this.zero+this.index,this.zero+this.index+t);return this.index+=t,e},e.exports=r},{"../utils":29,"./ArrayReader":14}],19:[function(t,e,n){"use strict";var r=t("../utils"),i=t("../support"),o=t("./ArrayReader"),a=t("./StringReader"),s=t("./NodeBufferReader"),u=t("./Uint8ArrayReader");e.exports=function(t){var e=r.getTypeOf(t);return r.checkSupport(e),"string"!==e||i.uint8array?"nodebuffer"===e?new s(t):i.uint8array?new u(r.transformTo("uint8array",t)):new o(r.transformTo("array",t)):new a(t)}},{"../support":27,"../utils":29,"./ArrayReader":14,"./NodeBufferReader":16,"./StringReader":17,"./Uint8ArrayReader":18}],20:[function(t,e,n){"use strict";n.LOCAL_FILE_HEADER="PK",n.CENTRAL_FILE_HEADER="PK",n.CENTRAL_DIRECTORY_END="PK",n.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK",n.ZIP64_CENTRAL_DIRECTORY_END="PK",n.DATA_DESCRIPTOR="PK\b"},{}],21:[function(t,e,n){"use strict";function r(t){i.call(this,"ConvertWorker to "+t),this.destType=t}var i=t("./GenericWorker"),o=t("../utils");o.inherits(r,i),r.prototype.processChunk=function(t){this.push({data:o.transformTo(this.destType,t.data),meta:t.meta})},e.exports=r},{"../utils":29,"./GenericWorker":25}],22:[function(t,e,n){"use strict";function r(){i.call(this,"Crc32Probe")}var i=t("./GenericWorker"),o=t("../crc32"),a=t("../utils");a.inherits(r,i),r.prototype.processChunk=function(t){this.streamInfo.crc32=o(t.data,this.streamInfo.crc32||0),this.push(t)},e.exports=r},{"../crc32":4,"../utils":29,"./GenericWorker":25}],23:[function(t,e,n){"use strict";function r(t){o.call(this,"DataLengthProbe for "+t),this.propName=t,this.withStreamInfo(t,0)}var i=t("../utils"),o=t("./GenericWorker");i.inherits(r,o),r.prototype.processChunk=function(t){if(t){var e=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=e+t.data.length}o.prototype.processChunk.call(this,t)},e.exports=r},{"../utils":29,"./GenericWorker":25}],24:[function(t,e,n){"use strict";function r(t){o.call(this,"DataWorker");var e=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,t.then(function(t){e.dataIsReady=!0,e.data=t,e.max=t&&t.length||0,e.type=i.getTypeOf(t),e.isPaused||e._tickAndRepeat()},function(t){e.error(t)})}var i=t("../utils"),o=t("./GenericWorker"),a=16384;i.inherits(r,o),r.prototype.cleanUp=function(){o.prototype.cleanUp.call(this),this.data=null},r.prototype.resume=function(){return o.prototype.resume.call(this)?(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,i.delay(this._tickAndRepeat,[],this)),!0):!1},r.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(i.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},r.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var t=a,e=null,n=Math.min(this.max,this.index+t);if(this.index>=this.max)return this.end();switch(this.type){case"string":e=this.data.substring(this.index,n);break;case"uint8array":e=this.data.subarray(this.index,n);break;case"array":case"nodebuffer":e=this.data.slice(this.index,n)}return this.index=n,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})},e.exports=r},{"../utils":29,"./GenericWorker":25
+}],25:[function(t,e,n){"use strict";function r(t){this.name=t||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}r.prototype={push:function(t){this.emit("data",t)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(t){this.emit("error",t)}return!0},error:function(t){return this.isFinished?!1:(this.isPaused?this.generatedError=t:(this.isFinished=!0,this.emit("error",t),this.previous&&this.previous.error(t),this.cleanUp()),!0)},on:function(t,e){return this._listeners[t].push(e),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(t,e){if(this._listeners[t])for(var n=0;n<this._listeners[t].length;n++)this._listeners[t][n].call(this,e)},pipe:function(t){return t.registerPrevious(this)},registerPrevious:function(t){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=t.streamInfo,this.mergeStreamInfo(),this.previous=t;var e=this;return t.on("data",function(t){e.processChunk(t)}),t.on("end",function(){e.end()}),t.on("error",function(t){e.error(t)}),this},pause:function(){return this.isPaused||this.isFinished?!1:(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;this.isPaused=!1;var t=!1;return this.generatedError&&(this.error(this.generatedError),t=!0),this.previous&&this.previous.resume(),!t},flush:function(){},processChunk:function(t){this.push(t)},withStreamInfo:function(t,e){return this.extraStreamInfo[t]=e,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var t in this.extraStreamInfo)this.extraStreamInfo.hasOwnProperty(t)&&(this.streamInfo[t]=this.extraStreamInfo[t])},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var t="Worker "+this.name;return this.previous?this.previous+" -> "+t:t}},e.exports=r},{}],26:[function(t,e,n){(function(n){"use strict";function r(t,e,n){switch(t){case"blob":return s.newBlob(s.transformTo("arraybuffer",e),n);case"base64":return f.encode(e);default:return s.transformTo(t,e)}}function i(t,e){var r,i=0,o=null,a=0;for(r=0;r<e.length;r++)a+=e[r].length;switch(t){case"string":return e.join("");case"array":return Array.prototype.concat.apply([],e);case"uint8array":for(o=new Uint8Array(a),r=0;r<e.length;r++)o.set(e[r],i),i+=e[r].length;return o;case"nodebuffer":return n.concat(e);default:throw new Error("concat : unsupported type '"+t+"'")}}function o(t,e){return new h.Promise(function(n,o){var a=[],s=t._internalType,u=t._outputType,c=t._mimeType;t.on("data",function(t,n){a.push(t),e&&e(n)}).on("error",function(t){a=[],o(t)}).on("end",function(){try{var t=r(u,i(s,a),c);n(t)}catch(e){o(e)}a=[]}).resume()})}function a(t,e,n){var r=e;switch(e){case"blob":case"arraybuffer":r="uint8array";break;case"base64":r="string"}try{this._internalType=r,this._outputType=e,this._mimeType=n,s.checkSupport(r),this._worker=t.pipe(new u(r)),t.lock()}catch(i){this._worker=new c("error"),this._worker.error(i)}}var s=t("../utils"),u=t("./ConvertWorker"),c=t("./GenericWorker"),f=t("../base64"),l=t("../nodejs/NodejsStreamOutputAdapter"),h=t("../external");a.prototype={accumulate:function(t){return o(this,t)},on:function(t,e){var n=this;return"data"===t?this._worker.on(t,function(t){e.call(n,t.data,t.meta)}):this._worker.on(t,function(){s.delay(e,arguments,n)}),this},resume:function(){return s.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(t){if(s.checkSupport("nodestream"),"nodebuffer"!==this._outputType)throw new Error(this._outputType+" is not supported by this method");return new l(this,{objectMode:"nodebuffer"!==this._outputType},t)}},e.exports=a}).call(this,"undefined"!=typeof Buffer?Buffer:void 0)},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":35,"../utils":29,"./ConvertWorker":21,"./GenericWorker":25}],27:[function(t,e,n){(function(e){"use strict";if(n.base64=!0,n.array=!0,n.string=!0,n.arraybuffer="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array,n.nodebuffer="undefined"!=typeof e,n.uint8array="undefined"!=typeof Uint8Array,"undefined"==typeof ArrayBuffer)n.blob=!1;else{var r=new ArrayBuffer(0);try{n.blob=0===new Blob([r],{type:"application/zip"}).size}catch(i){try{var o=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,a=new o;a.append(r),n.blob=0===a.getBlob("application/zip").size}catch(i){n.blob=!1}}}n.nodestream=!!t("./nodejs/NodejsStreamOutputAdapter").prototype}).call(this,"undefined"!=typeof Buffer?Buffer:void 0)},{"./nodejs/NodejsStreamOutputAdapter":35}],28:[function(t,e,n){"use strict";function r(){u.call(this,"utf-8 decode"),this.leftOver=null}function i(){u.call(this,"utf-8 encode")}for(var o=t("./utils"),a=t("./support"),s=t("./nodejsUtils"),u=t("./stream/GenericWorker"),c=new Array(256),f=0;256>f;f++)c[f]=f>=252?6:f>=248?5:f>=240?4:f>=224?3:f>=192?2:1;c[254]=c[254]=1;var l=function(t){var e,n,r,i,o,s=t.length,u=0;for(i=0;s>i;i++)n=t.charCodeAt(i),55296===(64512&n)&&s>i+1&&(r=t.charCodeAt(i+1),56320===(64512&r)&&(n=65536+(n-55296<<10)+(r-56320),i++)),u+=128>n?1:2048>n?2:65536>n?3:4;for(e=a.uint8array?new Uint8Array(u):new Array(u),o=0,i=0;u>o;i++)n=t.charCodeAt(i),55296===(64512&n)&&s>i+1&&(r=t.charCodeAt(i+1),56320===(64512&r)&&(n=65536+(n-55296<<10)+(r-56320),i++)),128>n?e[o++]=n:2048>n?(e[o++]=192|n>>>6,e[o++]=128|63&n):65536>n?(e[o++]=224|n>>>12,e[o++]=128|n>>>6&63,e[o++]=128|63&n):(e[o++]=240|n>>>18,e[o++]=128|n>>>12&63,e[o++]=128|n>>>6&63,e[o++]=128|63&n);return e},h=function(t,e){var n;for(e=e||t.length,e>t.length&&(e=t.length),n=e-1;n>=0&&128===(192&t[n]);)n--;return 0>n?e:0===n?e:n+c[t[n]]>e?n:e},d=function(t){var e,n,r,i,a=t.length,s=new Array(2*a);for(n=0,e=0;a>e;)if(r=t[e++],128>r)s[n++]=r;else if(i=c[r],i>4)s[n++]=65533,e+=i-1;else{for(r&=2===i?31:3===i?15:7;i>1&&a>e;)r=r<<6|63&t[e++],i--;i>1?s[n++]=65533:65536>r?s[n++]=r:(r-=65536,s[n++]=55296|r>>10&1023,s[n++]=56320|1023&r)}return s.length!==n&&(s.subarray?s=s.subarray(0,n):s.length=n),o.applyFromCharCode(s)};n.utf8encode=function(t){return a.nodebuffer?s.newBuffer(t,"utf-8"):l(t)},n.utf8decode=function(t){return a.nodebuffer?o.transformTo("nodebuffer",t).toString("utf-8"):(t=o.transformTo(a.uint8array?"uint8array":"array",t),d(t))},o.inherits(r,u),r.prototype.processChunk=function(t){var e=o.transformTo(a.uint8array?"uint8array":"array",t.data);if(this.leftOver&&this.leftOver.length){if(a.uint8array){var r=e;e=new Uint8Array(r.length+this.leftOver.length),e.set(this.leftOver,0),e.set(r,this.leftOver.length)}else e=this.leftOver.concat(e);this.leftOver=null}var i=h(e),s=e;i!==e.length&&(a.uint8array?(s=e.subarray(0,i),this.leftOver=e.subarray(i,e.length)):(s=e.slice(0,i),this.leftOver=e.slice(i,e.length))),this.push({data:n.utf8decode(s),meta:t.meta})},r.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:n.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},n.Utf8DecodeWorker=r,o.inherits(i,u),i.prototype.processChunk=function(t){this.push({data:n.utf8encode(t.data),meta:t.meta})},n.Utf8EncodeWorker=i},{"./nodejsUtils":12,"./stream/GenericWorker":25,"./support":27,"./utils":29}],29:[function(t,e,n){"use strict";function r(t){var e=null;return e=u.uint8array?new Uint8Array(t.length):new Array(t.length),o(t,e)}function i(t){return t}function o(t,e){for(var n=0;n<t.length;++n)e[n]=255&t.charCodeAt(n);return e}function a(t){var e=65536,r=n.getTypeOf(t),i=!0;if("uint8array"===r?i=d.applyCanBeUsed.uint8array:"nodebuffer"===r&&(i=d.applyCanBeUsed.nodebuffer),i)for(;e>1;)try{return d.stringifyByChunk(t,r,e)}catch(o){e=Math.floor(e/2)}return d.stringifyByChar(t)}function s(t,e){for(var n=0;n<t.length;n++)e[n]=t[n];return e}var u=t("./support"),c=t("./base64"),f=t("./nodejsUtils"),l=t("asap"),h=t("./external");n.newBlob=function(t,e){n.checkSupport("blob");try{return new Blob([t],{type:e})}catch(r){try{var i=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,o=new i;return o.append(t),o.getBlob(e)}catch(r){throw new Error("Bug : can't construct the Blob.")}}};var d={stringifyByChunk:function(t,e,n){var r=[],i=0,o=t.length;if(n>=o)return String.fromCharCode.apply(null,t);for(;o>i;)"array"===e||"nodebuffer"===e?r.push(String.fromCharCode.apply(null,t.slice(i,Math.min(i+n,o)))):r.push(String.fromCharCode.apply(null,t.subarray(i,Math.min(i+n,o)))),i+=n;return r.join("")},stringifyByChar:function(t){for(var e="",n=0;n<t.length;n++)e+=String.fromCharCode(t[n]);return e},applyCanBeUsed:{uint8array:function(){try{return u.uint8array&&1===String.fromCharCode.apply(null,new Uint8Array(1)).length}catch(t){return!1}}(),nodebuffer:function(){try{return u.nodebuffer&&1===String.fromCharCode.apply(null,f.newBuffer(1)).length}catch(t){return!1}}()}};n.applyFromCharCode=a;var p={};p.string={string:i,array:function(t){return o(t,new Array(t.length))},arraybuffer:function(t){return p.string.uint8array(t).buffer},uint8array:function(t){return o(t,new Uint8Array(t.length))},nodebuffer:function(t){return o(t,f.newBuffer(t.length))}},p.array={string:a,array:i,arraybuffer:function(t){return new Uint8Array(t).buffer},uint8array:function(t){return new Uint8Array(t)},nodebuffer:function(t){return f.newBuffer(t)}},p.arraybuffer={string:function(t){return a(new Uint8Array(t))},array:function(t){return s(new Uint8Array(t),new Array(t.byteLength))},arraybuffer:i,uint8array:function(t){return new Uint8Array(t)},nodebuffer:function(t){return f.newBuffer(new Uint8Array(t))}},p.uint8array={string:a,array:function(t){return s(t,new Array(t.length))},arraybuffer:function(t){return t.buffer},uint8array:i,nodebuffer:function(t){return f.newBuffer(t)}},p.nodebuffer={string:a,array:function(t){return s(t,new Array(t.length))},arraybuffer:function(t){return p.nodebuffer.uint8array(t).buffer},uint8array:function(t){return s(t,new Uint8Array(t.length))},nodebuffer:i},n.transformTo=function(t,e){if(e||(e=""),!t)return e;n.checkSupport(t);var r=n.getTypeOf(e),i=p[r][t](e);return i},n.getTypeOf=function(t){return"string"==typeof t?"string":"[object Array]"===Object.prototype.toString.call(t)?"array":u.nodebuffer&&f.isBuffer(t)?"nodebuffer":u.uint8array&&t instanceof Uint8Array?"uint8array":u.arraybuffer&&t instanceof ArrayBuffer?"arraybuffer":void 0},n.checkSupport=function(t){var e=u[t.toLowerCase()];if(!e)throw new Error(t+" is not supported by this platform")},n.MAX_VALUE_16BITS=65535,n.MAX_VALUE_32BITS=-1,n.pretty=function(t){var e,n,r="";for(n=0;n<(t||"").length;n++)e=t.charCodeAt(n),r+="\\x"+(16>e?"0":"")+e.toString(16).toUpperCase();return r},n.delay=function(t,e,n){l(function(){t.apply(n||null,e||[])})},n.inherits=function(t,e){var n=function(){};n.prototype=e.prototype,t.prototype=new n},n.extend=function(){var t,e,n={};for(t=0;t<arguments.length;t++)for(e in arguments[t])arguments[t].hasOwnProperty(e)&&"undefined"==typeof n[e]&&(n[e]=arguments[t][e]);return n},n.prepareContent=function(t,e,i,o,a){var s=null;return s=u.blob&&e instanceof Blob&&"undefined"!=typeof FileReader?new h.Promise(function(t,n){var r=new FileReader;r.onload=function(e){t(e.target.result)},r.onerror=function(t){n(t.target.error)},r.readAsArrayBuffer(e)}):h.Promise.resolve(e),s.then(function(e){var s=n.getTypeOf(e);return s?("arraybuffer"===s?e=n.transformTo("uint8array",e):"string"===s&&(a?e=c.decode(e):i&&o!==!0&&(e=r(e))),e):h.Promise.reject(new Error("The data of '"+t+"' is in an unsupported format !"))})}},{"./base64":1,"./external":6,"./nodejsUtils":12,"./support":27,asap:33}],30:[function(t,e,n){"use strict";function r(t){this.files=[],this.loadOptions=t}var i=t("./reader/readerFor"),o=t("./utils"),a=t("./signature"),s=t("./zipEntry"),u=(t("./utf8"),t("./support"));r.prototype={checkSignature:function(t){if(!this.reader.readAndCheckSignature(t)){this.reader.index-=4;var e=this.reader.readString(4);throw new Error("Corrupted zip or bug : unexpected signature ("+o.pretty(e)+", expected "+o.pretty(t)+")")}},isSignature:function(t,e){var n=this.reader.index;this.reader.setIndex(t);var r=this.reader.readString(4),i=r===e;return this.reader.setIndex(n),i},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var t=this.reader.readData(this.zipCommentLength),e=u.uint8array?"uint8array":"array",n=o.transformTo(e,t);this.zipComment=this.loadOptions.decodeFileName(n)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var t,e,n,r=this.zip64EndOfCentralSize-44,i=0;r>i;)t=this.reader.readInt(2),e=this.reader.readInt(4),n=this.reader.readData(e),this.zip64ExtensibleData[t]={id:t,length:e,value:n}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),this.disksCount>1)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var t,e;for(t=0;t<this.files.length;t++)e=this.files[t],this.reader.setIndex(e.localHeaderOffset),this.checkSignature(a.LOCAL_FILE_HEADER),e.readLocalPart(this.reader),e.handleUTF8(),e.processAttributes()},readCentralDir:function(){var t;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(a.CENTRAL_FILE_HEADER);)t=new s({zip64:this.zip64},this.loadOptions),t.readCentralPart(this.reader),this.files.push(t);if(this.centralDirRecords!==this.files.length&&0!==this.centralDirRecords&&0===this.files.length)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var t=this.reader.lastIndexOfSignature(a.CENTRAL_DIRECTORY_END);if(0>t){var e=!this.isSignature(0,a.LOCAL_FILE_HEADER);throw e?new Error("Can't find end of central directory : is this a zip file ? If it is, see http://stuk.github.io/jszip/documentation/howto/read_zip.html"):new Error("Corrupted zip : can't find end of central directory")}this.reader.setIndex(t);var n=t;if(this.checkSignature(a.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===o.MAX_VALUE_16BITS||this.diskWithCentralDirStart===o.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===o.MAX_VALUE_16BITS||this.centralDirRecords===o.MAX_VALUE_16BITS||this.centralDirSize===o.MAX_VALUE_32BITS||this.centralDirOffset===o.MAX_VALUE_32BITS){if(this.zip64=!0,t=this.reader.lastIndexOfSignature(a.ZIP64_CENTRAL_DIRECTORY_LOCATOR),0>t)throw new Error("Corrupted zip : can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(t),this.checkSignature(a.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,a.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(a.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip : can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(a.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var r=this.centralDirOffset+this.centralDirSize;this.zip64&&(r+=20,r+=12+this.zip64EndOfCentralSize);var i=n-r;if(i>0)this.isSignature(n,a.CENTRAL_FILE_HEADER)||(this.reader.zero=i);else if(0>i)throw new Error("Corrupted zip: missing "+Math.abs(i)+" bytes.")},prepareReader:function(t){this.reader=i(t)},load:function(t){this.prepareReader(t),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},e.exports=r},{"./reader/readerFor":19,"./signature":20,"./support":27,"./utf8":28,"./utils":29,"./zipEntry":31}],31:[function(t,e,n){"use strict";function r(t,e){this.options=t,this.loadOptions=e}var i=t("./reader/readerFor"),o=t("./utils"),a=t("./compressedObject"),s=t("./crc32"),u=t("./utf8"),c=t("./compressions"),f=t("./support"),l=0,h=3,d=function(t){for(var e in c)if(c.hasOwnProperty(e)&&c[e].magic===t)return c[e];return null};r.prototype={isEncrypted:function(){return 1===(1&this.bitFlag)},useUTF8:function(){return 2048===(2048&this.bitFlag)},readLocalPart:function(t){var e,n;if(t.skip(22),this.fileNameLength=t.readInt(2),n=t.readInt(2),this.fileName=t.readData(this.fileNameLength),t.skip(n),-1===this.compressedSize||-1===this.uncompressedSize)throw new Error("Bug or corrupted zip : didn't get enough informations from the central directory (compressedSize === -1 || uncompressedSize === -1)");if(e=d(this.compressionMethod),null===e)throw new Error("Corrupted zip : compression "+o.pretty(this.compressionMethod)+" unknown (inner file : "+o.transformTo("string",this.fileName)+")");this.decompressed=new a(this.compressedSize,this.uncompressedSize,this.crc32,e,t.readData(this.compressedSize))},readCentralPart:function(t){this.versionMadeBy=t.readInt(2),t.skip(2),this.bitFlag=t.readInt(2),this.compressionMethod=t.readString(2),this.date=t.readDate(),this.crc32=t.readInt(4),this.compressedSize=t.readInt(4),this.uncompressedSize=t.readInt(4);var e=t.readInt(2);if(this.extraFieldsLength=t.readInt(2),this.fileCommentLength=t.readInt(2),this.diskNumberStart=t.readInt(2),this.internalFileAttributes=t.readInt(2),this.externalFileAttributes=t.readInt(4),this.localHeaderOffset=t.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");t.skip(e),this.readExtraFields(t),this.parseZIP64ExtraField(t),this.fileComment=t.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var t=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),t===l&&(this.dosPermissions=63&this.externalFileAttributes),t===h&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||"/"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(t){if(this.extraFields[1]){var e=i(this.extraFields[1].value);this.uncompressedSize===o.MAX_VALUE_32BITS&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===o.MAX_VALUE_32BITS&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===o.MAX_VALUE_32BITS&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===o.MAX_VALUE_32BITS&&(this.diskNumberStart=e.readInt(4))}},readExtraFields:function(t){var e,n,r,i=t.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});t.index<i;)e=t.readInt(2),n=t.readInt(2),r=t.readData(n),this.extraFields[e]={id:e,length:n,value:r}},handleUTF8:function(){var t=f.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=u.utf8decode(this.fileName),this.fileCommentStr=u.utf8decode(this.fileComment);else{var e=this.findExtraFieldUnicodePath();if(null!==e)this.fileNameStr=e;else{var n=o.transformTo(t,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(n)}var r=this.findExtraFieldUnicodeComment();if(null!==r)this.fileCommentStr=r;else{var i=o.transformTo(t,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(i)}}},findExtraFieldUnicodePath:function(){var t=this.extraFields[28789];if(t){var e=i(t.value);return 1!==e.readInt(1)?null:s(this.fileName)!==e.readInt(4)?null:u.utf8decode(e.readData(t.length-5))}return null},findExtraFieldUnicodeComment:function(){var t=this.extraFields[25461];if(t){var e=i(t.value);return 1!==e.readInt(1)?null:s(this.fileComment)!==e.readInt(4)?null:u.utf8decode(e.readData(t.length-5))}return null}},e.exports=r},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":19,"./support":27,"./utf8":28,"./utils":29}],32:[function(t,e,n){"use strict";var r=t("./stream/StreamHelper"),i=t("./stream/DataWorker"),o=t("./utf8"),a=t("./compressedObject"),s=t("./stream/GenericWorker"),u=function(t,e,n){this.name=t,this.dir=n.dir,this.date=n.date,this.comment=n.comment,this.unixPermissions=n.unixPermissions,this.dosPermissions=n.dosPermissions,this._data=e,this._dataBinary=n.binary,this.options={compression:n.compression,compressionOptions:n.compressionOptions}};u.prototype={internalStream:function(t){var e=t.toLowerCase(),n="string"===e||"text"===e;"binarystring"!==e&&"text"!==e||(e="string");var i=this._decompressWorker(),a=!this._dataBinary;return a&&!n&&(i=i.pipe(new o.Utf8EncodeWorker)),!a&&n&&(i=i.pipe(new o.Utf8DecodeWorker)),new r(i,e,"")},async:function(t,e){return this.internalStream(t).accumulate(e)},nodeStream:function(t,e){return this.internalStream(t||"nodebuffer").toNodejsStream(e)},_compressWorker:function(t,e){if(this._data instanceof a&&this._data.compression.magic===t.magic)return this._data.getCompressedWorker();var n=this._decompressWorker();return this._dataBinary||(n=n.pipe(new o.Utf8EncodeWorker)),a.createWorkerFrom(n,t,e)},_decompressWorker:function(){return this._data instanceof a?this._data.getContentWorker():this._data instanceof s?this._data:new i(this._data)}};for(var c=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],f=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},l=0;l<c.length;l++)u.prototype[c[l]]=f;e.exports=u},{"./compressedObject":2,"./stream/DataWorker":24,"./stream/GenericWorker":25,"./stream/StreamHelper":26,"./utf8":28}],33:[function(t,e,n){"use strict";function r(){if(u.length)throw u.shift()}function i(t){var e;e=s.length?s.pop():new o,e.task=t,a(e)}function o(){this.task=null}var a=t("./raw"),s=[],u=[],c=a.makeRequestCallFromTimer(r);e.exports=i,o.prototype.call=function(){try{this.task.call()}catch(t){i.onerror?i.onerror(t):(u.push(t),c())}finally{this.task=null,s[s.length]=this}}},{"./raw":34}],34:[function(t,e,n){(function(t){"use strict";function n(t){s.length||(a(),u=!0),s[s.length]=t}function r(){for(;c<s.length;){var t=c;if(c+=1,s[t].call(),c>f){for(var e=0,n=s.length-c;n>e;e++)s[e]=s[e+c];s.length-=c,c=0}}s.length=0,c=0,u=!1}function i(t){var e=1,n=new l(t),r=document.createTextNode("");return n.observe(r,{characterData:!0}),function(){e=-e,r.data=e}}function o(t){return function(){function e(){clearTimeout(n),clearInterval(r),t()}var n=setTimeout(e,0),r=setInterval(e,50)}}e.exports=n;var a,s=[],u=!1,c=0,f=1024,l=t.MutationObserver||t.WebKitMutationObserver;a="function"==typeof l?i(r):o(r),n.requestFlush=a,n.makeRequestCallFromTimer=o}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],35:[function(t,e,n){},{}],36:[function(t,e,n){function r(){f=!1,s.length?c=s.concat(c):l=-1,c.length&&i()}function i(){if(!f){var t=setTimeout(r);f=!0;for(var e=c.length;e;){for(s=c,c=[];++l<e;)s&&s[l].run();l=-1,e=c.length}s=null,f=!1,clearTimeout(t)}}function o(t,e){this.fun=t,this.array=e}function a(){}var s,u=e.exports={},c=[],f=!1,l=-1;u.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];c.push(new o(t,e)),1!==c.length||f||setTimeout(i,0)},o.prototype.run=function(){this.fun.apply(null,this.array)},u.title="browser",u.browser=!0,u.env={},u.argv=[],u.version="",u.versions={},u.on=a,u.addListener=a,u.once=a,u.off=a,u.removeListener=a,u.removeAllListeners=a,u.emit=a,u.binding=function(t){throw new Error("process.binding is not supported")},u.cwd=function(){return"/"},u.chdir=function(t){throw new Error("process.chdir is not supported")},u.umask=function(){return 0}},{}],37:[function(e,n,r){(function(r,i){(function(){"use strict";function o(t){return"function"==typeof t||"object"==typeof t&&null!==t}function a(t){return"function"==typeof t}function s(t){return"object"==typeof t&&null!==t}function u(t){H=t}function c(t){V=t}function f(){return function(){r.nextTick(_)}}function l(){return function(){Y(_)}}function h(){var t=0,e=new Q(_),n=document.createTextNode("");return e.observe(n,{characterData:!0}),function(){n.data=t=++t%2}}function d(){var t=new MessageChannel;return t.port1.onmessage=_,function(){t.port2.postMessage(0)}}function p(){return function(){setTimeout(_,1)}}function _(){for(var t=0;$>t;t+=2){var e=nt[t],n=nt[t+1];e(n),nt[t]=void 0,nt[t+1]=void 0}$=0}function g(){try{var t=e,n=t("vertx");return Y=n.runOnLoop||n.runOnContext,l()}catch(r){return p()}}function v(){}function m(){return new TypeError("You cannot resolve a promise with itself")}function y(){return new TypeError("A promises callback cannot return that same promise.")}function w(t){try{return t.then}catch(e){return at.error=e,at}}function b(t,e,n,r){try{t.call(e,n,r)}catch(i){return i}}function x(t,e,n){V(function(t){var r=!1,i=b(n,e,function(n){r||(r=!0,e!==n?C(t,n):E(t,n))},function(e){r||(r=!0,I(t,e))},"Settle: "+(t._label||" unknown promise"));!r&&i&&(r=!0,I(t,i))},t)}function k(t,e){e._state===it?E(t,e._result):e._state===ot?I(t,e._result):O(e,void 0,function(e){C(t,e)},function(e){I(t,e)})}function A(t,e){if(e.constructor===t.constructor)k(t,e);else{var n=w(e);n===at?I(t,at.error):void 0===n?E(t,e):a(n)?x(t,e,n):E(t,e)}}function C(t,e){t===e?I(t,m()):o(e)?A(t,e):E(t,e)}function S(t){t._onerror&&t._onerror(t._result),z(t)}function E(t,e){t._state===rt&&(t._result=e,t._state=it,0!==t._subscribers.length&&V(z,t))}function I(t,e){t._state===rt&&(t._state=ot,t._result=e,V(S,t))}function O(t,e,n,r){var i=t._subscribers,o=i.length;t._onerror=null,i[o]=e,i[o+it]=n,i[o+ot]=r,0===o&&t._state&&V(z,t)}function z(t){var e=t._subscribers,n=t._state;if(0!==e.length){for(var r,i,o=t._result,a=0;a<e.length;a+=3)r=e[a],i=e[a+n],r?N(n,r,i,o):i(o);t._subscribers.length=0}}function j(){this.error=null}function T(t,e){try{return t(e)}catch(n){return st.error=n,st}}function N(t,e,n,r){var i,o,s,u,c=a(n);if(c){if(i=T(n,r),i===st?(u=!0,o=i.error,i=null):s=!0,e===i)return void I(e,y())}else i=r,s=!0;e._state!==rt||(c&&s?C(e,i):u?I(e,o):t===it?E(e,i):t===ot&&I(e,i))}function F(t,e){try{e(function(e){C(t,e)},function(e){I(t,e)})}catch(n){I(t,n)}}function R(t,e){var n=this;n._instanceConstructor=t,n.promise=new t(v),n._validateInput(e)?(n._input=e,n.length=e.length,n._remaining=e.length,n._init(),0===n.length?E(n.promise,n._result):(n.length=n.length||0,n._enumerate(),0===n._remaining&&E(n.promise,n._result))):I(n.promise,n._validationError())}function D(t){return new ut(this,t).promise}function B(t){function e(t){C(i,t)}function n(t){I(i,t)}var r=this,i=new r(v);if(!K(t))return I(i,new TypeError("You must pass an array to race.")),i;for(var o=t.length,a=0;i._state===rt&&o>a;a++)O(r.resolve(t[a]),void 0,e,n);return i}function L(t){var e=this;if(t&&"object"==typeof t&&t.constructor===e)return t;var n=new e(v);return C(n,t),n}function U(t){var e=this,n=new e(v);return I(n,t),n}function P(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function M(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}function W(t){this._id=dt++,this._state=void 0,this._result=void 0,this._subscribers=[],v!==t&&(a(t)||P(),this instanceof W||M(),F(this,t))}function Z(){var t;if("undefined"!=typeof i)t=i;else if("undefined"!=typeof self)t=self;else try{t=Function("return this")()}catch(e){throw new Error("polyfill failed because global object is unavailable in this environment")}var n=t.Promise;n&&"[object Promise]"===Object.prototype.toString.call(n.resolve())&&!n.cast||(t.Promise=pt)}var q;q=Array.isArray?Array.isArray:function(t){return"[object Array]"===Object.prototype.toString.call(t)};var Y,H,G,K=q,$=0,V=({}.toString,function(t,e){nt[$]=t,nt[$+1]=e,$+=2,2===$&&(H?H(_):G())}),X="undefined"!=typeof window?window:void 0,J=X||{},Q=J.MutationObserver||J.WebKitMutationObserver,tt="undefined"!=typeof r&&"[object process]"==={}.toString.call(r),et="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel,nt=new Array(1e3);G=tt?f():Q?h():et?d():void 0===X&&"function"==typeof e?g():p();var rt=void 0,it=1,ot=2,at=new j,st=new j;R.prototype._validateInput=function(t){return K(t)},R.prototype._validationError=function(){return new Error("Array Methods must be provided an Array")},R.prototype._init=function(){this._result=new Array(this.length)};var ut=R;R.prototype._enumerate=function(){for(var t=this,e=t.length,n=t.promise,r=t._input,i=0;n._state===rt&&e>i;i++)t._eachEntry(r[i],i)},R.prototype._eachEntry=function(t,e){var n=this,r=n._instanceConstructor;s(t)?t.constructor===r&&t._state!==rt?(t._onerror=null,n._settledAt(t._state,e,t._result)):n._willSettleAt(r.resolve(t),e):(n._remaining--,n._result[e]=t)},R.prototype._settledAt=function(t,e,n){var r=this,i=r.promise;i._state===rt&&(r._remaining--,t===ot?I(i,n):r._result[e]=n),0===r._remaining&&E(i,r._result)},R.prototype._willSettleAt=function(t,e){var n=this;O(t,void 0,function(t){n._settledAt(it,e,t)},function(t){n._settledAt(ot,e,t)})};var ct=D,ft=B,lt=L,ht=U,dt=0,pt=W;W.all=ct,W.race=ft,W.resolve=lt,W.reject=ht,W._setScheduler=u,W._setAsap=c,W._asap=V,W.prototype={constructor:W,then:function(t,e){var n=this,r=n._state;if(r===it&&!t||r===ot&&!e)return this;var i=new this.constructor(v),o=n._result;if(r){var a=arguments[r-1];V(function(){N(r,i,a,o)})}else O(n,i,t,e);return i},"catch":function(t){return this.then(null,t)}};var _t=Z,gt={Promise:pt,polyfill:_t};"function"==typeof t&&t.amd?t(function(){return gt}):"undefined"!=typeof n&&n.exports?n.exports=gt:"undefined"!=typeof this&&(this.ES6Promise=gt),_t()}).call(this)}).call(this,e("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{_process:36}],38:[function(t,e,n){"use strict";var r=t("./lib/utils/common").assign,i=t("./lib/deflate"),o=t("./lib/inflate"),a=t("./lib/zlib/constants"),s={};r(s,i,o,a),e.exports=s},{"./lib/deflate":39,"./lib/inflate":40,"./lib/utils/common":41,"./lib/zlib/constants":44}],39:[function(t,e,n){"use strict";function r(t){if(!(this instanceof r))return new r(t);this.options=u.assign({level:m,method:w,chunkSize:16384,windowBits:15,memLevel:8,strategy:y,to:""},t||{});var e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new l,this.strm.avail_out=0;var n=s.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(n!==_)throw new Error(f[n]);if(e.header&&s.deflateSetHeader(this.strm,e.header),e.dictionary){var i;if(i="string"==typeof e.dictionary?c.string2buf(e.dictionary):"[object ArrayBuffer]"===h.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,n=s.deflateSetDictionary(this.strm,i),n!==_)throw new Error(f[n]);this._dict_set=!0}}function i(t,e){var n=new r(e);if(n.push(t,!0),n.err)throw n.msg;return n.result}function o(t,e){return e=e||{},e.raw=!0,i(t,e)}function a(t,e){return e=e||{},e.gzip=!0,i(t,e)}var s=t("./zlib/deflate"),u=t("./utils/common"),c=t("./utils/strings"),f=t("./zlib/messages"),l=t("./zlib/zstream"),h=Object.prototype.toString,d=0,p=4,_=0,g=1,v=2,m=-1,y=0,w=8;r.prototype.push=function(t,e){var n,r,i=this.strm,o=this.options.chunkSize;if(this.ended)return!1;r=e===~~e?e:e===!0?p:d,"string"==typeof t?i.input=c.string2buf(t):"[object ArrayBuffer]"===h.call(t)?i.input=new Uint8Array(t):i.input=t,
+i.next_in=0,i.avail_in=i.input.length;do{if(0===i.avail_out&&(i.output=new u.Buf8(o),i.next_out=0,i.avail_out=o),n=s.deflate(i,r),n!==g&&n!==_)return this.onEnd(n),this.ended=!0,!1;0!==i.avail_out&&(0!==i.avail_in||r!==p&&r!==v)||("string"===this.options.to?this.onData(c.buf2binstring(u.shrinkBuf(i.output,i.next_out))):this.onData(u.shrinkBuf(i.output,i.next_out)))}while((i.avail_in>0||0===i.avail_out)&&n!==g);return r===p?(n=s.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===_):r===v?(this.onEnd(_),i.avail_out=0,!0):!0},r.prototype.onData=function(t){this.chunks.push(t)},r.prototype.onEnd=function(t){t===_&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=u.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},n.Deflate=r,n.deflate=i,n.deflateRaw=o,n.gzip=a},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(t,e,n){"use strict";function r(t){if(!(this instanceof r))return new r(t);this.options=s.assign({chunkSize:16384,windowBits:0,to:""},t||{});var e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0===(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new l,this.strm.avail_out=0;var n=a.inflateInit2(this.strm,e.windowBits);if(n!==c.Z_OK)throw new Error(f[n]);this.header=new h,a.inflateGetHeader(this.strm,this.header)}function i(t,e){var n=new r(e);if(n.push(t,!0),n.err)throw n.msg;return n.result}function o(t,e){return e=e||{},e.raw=!0,i(t,e)}var a=t("./zlib/inflate"),s=t("./utils/common"),u=t("./utils/strings"),c=t("./zlib/constants"),f=t("./zlib/messages"),l=t("./zlib/zstream"),h=t("./zlib/gzheader"),d=Object.prototype.toString;r.prototype.push=function(t,e){var n,r,i,o,f,l,h=this.strm,p=this.options.chunkSize,_=this.options.dictionary,g=!1;if(this.ended)return!1;r=e===~~e?e:e===!0?c.Z_FINISH:c.Z_NO_FLUSH,"string"==typeof t?h.input=u.binstring2buf(t):"[object ArrayBuffer]"===d.call(t)?h.input=new Uint8Array(t):h.input=t,h.next_in=0,h.avail_in=h.input.length;do{if(0===h.avail_out&&(h.output=new s.Buf8(p),h.next_out=0,h.avail_out=p),n=a.inflate(h,c.Z_NO_FLUSH),n===c.Z_NEED_DICT&&_&&(l="string"==typeof _?u.string2buf(_):"[object ArrayBuffer]"===d.call(_)?new Uint8Array(_):_,n=a.inflateSetDictionary(this.strm,l)),n===c.Z_BUF_ERROR&&g===!0&&(n=c.Z_OK,g=!1),n!==c.Z_STREAM_END&&n!==c.Z_OK)return this.onEnd(n),this.ended=!0,!1;h.next_out&&(0!==h.avail_out&&n!==c.Z_STREAM_END&&(0!==h.avail_in||r!==c.Z_FINISH&&r!==c.Z_SYNC_FLUSH)||("string"===this.options.to?(i=u.utf8border(h.output,h.next_out),o=h.next_out-i,f=u.buf2string(h.output,i),h.next_out=o,h.avail_out=p-o,o&&s.arraySet(h.output,h.output,i,o,0),this.onData(f)):this.onData(s.shrinkBuf(h.output,h.next_out)))),0===h.avail_in&&0===h.avail_out&&(g=!0)}while((h.avail_in>0||0===h.avail_out)&&n!==c.Z_STREAM_END);return n===c.Z_STREAM_END&&(r=c.Z_FINISH),r===c.Z_FINISH?(n=a.inflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===c.Z_OK):r===c.Z_SYNC_FLUSH?(this.onEnd(c.Z_OK),h.avail_out=0,!0):!0},r.prototype.onData=function(t){this.chunks.push(t)},r.prototype.onEnd=function(t){t===c.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=s.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},n.Inflate=r,n.inflate=i,n.inflateRaw=o,n.ungzip=i},{"./utils/common":41,"./utils/strings":42,"./zlib/constants":44,"./zlib/gzheader":47,"./zlib/inflate":49,"./zlib/messages":51,"./zlib/zstream":53}],41:[function(t,e,n){"use strict";var r="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;n.assign=function(t){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var n=e.shift();if(n){if("object"!=typeof n)throw new TypeError(n+"must be non-object");for(var r in n)n.hasOwnProperty(r)&&(t[r]=n[r])}}return t},n.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var i={arraySet:function(t,e,n,r,i){if(e.subarray&&t.subarray)return void t.set(e.subarray(n,n+r),i);for(var o=0;r>o;o++)t[i+o]=e[n+o]},flattenChunks:function(t){var e,n,r,i,o,a;for(r=0,e=0,n=t.length;n>e;e++)r+=t[e].length;for(a=new Uint8Array(r),i=0,e=0,n=t.length;n>e;e++)o=t[e],a.set(o,i),i+=o.length;return a}},o={arraySet:function(t,e,n,r,i){for(var o=0;r>o;o++)t[i+o]=e[n+o]},flattenChunks:function(t){return[].concat.apply([],t)}};n.setTyped=function(t){t?(n.Buf8=Uint8Array,n.Buf16=Uint16Array,n.Buf32=Int32Array,n.assign(n,i)):(n.Buf8=Array,n.Buf16=Array,n.Buf32=Array,n.assign(n,o))},n.setTyped(r)},{}],42:[function(t,e,n){"use strict";function r(t,e){if(65537>e&&(t.subarray&&a||!t.subarray&&o))return String.fromCharCode.apply(null,i.shrinkBuf(t,e));for(var n="",r=0;e>r;r++)n+=String.fromCharCode(t[r]);return n}var i=t("./common"),o=!0,a=!0;try{String.fromCharCode.apply(null,[0])}catch(s){o=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(s){a=!1}for(var u=new i.Buf8(256),c=0;256>c;c++)u[c]=c>=252?6:c>=248?5:c>=240?4:c>=224?3:c>=192?2:1;u[254]=u[254]=1,n.string2buf=function(t){var e,n,r,o,a,s=t.length,u=0;for(o=0;s>o;o++)n=t.charCodeAt(o),55296===(64512&n)&&s>o+1&&(r=t.charCodeAt(o+1),56320===(64512&r)&&(n=65536+(n-55296<<10)+(r-56320),o++)),u+=128>n?1:2048>n?2:65536>n?3:4;for(e=new i.Buf8(u),a=0,o=0;u>a;o++)n=t.charCodeAt(o),55296===(64512&n)&&s>o+1&&(r=t.charCodeAt(o+1),56320===(64512&r)&&(n=65536+(n-55296<<10)+(r-56320),o++)),128>n?e[a++]=n:2048>n?(e[a++]=192|n>>>6,e[a++]=128|63&n):65536>n?(e[a++]=224|n>>>12,e[a++]=128|n>>>6&63,e[a++]=128|63&n):(e[a++]=240|n>>>18,e[a++]=128|n>>>12&63,e[a++]=128|n>>>6&63,e[a++]=128|63&n);return e},n.buf2binstring=function(t){return r(t,t.length)},n.binstring2buf=function(t){for(var e=new i.Buf8(t.length),n=0,r=e.length;r>n;n++)e[n]=t.charCodeAt(n);return e},n.buf2string=function(t,e){var n,i,o,a,s=e||t.length,c=new Array(2*s);for(i=0,n=0;s>n;)if(o=t[n++],128>o)c[i++]=o;else if(a=u[o],a>4)c[i++]=65533,n+=a-1;else{for(o&=2===a?31:3===a?15:7;a>1&&s>n;)o=o<<6|63&t[n++],a--;a>1?c[i++]=65533:65536>o?c[i++]=o:(o-=65536,c[i++]=55296|o>>10&1023,c[i++]=56320|1023&o)}return r(c,i)},n.utf8border=function(t,e){var n;for(e=e||t.length,e>t.length&&(e=t.length),n=e-1;n>=0&&128===(192&t[n]);)n--;return 0>n?e:0===n?e:n+u[t[n]]>e?n:e}},{"./common":41}],43:[function(t,e,n){"use strict";function r(t,e,n,r){for(var i=65535&t|0,o=t>>>16&65535|0,a=0;0!==n;){a=n>2e3?2e3:n,n-=a;do i=i+e[r++]|0,o=o+i|0;while(--a);i%=65521,o%=65521}return i|o<<16|0}e.exports=r},{}],44:[function(t,e,n){"use strict";e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(t,e,n){"use strict";function r(){for(var t,e=[],n=0;256>n;n++){t=n;for(var r=0;8>r;r++)t=1&t?3988292384^t>>>1:t>>>1;e[n]=t}return e}function i(t,e,n,r){var i=o,a=r+n;t^=-1;for(var s=r;a>s;s++)t=t>>>8^i[255&(t^e[s])];return-1^t}var o=r();e.exports=i},{}],46:[function(t,e,n){"use strict";function r(t,e){return t.msg=F[e],e}function i(t){return(t<<1)-(t>4?9:0)}function o(t){for(var e=t.length;--e>=0;)t[e]=0}function a(t){var e=t.state,n=e.pending;n>t.avail_out&&(n=t.avail_out),0!==n&&(z.arraySet(t.output,e.pending_buf,e.pending_out,n,t.next_out),t.next_out+=n,e.pending_out+=n,t.total_out+=n,t.avail_out-=n,e.pending-=n,0===e.pending&&(e.pending_out=0))}function s(t,e){j._tr_flush_block(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,a(t.strm)}function u(t,e){t.pending_buf[t.pending++]=e}function c(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e}function f(t,e,n,r){var i=t.avail_in;return i>r&&(i=r),0===i?0:(t.avail_in-=i,z.arraySet(e,t.input,t.next_in,i,n),1===t.state.wrap?t.adler=T(t.adler,e,i,n):2===t.state.wrap&&(t.adler=N(t.adler,e,i,n)),t.next_in+=i,t.total_in+=i,i)}function l(t,e){var n,r,i=t.max_chain_length,o=t.strstart,a=t.prev_length,s=t.nice_match,u=t.strstart>t.w_size-lt?t.strstart-(t.w_size-lt):0,c=t.window,f=t.w_mask,l=t.prev,h=t.strstart+ft,d=c[o+a-1],p=c[o+a];t.prev_length>=t.good_match&&(i>>=2),s>t.lookahead&&(s=t.lookahead);do if(n=e,c[n+a]===p&&c[n+a-1]===d&&c[n]===c[o]&&c[++n]===c[o+1]){o+=2,n++;do;while(c[++o]===c[++n]&&c[++o]===c[++n]&&c[++o]===c[++n]&&c[++o]===c[++n]&&c[++o]===c[++n]&&c[++o]===c[++n]&&c[++o]===c[++n]&&c[++o]===c[++n]&&h>o);if(r=ft-(h-o),o=h-ft,r>a){if(t.match_start=e,a=r,r>=s)break;d=c[o+a-1],p=c[o+a]}}while((e=l[e&f])>u&&0!==--i);return a<=t.lookahead?a:t.lookahead}function h(t){var e,n,r,i,o,a=t.w_size;do{if(i=t.window_size-t.lookahead-t.strstart,t.strstart>=a+(a-lt)){z.arraySet(t.window,t.window,a,a,0),t.match_start-=a,t.strstart-=a,t.block_start-=a,n=t.hash_size,e=n;do r=t.head[--e],t.head[e]=r>=a?r-a:0;while(--n);n=a,e=n;do r=t.prev[--e],t.prev[e]=r>=a?r-a:0;while(--n);i+=a}if(0===t.strm.avail_in)break;if(n=f(t.strm,t.window,t.strstart+t.lookahead,i),t.lookahead+=n,t.lookahead+t.insert>=ct)for(o=t.strstart-t.insert,t.ins_h=t.window[o],t.ins_h=(t.ins_h<<t.hash_shift^t.window[o+1])&t.hash_mask;t.insert&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[o+ct-1])&t.hash_mask,t.prev[o&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=o,o++,t.insert--,!(t.lookahead+t.insert<ct)););}while(t.lookahead<lt&&0!==t.strm.avail_in)}function d(t,e){var n=65535;for(n>t.pending_buf_size-5&&(n=t.pending_buf_size-5);;){if(t.lookahead<=1){if(h(t),0===t.lookahead&&e===R)return wt;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var r=t.block_start+n;if((0===t.strstart||t.strstart>=r)&&(t.lookahead=t.strstart-r,t.strstart=r,s(t,!1),0===t.strm.avail_out))return wt;if(t.strstart-t.block_start>=t.w_size-lt&&(s(t,!1),0===t.strm.avail_out))return wt}return t.insert=0,e===L?(s(t,!0),0===t.strm.avail_out?xt:kt):t.strstart>t.block_start&&(s(t,!1),0===t.strm.avail_out)?wt:wt}function p(t,e){for(var n,r;;){if(t.lookahead<lt){if(h(t),t.lookahead<lt&&e===R)return wt;if(0===t.lookahead)break}if(n=0,t.lookahead>=ct&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+ct-1])&t.hash_mask,n=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==n&&t.strstart-n<=t.w_size-lt&&(t.match_length=l(t,n)),t.match_length>=ct)if(r=j._tr_tally(t,t.strstart-t.match_start,t.match_length-ct),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=ct){t.match_length--;do t.strstart++,t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+ct-1])&t.hash_mask,n=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart;while(0!==--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+1])&t.hash_mask;else r=j._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(r&&(s(t,!1),0===t.strm.avail_out))return wt}return t.insert=t.strstart<ct-1?t.strstart:ct-1,e===L?(s(t,!0),0===t.strm.avail_out?xt:kt):t.last_lit&&(s(t,!1),0===t.strm.avail_out)?wt:bt}function _(t,e){for(var n,r,i;;){if(t.lookahead<lt){if(h(t),t.lookahead<lt&&e===R)return wt;if(0===t.lookahead)break}if(n=0,t.lookahead>=ct&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+ct-1])&t.hash_mask,n=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=ct-1,0!==n&&t.prev_length<t.max_lazy_match&&t.strstart-n<=t.w_size-lt&&(t.match_length=l(t,n),t.match_length<=5&&(t.strategy===H||t.match_length===ct&&t.strstart-t.match_start>4096)&&(t.match_length=ct-1)),t.prev_length>=ct&&t.match_length<=t.prev_length){i=t.strstart+t.lookahead-ct,r=j._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-ct),t.lookahead-=t.prev_length-1,t.prev_length-=2;do++t.strstart<=i&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+ct-1])&t.hash_mask,n=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart);while(0!==--t.prev_length);if(t.match_available=0,t.match_length=ct-1,t.strstart++,r&&(s(t,!1),0===t.strm.avail_out))return wt}else if(t.match_available){if(r=j._tr_tally(t,0,t.window[t.strstart-1]),r&&s(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return wt}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(r=j._tr_tally(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<ct-1?t.strstart:ct-1,e===L?(s(t,!0),0===t.strm.avail_out?xt:kt):t.last_lit&&(s(t,!1),0===t.strm.avail_out)?wt:bt}function g(t,e){for(var n,r,i,o,a=t.window;;){if(t.lookahead<=ft){if(h(t),t.lookahead<=ft&&e===R)return wt;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=ct&&t.strstart>0&&(i=t.strstart-1,r=a[i],r===a[++i]&&r===a[++i]&&r===a[++i])){o=t.strstart+ft;do;while(r===a[++i]&&r===a[++i]&&r===a[++i]&&r===a[++i]&&r===a[++i]&&r===a[++i]&&r===a[++i]&&r===a[++i]&&o>i);t.match_length=ft-(o-i),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=ct?(n=j._tr_tally(t,1,t.match_length-ct),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(n=j._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),n&&(s(t,!1),0===t.strm.avail_out))return wt}return t.insert=0,e===L?(s(t,!0),0===t.strm.avail_out?xt:kt):t.last_lit&&(s(t,!1),0===t.strm.avail_out)?wt:bt}function v(t,e){for(var n;;){if(0===t.lookahead&&(h(t),0===t.lookahead)){if(e===R)return wt;break}if(t.match_length=0,n=j._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,n&&(s(t,!1),0===t.strm.avail_out))return wt}return t.insert=0,e===L?(s(t,!0),0===t.strm.avail_out?xt:kt):t.last_lit&&(s(t,!1),0===t.strm.avail_out)?wt:bt}function m(t,e,n,r,i){this.good_length=t,this.max_lazy=e,this.nice_length=n,this.max_chain=r,this.func=i}function y(t){t.window_size=2*t.w_size,o(t.head),t.max_lazy_match=O[t.level].max_lazy,t.good_match=O[t.level].good_length,t.nice_match=O[t.level].nice_length,t.max_chain_length=O[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=ct-1,t.match_available=0,t.ins_h=0}function w(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=J,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new z.Buf16(2*st),this.dyn_dtree=new z.Buf16(2*(2*ot+1)),this.bl_tree=new z.Buf16(2*(2*at+1)),o(this.dyn_ltree),o(this.dyn_dtree),o(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new z.Buf16(ut+1),this.heap=new z.Buf16(2*it+1),o(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new z.Buf16(2*it+1),o(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function b(t){var e;return t&&t.state?(t.total_in=t.total_out=0,t.data_type=X,e=t.state,e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?dt:mt,t.adler=2===e.wrap?0:1,e.last_flush=R,j._tr_init(e),P):r(t,W)}function x(t){var e=b(t);return e===P&&y(t.state),e}function k(t,e){return t&&t.state?2!==t.state.wrap?W:(t.state.gzhead=e,P):W}function A(t,e,n,i,o,a){if(!t)return W;var s=1;if(e===Y&&(e=6),0>i?(s=0,i=-i):i>15&&(s=2,i-=16),1>o||o>Q||n!==J||8>i||i>15||0>e||e>9||0>a||a>$)return r(t,W);8===i&&(i=9);var u=new w;return t.state=u,u.strm=t,u.wrap=s,u.gzhead=null,u.w_bits=i,u.w_size=1<<u.w_bits,u.w_mask=u.w_size-1,u.hash_bits=o+7,u.hash_size=1<<u.hash_bits,u.hash_mask=u.hash_size-1,u.hash_shift=~~((u.hash_bits+ct-1)/ct),u.window=new z.Buf8(2*u.w_size),u.head=new z.Buf16(u.hash_size),u.prev=new z.Buf16(u.w_size),u.lit_bufsize=1<<o+6,u.pending_buf_size=4*u.lit_bufsize,u.pending_buf=new z.Buf8(u.pending_buf_size),u.d_buf=u.lit_bufsize>>1,u.l_buf=3*u.lit_bufsize,u.level=e,u.strategy=a,u.method=n,x(t)}function C(t,e){return A(t,e,J,tt,et,V)}function S(t,e){var n,s,f,l;if(!t||!t.state||e>U||0>e)return t?r(t,W):W;if(s=t.state,!t.output||!t.input&&0!==t.avail_in||s.status===yt&&e!==L)return r(t,0===t.avail_out?q:W);if(s.strm=t,n=s.last_flush,s.last_flush=e,s.status===dt)if(2===s.wrap)t.adler=0,u(s,31),u(s,139),u(s,8),s.gzhead?(u(s,(s.gzhead.text?1:0)+(s.gzhead.hcrc?2:0)+(s.gzhead.extra?4:0)+(s.gzhead.name?8:0)+(s.gzhead.comment?16:0)),u(s,255&s.gzhead.time),u(s,s.gzhead.time>>8&255),u(s,s.gzhead.time>>16&255),u(s,s.gzhead.time>>24&255),u(s,9===s.level?2:s.strategy>=G||s.level<2?4:0),u(s,255&s.gzhead.os),s.gzhead.extra&&s.gzhead.extra.length&&(u(s,255&s.gzhead.extra.length),u(s,s.gzhead.extra.length>>8&255)),s.gzhead.hcrc&&(t.adler=N(t.adler,s.pending_buf,s.pending,0)),s.gzindex=0,s.status=pt):(u(s,0),u(s,0),u(s,0),u(s,0),u(s,0),u(s,9===s.level?2:s.strategy>=G||s.level<2?4:0),u(s,At),s.status=mt);else{var h=J+(s.w_bits-8<<4)<<8,d=-1;d=s.strategy>=G||s.level<2?0:s.level<6?1:6===s.level?2:3,h|=d<<6,0!==s.strstart&&(h|=ht),h+=31-h%31,s.status=mt,c(s,h),0!==s.strstart&&(c(s,t.adler>>>16),c(s,65535&t.adler)),t.adler=1}if(s.status===pt)if(s.gzhead.extra){for(f=s.pending;s.gzindex<(65535&s.gzhead.extra.length)&&(s.pending!==s.pending_buf_size||(s.gzhead.hcrc&&s.pending>f&&(t.adler=N(t.adler,s.pending_buf,s.pending-f,f)),a(t),f=s.pending,s.pending!==s.pending_buf_size));)u(s,255&s.gzhead.extra[s.gzindex]),s.gzindex++;s.gzhead.hcrc&&s.pending>f&&(t.adler=N(t.adler,s.pending_buf,s.pending-f,f)),s.gzindex===s.gzhead.extra.length&&(s.gzindex=0,s.status=_t)}else s.status=_t;if(s.status===_t)if(s.gzhead.name){f=s.pending;do{if(s.pending===s.pending_buf_size&&(s.gzhead.hcrc&&s.pending>f&&(t.adler=N(t.adler,s.pending_buf,s.pending-f,f)),a(t),f=s.pending,s.pending===s.pending_buf_size)){l=1;break}l=s.gzindex<s.gzhead.name.length?255&s.gzhead.name.charCodeAt(s.gzindex++):0,u(s,l)}while(0!==l);s.gzhead.hcrc&&s.pending>f&&(t.adler=N(t.adler,s.pending_buf,s.pending-f,f)),0===l&&(s.gzindex=0,s.status=gt)}else s.status=gt;if(s.status===gt)if(s.gzhead.comment){f=s.pending;do{if(s.pending===s.pending_buf_size&&(s.gzhead.hcrc&&s.pending>f&&(t.adler=N(t.adler,s.pending_buf,s.pending-f,f)),a(t),f=s.pending,s.pending===s.pending_buf_size)){l=1;break}l=s.gzindex<s.gzhead.comment.length?255&s.gzhead.comment.charCodeAt(s.gzindex++):0,u(s,l)}while(0!==l);s.gzhead.hcrc&&s.pending>f&&(t.adler=N(t.adler,s.pending_buf,s.pending-f,f)),0===l&&(s.status=vt)}else s.status=vt;if(s.status===vt&&(s.gzhead.hcrc?(s.pending+2>s.pending_buf_size&&a(t),s.pending+2<=s.pending_buf_size&&(u(s,255&t.adler),u(s,t.adler>>8&255),t.adler=0,s.status=mt)):s.status=mt),0!==s.pending){if(a(t),0===t.avail_out)return s.last_flush=-1,P}else if(0===t.avail_in&&i(e)<=i(n)&&e!==L)return r(t,q);if(s.status===yt&&0!==t.avail_in)return r(t,q);if(0!==t.avail_in||0!==s.lookahead||e!==R&&s.status!==yt){var p=s.strategy===G?v(s,e):s.strategy===K?g(s,e):O[s.level].func(s,e);if(p!==xt&&p!==kt||(s.status=yt),p===wt||p===xt)return 0===t.avail_out&&(s.last_flush=-1),P;if(p===bt&&(e===D?j._tr_align(s):e!==U&&(j._tr_stored_block(s,0,0,!1),e===B&&(o(s.head),0===s.lookahead&&(s.strstart=0,s.block_start=0,s.insert=0))),a(t),0===t.avail_out))return s.last_flush=-1,P}return e!==L?P:s.wrap<=0?M:(2===s.wrap?(u(s,255&t.adler),u(s,t.adler>>8&255),u(s,t.adler>>16&255),u(s,t.adler>>24&255),u(s,255&t.total_in),u(s,t.total_in>>8&255),u(s,t.total_in>>16&255),u(s,t.total_in>>24&255)):(c(s,t.adler>>>16),c(s,65535&t.adler)),a(t),s.wrap>0&&(s.wrap=-s.wrap),0!==s.pending?P:M)}function E(t){var e;return t&&t.state?(e=t.state.status,e!==dt&&e!==pt&&e!==_t&&e!==gt&&e!==vt&&e!==mt&&e!==yt?r(t,W):(t.state=null,e===mt?r(t,Z):P)):W}function I(t,e){var n,r,i,a,s,u,c,f,l=e.length;if(!t||!t.state)return W;if(n=t.state,a=n.wrap,2===a||1===a&&n.status!==dt||n.lookahead)return W;for(1===a&&(t.adler=T(t.adler,e,l,0)),n.wrap=0,l>=n.w_size&&(0===a&&(o(n.head),n.strstart=0,n.block_start=0,n.insert=0),f=new z.Buf8(n.w_size),z.arraySet(f,e,l-n.w_size,n.w_size,0),e=f,l=n.w_size),s=t.avail_in,u=t.next_in,c=t.input,t.avail_in=l,t.next_in=0,t.input=e,h(n);n.lookahead>=ct;){r=n.strstart,i=n.lookahead-(ct-1);do n.ins_h=(n.ins_h<<n.hash_shift^n.window[r+ct-1])&n.hash_mask,n.prev[r&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=r,r++;while(--i);n.strstart=r,n.lookahead=ct-1,h(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=ct-1,n.match_available=0,t.next_in=u,t.input=c,t.avail_in=s,n.wrap=a,P}var O,z=t("../utils/common"),j=t("./trees"),T=t("./adler32"),N=t("./crc32"),F=t("./messages"),R=0,D=1,B=3,L=4,U=5,P=0,M=1,W=-2,Z=-3,q=-5,Y=-1,H=1,G=2,K=3,$=4,V=0,X=2,J=8,Q=9,tt=15,et=8,nt=29,rt=256,it=rt+1+nt,ot=30,at=19,st=2*it+1,ut=15,ct=3,ft=258,lt=ft+ct+1,ht=32,dt=42,pt=69,_t=73,gt=91,vt=103,mt=113,yt=666,wt=1,bt=2,xt=3,kt=4,At=3;O=[new m(0,0,0,0,d),new m(4,4,8,4,p),new m(4,5,16,8,p),new m(4,6,32,32,p),new m(4,4,16,16,_),new m(8,16,32,32,_),new m(8,16,128,128,_),new m(8,32,128,256,_),new m(32,128,258,1024,_),new m(32,258,258,4096,_)],n.deflateInit=C,n.deflateInit2=A,n.deflateReset=x,n.deflateResetKeep=b,n.deflateSetHeader=k,n.deflate=S,n.deflateEnd=E,n.deflateSetDictionary=I,n.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./messages":51,"./trees":52}],47:[function(t,e,n){"use strict";function r(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}e.exports=r},{}],48:[function(t,e,n){"use strict";var r=30,i=12;e.exports=function(t,e){var n,o,a,s,u,c,f,l,h,d,p,_,g,v,m,y,w,b,x,k,A,C,S,E,I;n=t.state,o=t.next_in,E=t.input,a=o+(t.avail_in-5),s=t.next_out,I=t.output,u=s-(e-t.avail_out),c=s+(t.avail_out-257),f=n.dmax,l=n.wsize,h=n.whave,d=n.wnext,p=n.window,_=n.hold,g=n.bits,v=n.lencode,m=n.distcode,y=(1<<n.lenbits)-1,w=(1<<n.distbits)-1;t:do{15>g&&(_+=E[o++]<<g,g+=8,_+=E[o++]<<g,g+=8),b=v[_&y];e:for(;;){if(x=b>>>24,_>>>=x,g-=x,x=b>>>16&255,0===x)I[s++]=65535&b;else{if(!(16&x)){if(0===(64&x)){b=v[(65535&b)+(_&(1<<x)-1)];continue e}if(32&x){n.mode=i;break t}t.msg="invalid literal/length code",n.mode=r;break t}k=65535&b,x&=15,x&&(x>g&&(_+=E[o++]<<g,g+=8),k+=_&(1<<x)-1,_>>>=x,g-=x),15>g&&(_+=E[o++]<<g,g+=8,_+=E[o++]<<g,g+=8),b=m[_&w];n:for(;;){if(x=b>>>24,_>>>=x,g-=x,x=b>>>16&255,!(16&x)){if(0===(64&x)){b=m[(65535&b)+(_&(1<<x)-1)];continue n}t.msg="invalid distance code",n.mode=r;break t}if(A=65535&b,x&=15,x>g&&(_+=E[o++]<<g,g+=8,x>g&&(_+=E[o++]<<g,g+=8)),A+=_&(1<<x)-1,A>f){t.msg="invalid distance too far back",n.mode=r;break t}if(_>>>=x,g-=x,x=s-u,A>x){if(x=A-x,x>h&&n.sane){t.msg="invalid distance too far back",n.mode=r;break t}if(C=0,S=p,0===d){if(C+=l-x,k>x){k-=x;do I[s++]=p[C++];while(--x);C=s-A,S=I}}else if(x>d){if(C+=l+d-x,x-=d,k>x){k-=x;do I[s++]=p[C++];while(--x);if(C=0,k>d){x=d,k-=x;do I[s++]=p[C++];while(--x);C=s-A,S=I}}}else if(C+=d-x,k>x){k-=x;do I[s++]=p[C++];while(--x);C=s-A,S=I}for(;k>2;)I[s++]=S[C++],I[s++]=S[C++],I[s++]=S[C++],k-=3;k&&(I[s++]=S[C++],k>1&&(I[s++]=S[C++]))}else{C=s-A;do I[s++]=I[C++],I[s++]=I[C++],I[s++]=I[C++],k-=3;while(k>2);k&&(I[s++]=I[C++],k>1&&(I[s++]=I[C++]))}break}}break}}while(a>o&&c>s);k=g>>3,o-=k,g-=k<<3,_&=(1<<g)-1,t.next_in=o,t.next_out=s,t.avail_in=a>o?5+(a-o):5-(o-a),t.avail_out=c>s?257+(c-s):257-(s-c),n.hold=_,n.bits=g}},{}],49:[function(t,e,n){"use strict";function r(t){return(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function i(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new m.Buf16(320),this.work=new m.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function o(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=B,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new m.Buf32(_t),e.distcode=e.distdyn=new m.Buf32(gt),e.sane=1,e.back=-1,O):T}function a(t){var e;return t&&t.state?(e=t.state,e.wsize=0,e.whave=0,e.wnext=0,o(t)):T}function s(t,e){var n,r;return t&&t.state?(r=t.state,0>e?(n=0,e=-e):(n=(e>>4)+1,48>e&&(e&=15)),e&&(8>e||e>15)?T:(null!==r.window&&r.wbits!==e&&(r.window=null),r.wrap=n,r.wbits=e,a(t))):T}function u(t,e){var n,r;return t?(r=new i,t.state=r,r.window=null,n=s(t,e),n!==O&&(t.state=null),n):T}function c(t){return u(t,mt)}function f(t){if(yt){var e;for(g=new m.Buf32(512),v=new m.Buf32(32),e=0;144>e;)t.lens[e++]=8;for(;256>e;)t.lens[e++]=9;for(;280>e;)t.lens[e++]=7;for(;288>e;)t.lens[e++]=8;for(x(A,t.lens,0,288,g,0,t.work,{bits:9}),e=0;32>e;)t.lens[e++]=5;x(C,t.lens,0,32,v,0,t.work,{bits:5}),yt=!1}t.lencode=g,t.lenbits=9,t.distcode=v,t.distbits=5}function l(t,e,n,r){var i,o=t.state;return null===o.window&&(o.wsize=1<<o.wbits,o.wnext=0,o.whave=0,o.window=new m.Buf8(o.wsize)),r>=o.wsize?(m.arraySet(o.window,e,n-o.wsize,o.wsize,0),o.wnext=0,o.whave=o.wsize):(i=o.wsize-o.wnext,i>r&&(i=r),m.arraySet(o.window,e,n-r,i,o.wnext),r-=i,r?(m.arraySet(o.window,e,n-r,r,0),o.wnext=r,o.whave=o.wsize):(o.wnext+=i,o.wnext===o.wsize&&(o.wnext=0),o.whave<o.wsize&&(o.whave+=i))),0}function h(t,e){var n,i,o,a,s,u,c,h,d,p,_,g,v,_t,gt,vt,mt,yt,wt,bt,xt,kt,At,Ct,St=0,Et=new m.Buf8(4),It=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!t||!t.state||!t.output||!t.input&&0!==t.avail_in)return T;n=t.state,n.mode===K&&(n.mode=$),s=t.next_out,o=t.output,c=t.avail_out,a=t.next_in,i=t.input,u=t.avail_in,h=n.hold,d=n.bits,p=u,_=c,kt=O;t:for(;;)switch(n.mode){case B:if(0===n.wrap){n.mode=$;break}for(;16>d;){if(0===u)break t;u--,h+=i[a++]<<d,d+=8}if(2&n.wrap&&35615===h){n.check=0,Et[0]=255&h,Et[1]=h>>>8&255,n.check=w(n.check,Et,2,0),h=0,d=0,n.mode=L;break}if(n.flags=0,n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&h)<<8)+(h>>8))%31){t.msg="incorrect header check",n.mode=ht;break}if((15&h)!==D){t.msg="unknown compression method",n.mode=ht;break}if(h>>>=4,d-=4,xt=(15&h)+8,0===n.wbits)n.wbits=xt;else if(xt>n.wbits){t.msg="invalid window size",n.mode=ht;break}n.dmax=1<<xt,t.adler=n.check=1,n.mode=512&h?H:K,h=0,d=0;break;case L:for(;16>d;){if(0===u)break t;u--,h+=i[a++]<<d,d+=8}if(n.flags=h,(255&n.flags)!==D){t.msg="unknown compression method",n.mode=ht;break}if(57344&n.flags){t.msg="unknown header flags set",n.mode=ht;break}n.head&&(n.head.text=h>>8&1),512&n.flags&&(Et[0]=255&h,Et[1]=h>>>8&255,n.check=w(n.check,Et,2,0)),h=0,d=0,n.mode=U;case U:for(;32>d;){if(0===u)break t;u--,h+=i[a++]<<d,d+=8}n.head&&(n.head.time=h),512&n.flags&&(Et[0]=255&h,Et[1]=h>>>8&255,Et[2]=h>>>16&255,Et[3]=h>>>24&255,n.check=w(n.check,Et,4,0)),h=0,d=0,n.mode=P;case P:for(;16>d;){if(0===u)break t;u--,h+=i[a++]<<d,d+=8}n.head&&(n.head.xflags=255&h,n.head.os=h>>8),512&n.flags&&(Et[0]=255&h,Et[1]=h>>>8&255,n.check=w(n.check,Et,2,0)),h=0,d=0,n.mode=M;case M:if(1024&n.flags){for(;16>d;){if(0===u)break t;u--,h+=i[a++]<<d,d+=8}n.length=h,n.head&&(n.head.extra_len=h),512&n.flags&&(Et[0]=255&h,Et[1]=h>>>8&255,n.check=w(n.check,Et,2,0)),h=0,d=0}else n.head&&(n.head.extra=null);n.mode=W;case W:if(1024&n.flags&&(g=n.length,g>u&&(g=u),g&&(n.head&&(xt=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Array(n.head.extra_len)),m.arraySet(n.head.extra,i,a,g,xt)),512&n.flags&&(n.check=w(n.check,i,g,a)),u-=g,a+=g,n.length-=g),n.length))break t;n.length=0,n.mode=Z;case Z:if(2048&n.flags){if(0===u)break t;g=0;do xt=i[a+g++],n.head&&xt&&n.length<65536&&(n.head.name+=String.fromCharCode(xt));while(xt&&u>g);if(512&n.flags&&(n.check=w(n.check,i,g,a)),u-=g,a+=g,xt)break t}else n.head&&(n.head.name=null);n.length=0,n.mode=q;case q:if(4096&n.flags){if(0===u)break t;g=0;do xt=i[a+g++],n.head&&xt&&n.length<65536&&(n.head.comment+=String.fromCharCode(xt));while(xt&&u>g);if(512&n.flags&&(n.check=w(n.check,i,g,a)),u-=g,a+=g,xt)break t}else n.head&&(n.head.comment=null);n.mode=Y;case Y:if(512&n.flags){for(;16>d;){if(0===u)break t;u--,h+=i[a++]<<d,d+=8}if(h!==(65535&n.check)){t.msg="header crc mismatch",n.mode=ht;break}h=0,d=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),t.adler=n.check=0,n.mode=K;break;case H:for(;32>d;){if(0===u)break t;u--,h+=i[a++]<<d,d+=8}t.adler=n.check=r(h),h=0,d=0,n.mode=G;case G:if(0===n.havedict)return t.next_out=s,t.avail_out=c,t.next_in=a,t.avail_in=u,n.hold=h,n.bits=d,j;t.adler=n.check=1,n.mode=K;case K:if(e===E||e===I)break t;case $:if(n.last){h>>>=7&d,d-=7&d,n.mode=ct;break}for(;3>d;){if(0===u)break t;u--,h+=i[a++]<<d,d+=8}switch(n.last=1&h,h>>>=1,d-=1,3&h){case 0:n.mode=V;break;case 1:if(f(n),n.mode=nt,e===I){h>>>=2,d-=2;break t}break;case 2:n.mode=Q;break;case 3:t.msg="invalid block type",n.mode=ht}h>>>=2,d-=2;break;case V:for(h>>>=7&d,d-=7&d;32>d;){if(0===u)break t;u--,h+=i[a++]<<d,d+=8}if((65535&h)!==(h>>>16^65535)){t.msg="invalid stored block lengths",n.mode=ht;break}if(n.length=65535&h,h=0,d=0,n.mode=X,e===I)break t;case X:n.mode=J;case J:if(g=n.length){if(g>u&&(g=u),g>c&&(g=c),0===g)break t;m.arraySet(o,i,a,g,s),u-=g,a+=g,c-=g,s+=g,n.length-=g;break}n.mode=K;break;case Q:for(;14>d;){if(0===u)break t;u--,h+=i[a++]<<d,d+=8}if(n.nlen=(31&h)+257,h>>>=5,d-=5,n.ndist=(31&h)+1,h>>>=5,d-=5,n.ncode=(15&h)+4,h>>>=4,d-=4,n.nlen>286||n.ndist>30){t.msg="too many length or distance symbols",n.mode=ht;break}n.have=0,n.mode=tt;case tt:for(;n.have<n.ncode;){for(;3>d;){if(0===u)break t;u--,h+=i[a++]<<d,d+=8}n.lens[It[n.have++]]=7&h,h>>>=3,d-=3}for(;n.have<19;)n.lens[It[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,At={bits:n.lenbits},kt=x(k,n.lens,0,19,n.lencode,0,n.work,At),n.lenbits=At.bits,kt){t.msg="invalid code lengths set",n.mode=ht;break}n.have=0,n.mode=et;case et:for(;n.have<n.nlen+n.ndist;){for(;St=n.lencode[h&(1<<n.lenbits)-1],gt=St>>>24,vt=St>>>16&255,mt=65535&St,!(d>=gt);){if(0===u)break t;u--,h+=i[a++]<<d,d+=8}if(16>mt)h>>>=gt,d-=gt,n.lens[n.have++]=mt;else{if(16===mt){for(Ct=gt+2;Ct>d;){if(0===u)break t;u--,h+=i[a++]<<d,d+=8}if(h>>>=gt,d-=gt,0===n.have){t.msg="invalid bit length repeat",n.mode=ht;break}xt=n.lens[n.have-1],g=3+(3&h),h>>>=2,d-=2}else if(17===mt){for(Ct=gt+3;Ct>d;){if(0===u)break t;u--,h+=i[a++]<<d,d+=8}h>>>=gt,d-=gt,xt=0,g=3+(7&h),h>>>=3,d-=3}else{for(Ct=gt+7;Ct>d;){if(0===u)break t;u--,h+=i[a++]<<d,d+=8}h>>>=gt,d-=gt,xt=0,g=11+(127&h),h>>>=7,d-=7}if(n.have+g>n.nlen+n.ndist){t.msg="invalid bit length repeat",n.mode=ht;break}for(;g--;)n.lens[n.have++]=xt}}if(n.mode===ht)break;if(0===n.lens[256]){t.msg="invalid code -- missing end-of-block",n.mode=ht;break}if(n.lenbits=9,At={bits:n.lenbits},kt=x(A,n.lens,0,n.nlen,n.lencode,0,n.work,At),n.lenbits=At.bits,kt){t.msg="invalid literal/lengths set",n.mode=ht;break}if(n.distbits=6,n.distcode=n.distdyn,At={bits:n.distbits},kt=x(C,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,At),n.distbits=At.bits,kt){t.msg="invalid distances set",n.mode=ht;break}if(n.mode=nt,e===I)break t;case nt:n.mode=rt;case rt:if(u>=6&&c>=258){t.next_out=s,t.avail_out=c,t.next_in=a,t.avail_in=u,n.hold=h,n.bits=d,b(t,_),s=t.next_out,o=t.output,c=t.avail_out,a=t.next_in,i=t.input,u=t.avail_in,h=n.hold,d=n.bits,n.mode===K&&(n.back=-1);break}for(n.back=0;St=n.lencode[h&(1<<n.lenbits)-1],gt=St>>>24,vt=St>>>16&255,mt=65535&St,!(d>=gt);){if(0===u)break t;u--,h+=i[a++]<<d,
+d+=8}if(vt&&0===(240&vt)){for(yt=gt,wt=vt,bt=mt;St=n.lencode[bt+((h&(1<<yt+wt)-1)>>yt)],gt=St>>>24,vt=St>>>16&255,mt=65535&St,!(d>=yt+gt);){if(0===u)break t;u--,h+=i[a++]<<d,d+=8}h>>>=yt,d-=yt,n.back+=yt}if(h>>>=gt,d-=gt,n.back+=gt,n.length=mt,0===vt){n.mode=ut;break}if(32&vt){n.back=-1,n.mode=K;break}if(64&vt){t.msg="invalid literal/length code",n.mode=ht;break}n.extra=15&vt,n.mode=it;case it:if(n.extra){for(Ct=n.extra;Ct>d;){if(0===u)break t;u--,h+=i[a++]<<d,d+=8}n.length+=h&(1<<n.extra)-1,h>>>=n.extra,d-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=ot;case ot:for(;St=n.distcode[h&(1<<n.distbits)-1],gt=St>>>24,vt=St>>>16&255,mt=65535&St,!(d>=gt);){if(0===u)break t;u--,h+=i[a++]<<d,d+=8}if(0===(240&vt)){for(yt=gt,wt=vt,bt=mt;St=n.distcode[bt+((h&(1<<yt+wt)-1)>>yt)],gt=St>>>24,vt=St>>>16&255,mt=65535&St,!(d>=yt+gt);){if(0===u)break t;u--,h+=i[a++]<<d,d+=8}h>>>=yt,d-=yt,n.back+=yt}if(h>>>=gt,d-=gt,n.back+=gt,64&vt){t.msg="invalid distance code",n.mode=ht;break}n.offset=mt,n.extra=15&vt,n.mode=at;case at:if(n.extra){for(Ct=n.extra;Ct>d;){if(0===u)break t;u--,h+=i[a++]<<d,d+=8}n.offset+=h&(1<<n.extra)-1,h>>>=n.extra,d-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){t.msg="invalid distance too far back",n.mode=ht;break}n.mode=st;case st:if(0===c)break t;if(g=_-c,n.offset>g){if(g=n.offset-g,g>n.whave&&n.sane){t.msg="invalid distance too far back",n.mode=ht;break}g>n.wnext?(g-=n.wnext,v=n.wsize-g):v=n.wnext-g,g>n.length&&(g=n.length),_t=n.window}else _t=o,v=s-n.offset,g=n.length;g>c&&(g=c),c-=g,n.length-=g;do o[s++]=_t[v++];while(--g);0===n.length&&(n.mode=rt);break;case ut:if(0===c)break t;o[s++]=n.length,c--,n.mode=rt;break;case ct:if(n.wrap){for(;32>d;){if(0===u)break t;u--,h|=i[a++]<<d,d+=8}if(_-=c,t.total_out+=_,n.total+=_,_&&(t.adler=n.check=n.flags?w(n.check,o,_,s-_):y(n.check,o,_,s-_)),_=c,(n.flags?h:r(h))!==n.check){t.msg="incorrect data check",n.mode=ht;break}h=0,d=0}n.mode=ft;case ft:if(n.wrap&&n.flags){for(;32>d;){if(0===u)break t;u--,h+=i[a++]<<d,d+=8}if(h!==(4294967295&n.total)){t.msg="incorrect length check",n.mode=ht;break}h=0,d=0}n.mode=lt;case lt:kt=z;break t;case ht:kt=N;break t;case dt:return F;case pt:default:return T}return t.next_out=s,t.avail_out=c,t.next_in=a,t.avail_in=u,n.hold=h,n.bits=d,(n.wsize||_!==t.avail_out&&n.mode<ht&&(n.mode<ct||e!==S))&&l(t,t.output,t.next_out,_-t.avail_out)?(n.mode=dt,F):(p-=t.avail_in,_-=t.avail_out,t.total_in+=p,t.total_out+=_,n.total+=_,n.wrap&&_&&(t.adler=n.check=n.flags?w(n.check,o,_,t.next_out-_):y(n.check,o,_,t.next_out-_)),t.data_type=n.bits+(n.last?64:0)+(n.mode===K?128:0)+(n.mode===nt||n.mode===X?256:0),(0===p&&0===_||e===S)&&kt===O&&(kt=R),kt)}function d(t){if(!t||!t.state)return T;var e=t.state;return e.window&&(e.window=null),t.state=null,O}function p(t,e){var n;return t&&t.state?(n=t.state,0===(2&n.wrap)?T:(n.head=e,e.done=!1,O)):T}function _(t,e){var n,r,i,o=e.length;return t&&t.state?(n=t.state,0!==n.wrap&&n.mode!==G?T:n.mode===G&&(r=1,r=y(r,e,o,0),r!==n.check)?N:(i=l(t,e,o,o))?(n.mode=dt,F):(n.havedict=1,O)):T}var g,v,m=t("../utils/common"),y=t("./adler32"),w=t("./crc32"),b=t("./inffast"),x=t("./inftrees"),k=0,A=1,C=2,S=4,E=5,I=6,O=0,z=1,j=2,T=-2,N=-3,F=-4,R=-5,D=8,B=1,L=2,U=3,P=4,M=5,W=6,Z=7,q=8,Y=9,H=10,G=11,K=12,$=13,V=14,X=15,J=16,Q=17,tt=18,et=19,nt=20,rt=21,it=22,ot=23,at=24,st=25,ut=26,ct=27,ft=28,lt=29,ht=30,dt=31,pt=32,_t=852,gt=592,vt=15,mt=vt,yt=!0;n.inflateReset=a,n.inflateReset2=s,n.inflateResetKeep=o,n.inflateInit=c,n.inflateInit2=u,n.inflate=h,n.inflateEnd=d,n.inflateGetHeader=p,n.inflateSetDictionary=_,n.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./inffast":48,"./inftrees":50}],50:[function(t,e,n){"use strict";var r=t("../utils/common"),i=15,o=852,a=592,s=0,u=1,c=2,f=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],l=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],h=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],d=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];e.exports=function(t,e,n,p,_,g,v,m){var y,w,b,x,k,A,C,S,E,I=m.bits,O=0,z=0,j=0,T=0,N=0,F=0,R=0,D=0,B=0,L=0,U=null,P=0,M=new r.Buf16(i+1),W=new r.Buf16(i+1),Z=null,q=0;for(O=0;i>=O;O++)M[O]=0;for(z=0;p>z;z++)M[e[n+z]]++;for(N=I,T=i;T>=1&&0===M[T];T--);if(N>T&&(N=T),0===T)return _[g++]=20971520,_[g++]=20971520,m.bits=1,0;for(j=1;T>j&&0===M[j];j++);for(j>N&&(N=j),D=1,O=1;i>=O;O++)if(D<<=1,D-=M[O],0>D)return-1;if(D>0&&(t===s||1!==T))return-1;for(W[1]=0,O=1;i>O;O++)W[O+1]=W[O]+M[O];for(z=0;p>z;z++)0!==e[n+z]&&(v[W[e[n+z]]++]=z);if(t===s?(U=Z=v,A=19):t===u?(U=f,P-=257,Z=l,q-=257,A=256):(U=h,Z=d,A=-1),L=0,z=0,O=j,k=g,F=N,R=0,b=-1,B=1<<N,x=B-1,t===u&&B>o||t===c&&B>a)return 1;for(var Y=0;;){Y++,C=O-R,v[z]<A?(S=0,E=v[z]):v[z]>A?(S=Z[q+v[z]],E=U[P+v[z]]):(S=96,E=0),y=1<<O-R,w=1<<F,j=w;do w-=y,_[k+(L>>R)+w]=C<<24|S<<16|E|0;while(0!==w);for(y=1<<O-1;L&y;)y>>=1;if(0!==y?(L&=y-1,L+=y):L=0,z++,0===--M[O]){if(O===T)break;O=e[n+v[z]]}if(O>N&&(L&x)!==b){for(0===R&&(R=N),k+=j,F=O-R,D=1<<F;T>F+R&&(D-=M[F+R],!(0>=D));)F++,D<<=1;if(B+=1<<F,t===u&&B>o||t===c&&B>a)return 1;b=L&x,_[b]=N<<24|F<<16|k-g|0}}return 0!==L&&(_[k+L]=O-R<<24|64<<16|0),m.bits=N,0}},{"../utils/common":41}],51:[function(t,e,n){"use strict";e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],52:[function(t,e,n){"use strict";function r(t){for(var e=t.length;--e>=0;)t[e]=0}function i(t,e,n,r,i){this.static_tree=t,this.extra_bits=e,this.extra_base=n,this.elems=r,this.max_length=i,this.has_stree=t&&t.length}function o(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}function a(t){return 256>t?ut[t]:ut[256+(t>>>7)]}function s(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function u(t,e,n){t.bi_valid>$-n?(t.bi_buf|=e<<t.bi_valid&65535,s(t,t.bi_buf),t.bi_buf=e>>$-t.bi_valid,t.bi_valid+=n-$):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=n)}function c(t,e,n){u(t,n[2*e],n[2*e+1])}function f(t,e){var n=0;do n|=1&t,t>>>=1,n<<=1;while(--e>0);return n>>>1}function l(t){16===t.bi_valid?(s(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}function h(t,e){var n,r,i,o,a,s,u=e.dyn_tree,c=e.max_code,f=e.stat_desc.static_tree,l=e.stat_desc.has_stree,h=e.stat_desc.extra_bits,d=e.stat_desc.extra_base,p=e.stat_desc.max_length,_=0;for(o=0;K>=o;o++)t.bl_count[o]=0;for(u[2*t.heap[t.heap_max]+1]=0,n=t.heap_max+1;G>n;n++)r=t.heap[n],o=u[2*u[2*r+1]+1]+1,o>p&&(o=p,_++),u[2*r+1]=o,r>c||(t.bl_count[o]++,a=0,r>=d&&(a=h[r-d]),s=u[2*r],t.opt_len+=s*(o+a),l&&(t.static_len+=s*(f[2*r+1]+a)));if(0!==_){do{for(o=p-1;0===t.bl_count[o];)o--;t.bl_count[o]--,t.bl_count[o+1]+=2,t.bl_count[p]--,_-=2}while(_>0);for(o=p;0!==o;o--)for(r=t.bl_count[o];0!==r;)i=t.heap[--n],i>c||(u[2*i+1]!==o&&(t.opt_len+=(o-u[2*i+1])*u[2*i],u[2*i+1]=o),r--)}}function d(t,e,n){var r,i,o=new Array(K+1),a=0;for(r=1;K>=r;r++)o[r]=a=a+n[r-1]<<1;for(i=0;e>=i;i++){var s=t[2*i+1];0!==s&&(t[2*i]=f(o[s]++,s))}}function p(){var t,e,n,r,o,a=new Array(K+1);for(n=0,r=0;W-1>r;r++)for(ft[r]=n,t=0;t<1<<et[r];t++)ct[n++]=r;for(ct[n-1]=r,o=0,r=0;16>r;r++)for(lt[r]=o,t=0;t<1<<nt[r];t++)ut[o++]=r;for(o>>=7;Y>r;r++)for(lt[r]=o<<7,t=0;t<1<<nt[r]-7;t++)ut[256+o++]=r;for(e=0;K>=e;e++)a[e]=0;for(t=0;143>=t;)at[2*t+1]=8,t++,a[8]++;for(;255>=t;)at[2*t+1]=9,t++,a[9]++;for(;279>=t;)at[2*t+1]=7,t++,a[7]++;for(;287>=t;)at[2*t+1]=8,t++,a[8]++;for(d(at,q+1,a),t=0;Y>t;t++)st[2*t+1]=5,st[2*t]=f(t,5);ht=new i(at,et,Z+1,q,K),dt=new i(st,nt,0,Y,K),pt=new i(new Array(0),rt,0,H,V)}function _(t){var e;for(e=0;q>e;e++)t.dyn_ltree[2*e]=0;for(e=0;Y>e;e++)t.dyn_dtree[2*e]=0;for(e=0;H>e;e++)t.bl_tree[2*e]=0;t.dyn_ltree[2*X]=1,t.opt_len=t.static_len=0,t.last_lit=t.matches=0}function g(t){t.bi_valid>8?s(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0}function v(t,e,n,r){g(t),r&&(s(t,n),s(t,~n)),T.arraySet(t.pending_buf,t.window,e,n,t.pending),t.pending+=n}function m(t,e,n,r){var i=2*e,o=2*n;return t[i]<t[o]||t[i]===t[o]&&r[e]<=r[n]}function y(t,e,n){for(var r=t.heap[n],i=n<<1;i<=t.heap_len&&(i<t.heap_len&&m(e,t.heap[i+1],t.heap[i],t.depth)&&i++,!m(e,r,t.heap[i],t.depth));)t.heap[n]=t.heap[i],n=i,i<<=1;t.heap[n]=r}function w(t,e,n){var r,i,o,s,f=0;if(0!==t.last_lit)do r=t.pending_buf[t.d_buf+2*f]<<8|t.pending_buf[t.d_buf+2*f+1],i=t.pending_buf[t.l_buf+f],f++,0===r?c(t,i,e):(o=ct[i],c(t,o+Z+1,e),s=et[o],0!==s&&(i-=ft[o],u(t,i,s)),r--,o=a(r),c(t,o,n),s=nt[o],0!==s&&(r-=lt[o],u(t,r,s)));while(f<t.last_lit);c(t,X,e)}function b(t,e){var n,r,i,o=e.dyn_tree,a=e.stat_desc.static_tree,s=e.stat_desc.has_stree,u=e.stat_desc.elems,c=-1;for(t.heap_len=0,t.heap_max=G,n=0;u>n;n++)0!==o[2*n]?(t.heap[++t.heap_len]=c=n,t.depth[n]=0):o[2*n+1]=0;for(;t.heap_len<2;)i=t.heap[++t.heap_len]=2>c?++c:0,o[2*i]=1,t.depth[i]=0,t.opt_len--,s&&(t.static_len-=a[2*i+1]);for(e.max_code=c,n=t.heap_len>>1;n>=1;n--)y(t,o,n);i=u;do n=t.heap[1],t.heap[1]=t.heap[t.heap_len--],y(t,o,1),r=t.heap[1],t.heap[--t.heap_max]=n,t.heap[--t.heap_max]=r,o[2*i]=o[2*n]+o[2*r],t.depth[i]=(t.depth[n]>=t.depth[r]?t.depth[n]:t.depth[r])+1,o[2*n+1]=o[2*r+1]=i,t.heap[1]=i++,y(t,o,1);while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],h(t,e),d(o,c,t.bl_count)}function x(t,e,n){var r,i,o=-1,a=e[1],s=0,u=7,c=4;for(0===a&&(u=138,c=3),e[2*(n+1)+1]=65535,r=0;n>=r;r++)i=a,a=e[2*(r+1)+1],++s<u&&i===a||(c>s?t.bl_tree[2*i]+=s:0!==i?(i!==o&&t.bl_tree[2*i]++,t.bl_tree[2*J]++):10>=s?t.bl_tree[2*Q]++:t.bl_tree[2*tt]++,s=0,o=i,0===a?(u=138,c=3):i===a?(u=6,c=3):(u=7,c=4))}function k(t,e,n){var r,i,o=-1,a=e[1],s=0,f=7,l=4;for(0===a&&(f=138,l=3),r=0;n>=r;r++)if(i=a,a=e[2*(r+1)+1],!(++s<f&&i===a)){if(l>s){do c(t,i,t.bl_tree);while(0!==--s)}else 0!==i?(i!==o&&(c(t,i,t.bl_tree),s--),c(t,J,t.bl_tree),u(t,s-3,2)):10>=s?(c(t,Q,t.bl_tree),u(t,s-3,3)):(c(t,tt,t.bl_tree),u(t,s-11,7));s=0,o=i,0===a?(f=138,l=3):i===a?(f=6,l=3):(f=7,l=4)}}function A(t){var e;for(x(t,t.dyn_ltree,t.l_desc.max_code),x(t,t.dyn_dtree,t.d_desc.max_code),b(t,t.bl_desc),e=H-1;e>=3&&0===t.bl_tree[2*it[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}function C(t,e,n,r){var i;for(u(t,e-257,5),u(t,n-1,5),u(t,r-4,4),i=0;r>i;i++)u(t,t.bl_tree[2*it[i]+1],3);k(t,t.dyn_ltree,e-1),k(t,t.dyn_dtree,n-1)}function S(t){var e,n=4093624447;for(e=0;31>=e;e++,n>>>=1)if(1&n&&0!==t.dyn_ltree[2*e])return F;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return R;for(e=32;Z>e;e++)if(0!==t.dyn_ltree[2*e])return R;return F}function E(t){_t||(p(),_t=!0),t.l_desc=new o(t.dyn_ltree,ht),t.d_desc=new o(t.dyn_dtree,dt),t.bl_desc=new o(t.bl_tree,pt),t.bi_buf=0,t.bi_valid=0,_(t)}function I(t,e,n,r){u(t,(B<<1)+(r?1:0),3),v(t,e,n,!0)}function O(t){u(t,L<<1,3),c(t,X,at),l(t)}function z(t,e,n,r){var i,o,a=0;t.level>0?(t.strm.data_type===D&&(t.strm.data_type=S(t)),b(t,t.l_desc),b(t,t.d_desc),a=A(t),i=t.opt_len+3+7>>>3,o=t.static_len+3+7>>>3,i>=o&&(i=o)):i=o=n+5,i>=n+4&&-1!==e?I(t,e,n,r):t.strategy===N||o===i?(u(t,(L<<1)+(r?1:0),3),w(t,at,st)):(u(t,(U<<1)+(r?1:0),3),C(t,t.l_desc.max_code+1,t.d_desc.max_code+1,a+1),w(t,t.dyn_ltree,t.dyn_dtree)),_(t),r&&g(t)}function j(t,e,n){return t.pending_buf[t.d_buf+2*t.last_lit]=e>>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&n,t.last_lit++,0===e?t.dyn_ltree[2*n]++:(t.matches++,e--,t.dyn_ltree[2*(ct[n]+Z+1)]++,t.dyn_dtree[2*a(e)]++),t.last_lit===t.lit_bufsize-1}var T=t("../utils/common"),N=4,F=0,R=1,D=2,B=0,L=1,U=2,P=3,M=258,W=29,Z=256,q=Z+1+W,Y=30,H=19,G=2*q+1,K=15,$=16,V=7,X=256,J=16,Q=17,tt=18,et=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],nt=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],rt=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],it=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],ot=512,at=new Array(2*(q+2));r(at);var st=new Array(2*Y);r(st);var ut=new Array(ot);r(ut);var ct=new Array(M-P+1);r(ct);var ft=new Array(W);r(ft);var lt=new Array(Y);r(lt);var ht,dt,pt,_t=!1;n._tr_init=E,n._tr_stored_block=I,n._tr_flush_block=z,n._tr_tally=j,n._tr_align=O},{"../utils/common":41}],53:[function(t,e,n){"use strict";function r(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}e.exports=r},{}]},{},[10])(10)});var saveAs=saveAs||function(t){"use strict";if(!("undefined"==typeof t||"undefined"!=typeof navigator&&/MSIE [1-9]\./.test(navigator.userAgent))){var e=t.document,n=function(){return t.URL||t.webkitURL||t},r=e.createElementNS("http://www.w3.org/1999/xhtml","a"),i="download"in r,o=function(t){var e=new MouseEvent("click");t.dispatchEvent(e)},a=/constructor/i.test(t.HTMLElement),s=/CriOS\/[\d]+/.test(navigator.userAgent),u=function(e){(t.setImmediate||t.setTimeout)(function(){throw e},0)},c="application/octet-stream",f=4e4,l=function(t){var e=function(){"string"==typeof t?n().revokeObjectURL(t):t.remove()};setTimeout(e,f)},h=function(t,e,n){e=[].concat(e);for(var r=e.length;r--;){var i=t["on"+e[r]];if("function"==typeof i)try{i.call(t,n||t)}catch(o){u(o)}}},d=function(t){return/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(t.type)?new Blob([String.fromCharCode(65279),t],{type:t.type}):t},p=function(e,u,f){f||(e=d(e));var p,_=this,g=e.type,v=g===c,m=function(){h(_,"writestart progress write writeend".split(" "))},y=function(){if((s||v&&a)&&t.FileReader){var r=new FileReader;return r.onloadend=function(){var e=s?r.result:r.result.replace(/^data:[^;]*;/,"data:attachment/file;"),n=t.open(e,"_blank");n||(t.location.href=e),e=void 0,_.readyState=_.DONE,m()},r.readAsDataURL(e),void(_.readyState=_.INIT)}if(p||(p=n().createObjectURL(e)),v)t.location.href=p;else{var i=t.open(p,"_blank");i||(t.location.href=p)}_.readyState=_.DONE,m(),l(p)};return _.readyState=_.INIT,i?(p=n().createObjectURL(e),void setTimeout(function(){r.href=p,r.download=u,o(r),m(),l(p),_.readyState=_.DONE})):void y()},_=p.prototype,g=function(t,e,n){return new p(t,e||t.name||"download",n)};return"undefined"!=typeof navigator&&navigator.msSaveOrOpenBlob?function(t,e,n){return e=e||t.name||"download",n||(t=d(t)),navigator.msSaveOrOpenBlob(t,e)}:(_.abort=function(){},_.readyState=_.INIT=0,_.WRITING=1,_.DONE=2,_.error=_.onwritestart=_.onprogress=_.onwrite=_.onabort=_.onerror=_.onwriteend=null,g)}}("undefined"!=typeof self&&self||"undefined"!=typeof window&&window||this.content);"undefined"!=typeof module&&module.exports?module.exports.saveAs=saveAs:"undefined"!=typeof define&&null!==define&&null!==define.amd&&define([],function(){return saveAs}),function(){function t(t,e){return t.set(e[0],e[1]),t}function e(t,e){return t.add(e),t}function n(t,e,n){var r=n.length;switch(r){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function r(t,e,n,r){for(var i=-1,o=t.length;++i<o;){var a=t[i];e(r,a,n(a),t)}return r}function i(t,e){for(var n=-1,r=t.length,i=-1,o=e.length,a=Array(r+o);++n<r;)a[n]=t[n];for(;++i<o;)a[n++]=e[i];return a}function o(t,e){for(var n=-1,r=t.length;++n<r&&e(t[n],n,t)!==!1;);return t}function a(t,e){for(var n=t.length;n--&&e(t[n],n,t)!==!1;);return t}function s(t,e){for(var n=-1,r=t.length;++n<r;)if(!e(t[n],n,t))return!1;return!0}function u(t,e){for(var n=-1,r=t.length,i=0,o=[];++n<r;){var a=t[n];e(a,n,t)&&(o[i++]=a)}return o}function c(t,e){return!!t.length&&m(t,e,0)>-1}function f(t,e,n){for(var r=-1,i=t.length;++r<i;)if(n(e,t[r]))return!0;return!1}function l(t,e){for(var n=-1,r=t.length,i=Array(r);++n<r;)i[n]=e(t[n],n,t);return i}function h(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}function d(t,e,n,r){var i=-1,o=t.length;for(r&&o&&(n=t[++i]);++i<o;)n=e(n,t[i],i,t);return n}function p(t,e,n,r){var i=t.length;for(r&&i&&(n=t[--i]);i--;)n=e(n,t[i],i,t);return n}function _(t,e){for(var n=-1,r=t.length;++n<r;)if(e(t[n],n,t))return!0;return!1}function g(t,e,n,r){var i;return n(t,function(t,n,o){return e(t,n,o)?(i=r?n:t,!1):void 0}),i}function v(t,e,n){for(var r=t.length,i=n?r:-1;n?i--:++i<r;)if(e(t[i],i,t))return i;return-1}function m(t,e,n){if(e!==e)return R(t,n);for(var r=n-1,i=t.length;++r<i;)if(t[r]===e)return r;return-1}function y(t,e,n,r){for(var i=n-1,o=t.length;++i<o;)if(r(t[i],e))return i;return-1}function w(t,e){var n=t?t.length:0;return n?k(t,e)/n:yt}function b(t,e,n,r,i){return i(t,function(t,i,o){n=r?(r=!1,t):e(n,t,i,o)}),n}function x(t,e){var n=t.length;for(t.sort(e);n--;)t[n]=t[n].value;return t}function k(t,e){for(var n,r=-1,i=t.length;++r<i;){var o=e(t[r]);o!==Y&&(n=n===Y?o:n+o)}return n}function A(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}function C(t,e){return l(e,function(e){return[e,t[e]]})}function S(t){return function(e){return t(e)}}function E(t,e){return l(e,function(e){return t[e]})}function I(t,e){for(var n=-1,r=t.length;++n<r&&m(e,t[n],0)>-1;);return n}function O(t,e){for(var n=t.length;n--&&m(e,t[n],0)>-1;);return n}function z(t){return t&&t.Object===Object?t:null}function j(t,e){for(var n=t.length,r=0;n--;)t[n]===e&&r++;return r}function T(t){return xn[t]}function N(t){return kn[t]}function F(t){return"\\"+Sn[t]}function R(t,e,n){for(var r=t.length,i=e+(n?0:-1);n?i--:++i<r;){var o=t[i];if(o!==o)return i}return-1}function D(t){var e=!1;if(null!=t&&"function"!=typeof t.toString)try{e=!!(t+"")}catch(n){}return e}function B(t){for(var e,n=[];!(e=t.next()).done;)n.push(e.value);return n}function L(t){var e=-1,n=Array(t.size);return t.forEach(function(t,r){n[++e]=[r,t]}),n}function U(t,e){for(var n=-1,r=t.length,i=0,o=[];++n<r;){var a=t[n];a!==e&&a!==V||(t[n]=V,o[i++]=n)}return o}function P(t){var e=-1,n=Array(t.size);return t.forEach(function(t){n[++e]=t}),n}function M(t){if(!t||!gn.test(t))return t.length;for(var e=pn.lastIndex=0;pn.test(t);)e++;return e}function W(t){return t.match(pn)}function Z(t){return An[t]}function q(z){function Ie(t){if(cs(t)&&!el(t)&&!(t instanceof je)){if(t instanceof ze)return t;if(pc.call(t,"__wrapped__"))return eo(t)}return new ze(t)}function Oe(){}function ze(t,e){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=Y}function je(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=wt,this.__views__=[]}function Te(){var t=new je(this.__wrapped__);return t.__actions__=Vr(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=Vr(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=Vr(this.__views__),t}function Ne(){if(this.__filtered__){var t=new je(this);t.__dir__=-1,t.__filtered__=!0}else t=this.clone(),t.__dir__*=-1;return t}function Fe(){var t=this.__wrapped__.value(),e=this.__dir__,n=el(t),r=0>e,i=n?t.length:0,o=Ni(0,i,this.__views__),a=o.start,s=o.end,u=s-a,c=r?s:a-1,f=this.__iteratees__,l=f.length,h=0,d=Uc(u,this.__takeCount__);if(!n||G>i||i==u&&d==u)return jr(t,this.__actions__);var p=[];t:for(;u--&&d>h;){c+=e;for(var _=-1,g=t[c];++_<l;){var v=f[_],m=v.iteratee,y=v.type,w=m(g);if(y==pt)g=w;else if(!w){if(y==dt)continue t;break t}}p[h++]=g}return p}function Re(){}function De(t,e){return Le(t,e)&&delete t[e]}function Be(t,e){if(Vc){var n=t[e];return n===$?Y:n}return pc.call(t,e)?t[e]:Y}function Le(t,e){return Vc?t[e]!==Y:pc.call(t,e)}function Ue(t,e,n){t[e]=Vc&&n===Y?$:n}function Pe(t){var e=-1,n=t?t.length:0;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function Me(){this.__data__={hash:new Re,map:Hc?new Hc:[],string:new Re}}function We(t){var e=this.__data__;return qi(t)?De("string"==typeof t?e.string:e.hash,t):Hc?e.map["delete"](t):en(e.map,t)}function Ze(t){var e=this.__data__;return qi(t)?Be("string"==typeof t?e.string:e.hash,t):Hc?e.map.get(t):nn(e.map,t)}function qe(t){var e=this.__data__;return qi(t)?Le("string"==typeof t?e.string:e.hash,t):Hc?e.map.has(t):rn(e.map,t)}function Ye(t,e){var n=this.__data__;return qi(t)?Ue("string"==typeof t?n.string:n.hash,t,e):Hc?n.map.set(t,e):an(n.map,t,e),this}function He(t){var e=-1,n=t?t.length:0;for(this.__data__=new Pe;++e<n;)this.push(t[e])}function Ge(t,e){var n=t.__data__;if(qi(e)){var r=n.__data__,i="string"==typeof e?r.string:r.hash;return i[e]===$}return n.has(e)}function Ke(t){var e=this.__data__;if(qi(t)){var n=e.__data__,r="string"==typeof t?n.string:n.hash;r[t]=$}else e.set(t,$)}function $e(t){var e=-1,n=t?t.length:0;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function Ve(){this.__data__={array:[],map:null}}function Xe(t){var e=this.__data__,n=e.array;return n?en(n,t):e.map["delete"](t)}function Je(t){var e=this.__data__,n=e.array;return n?nn(n,t):e.map.get(t)}function Qe(t){var e=this.__data__,n=e.array;return n?rn(n,t):e.map.has(t)}function tn(t,e){var n=this.__data__,r=n.array;r&&(r.length<G-1?an(r,t,e):(n.array=null,n.map=new Pe(r)));var i=n.map;return i&&i.set(t,e),this}function en(t,e){var n=on(t,e);if(0>n)return!1;var r=t.length-1;return n==r?t.pop():jc.call(t,n,1),!0}function nn(t,e){var n=on(t,e);return 0>n?Y:t[n][1]}function rn(t,e){return on(t,e)>-1}function on(t,e){for(var n=t.length;n--;)if(Ha(t[n][0],e))return n;return-1}function an(t,e,n){var r=on(t,e);0>r?t.push([e,n]):t[r][1]=n}function sn(t,e,n,r){return t===Y||Ha(t,lc[n])&&!pc.call(r,n)?e:t}function un(t,e,n){(n===Y||Ha(t[e],n))&&("number"!=typeof e||n!==Y||e in t)||(t[e]=n)}function cn(t,e,n){var r=t[e];pc.call(t,e)&&Ha(r,n)&&(n!==Y||e in t)||(t[e]=n)}function fn(t,e,n,r){return cf(t,function(t,i,o){e(r,t,n(t),o)}),r}function ln(t,e){return t&&Xr(e,Gs(e),t)}function pn(t,e){for(var n=-1,r=null==t,i=e.length,o=Array(i);++n<i;)o[n]=r?Y:qs(t,e[n]);return o}function xn(t,e,n){return t===t&&(n!==Y&&(t=n>=t?t:n),e!==Y&&(t=t>=e?t:e)),t}function kn(t,e,n,r,i,a,s){var u;if(r&&(u=a?r(t,i,a,s):r(t)),u!==Y)return u;if(!us(t))return t;var c=el(t);if(c){if(u=Ri(t),!e)return Vr(t,u)}else{var f=Ti(t),l=f==It||f==Ot;if(nl(t))return Lr(t,e);if(f==Tt||f==kt||l&&!a){if(D(t))return a?t:{};if(u=Di(l?{}:t),!e)return Jr(t,ln(u,t))}else{if(!bn[f])return a?t:{};u=Bi(t,f,kn,e)}}s||(s=new $e);var h=s.get(t);if(h)return h;if(s.set(t,u),!c)var d=n?ki(t):Gs(t);return o(d||t,function(i,o){d&&(o=i,i=t[o]),cn(u,o,kn(i,e,n,r,o,t,s))}),u}function An(t){var e=Gs(t),n=e.length;return function(r){if(null==r)return!n;for(var i=n;i--;){var o=e[i],a=t[o],s=r[o];if(s===Y&&!(o in Object(r))||!a(s))return!1}return!0}}function Cn(t){return us(t)?Ic(t):{}}function Sn(t,e,n){if("function"!=typeof t)throw new cc(K);return zc(function(){t.apply(Y,n)},e)}function On(t,e,n,r){var i=-1,o=c,a=!0,s=t.length,u=[],h=e.length;if(!s)return u;n&&(e=l(e,S(n))),r?(o=f,a=!1):e.length>=G&&(o=Ge,a=!1,e=new He(e));t:for(;++i<s;){var d=t[i],p=n?n(d):d;if(d=r||0!==d?d:0,a&&p===p){for(var _=h;_--;)if(e[_]===p)continue t;u.push(d)}else o(e,p,r)||u.push(d)}return u}function zn(t,e){var n=!0;return cf(t,function(t,r,i){return n=!!e(t,r,i)}),n}function Tn(t,e,n){for(var r=-1,i=t.length;++r<i;){var o=t[r],a=e(o);if(null!=a&&(s===Y?a===a&&!ks(a):n(a,s)))var s=a,u=o}return u}function Nn(t,e,n,r){var i=t.length;for(n=Os(n),0>n&&(n=-n>i?0:i+n),r=r===Y||r>i?i:Os(r),0>r&&(r+=i),r=n>r?0:zs(r);r>n;)t[n++]=e;return t}function Fn(t,e){var n=[];return cf(t,function(t,r,i){e(t,r,i)&&n.push(t)}),n}function Rn(t,e,n,r,i){var o=-1,a=t.length;for(n||(n=Ui),i||(i=[]);++o<a;){var s=t[o];e>0&&n(s)?e>1?Rn(s,e-1,n,r,i):h(i,s):r||(i[i.length]=s)}return i}function Ln(t,e){return t&&lf(t,e,Gs)}function Un(t,e){return t&&hf(t,e,Gs)}function Pn(t,e){return u(e,function(e){return os(t[e])})}function Mn(t,e){e=Zi(e,t)?[e]:Dr(e);for(var n=0,r=e.length;null!=t&&r>n;)t=t[Qi(e[n++])];return n&&n==r?t:Y}function Wn(t,e,n){var r=e(t);return el(t)?r:h(r,n(t))}function Zn(t,e){return t>e}function qn(t,e){return pc.call(t,e)||"object"==typeof t&&e in t&&null===zi(t)}function Yn(t,e){return e in Object(t)}function Hn(t,e,n){return t>=Uc(e,n)&&t<Lc(e,n)}function Gn(t,e,n){for(var r=n?f:c,i=t[0].length,o=t.length,a=o,s=Array(o),u=1/0,h=[];a--;){var d=t[a];a&&e&&(d=l(d,S(e))),u=Uc(d.length,u),s[a]=!n&&(e||i>=120&&d.length>=120)?new He(a&&d):Y}d=t[0];var p=-1,_=s[0];t:for(;++p<i&&h.length<u;){var g=d[p],v=e?e(g):g;if(g=n||0!==g?g:0,!(_?Ge(_,v):r(h,v,n))){for(a=o;--a;){var m=s[a];if(!(m?Ge(m,v):r(t[a],v,n)))continue t}_&&_.push(v),h.push(g)}}return h}function Kn(t,e,n,r){return Ln(t,function(t,i,o){e(r,n(t),i,o)}),r}function $n(t,e,r){Zi(e,t)||(e=Dr(e),t=Xi(t,e),e=bo(e));var i=null==t?t:t[Qi(e)];return null==i?Y:n(i,t,r)}function Vn(t,e,n,r,i){return t===e?!0:null==t||null==e||!us(t)&&!cs(e)?t!==t&&e!==e:Xn(t,e,Vn,n,r,i)}function Xn(t,e,n,r,i,o){var a=el(t),s=el(e),u=At,c=At;a||(u=Ti(t),u=u==kt?Tt:u),s||(c=Ti(e),c=c==kt?Tt:c);var f=u==Tt&&!D(t),l=c==Tt&&!D(e),h=u==c;if(h&&!f)return o||(o=new $e),a||As(t)?wi(t,e,n,r,i,o):bi(t,e,u,n,r,i,o);if(!(i&ut)){var d=f&&pc.call(t,"__wrapped__"),p=l&&pc.call(e,"__wrapped__");if(d||p){var _=d?t.value():t,g=p?e.value():e;return o||(o=new $e),n(_,g,r,i,o)}}return h?(o||(o=new $e),xi(t,e,n,r,i,o)):!1}function Jn(t,e,n,r){var i=n.length,o=i,a=!r;if(null==t)return!o;for(t=Object(t);i--;){var s=n[i];if(a&&s[2]?s[1]!==t[s[0]]:!(s[0]in t))return!1}for(;++i<o;){s=n[i];var u=s[0],c=t[u],f=s[1];if(a&&s[2]){if(c===Y&&!(u in t))return!1}else{var l=new $e;if(r)var h=r(c,f,u,t,e,l);if(!(h===Y?Vn(f,c,r,st|ut,l):h))return!1}}return!0}function Qn(t){return"function"==typeof t?t:null==t?Lu:"object"==typeof t?el(t)?or(t[0],t[1]):ir(t):Hu(t)}function tr(t){return Bc(Object(t))}function er(t){t=null==t?t:Object(t);var e=[];for(var n in t)e.push(n);return e}function nr(t,e){return e>t}function rr(t,e){var n=-1,r=$a(t)?Array(t.length):[];return cf(t,function(t,i,o){r[++n]=e(t,i,o)}),r}function ir(t){var e=Ei(t);return 1==e.length&&e[0][2]?Ki(e[0][0],e[0][1]):function(n){return n===t||Jn(n,t,e)}}function or(t,e){return Zi(t)&&Gi(e)?Ki(Qi(t),e):function(n){var r=qs(n,t);return r===Y&&r===e?Hs(n,t):Vn(e,r,Y,st|ut)}}function ar(t,e,n,r,i){if(t!==e){if(!el(e)&&!As(e))var a=Ks(e);o(a||e,function(o,s){if(a&&(s=o,o=e[s]),us(o))i||(i=new $e),sr(t,e,s,n,ar,r,i);else{var u=r?r(t[s],o,s+"",t,e,i):Y;u===Y&&(u=o),un(t,s,u)}})}}function sr(t,e,n,r,i,o,a){var s=t[n],u=e[n],c=a.get(u);if(c)return void un(t,n,c);var f=o?o(s,u,n+"",t,e,a):Y,l=f===Y;l&&(f=u,el(u)||As(u)?el(s)?f=s:Va(s)?f=Vr(s):(l=!1,f=kn(u,!0)):ms(u)||Ga(u)?Ga(s)?f=Ts(s):!us(s)||r&&os(s)?(l=!1,f=kn(u,!0)):f=s:l=!1),a.set(u,f),l&&i(f,u,r,o,a),a["delete"](u),un(t,n,f)}function ur(t,e){var n=t.length;if(n)return e+=0>e?n:0,Mi(e,n)?t[e]:Y}function cr(t,e,n){var r=-1;e=l(e.length?e:[Lu],S(Si()));var i=rr(t,function(t,n,i){var o=l(e,function(e){return e(t)});return{criteria:o,index:++r,value:t}});return x(i,function(t,e){return Gr(t,e,n)})}function fr(t,e){return t=Object(t),d(e,function(e,n){return n in t&&(e[n]=t[n]),e},{})}function lr(t,e){for(var n=-1,r=Ai(t),i=r.length,o={};++n<i;){var a=r[n],s=t[a];e(s,a)&&(o[a]=s)}return o}function hr(t){return function(e){return null==e?Y:e[t]}}function dr(t){return function(e){return Mn(e,t)}}function pr(t,e,n,r){var i=r?y:m,o=-1,a=e.length,s=t;for(n&&(s=l(t,S(n)));++o<a;)for(var u=0,c=e[o],f=n?n(c):c;(u=i(s,f,u,r))>-1;)s!==t&&jc.call(s,u,1),jc.call(t,u,1);return t}function _r(t,e){for(var n=t?e.length:0,r=n-1;n--;){var i=e[n];if(n==r||i!==o){var o=i;if(Mi(i))jc.call(t,i,1);else if(Zi(i,t))delete t[Qi(i)];else{var a=Dr(i),s=Xi(t,a);null!=s&&delete s[Qi(bo(a))]}}}return t}function gr(t,e){return t+Nc(Mc()*(e-t+1))}function vr(t,e,n,r){for(var i=-1,o=Lc(Tc((e-t)/(n||1)),0),a=Array(o);o--;)a[r?o:++i]=t,t+=n;return a}function mr(t,e){var n="";if(!t||1>e||e>vt)return n;do e%2&&(n+=t),e=Nc(e/2),e&&(t+=t);while(e);return n}function yr(t,e,n,r){e=Zi(e,t)?[e]:Dr(e);for(var i=-1,o=e.length,a=o-1,s=t;null!=s&&++i<o;){var u=Qi(e[i]);if(us(s)){var c=n;if(i!=a){var f=s[u];c=r?r(f,u,s):Y,c===Y&&(c=null==f?Mi(e[i+1])?[]:{}:f)}cn(s,u,c)}s=s[u]}return t}function wr(t,e,n){var r=-1,i=t.length;0>e&&(e=-e>i?0:i+e),n=n>i?i:n,0>n&&(n+=i),i=e>n?0:n-e>>>0,e>>>=0;for(var o=Array(i);++r<i;)o[r]=t[r+e];return o}function br(t,e){var n;return cf(t,function(t,r,i){return n=e(t,r,i),!n}),!!n}function xr(t,e,n){var r=0,i=t?t.length:r;if("number"==typeof e&&e===e&&xt>=i){for(;i>r;){var o=r+i>>>1,a=t[o];null!==a&&!ks(a)&&(n?e>=a:e>a)?r=o+1:i=o}return i}return kr(t,e,Lu,n)}function kr(t,e,n,r){e=n(e);for(var i=0,o=t?t.length:0,a=e!==e,s=null===e,u=ks(e),c=e===Y;o>i;){var f=Nc((i+o)/2),l=n(t[f]),h=l!==Y,d=null===l,p=l===l,_=ks(l);if(a)var g=r||p;else g=c?p&&(r||h):s?p&&h&&(r||!d):u?p&&h&&!d&&(r||!_):d||_?!1:r?e>=l:e>l;g?i=f+1:o=f}return Uc(o,bt)}function Ar(t,e){for(var n=-1,r=t.length,i=0,o=[];++n<r;){var a=t[n],s=e?e(a):a;if(!n||!Ha(s,u)){var u=s;o[i++]=0===a?0:a}}return o}function Cr(t){return"number"==typeof t?t:ks(t)?yt:+t}function Sr(t){if("string"==typeof t)return t;if(ks(t))return uf?uf.call(t):"";var e=t+"";return"0"==e&&1/t==-gt?"-0":e}function Er(t,e,n){var r=-1,i=c,o=t.length,a=!0,s=[],u=s;if(n)a=!1,i=f;else if(o>=G){var l=e?null:pf(t);if(l)return P(l);a=!1,i=Ge,u=new He}else u=e?[]:s;t:for(;++r<o;){var h=t[r],d=e?e(h):h;if(h=n||0!==h?h:0,a&&d===d){for(var p=u.length;p--;)if(u[p]===d)continue t;e&&u.push(d),s.push(h)}else i(u,d,n)||(u!==s&&u.push(d),s.push(h))}return s}function Ir(t,e){e=Zi(e,t)?[e]:Dr(e),t=Xi(t,e);var n=Qi(bo(e));return!(null!=t&&qn(t,n))||delete t[n]}function Or(t,e,n,r){return yr(t,e,n(Mn(t,e)),r)}function zr(t,e,n,r){for(var i=t.length,o=r?i:-1;(r?o--:++o<i)&&e(t[o],o,t););return n?wr(t,r?0:o,r?o+1:i):wr(t,r?o+1:0,r?i:o)}function jr(t,e){var n=t;return n instanceof je&&(n=n.value()),d(e,function(t,e){return e.func.apply(e.thisArg,h([t],e.args))},n)}function Tr(t,e,n){for(var r=-1,i=t.length;++r<i;)var o=o?h(On(o,t[r],e,n),On(t[r],o,e,n)):t[r];return o&&o.length?Er(o,e,n):[]}function Nr(t,e,n){for(var r=-1,i=t.length,o=e.length,a={};++r<i;){var s=o>r?e[r]:Y;n(a,t[r],s)}return a}function Fr(t){return Va(t)?t:[]}function Rr(t){return"function"==typeof t?t:Lu}function Dr(t){return el(t)?t:yf(t)}function Br(t,e,n){var r=t.length;return n=n===Y?r:n,!e&&n>=r?t:wr(t,e,n)}function Lr(t,e){if(e)return t.slice();var n=new t.constructor(t.length);return t.copy(n),n}function Ur(t){var e=new t.constructor(t.byteLength);return new kc(e).set(new kc(t)),e}function Pr(t,e){var n=e?Ur(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}function Mr(e,n,r){var i=n?r(L(e),!0):L(e);return d(i,t,new e.constructor)}function Wr(t){var e=new t.constructor(t.source,me.exec(t));return e.lastIndex=t.lastIndex,e}function Zr(t,n,r){var i=n?r(P(t),!0):P(t);return d(i,e,new t.constructor)}function qr(t){return sf?Object(sf.call(t)):{}}function Yr(t,e){var n=e?Ur(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}function Hr(t,e){if(t!==e){var n=t!==Y,r=null===t,i=t===t,o=ks(t),a=e!==Y,s=null===e,u=e===e,c=ks(e);if(!s&&!c&&!o&&t>e||o&&a&&u&&!s&&!c||r&&a&&u||!n&&u||!i)return 1;if(!r&&!o&&!c&&e>t||c&&n&&i&&!r&&!o||s&&n&&i||!a&&i||!u)return-1}return 0}function Gr(t,e,n){for(var r=-1,i=t.criteria,o=e.criteria,a=i.length,s=n.length;++r<a;){var u=Hr(i[r],o[r]);if(u){if(r>=s)return u;var c=n[r];return u*("desc"==c?-1:1)}}return t.index-e.index}function Kr(t,e,n,r){for(var i=-1,o=t.length,a=n.length,s=-1,u=e.length,c=Lc(o-a,0),f=Array(u+c),l=!r;++s<u;)f[s]=e[s];for(;++i<a;)(l||o>i)&&(f[n[i]]=t[i]);for(;c--;)f[s++]=t[i++];return f}function $r(t,e,n,r){for(var i=-1,o=t.length,a=-1,s=n.length,u=-1,c=e.length,f=Lc(o-s,0),l=Array(f+c),h=!r;++i<f;)l[i]=t[i];for(var d=i;++u<c;)l[d+u]=e[u];for(;++a<s;)(h||o>i)&&(l[d+n[a]]=t[i++]);return l}function Vr(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n<r;)e[n]=t[n];return e}function Xr(t,e,n,r){n||(n={});for(var i=-1,o=e.length;++i<o;){var a=e[i],s=r?r(n[a],t[a],a,n,t):t[a];cn(n,a,s)}return n}function Jr(t,e){return Xr(t,ji(t),e)}function Qr(t,e){return function(n,i){
+var o=el(n)?r:fn,a=e?e():{};return o(n,t,Si(i),a)}}function ti(t){return Da(function(e,n){var r=-1,i=n.length,o=i>1?n[i-1]:Y,a=i>2?n[2]:Y;for(o="function"==typeof o?(i--,o):Y,a&&Wi(n[0],n[1],a)&&(o=3>i?Y:o,i=1),e=Object(e);++r<i;){var s=n[r];s&&t(e,s,r,o)}return e})}function ei(t,e){return function(n,r){if(null==n)return n;if(!$a(n))return t(n,r);for(var i=n.length,o=e?i:-1,a=Object(n);(e?o--:++o<i)&&r(a[o],o,a)!==!1;);return n}}function ni(t){return function(e,n,r){for(var i=-1,o=Object(e),a=r(e),s=a.length;s--;){var u=a[t?s:++i];if(n(o[u],u,o)===!1)break}return e}}function ri(t,e,n){function r(){var e=this&&this!==Dn&&this instanceof r?o:t;return e.apply(i?n:this,arguments)}var i=e&X,o=ai(t);return r}function ii(t){return function(e){e=Fs(e);var n=gn.test(e)?W(e):Y,r=n?n[0]:e.charAt(0),i=n?Br(n,1).join(""):e.slice(1);return r[t]()+i}}function oi(t){return function(e){return d(Fu(pu(e).replace(hn,"")),t,"")}}function ai(t){return function(){var e=arguments;switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3]);case 5:return new t(e[0],e[1],e[2],e[3],e[4]);case 6:return new t(e[0],e[1],e[2],e[3],e[4],e[5]);case 7:return new t(e[0],e[1],e[2],e[3],e[4],e[5],e[6])}var n=Cn(t.prototype),r=t.apply(n,e);return us(r)?r:n}}function si(t,e,r){function i(){for(var a=arguments.length,s=Array(a),u=a,c=Oi(i);u--;)s[u]=arguments[u];var f=3>a&&s[0]!==c&&s[a-1]!==c?[]:U(s,c);if(a-=f.length,r>a)return vi(t,e,ci,i.placeholder,Y,s,f,Y,Y,r-a);var l=this&&this!==Dn&&this instanceof i?o:t;return n(l,this,s)}var o=ai(t);return i}function ui(t){return Da(function(e){e=Rn(e,1);var n=e.length,r=n,i=ze.prototype.thru;for(t&&e.reverse();r--;){var o=e[r];if("function"!=typeof o)throw new cc(K);if(i&&!a&&"wrapper"==Ci(o))var a=new ze([],!0)}for(r=a?r:n;++r<n;){o=e[r];var s=Ci(o),u="wrapper"==s?_f(o):Y;a=u&&Yi(u[0])&&u[1]==(it|tt|nt|ot)&&!u[4].length&&1==u[9]?a[Ci(u[0])].apply(a,u[3]):1==o.length&&Yi(o)?a[s]():a.thru(o)}return function(){var t=arguments,r=t[0];if(a&&1==t.length&&el(r)&&r.length>=G)return a.plant(r).value();for(var i=0,o=n?e[i].apply(this,t):r;++i<n;)o=e[i].call(this,o);return o}})}function ci(t,e,n,r,i,o,a,s,u,c){function f(){for(var v=arguments.length,m=v,y=Array(v);m--;)y[m]=arguments[m];if(p)var w=Oi(f),b=j(y,w);if(r&&(y=Kr(y,r,i,p)),o&&(y=$r(y,o,a,p)),v-=b,p&&c>v){var x=U(y,w);return vi(t,e,ci,f.placeholder,n,y,x,s,u,c-v)}var k=h?n:this,A=d?k[t]:t;return v=y.length,s?y=Ji(y,s):_&&v>1&&y.reverse(),l&&v>u&&(y.length=u),this&&this!==Dn&&this instanceof f&&(A=g||ai(A)),A.apply(k,y)}var l=e&it,h=e&X,d=e&J,p=e&(tt|et),_=e&at,g=d?Y:ai(t);return f}function fi(t,e){return function(n,r){return Kn(n,t,e(r),{})}}function li(t){return function(e,n){var r;if(e===Y&&n===Y)return 0;if(e!==Y&&(r=e),n!==Y){if(r===Y)return n;"string"==typeof e||"string"==typeof n?(e=Sr(e),n=Sr(n)):(e=Cr(e),n=Cr(n)),r=t(e,n)}return r}}function hi(t){return Da(function(e){return e=1==e.length&&el(e[0])?l(e[0],S(Si())):l(Rn(e,1,Pi),S(Si())),Da(function(r){var i=this;return t(e,function(t){return n(t,i,r)})})})}function di(t,e){e=e===Y?" ":Sr(e);var n=e.length;if(2>n)return n?mr(e,t):e;var r=mr(e,Tc(t/M(e)));return gn.test(e)?Br(W(r),0,t).join(""):r.slice(0,t)}function pi(t,e,r,i){function o(){for(var e=-1,u=arguments.length,c=-1,f=i.length,l=Array(f+u),h=this&&this!==Dn&&this instanceof o?s:t;++c<f;)l[c]=i[c];for(;u--;)l[c++]=arguments[++e];return n(h,a?r:this,l)}var a=e&X,s=ai(t);return o}function _i(t){return function(e,n,r){return r&&"number"!=typeof r&&Wi(e,n,r)&&(n=r=Y),e=js(e),e=e===e?e:0,n===Y?(n=e,e=0):n=js(n)||0,r=r===Y?n>e?1:-1:js(r)||0,vr(e,n,r,t)}}function gi(t){return function(e,n){return"string"==typeof e&&"string"==typeof n||(e=js(e),n=js(n)),t(e,n)}}function vi(t,e,n,r,i,o,a,s,u,c){var f=e&tt,l=f?a:Y,h=f?Y:a,d=f?o:Y,p=f?Y:o;e|=f?nt:rt,e&=~(f?rt:nt),e&Q||(e&=~(X|J));var _=[t,e,i,d,l,p,h,s,u,c],g=n.apply(Y,_);return Yi(t)&&mf(g,_),g.placeholder=r,g}function mi(t){var e=sc[t];return function(t,n){if(t=js(t),n=Os(n)){var r=(Fs(t)+"e").split("e"),i=e(r[0]+"e"+(+r[1]+n));return r=(Fs(i)+"e").split("e"),+(r[0]+"e"+(+r[1]-n))}return e(t)}}function yi(t,e,n,r,i,o,a,s){var u=e&J;if(!u&&"function"!=typeof t)throw new cc(K);var c=r?r.length:0;if(c||(e&=~(nt|rt),r=i=Y),a=a===Y?a:Lc(Os(a),0),s=s===Y?s:Os(s),c-=i?i.length:0,e&rt){var f=r,l=i;r=i=Y}var h=u?Y:_f(t),d=[t,e,n,r,i,f,l,o,a,s];if(h&&$i(d,h),t=d[0],e=d[1],n=d[2],r=d[3],i=d[4],s=d[9]=null==d[9]?u?0:t.length:Lc(d[9]-c,0),!s&&e&(tt|et)&&(e&=~(tt|et)),e&&e!=X)p=e==tt||e==et?si(t,e,s):e!=nt&&e!=(X|nt)||i.length?ci.apply(Y,d):pi(t,e,n,r);else var p=ri(t,e,n);var _=h?df:mf;return _(p,d)}function wi(t,e,n,r,i,o){var a=-1,s=i&ut,u=i&st,c=t.length,f=e.length;if(c!=f&&!(s&&f>c))return!1;var l=o.get(t);if(l)return l==e;var h=!0;for(o.set(t,e);++a<c;){var d=t[a],p=e[a];if(r)var g=s?r(p,d,a,e,t,o):r(d,p,a,t,e,o);if(g!==Y){if(g)continue;h=!1;break}if(u){if(!_(e,function(t){return d===t||n(d,t,r,i,o)})){h=!1;break}}else if(d!==p&&!n(d,p,r,i,o)){h=!1;break}}return o["delete"](t),h}function bi(t,e,n,r,i,o,a){switch(n){case Mt:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case Pt:return!(t.byteLength!=e.byteLength||!r(new kc(t),new kc(e)));case Ct:case St:return+t==+e;case Et:return t.name==e.name&&t.message==e.message;case jt:return t!=+t?e!=+e:t==+e;case Ft:case Dt:return t==e+"";case zt:var s=L;case Rt:var u=o&ut;if(s||(s=P),t.size!=e.size&&!u)return!1;var c=a.get(t);return c?c==e:(o|=st,a.set(t,e),wi(s(t),s(e),r,i,o,a));case Bt:if(sf)return sf.call(t)==sf.call(e)}return!1}function xi(t,e,n,r,i,o){var a=i&ut,s=Gs(t),u=s.length,c=Gs(e),f=c.length;if(u!=f&&!a)return!1;for(var l=u;l--;){var h=s[l];if(!(a?h in e:qn(e,h)))return!1}var d=o.get(t);if(d)return d==e;var p=!0;o.set(t,e);for(var _=a;++l<u;){h=s[l];var g=t[h],v=e[h];if(r)var m=a?r(v,g,h,e,t,o):r(g,v,h,t,e,o);if(!(m===Y?g===v||n(g,v,r,i,o):m)){p=!1;break}_||(_="constructor"==h)}if(p&&!_){var y=t.constructor,w=e.constructor;y!=w&&"constructor"in t&&"constructor"in e&&!("function"==typeof y&&y instanceof y&&"function"==typeof w&&w instanceof w)&&(p=!1)}return o["delete"](t),p}function ki(t){return Wn(t,Gs,ji)}function Ai(t){return Wn(t,Ks,vf)}function Ci(t){for(var e=t.name+"",n=Qc[e],r=pc.call(Qc,e)?n.length:0;r--;){var i=n[r],o=i.func;if(null==o||o==t)return i.name}return e}function Si(){var t=Ie.iteratee||Uu;return t=t===Uu?Qn:t,arguments.length?t(arguments[0],arguments[1]):t}function Ei(t){for(var e=nu(t),n=e.length;n--;)e[n][2]=Gi(e[n][1]);return e}function Ii(t,e){var n=t[e];return ps(n)?n:Y}function Oi(t){var e=pc.call(Ie,"placeholder")?Ie:t;return e.placeholder}function zi(t){return Fc(Object(t))}function ji(t){return Sc(Object(t))}function Ti(t){return vc.call(t)}function Ni(t,e,n){for(var r=-1,i=n.length;++r<i;){var o=n[r],a=o.size;switch(o.type){case"drop":t+=a;break;case"dropRight":e-=a;break;case"take":e=Uc(e,t+a);break;case"takeRight":t=Lc(t,e-a)}}return{start:t,end:e}}function Fi(t,e,n){e=Zi(e,t)?[e]:Dr(e);for(var r,i=-1,o=e.length;++i<o;){var a=Qi(e[i]);if(!(r=null!=t&&n(t,a)))break;t=t[a]}if(r)return r;var o=t?t.length:0;return!!o&&ss(o)&&Mi(a,o)&&(el(t)||xs(t)||Ga(t))}function Ri(t){var e=t.length,n=t.constructor(e);return e&&"string"==typeof t[0]&&pc.call(t,"index")&&(n.index=t.index,n.input=t.input),n}function Di(t){return"function"!=typeof t.constructor||Hi(t)?{}:Cn(zi(t))}function Bi(t,e,n,r){var i=t.constructor;switch(e){case Pt:return Ur(t);case Ct:case St:return new i(+t);case Mt:return Pr(t,r);case Wt:case Zt:case qt:case Yt:case Ht:case Gt:case Kt:case $t:case Vt:return Yr(t,r);case zt:return Mr(t,r,n);case jt:case Dt:return new i(t);case Ft:return Wr(t);case Rt:return Zr(t,r,n);case Bt:return qr(t)}}function Li(t){var e=t?t.length:Y;return ss(e)&&(el(t)||xs(t)||Ga(t))?A(e,String):null}function Ui(t){return Va(t)&&(el(t)||Ga(t))}function Pi(t){return el(t)&&!(2==t.length&&!os(t[0]))}function Mi(t,e){return e=null==e?vt:e,!!e&&("number"==typeof t||Ae.test(t))&&t>-1&&t%1==0&&e>t}function Wi(t,e,n){if(!us(n))return!1;var r=typeof e;return("number"==r?$a(n)&&Mi(e,n.length):"string"==r&&e in n)?Ha(n[e],t):!1}function Zi(t,e){if(el(t))return!1;var n=typeof t;return"number"==n||"symbol"==n||"boolean"==n||null==t||ks(t)?!0:ue.test(t)||!se.test(t)||null!=e&&t in Object(e)}function qi(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}function Yi(t){var e=Ci(t),n=Ie[e];if("function"!=typeof n||!(e in je.prototype))return!1;if(t===n)return!0;var r=_f(n);return!!r&&t===r[0]}function Hi(t){var e=t&&t.constructor,n="function"==typeof e&&e.prototype||lc;return t===n}function Gi(t){return t===t&&!us(t)}function Ki(t,e){return function(n){return null==n?!1:n[t]===e&&(e!==Y||t in Object(n))}}function $i(t,e){var n=t[1],r=e[1],i=n|r,o=(X|J|it)>i,a=r==it&&n==tt||r==it&&n==ot&&t[7].length<=e[8]||r==(it|ot)&&e[7].length<=e[8]&&n==tt;if(!o&&!a)return t;r&X&&(t[2]=e[2],i|=n&X?0:Q);var s=e[3];if(s){var u=t[3];t[3]=u?Kr(u,s,e[4]):s,t[4]=u?U(t[3],V):e[4]}return s=e[5],s&&(u=t[5],t[5]=u?$r(u,s,e[6]):s,t[6]=u?U(t[5],V):e[6]),s=e[7],s&&(t[7]=s),r&it&&(t[8]=null==t[8]?e[8]:Uc(t[8],e[8])),null==t[9]&&(t[9]=e[9]),t[0]=e[0],t[1]=i,t}function Vi(t,e,n,r,i,o){return us(t)&&us(e)&&ar(t,e,Y,Vi,o.set(e,t)),t}function Xi(t,e){return 1==e.length?t:Mn(t,wr(e,0,-1))}function Ji(t,e){for(var n=t.length,r=Uc(e.length,n),i=Vr(t);r--;){var o=e[r];t[r]=Mi(o,n)?i[o]:Y}return t}function Qi(t){if("string"==typeof t||ks(t))return t;var e=t+"";return"0"==e&&1/t==-gt?"-0":e}function to(t){if(null!=t){try{return dc.call(t)}catch(e){}try{return t+""}catch(e){}}return""}function eo(t){if(t instanceof je)return t.clone();var e=new ze(t.__wrapped__,t.__chain__);return e.__actions__=Vr(t.__actions__),e.__index__=t.__index__,e.__values__=t.__values__,e}function no(t,e,n){e=(n?Wi(t,e,n):e===Y)?1:Lc(Os(e),0);var r=t?t.length:0;if(!r||1>e)return[];for(var i=0,o=0,a=Array(Tc(r/e));r>i;)a[o++]=wr(t,i,i+=e);return a}function ro(t){for(var e=-1,n=t?t.length:0,r=0,i=[];++e<n;){var o=t[e];o&&(i[r++]=o)}return i}function io(){var t=arguments.length,e=Ma(arguments[0]);if(2>t)return t?Vr(e):[];for(var n=Array(t-1);t--;)n[t-1]=arguments[t];return i(e,Rn(n,1))}function oo(t,e,n){var r=t?t.length:0;return r?(e=n||e===Y?1:Os(e),wr(t,0>e?0:e,r)):[]}function ao(t,e,n){var r=t?t.length:0;return r?(e=n||e===Y?1:Os(e),e=r-e,wr(t,0,0>e?0:e)):[]}function so(t,e){return t&&t.length?zr(t,Si(e,3),!0,!0):[]}function uo(t,e){return t&&t.length?zr(t,Si(e,3),!0):[]}function co(t,e,n,r){var i=t?t.length:0;return i?(n&&"number"!=typeof n&&Wi(t,e,n)&&(n=0,r=i),Nn(t,e,n,r)):[]}function fo(t,e){return t&&t.length?v(t,Si(e,3)):-1}function lo(t,e){return t&&t.length?v(t,Si(e,3),!0):-1}function ho(t){var e=t?t.length:0;return e?Rn(t,1):[]}function po(t){var e=t?t.length:0;return e?Rn(t,gt):[]}function _o(t,e){var n=t?t.length:0;return n?(e=e===Y?1:Os(e),Rn(t,e)):[]}function go(t){for(var e=-1,n=t?t.length:0,r={};++e<n;){var i=t[e];r[i[0]]=i[1]}return r}function vo(t){return t&&t.length?t[0]:Y}function mo(t,e,n){var r=t?t.length:0;return r?(n=Os(n),0>n&&(n=Lc(r+n,0)),m(t,e,n)):-1}function yo(t){return ao(t,1)}function wo(t,e){return t?Dc.call(t,e):""}function bo(t){var e=t?t.length:0;return e?t[e-1]:Y}function xo(t,e,n){var r=t?t.length:0;if(!r)return-1;var i=r;if(n!==Y&&(i=Os(n),i=(0>i?Lc(r+i,0):Uc(i,r-1))+1),e!==e)return R(t,i,!0);for(;i--;)if(t[i]===e)return i;return-1}function ko(t,e){return t&&t.length?ur(t,Os(e)):Y}function Ao(t,e){return t&&t.length&&e&&e.length?pr(t,e):t}function Co(t,e,n){return t&&t.length&&e&&e.length?pr(t,e,Si(n)):t}function So(t,e,n){return t&&t.length&&e&&e.length?pr(t,e,Y,n):t}function Eo(t,e){var n=[];if(!t||!t.length)return n;var r=-1,i=[],o=t.length;for(e=Si(e,3);++r<o;){var a=t[r];e(a,r,t)&&(n.push(a),i.push(r))}return _r(t,i),n}function Io(t){return t?Zc.call(t):t}function Oo(t,e,n){var r=t?t.length:0;return r?(n&&"number"!=typeof n&&Wi(t,e,n)?(e=0,n=r):(e=null==e?0:Os(e),n=n===Y?r:Os(n)),wr(t,e,n)):[]}function zo(t,e){return xr(t,e)}function jo(t,e,n){return kr(t,e,Si(n))}function To(t,e){var n=t?t.length:0;if(n){var r=xr(t,e);if(n>r&&Ha(t[r],e))return r}return-1}function No(t,e){return xr(t,e,!0)}function Fo(t,e,n){return kr(t,e,Si(n),!0)}function Ro(t,e){var n=t?t.length:0;if(n){var r=xr(t,e,!0)-1;if(Ha(t[r],e))return r}return-1}function Do(t){return t&&t.length?Ar(t):[]}function Bo(t,e){return t&&t.length?Ar(t,Si(e)):[]}function Lo(t){return oo(t,1)}function Uo(t,e,n){return t&&t.length?(e=n||e===Y?1:Os(e),wr(t,0,0>e?0:e)):[]}function Po(t,e,n){var r=t?t.length:0;return r?(e=n||e===Y?1:Os(e),e=r-e,wr(t,0>e?0:e,r)):[]}function Mo(t,e){return t&&t.length?zr(t,Si(e,3),!1,!0):[]}function Wo(t,e){return t&&t.length?zr(t,Si(e,3)):[]}function Zo(t){return t&&t.length?Er(t):[]}function qo(t,e){return t&&t.length?Er(t,Si(e)):[]}function Yo(t,e){return t&&t.length?Er(t,Y,e):[]}function Ho(t){if(!t||!t.length)return[];var e=0;return t=u(t,function(t){return Va(t)?(e=Lc(t.length,e),!0):void 0}),A(e,function(e){return l(t,hr(e))})}function Go(t,e){if(!t||!t.length)return[];var r=Ho(t);return null==e?r:l(r,function(t){return n(e,Y,t)})}function Ko(t,e){return Nr(t||[],e||[],cn)}function $o(t,e){return Nr(t||[],e||[],yr)}function Vo(t){var e=Ie(t);return e.__chain__=!0,e}function Xo(t,e){return e(t),t}function Jo(t,e){return e(t)}function Qo(){return Vo(this)}function ta(){return new ze(this.value(),this.__chain__)}function ea(){this.__values__===Y&&(this.__values__=Is(this.value()));var t=this.__index__>=this.__values__.length,e=t?Y:this.__values__[this.__index__++];return{done:t,value:e}}function na(){return this}function ra(t){for(var e,n=this;n instanceof Oe;){var r=eo(n);r.__index__=0,r.__values__=Y,e?i.__wrapped__=r:e=r;var i=r;n=n.__wrapped__}return i.__wrapped__=t,e}function ia(){var t=this.__wrapped__;if(t instanceof je){var e=t;return this.__actions__.length&&(e=new je(this)),e=e.reverse(),e.__actions__.push({func:Jo,args:[Io],thisArg:Y}),new ze(e,this.__chain__)}return this.thru(Io)}function oa(){return jr(this.__wrapped__,this.__actions__)}function aa(t,e,n){var r=el(t)?s:zn;return n&&Wi(t,e,n)&&(e=Y),r(t,Si(e,3))}function sa(t,e){var n=el(t)?u:Fn;return n(t,Si(e,3))}function ua(t,e){if(e=Si(e,3),el(t)){var n=v(t,e);return n>-1?t[n]:Y}return g(t,e,cf)}function ca(t,e){if(e=Si(e,3),el(t)){var n=v(t,e,!0);return n>-1?t[n]:Y}return g(t,e,ff)}function fa(t,e){return Rn(ga(t,e),1)}function la(t,e){return Rn(ga(t,e),gt)}function ha(t,e,n){return n=n===Y?1:Os(n),Rn(ga(t,e),n)}function da(t,e){return"function"==typeof e&&el(t)?o(t,e):cf(t,Si(e))}function pa(t,e){return"function"==typeof e&&el(t)?a(t,e):ff(t,Si(e))}function _a(t,e,n,r){t=$a(t)?t:uu(t),n=n&&!r?Os(n):0;var i=t.length;return 0>n&&(n=Lc(i+n,0)),xs(t)?i>=n&&t.indexOf(e,n)>-1:!!i&&m(t,e,n)>-1}function ga(t,e){var n=el(t)?l:rr;return n(t,Si(e,3))}function va(t,e,n,r){return null==t?[]:(el(e)||(e=null==e?[]:[e]),n=r?Y:n,el(n)||(n=null==n?[]:[n]),cr(t,e,n))}function ma(t,e,n){var r=el(t)?d:b,i=arguments.length<3;return r(t,Si(e,4),n,i,cf)}function ya(t,e,n){var r=el(t)?p:b,i=arguments.length<3;return r(t,Si(e,4),n,i,ff)}function wa(t,e){var n=el(t)?u:Fn;return e=Si(e,3),n(t,function(t,n,r){return!e(t,n,r)})}function ba(t){var e=$a(t)?t:uu(t),n=e.length;return n>0?e[gr(0,n-1)]:Y}function xa(t,e,n){var r=-1,i=Is(t),o=i.length,a=o-1;for(e=(n?Wi(t,e,n):e===Y)?1:xn(Os(e),0,o);++r<e;){var s=gr(r,a),u=i[s];i[s]=i[r],i[r]=u}return i.length=e,i}function ka(t){return xa(t,wt)}function Aa(t){if(null==t)return 0;if($a(t)){var e=t.length;return e&&xs(t)?M(t):e}if(cs(t)){var n=Ti(t);if(n==zt||n==Rt)return t.size}return Gs(t).length}function Ca(t,e,n){var r=el(t)?_:br;return n&&Wi(t,e,n)&&(e=Y),r(t,Si(e,3))}function Sa(t,e){if("function"!=typeof e)throw new cc(K);return t=Os(t),function(){return--t<1?e.apply(this,arguments):void 0}}function Ea(t,e,n){return e=n?Y:e,e=t&&null==e?t.length:e,yi(t,it,Y,Y,Y,Y,e)}function Ia(t,e){var n;if("function"!=typeof e)throw new cc(K);return t=Os(t),function(){return--t>0&&(n=e.apply(this,arguments)),1>=t&&(e=Y),n}}function Oa(t,e,n){e=n?Y:e;var r=yi(t,tt,Y,Y,Y,Y,Y,e);return r.placeholder=Oa.placeholder,r}function za(t,e,n){e=n?Y:e;var r=yi(t,et,Y,Y,Y,Y,Y,e);return r.placeholder=za.placeholder,r}function ja(t,e,n){function r(e){var n=h,r=d;return h=d=Y,m=e,_=t.apply(r,n)}function i(t){return m=t,g=zc(s,e),y?r(t):_}function o(t){var n=t-v,r=t-m,i=e-n;return w?Uc(i,p-r):i}function a(t){var n=t-v,r=t-m;return!v||n>=e||0>n||w&&r>=p}function s(){var t=qf();return a(t)?u(t):void(g=zc(s,o(t)))}function u(t){return Ac(g),g=Y,b&&h?r(t):(h=d=Y,_)}function c(){g!==Y&&Ac(g),v=m=0,h=d=g=Y}function f(){return g===Y?_:u(qf())}function l(){var t=qf(),n=a(t);if(h=arguments,d=this,v=t,n){if(g===Y)return i(v);if(w)return Ac(g),g=zc(s,e),r(v)}return g===Y&&(g=zc(s,e)),_}var h,d,p,_,g,v=0,m=0,y=!1,w=!1,b=!0;if("function"!=typeof t)throw new cc(K);return e=js(e)||0,us(n)&&(y=!!n.leading,w="maxWait"in n,p=w?Lc(js(n.maxWait)||0,e):p,b="trailing"in n?!!n.trailing:b),l.cancel=c,l.flush=f,l}function Ta(t){return yi(t,at)}function Na(t,e){if("function"!=typeof t||e&&"function"!=typeof e)throw new cc(K);var n=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=t.apply(this,r);return n.cache=o.set(i,a),a};return n.cache=new(Na.Cache||Pe),n}function Fa(t){if("function"!=typeof t)throw new cc(K);return function(){return!t.apply(this,arguments)}}function Ra(t){return Ia(2,t)}function Da(t,e){if("function"!=typeof t)throw new cc(K);return e=Lc(e===Y?t.length-1:Os(e),0),function(){for(var r=arguments,i=-1,o=Lc(r.length-e,0),a=Array(o);++i<o;)a[i]=r[e+i];switch(e){case 0:return t.call(this,a);case 1:return t.call(this,r[0],a);case 2:return t.call(this,r[0],r[1],a)}var s=Array(e+1);for(i=-1;++i<e;)s[i]=r[i];return s[e]=a,n(t,this,s)}}function Ba(t,e){if("function"!=typeof t)throw new cc(K);return e=e===Y?0:Lc(Os(e),0),Da(function(r){var i=r[e],o=Br(r,0,e);return i&&h(o,i),n(t,this,o)})}function La(t,e,n){var r=!0,i=!0;if("function"!=typeof t)throw new cc(K);return us(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),ja(t,e,{leading:r,maxWait:e,trailing:i})}function Ua(t){return Ea(t,1)}function Pa(t,e){return e=null==e?Lu:e,Vf(e,t)}function Ma(){if(!arguments.length)return[];var t=arguments[0];return el(t)?t:[t]}function Wa(t){return kn(t,!1,!0)}function Za(t,e){return kn(t,!1,!0,e)}function qa(t){return kn(t,!0,!0)}function Ya(t,e){return kn(t,!0,!0,e)}function Ha(t,e){return t===e||t!==t&&e!==e}function Ga(t){return Va(t)&&pc.call(t,"callee")&&(!Oc.call(t,"callee")||vc.call(t)==kt)}function Ka(t){return cs(t)&&vc.call(t)==Pt}function $a(t){return null!=t&&ss(gf(t))&&!os(t)}function Va(t){return cs(t)&&$a(t)}function Xa(t){return t===!0||t===!1||cs(t)&&vc.call(t)==Ct}function Ja(t){return cs(t)&&vc.call(t)==St}function Qa(t){return!!t&&1===t.nodeType&&cs(t)&&!ms(t)}function ts(t){if($a(t)&&(el(t)||xs(t)||os(t.splice)||Ga(t)||nl(t)))return!t.length;if(cs(t)){var e=Ti(t);if(e==zt||e==Rt)return!t.size}for(var n in t)if(pc.call(t,n))return!1;return!(Jc&&Gs(t).length)}function es(t,e){return Vn(t,e)}function ns(t,e,n){n="function"==typeof n?n:Y;var r=n?n(t,e):Y;return r===Y?Vn(t,e,n):!!r}function rs(t){return cs(t)?vc.call(t)==Et||"string"==typeof t.message&&"string"==typeof t.name:!1}function is(t){return"number"==typeof t&&Rc(t)}function os(t){var e=us(t)?vc.call(t):"";return e==It||e==Ot}function as(t){return"number"==typeof t&&t==Os(t)}function ss(t){return"number"==typeof t&&t>-1&&t%1==0&&vt>=t}function us(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function cs(t){return!!t&&"object"==typeof t}function fs(t){return cs(t)&&Ti(t)==zt}function ls(t,e){return t===e||Jn(t,e,Ei(e))}function hs(t,e,n){return n="function"==typeof n?n:Y,Jn(t,e,Ei(e),n)}function ds(t){return vs(t)&&t!=+t}function ps(t){if(!us(t))return!1;var e=os(t)||D(t)?yc:xe;return e.test(to(t))}function _s(t){return null===t}function gs(t){return null==t}function vs(t){return"number"==typeof t||cs(t)&&vc.call(t)==jt}function ms(t){if(!cs(t)||vc.call(t)!=Tt||D(t))return!1;var e=zi(t);if(null===e)return!0;var n=pc.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&dc.call(n)==gc}function ys(t){return us(t)&&vc.call(t)==Ft}function ws(t){return as(t)&&t>=-vt&&vt>=t}function bs(t){return cs(t)&&Ti(t)==Rt}function xs(t){return"string"==typeof t||!el(t)&&cs(t)&&vc.call(t)==Dt}function ks(t){return"symbol"==typeof t||cs(t)&&vc.call(t)==Bt}function As(t){return cs(t)&&ss(t.length)&&!!wn[vc.call(t)]}function Cs(t){return t===Y}function Ss(t){return cs(t)&&Ti(t)==Lt}function Es(t){return cs(t)&&vc.call(t)==Ut}function Is(t){if(!t)return[];if($a(t))return xs(t)?W(t):Vr(t);if(Ec&&t[Ec])return B(t[Ec]());var e=Ti(t),n=e==zt?L:e==Rt?P:uu;return n(t)}function Os(t){if(!t)return 0===t?t:0;if(t=js(t),t===gt||t===-gt){var e=0>t?-1:1;return e*mt}var n=t%1;return t===t?n?t-n:t:0}function zs(t){return t?xn(Os(t),0,wt):0}function js(t){if("number"==typeof t)return t;if(ks(t))return yt;if(us(t)){var e=os(t.valueOf)?t.valueOf():t;t=us(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(he,"");var n=be.test(t);return n||ke.test(t)?In(t.slice(2),n?2:8):we.test(t)?yt:+t}function Ts(t){return Xr(t,Ks(t))}function Ns(t){return xn(Os(t),-vt,vt)}function Fs(t){return null==t?"":Sr(t)}function Rs(t,e){var n=Cn(t);return e?ln(n,e):n}function Ds(t,e){return g(t,Si(e,3),Ln,!0)}function Bs(t,e){return g(t,Si(e,3),Un,!0)}function Ls(t,e){return null==t?t:lf(t,Si(e),Ks)}function Us(t,e){return null==t?t:hf(t,Si(e),Ks)}function Ps(t,e){return t&&Ln(t,Si(e))}function Ms(t,e){return t&&Un(t,Si(e))}function Ws(t){return null==t?[]:Pn(t,Gs(t))}function Zs(t){return null==t?[]:Pn(t,Ks(t))}function qs(t,e,n){var r=null==t?Y:Mn(t,e);return r===Y?n:r}function Ys(t,e){return null!=t&&Fi(t,e,qn)}function Hs(t,e){return null!=t&&Fi(t,e,Yn)}function Gs(t){var e=Hi(t);if(!e&&!$a(t))return tr(t);var n=Li(t),r=!!n,i=n||[],o=i.length;for(var a in t)!qn(t,a)||r&&("length"==a||Mi(a,o))||e&&"constructor"==a||i.push(a);return i}function Ks(t){for(var e=-1,n=Hi(t),r=er(t),i=r.length,o=Li(t),a=!!o,s=o||[],u=s.length;++e<i;){var c=r[e];a&&("length"==c||Mi(c,u))||"constructor"==c&&(n||!pc.call(t,c))||s.push(c)}return s}function $s(t,e){var n={};return e=Si(e,3),Ln(t,function(t,r,i){n[e(t,r,i)]=t}),n}function Vs(t,e){var n={};return e=Si(e,3),Ln(t,function(t,r,i){n[r]=e(t,r,i)}),n}function Xs(t,e){return e=Si(e),lr(t,function(t,n){return!e(t,n)})}function Js(t,e){return null==t?{}:lr(t,Si(e))}function Qs(t,e,n){e=Zi(e,t)?[e]:Dr(e);var r=-1,i=e.length;for(i||(t=Y,i=1);++r<i;){var o=null==t?Y:t[Qi(e[r])];o===Y&&(r=i,o=n),t=os(o)?o.call(t):o}return t}function tu(t,e,n){return null==t?t:yr(t,e,n)}function eu(t,e,n,r){return r="function"==typeof r?r:Y,null==t?t:yr(t,e,n,r)}function nu(t){return C(t,Gs(t))}function ru(t){return C(t,Ks(t))}function iu(t,e,n){var r=el(t)||As(t);if(e=Si(e,4),null==n)if(r||us(t)){var i=t.constructor;n=r?el(t)?new i:[]:os(i)?Cn(zi(t)):{}}else n={};return(r?o:Ln)(t,function(t,r,i){return e(n,t,r,i)}),n}function ou(t,e){return null==t?!0:Ir(t,e)}function au(t,e,n){return null==t?t:Or(t,e,Rr(n))}function su(t,e,n,r){return r="function"==typeof r?r:Y,null==t?t:Or(t,e,Rr(n),r)}function uu(t){return t?E(t,Gs(t)):[]}function cu(t){return null==t?[]:E(t,Ks(t))}function fu(t,e,n){return n===Y&&(n=e,e=Y),n!==Y&&(n=js(n),n=n===n?n:0),e!==Y&&(e=js(e),e=e===e?e:0),xn(js(t),e,n)}function lu(t,e,n){return e=js(e)||0,n===Y?(n=e,e=0):n=js(n)||0,t=js(t),Hn(t,e,n)}function hu(t,e,n){if(n&&"boolean"!=typeof n&&Wi(t,e,n)&&(e=n=Y),n===Y&&("boolean"==typeof e?(n=e,e=Y):"boolean"==typeof t&&(n=t,t=Y)),t===Y&&e===Y?(t=0,e=1):(t=js(t)||0,e===Y?(e=t,t=0):e=js(e)||0),t>e){var r=t;t=e,e=r}if(n||t%1||e%1){var i=Mc();return Uc(t+i*(e-t+En("1e-"+((i+"").length-1))),e)}return gr(t,e)}function du(t){return Sl(Fs(t).toLowerCase())}function pu(t){return t=Fs(t),t&&t.replace(Ce,T).replace(dn,"")}function _u(t,e,n){t=Fs(t),e=Sr(e);var r=t.length;return n=n===Y?r:xn(Os(n),0,r),n-=e.length,n>=0&&t.indexOf(e,n)==n}function gu(t){return t=Fs(t),t&&re.test(t)?t.replace(ee,N):t}function vu(t){return t=Fs(t),t&&le.test(t)?t.replace(fe,"\\$&"):t}function mu(t,e,n){t=Fs(t),e=Os(e);var r=e?M(t):0;if(!e||r>=e)return t;var i=(e-r)/2;return di(Nc(i),n)+t+di(Tc(i),n)}function yu(t,e,n){t=Fs(t),e=Os(e);var r=e?M(t):0;return e&&e>r?t+di(e-r,n):t}function wu(t,e,n){t=Fs(t),e=Os(e);var r=e?M(t):0;return e&&e>r?di(e-r,n)+t:t}function bu(t,e,n){return n||null==e?e=0:e&&(e=+e),t=Fs(t).replace(he,""),Pc(t,e||(ye.test(t)?16:10))}function xu(t,e,n){return e=(n?Wi(t,e,n):e===Y)?1:Os(e),mr(Fs(t),e)}function ku(){var t=arguments,e=Fs(t[0]);return t.length<3?e:Wc.call(e,t[1],t[2])}function Au(t,e,n){return n&&"number"!=typeof n&&Wi(t,e,n)&&(e=n=Y),(n=n===Y?wt:n>>>0)?(t=Fs(t),t&&("string"==typeof e||null!=e&&!ys(e))&&(e=Sr(e),""==e&&gn.test(t))?Br(W(t),0,n):qc.call(t,e,n)):[]}function Cu(t,e,n){return t=Fs(t),n=xn(Os(n),0,t.length),t.lastIndexOf(Sr(e),n)==n}function Su(t,e,n){var r=Ie.templateSettings;n&&Wi(t,e,n)&&(e=Y),t=Fs(t),e=sl({},e,r,sn);var i,o,a=sl({},e.imports,r.imports,sn),s=Gs(a),u=E(a,s),c=0,f=e.interpolate||Se,l="__p += '",h=uc((e.escape||Se).source+"|"+f.source+"|"+(f===ae?ve:Se).source+"|"+(e.evaluate||Se).source+"|$","g"),d="//# sourceURL="+("sourceURL"in e?e.sourceURL:"lodash.templateSources["+ ++yn+"]")+"\n";t.replace(h,function(e,n,r,a,s,u){return r||(r=a),l+=t.slice(c,u).replace(Ee,F),n&&(i=!0,l+="' +\n__e("+n+") +\n'"),s&&(o=!0,l+="';\n"+s+";\n__p += '"),r&&(l+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),c=u+e.length,e}),l+="';\n";var p=e.variable;p||(l="with (obj) {\n"+l+"\n}\n"),l=(o?l.replace(Xt,""):l).replace(Jt,"$1").replace(Qt,"$1;"),l="function("+(p||"obj")+") {\n"+(p?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(i?", __e = _.escape":"")+(o?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+l+"return __p\n}";var _=El(function(){return Function(s,d+"return "+l).apply(Y,u)});if(_.source=l,rs(_))throw _;return _}function Eu(t){return Fs(t).toLowerCase()}function Iu(t){return Fs(t).toUpperCase()}function Ou(t,e,n){if(t=Fs(t),t&&(n||e===Y))return t.replace(he,"");if(!t||!(e=Sr(e)))return t;var r=W(t),i=W(e),o=I(r,i),a=O(r,i)+1;return Br(r,o,a).join("")}function zu(t,e,n){if(t=Fs(t),t&&(n||e===Y))return t.replace(pe,"");if(!t||!(e=Sr(e)))return t;var r=W(t),i=O(r,W(e))+1;return Br(r,0,i).join("")}function ju(t,e,n){if(t=Fs(t),t&&(n||e===Y))return t.replace(de,"");if(!t||!(e=Sr(e)))return t;var r=W(t),i=I(r,W(e));return Br(r,i).join("")}function Tu(t,e){var n=ct,r=ft;if(us(e)){var i="separator"in e?e.separator:i;n="length"in e?Os(e.length):n,r="omission"in e?Sr(e.omission):r}t=Fs(t);var o=t.length;if(gn.test(t)){var a=W(t);o=a.length}if(n>=o)return t;var s=n-M(r);if(1>s)return r;var u=a?Br(a,0,s).join(""):t.slice(0,s);if(i===Y)return u+r;if(a&&(s+=u.length-s),ys(i)){if(t.slice(s).search(i)){var c,f=u;for(i.global||(i=uc(i.source,Fs(me.exec(i))+"g")),i.lastIndex=0;c=i.exec(f);)var l=c.index;u=u.slice(0,l===Y?s:l)}}else if(t.indexOf(Sr(i),s)!=s){var h=u.lastIndexOf(i);h>-1&&(u=u.slice(0,h))}return u+r}function Nu(t){return t=Fs(t),t&&ne.test(t)?t.replace(te,Z):t}function Fu(t,e,n){return t=Fs(t),e=n?Y:e,e===Y&&(e=vn.test(t)?_n:_e),t.match(e)||[]}function Ru(t){var e=t?t.length:0,r=Si();return t=e?l(t,function(t){if("function"!=typeof t[1])throw new cc(K);return[r(t[0]),t[1]]}):[],Da(function(r){for(var i=-1;++i<e;){var o=t[i];if(n(o[0],this,r))return n(o[1],this,r)}})}function Du(t){return An(kn(t,!0))}function Bu(t){return function(){return t}}function Lu(t){return t}function Uu(t){return Qn("function"==typeof t?t:kn(t,!0))}function Pu(t){return ir(kn(t,!0))}function Mu(t,e){return or(t,kn(e,!0))}function Wu(t,e,n){var r=Gs(e),i=Pn(e,r);null!=n||us(e)&&(i.length||!r.length)||(n=e,e=t,t=this,i=Pn(e,Gs(e)));var a=!(us(n)&&"chain"in n&&!n.chain),s=os(t);return o(i,function(n){var r=e[n];t[n]=r,s&&(t.prototype[n]=function(){var e=this.__chain__;if(a||e){var n=t(this.__wrapped__),i=n.__actions__=Vr(this.__actions__);return i.push({func:r,args:arguments,thisArg:t}),n.__chain__=e,n}return r.apply(t,h([this.value()],arguments))})}),t}function Zu(){return Dn._===this&&(Dn._=mc),this}function qu(){}function Yu(t){return t=Os(t),Da(function(e){return ur(e,t)})}function Hu(t){return Zi(t)?hr(Qi(t)):dr(t)}function Gu(t){return function(e){return null==t?Y:Mn(t,e)}}function Ku(t,e){if(t=Os(t),1>t||t>vt)return[];var n=wt,r=Uc(t,wt);e=Si(e),t-=wt;for(var i=A(r,e);++n<t;)e(n);return i}function $u(t){return el(t)?l(t,Qi):ks(t)?[t]:Vr(yf(t))}function Vu(t){var e=++_c;return Fs(t)+e}function Xu(t){return t&&t.length?Tn(t,Lu,Zn):Y}function Ju(t,e){return t&&t.length?Tn(t,Si(e),Zn):Y}function Qu(t){return w(t,Lu)}function tc(t,e){return w(t,Si(e))}function ec(t){return t&&t.length?Tn(t,Lu,nr):Y}function nc(t,e){return t&&t.length?Tn(t,Si(e),nr):Y}function rc(t){return t&&t.length?k(t,Lu):0}function ic(t,e){return t&&t.length?k(t,Si(e)):0}z=z?Bn.defaults({},z,Bn.pick(Dn,mn)):Dn;var oc=z.Date,ac=z.Error,sc=z.Math,uc=z.RegExp,cc=z.TypeError,fc=z.Array.prototype,lc=z.Object.prototype,hc=z.String.prototype,dc=z.Function.prototype.toString,pc=lc.hasOwnProperty,_c=0,gc=dc.call(Object),vc=lc.toString,mc=Dn._,yc=uc("^"+dc.call(pc).replace(fe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),wc=jn?z.Buffer:Y,bc=z.Reflect,xc=z.Symbol,kc=z.Uint8Array,Ac=z.clearTimeout,Cc=bc?bc.enumerate:Y,Sc=Object.getOwnPropertySymbols,Ec="symbol"==typeof(Ec=xc&&xc.iterator)?Ec:Y,Ic=Object.create,Oc=lc.propertyIsEnumerable,zc=z.setTimeout,jc=fc.splice,Tc=sc.ceil,Nc=sc.floor,Fc=Object.getPrototypeOf,Rc=z.isFinite,Dc=fc.join,Bc=Object.keys,Lc=sc.max,Uc=sc.min,Pc=z.parseInt,Mc=sc.random,Wc=hc.replace,Zc=fc.reverse,qc=hc.split,Yc=Ii(z,"DataView"),Hc=Ii(z,"Map"),Gc=Ii(z,"Promise"),Kc=Ii(z,"Set"),$c=Ii(z,"WeakMap"),Vc=Ii(Object,"create"),Xc=$c&&new $c,Jc=!Oc.call({valueOf:1},"valueOf"),Qc={},tf=to(Yc),ef=to(Hc),nf=to(Gc),rf=to(Kc),of=to($c),af=xc?xc.prototype:Y,sf=af?af.valueOf:Y,uf=af?af.toString:Y;Ie.templateSettings={escape:ie,evaluate:oe,interpolate:ae,variable:"",imports:{_:Ie}},Ie.prototype=Oe.prototype,Ie.prototype.constructor=Ie,ze.prototype=Cn(Oe.prototype),ze.prototype.constructor=ze,je.prototype=Cn(Oe.prototype),je.prototype.constructor=je,Re.prototype=Vc?Vc(null):lc,Pe.prototype.clear=Me,Pe.prototype["delete"]=We,Pe.prototype.get=Ze,Pe.prototype.has=qe,Pe.prototype.set=Ye,He.prototype.push=Ke,$e.prototype.clear=Ve,$e.prototype["delete"]=Xe,$e.prototype.get=Je,$e.prototype.has=Qe,$e.prototype.set=tn;var cf=ei(Ln),ff=ei(Un,!0),lf=ni(),hf=ni(!0);Cc&&!Oc.call({valueOf:1},"valueOf")&&(er=function(t){return B(Cc(t))});var df=Xc?function(t,e){return Xc.set(t,e),t}:Lu,pf=Kc&&1/P(new Kc([,-0]))[1]==gt?function(t){return new Kc(t)}:qu,_f=Xc?function(t){return Xc.get(t)}:qu,gf=hr("length");Sc||(ji=function(){return[]});var vf=Sc?function(t){for(var e=[];t;)h(e,ji(t)),t=zi(t);return e}:ji;(Yc&&Ti(new Yc(new ArrayBuffer(1)))!=Mt||Hc&&Ti(new Hc)!=zt||Gc&&Ti(Gc.resolve())!=Nt||Kc&&Ti(new Kc)!=Rt||$c&&Ti(new $c)!=Lt)&&(Ti=function(t){var e=vc.call(t),n=e==Tt?t.constructor:Y,r=n?to(n):Y;if(r)switch(r){case tf:return Mt;case ef:return zt;case nf:return Nt;case rf:return Rt;case of:return Lt}return e});var mf=function(){var t=0,e=0;return function(n,r){var i=qf(),o=ht-(i-e);if(e=i,o>0){if(++t>=lt)return n}else t=0;return df(n,r)}}(),yf=Na(function(t){var e=[];return Fs(t).replace(ce,function(t,n,r,i){e.push(r?i.replace(ge,"$1"):n||t)}),e}),wf=Da(function(t,e){return Va(t)?On(t,Rn(e,1,Va,!0)):[]}),bf=Da(function(t,e){var n=bo(e);return Va(n)&&(n=Y),Va(t)?On(t,Rn(e,1,Va,!0),Si(n)):[]}),xf=Da(function(t,e){var n=bo(e);return Va(n)&&(n=Y),Va(t)?On(t,Rn(e,1,Va,!0),Y,n):[]}),kf=Da(function(t){var e=l(t,Fr);return e.length&&e[0]===t[0]?Gn(e):[]}),Af=Da(function(t){var e=bo(t),n=l(t,Fr);return e===bo(n)?e=Y:n.pop(),n.length&&n[0]===t[0]?Gn(n,Si(e)):[];
+}),Cf=Da(function(t){var e=bo(t),n=l(t,Fr);return e===bo(n)?e=Y:n.pop(),n.length&&n[0]===t[0]?Gn(n,Y,e):[]}),Sf=Da(Ao),Ef=Da(function(t,e){e=Rn(e,1);var n=t?t.length:0,r=pn(t,e);return _r(t,l(e,function(t){return Mi(t,n)?+t:t}).sort(Hr)),r}),If=Da(function(t){return Er(Rn(t,1,Va,!0))}),Of=Da(function(t){var e=bo(t);return Va(e)&&(e=Y),Er(Rn(t,1,Va,!0),Si(e))}),zf=Da(function(t){var e=bo(t);return Va(e)&&(e=Y),Er(Rn(t,1,Va,!0),Y,e)}),jf=Da(function(t,e){return Va(t)?On(t,e):[]}),Tf=Da(function(t){return Tr(u(t,Va))}),Nf=Da(function(t){var e=bo(t);return Va(e)&&(e=Y),Tr(u(t,Va),Si(e))}),Ff=Da(function(t){var e=bo(t);return Va(e)&&(e=Y),Tr(u(t,Va),Y,e)}),Rf=Da(Ho),Df=Da(function(t){var e=t.length,n=e>1?t[e-1]:Y;return n="function"==typeof n?(t.pop(),n):Y,Go(t,n)}),Bf=Da(function(t){t=Rn(t,1);var e=t.length,n=e?t[0]:0,r=this.__wrapped__,i=function(e){return pn(e,t)};return!(e>1||this.__actions__.length)&&r instanceof je&&Mi(n)?(r=r.slice(n,+n+(e?1:0)),r.__actions__.push({func:Jo,args:[i],thisArg:Y}),new ze(r,this.__chain__).thru(function(t){return e&&!t.length&&t.push(Y),t})):this.thru(i)}),Lf=Qr(function(t,e,n){pc.call(t,n)?++t[n]:t[n]=1}),Uf=Qr(function(t,e,n){pc.call(t,n)?t[n].push(e):t[n]=[e]}),Pf=Da(function(t,e,r){var i=-1,o="function"==typeof e,a=Zi(e),s=$a(t)?Array(t.length):[];return cf(t,function(t){var u=o?e:a&&null!=t?t[e]:Y;s[++i]=u?n(u,t,r):$n(t,e,r)}),s}),Mf=Qr(function(t,e,n){t[n]=e}),Wf=Qr(function(t,e,n){t[n?0:1].push(e)},function(){return[[],[]]}),Zf=Da(function(t,e){if(null==t)return[];var n=e.length;return n>1&&Wi(t,e[0],e[1])?e=[]:n>2&&Wi(e[0],e[1],e[2])&&(e=[e[0]]),e=1==e.length&&el(e[0])?e[0]:Rn(e,1,Pi),cr(t,e,[])}),qf=oc.now,Yf=Da(function(t,e,n){var r=X;if(n.length){var i=U(n,Oi(Yf));r|=nt}return yi(t,r,e,n,i)}),Hf=Da(function(t,e,n){var r=X|J;if(n.length){var i=U(n,Oi(Hf));r|=nt}return yi(e,r,t,n,i)}),Gf=Da(function(t,e){return Sn(t,1,e)}),Kf=Da(function(t,e,n){return Sn(t,js(e)||0,n)});Na.Cache=Pe;var $f=Da(function(t,e){e=1==e.length&&el(e[0])?l(e[0],S(Si())):l(Rn(e,1,Pi),S(Si()));var r=e.length;return Da(function(i){for(var o=-1,a=Uc(i.length,r);++o<a;)i[o]=e[o].call(this,i[o]);return n(t,this,i)})}),Vf=Da(function(t,e){var n=U(e,Oi(Vf));return yi(t,nt,Y,e,n)}),Xf=Da(function(t,e){var n=U(e,Oi(Xf));return yi(t,rt,Y,e,n)}),Jf=Da(function(t,e){return yi(t,ot,Y,Y,Y,Rn(e,1))}),Qf=gi(Zn),tl=gi(function(t,e){return t>=e}),el=Array.isArray,nl=wc?function(t){return t instanceof wc}:Bu(!1),rl=gi(nr),il=gi(function(t,e){return e>=t}),ol=ti(function(t,e){if(Jc||Hi(e)||$a(e))return void Xr(e,Gs(e),t);for(var n in e)pc.call(e,n)&&cn(t,n,e[n])}),al=ti(function(t,e){if(Jc||Hi(e)||$a(e))return void Xr(e,Ks(e),t);for(var n in e)cn(t,n,e[n])}),sl=ti(function(t,e,n,r){Xr(e,Ks(e),t,r)}),ul=ti(function(t,e,n,r){Xr(e,Gs(e),t,r)}),cl=Da(function(t,e){return pn(t,Rn(e,1))}),fl=Da(function(t){return t.push(Y,sn),n(sl,Y,t)}),ll=Da(function(t){return t.push(Y,Vi),n(gl,Y,t)}),hl=fi(function(t,e,n){t[e]=n},Bu(Lu)),dl=fi(function(t,e,n){pc.call(t,e)?t[e].push(n):t[e]=[n]},Si),pl=Da($n),_l=ti(function(t,e,n){ar(t,e,n)}),gl=ti(function(t,e,n,r){ar(t,e,n,r)}),vl=Da(function(t,e){return null==t?{}:(e=l(Rn(e,1),Qi),fr(t,On(Ai(t),e)))}),ml=Da(function(t,e){return null==t?{}:fr(t,l(Rn(e,1),Qi))}),yl=oi(function(t,e,n){return e=e.toLowerCase(),t+(n?du(e):e)}),wl=oi(function(t,e,n){return t+(n?"-":"")+e.toLowerCase()}),bl=oi(function(t,e,n){return t+(n?" ":"")+e.toLowerCase()}),xl=ii("toLowerCase"),kl=oi(function(t,e,n){return t+(n?"_":"")+e.toLowerCase()}),Al=oi(function(t,e,n){return t+(n?" ":"")+Sl(e)}),Cl=oi(function(t,e,n){return t+(n?" ":"")+e.toUpperCase()}),Sl=ii("toUpperCase"),El=Da(function(t,e){try{return n(t,Y,e)}catch(r){return rs(r)?r:new ac(r)}}),Il=Da(function(t,e){return o(Rn(e,1),function(e){e=Qi(e),t[e]=Yf(t[e],t)}),t}),Ol=ui(),zl=ui(!0),jl=Da(function(t,e){return function(n){return $n(n,t,e)}}),Tl=Da(function(t,e){return function(n){return $n(t,n,e)}}),Nl=hi(l),Fl=hi(s),Rl=hi(_),Dl=_i(),Bl=_i(!0),Ll=li(function(t,e){return t+e}),Ul=mi("ceil"),Pl=li(function(t,e){return t/e}),Ml=mi("floor"),Wl=li(function(t,e){return t*e}),Zl=mi("round"),ql=li(function(t,e){return t-e});return Ie.after=Sa,Ie.ary=Ea,Ie.assign=ol,Ie.assignIn=al,Ie.assignInWith=sl,Ie.assignWith=ul,Ie.at=cl,Ie.before=Ia,Ie.bind=Yf,Ie.bindAll=Il,Ie.bindKey=Hf,Ie.castArray=Ma,Ie.chain=Vo,Ie.chunk=no,Ie.compact=ro,Ie.concat=io,Ie.cond=Ru,Ie.conforms=Du,Ie.constant=Bu,Ie.countBy=Lf,Ie.create=Rs,Ie.curry=Oa,Ie.curryRight=za,Ie.debounce=ja,Ie.defaults=fl,Ie.defaultsDeep=ll,Ie.defer=Gf,Ie.delay=Kf,Ie.difference=wf,Ie.differenceBy=bf,Ie.differenceWith=xf,Ie.drop=oo,Ie.dropRight=ao,Ie.dropRightWhile=so,Ie.dropWhile=uo,Ie.fill=co,Ie.filter=sa,Ie.flatMap=fa,Ie.flatMapDeep=la,Ie.flatMapDepth=ha,Ie.flatten=ho,Ie.flattenDeep=po,Ie.flattenDepth=_o,Ie.flip=Ta,Ie.flow=Ol,Ie.flowRight=zl,Ie.fromPairs=go,Ie.functions=Ws,Ie.functionsIn=Zs,Ie.groupBy=Uf,Ie.initial=yo,Ie.intersection=kf,Ie.intersectionBy=Af,Ie.intersectionWith=Cf,Ie.invert=hl,Ie.invertBy=dl,Ie.invokeMap=Pf,Ie.iteratee=Uu,Ie.keyBy=Mf,Ie.keys=Gs,Ie.keysIn=Ks,Ie.map=ga,Ie.mapKeys=$s,Ie.mapValues=Vs,Ie.matches=Pu,Ie.matchesProperty=Mu,Ie.memoize=Na,Ie.merge=_l,Ie.mergeWith=gl,Ie.method=jl,Ie.methodOf=Tl,Ie.mixin=Wu,Ie.negate=Fa,Ie.nthArg=Yu,Ie.omit=vl,Ie.omitBy=Xs,Ie.once=Ra,Ie.orderBy=va,Ie.over=Nl,Ie.overArgs=$f,Ie.overEvery=Fl,Ie.overSome=Rl,Ie.partial=Vf,Ie.partialRight=Xf,Ie.partition=Wf,Ie.pick=ml,Ie.pickBy=Js,Ie.property=Hu,Ie.propertyOf=Gu,Ie.pull=Sf,Ie.pullAll=Ao,Ie.pullAllBy=Co,Ie.pullAllWith=So,Ie.pullAt=Ef,Ie.range=Dl,Ie.rangeRight=Bl,Ie.rearg=Jf,Ie.reject=wa,Ie.remove=Eo,Ie.rest=Da,Ie.reverse=Io,Ie.sampleSize=xa,Ie.set=tu,Ie.setWith=eu,Ie.shuffle=ka,Ie.slice=Oo,Ie.sortBy=Zf,Ie.sortedUniq=Do,Ie.sortedUniqBy=Bo,Ie.split=Au,Ie.spread=Ba,Ie.tail=Lo,Ie.take=Uo,Ie.takeRight=Po,Ie.takeRightWhile=Mo,Ie.takeWhile=Wo,Ie.tap=Xo,Ie.throttle=La,Ie.thru=Jo,Ie.toArray=Is,Ie.toPairs=nu,Ie.toPairsIn=ru,Ie.toPath=$u,Ie.toPlainObject=Ts,Ie.transform=iu,Ie.unary=Ua,Ie.union=If,Ie.unionBy=Of,Ie.unionWith=zf,Ie.uniq=Zo,Ie.uniqBy=qo,Ie.uniqWith=Yo,Ie.unset=ou,Ie.unzip=Ho,Ie.unzipWith=Go,Ie.update=au,Ie.updateWith=su,Ie.values=uu,Ie.valuesIn=cu,Ie.without=jf,Ie.words=Fu,Ie.wrap=Pa,Ie.xor=Tf,Ie.xorBy=Nf,Ie.xorWith=Ff,Ie.zip=Rf,Ie.zipObject=Ko,Ie.zipObjectDeep=$o,Ie.zipWith=Df,Ie.entries=nu,Ie.entriesIn=ru,Ie.extend=al,Ie.extendWith=sl,Wu(Ie,Ie),Ie.add=Ll,Ie.attempt=El,Ie.camelCase=yl,Ie.capitalize=du,Ie.ceil=Ul,Ie.clamp=fu,Ie.clone=Wa,Ie.cloneDeep=qa,Ie.cloneDeepWith=Ya,Ie.cloneWith=Za,Ie.deburr=pu,Ie.divide=Pl,Ie.endsWith=_u,Ie.eq=Ha,Ie.escape=gu,Ie.escapeRegExp=vu,Ie.every=aa,Ie.find=ua,Ie.findIndex=fo,Ie.findKey=Ds,Ie.findLast=ca,Ie.findLastIndex=lo,Ie.findLastKey=Bs,Ie.floor=Ml,Ie.forEach=da,Ie.forEachRight=pa,Ie.forIn=Ls,Ie.forInRight=Us,Ie.forOwn=Ps,Ie.forOwnRight=Ms,Ie.get=qs,Ie.gt=Qf,Ie.gte=tl,Ie.has=Ys,Ie.hasIn=Hs,Ie.head=vo,Ie.identity=Lu,Ie.includes=_a,Ie.indexOf=mo,Ie.inRange=lu,Ie.invoke=pl,Ie.isArguments=Ga,Ie.isArray=el,Ie.isArrayBuffer=Ka,Ie.isArrayLike=$a,Ie.isArrayLikeObject=Va,Ie.isBoolean=Xa,Ie.isBuffer=nl,Ie.isDate=Ja,Ie.isElement=Qa,Ie.isEmpty=ts,Ie.isEqual=es,Ie.isEqualWith=ns,Ie.isError=rs,Ie.isFinite=is,Ie.isFunction=os,Ie.isInteger=as,Ie.isLength=ss,Ie.isMap=fs,Ie.isMatch=ls,Ie.isMatchWith=hs,Ie.isNaN=ds,Ie.isNative=ps,Ie.isNil=gs,Ie.isNull=_s,Ie.isNumber=vs,Ie.isObject=us,Ie.isObjectLike=cs,Ie.isPlainObject=ms,Ie.isRegExp=ys,Ie.isSafeInteger=ws,Ie.isSet=bs,Ie.isString=xs,Ie.isSymbol=ks,Ie.isTypedArray=As,Ie.isUndefined=Cs,Ie.isWeakMap=Ss,Ie.isWeakSet=Es,Ie.join=wo,Ie.kebabCase=wl,Ie.last=bo,Ie.lastIndexOf=xo,Ie.lowerCase=bl,Ie.lowerFirst=xl,Ie.lt=rl,Ie.lte=il,Ie.max=Xu,Ie.maxBy=Ju,Ie.mean=Qu,Ie.meanBy=tc,Ie.min=ec,Ie.minBy=nc,Ie.multiply=Wl,Ie.nth=ko,Ie.noConflict=Zu,Ie.noop=qu,Ie.now=qf,Ie.pad=mu,Ie.padEnd=yu,Ie.padStart=wu,Ie.parseInt=bu,Ie.random=hu,Ie.reduce=ma,Ie.reduceRight=ya,Ie.repeat=xu,Ie.replace=ku,Ie.result=Qs,Ie.round=Zl,Ie.runInContext=q,Ie.sample=ba,Ie.size=Aa,Ie.snakeCase=kl,Ie.some=Ca,Ie.sortedIndex=zo,Ie.sortedIndexBy=jo,Ie.sortedIndexOf=To,Ie.sortedLastIndex=No,Ie.sortedLastIndexBy=Fo,Ie.sortedLastIndexOf=Ro,Ie.startCase=Al,Ie.startsWith=Cu,Ie.subtract=ql,Ie.sum=rc,Ie.sumBy=ic,Ie.template=Su,Ie.times=Ku,Ie.toInteger=Os,Ie.toLength=zs,Ie.toLower=Eu,Ie.toNumber=js,Ie.toSafeInteger=Ns,Ie.toString=Fs,Ie.toUpper=Iu,Ie.trim=Ou,Ie.trimEnd=zu,Ie.trimStart=ju,Ie.truncate=Tu,Ie.unescape=Nu,Ie.uniqueId=Vu,Ie.upperCase=Cl,Ie.upperFirst=Sl,Ie.each=da,Ie.eachRight=pa,Ie.first=vo,Wu(Ie,function(){var t={};return Ln(Ie,function(e,n){pc.call(Ie.prototype,n)||(t[n]=e)}),t}(),{chain:!1}),Ie.VERSION=H,o(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){Ie[t].placeholder=Ie}),o(["drop","take"],function(t,e){je.prototype[t]=function(n){var r=this.__filtered__;if(r&&!e)return new je(this);n=n===Y?1:Lc(Os(n),0);var i=this.clone();return r?i.__takeCount__=Uc(n,i.__takeCount__):i.__views__.push({size:Uc(n,wt),type:t+(i.__dir__<0?"Right":"")}),i},je.prototype[t+"Right"]=function(e){return this.reverse()[t](e).reverse()}}),o(["filter","map","takeWhile"],function(t,e){var n=e+1,r=n==dt||n==_t;je.prototype[t]=function(t){var e=this.clone();return e.__iteratees__.push({iteratee:Si(t,3),type:n}),e.__filtered__=e.__filtered__||r,e}}),o(["head","last"],function(t,e){var n="take"+(e?"Right":"");je.prototype[t]=function(){return this[n](1).value()[0]}}),o(["initial","tail"],function(t,e){var n="drop"+(e?"":"Right");je.prototype[t]=function(){return this.__filtered__?new je(this):this[n](1)}}),je.prototype.compact=function(){return this.filter(Lu)},je.prototype.find=function(t){return this.filter(t).head()},je.prototype.findLast=function(t){return this.reverse().find(t)},je.prototype.invokeMap=Da(function(t,e){return"function"==typeof t?new je(this):this.map(function(n){return $n(n,t,e)})}),je.prototype.reject=function(t){return t=Si(t,3),this.filter(function(e){return!t(e)})},je.prototype.slice=function(t,e){t=Os(t);var n=this;return n.__filtered__&&(t>0||0>e)?new je(n):(0>t?n=n.takeRight(-t):t&&(n=n.drop(t)),e!==Y&&(e=Os(e),n=0>e?n.dropRight(-e):n.take(e-t)),n)},je.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},je.prototype.toArray=function(){return this.take(wt)},Ln(je.prototype,function(t,e){var n=/^(?:filter|find|map|reject)|While$/.test(e),r=/^(?:head|last)$/.test(e),i=Ie[r?"take"+("last"==e?"Right":""):e],o=r||/^find/.test(e);i&&(Ie.prototype[e]=function(){var e=this.__wrapped__,a=r?[1]:arguments,s=e instanceof je,u=a[0],c=s||el(e),f=function(t){var e=i.apply(Ie,h([t],a));return r&&l?e[0]:e};c&&n&&"function"==typeof u&&1!=u.length&&(s=c=!1);var l=this.__chain__,d=!!this.__actions__.length,p=o&&!l,_=s&&!d;if(!o&&c){e=_?e:new je(this);var g=t.apply(e,a);return g.__actions__.push({func:Jo,args:[f],thisArg:Y}),new ze(g,l)}return p&&_?t.apply(this,a):(g=this.thru(f),p?r?g.value()[0]:g.value():g)})}),o(["pop","push","shift","sort","splice","unshift"],function(t){var e=fc[t],n=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",r=/^(?:pop|shift)$/.test(t);Ie.prototype[t]=function(){var t=arguments;if(r&&!this.__chain__){var i=this.value();return e.apply(el(i)?i:[],t)}return this[n](function(n){return e.apply(el(n)?n:[],t)})}}),Ln(je.prototype,function(t,e){var n=Ie[e];if(n){var r=n.name+"",i=Qc[r]||(Qc[r]=[]);i.push({name:e,func:n})}}),Qc[ci(Y,J).name]=[{name:"wrapper",func:Y}],je.prototype.clone=Te,je.prototype.reverse=Ne,je.prototype.value=Fe,Ie.prototype.at=Bf,Ie.prototype.chain=Qo,Ie.prototype.commit=ta,Ie.prototype.next=ea,Ie.prototype.plant=ra,Ie.prototype.reverse=ia,Ie.prototype.toJSON=Ie.prototype.valueOf=Ie.prototype.value=oa,Ec&&(Ie.prototype[Ec]=na),Ie}var Y,H="4.11.2",G=200,K="Expected a function",$="__lodash_hash_undefined__",V="__lodash_placeholder__",X=1,J=2,Q=4,tt=8,et=16,nt=32,rt=64,it=128,ot=256,at=512,st=1,ut=2,ct=30,ft="...",lt=150,ht=16,dt=1,pt=2,_t=3,gt=1/0,vt=9007199254740991,mt=1.7976931348623157e308,yt=NaN,wt=4294967295,bt=wt-1,xt=wt>>>1,kt="[object Arguments]",At="[object Array]",Ct="[object Boolean]",St="[object Date]",Et="[object Error]",It="[object Function]",Ot="[object GeneratorFunction]",zt="[object Map]",jt="[object Number]",Tt="[object Object]",Nt="[object Promise]",Ft="[object RegExp]",Rt="[object Set]",Dt="[object String]",Bt="[object Symbol]",Lt="[object WeakMap]",Ut="[object WeakSet]",Pt="[object ArrayBuffer]",Mt="[object DataView]",Wt="[object Float32Array]",Zt="[object Float64Array]",qt="[object Int8Array]",Yt="[object Int16Array]",Ht="[object Int32Array]",Gt="[object Uint8Array]",Kt="[object Uint8ClampedArray]",$t="[object Uint16Array]",Vt="[object Uint32Array]",Xt=/\b__p \+= '';/g,Jt=/\b(__p \+=) '' \+/g,Qt=/(__e\(.*?\)|\b__t\)) \+\n'';/g,te=/&(?:amp|lt|gt|quot|#39|#96);/g,ee=/[&<>"'`]/g,ne=RegExp(te.source),re=RegExp(ee.source),ie=/<%-([\s\S]+?)%>/g,oe=/<%([\s\S]+?)%>/g,ae=/<%=([\s\S]+?)%>/g,se=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ue=/^\w*$/,ce=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]/g,fe=/[\\^$.*+?()[\]{}|]/g,le=RegExp(fe.source),he=/^\s+|\s+$/g,de=/^\s+/,pe=/\s+$/,_e=/[a-zA-Z0-9]+/g,ge=/\\(\\)?/g,ve=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,me=/\w*$/,ye=/^0x/i,we=/^[-+]0x[0-9a-f]+$/i,be=/^0b[01]+$/i,xe=/^\[object .+?Constructor\]$/,ke=/^0o[0-7]+$/i,Ae=/^(?:0|[1-9]\d*)$/,Ce=/[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g,Se=/($^)/,Ee=/['\n\r\u2028\u2029\\]/g,Ie="\\ud800-\\udfff",Oe="\\u0300-\\u036f\\ufe20-\\ufe23",ze="\\u20d0-\\u20f0",je="\\u2700-\\u27bf",Te="a-z\\xdf-\\xf6\\xf8-\\xff",Ne="\\xac\\xb1\\xd7\\xf7",Fe="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Re="\\u2000-\\u206f",De=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Be="A-Z\\xc0-\\xd6\\xd8-\\xde",Le="\\ufe0e\\ufe0f",Ue=Ne+Fe+Re+De,Pe="['’]",Me="["+Ie+"]",We="["+Ue+"]",Ze="["+Oe+ze+"]",qe="\\d+",Ye="["+je+"]",He="["+Te+"]",Ge="[^"+Ie+Ue+qe+je+Te+Be+"]",Ke="\\ud83c[\\udffb-\\udfff]",$e="(?:"+Ze+"|"+Ke+")",Ve="[^"+Ie+"]",Xe="(?:\\ud83c[\\udde6-\\uddff]){2}",Je="[\\ud800-\\udbff][\\udc00-\\udfff]",Qe="["+Be+"]",tn="\\u200d",en="(?:"+He+"|"+Ge+")",nn="(?:"+Qe+"|"+Ge+")",rn="(?:"+Pe+"(?:d|ll|m|re|s|t|ve))?",on="(?:"+Pe+"(?:D|LL|M|RE|S|T|VE))?",an=$e+"?",sn="["+Le+"]?",un="(?:"+tn+"(?:"+[Ve,Xe,Je].join("|")+")"+sn+an+")*",cn=sn+an+un,fn="(?:"+[Ye,Xe,Je].join("|")+")"+cn,ln="(?:"+[Ve+Ze+"?",Ze,Xe,Je,Me].join("|")+")",hn=RegExp(Pe,"g"),dn=RegExp(Ze,"g"),pn=RegExp(Ke+"(?="+Ke+")|"+ln+cn,"g"),_n=RegExp([Qe+"?"+He+"+"+rn+"(?="+[We,Qe,"$"].join("|")+")",nn+"+"+on+"(?="+[We,Qe+en,"$"].join("|")+")",Qe+"?"+en+"+"+rn,Qe+"+"+on,qe,fn].join("|"),"g"),gn=RegExp("["+tn+Ie+Oe+ze+Le+"]"),vn=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,mn=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","Reflect","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],yn=-1,wn={};wn[Wt]=wn[Zt]=wn[qt]=wn[Yt]=wn[Ht]=wn[Gt]=wn[Kt]=wn[$t]=wn[Vt]=!0,wn[kt]=wn[At]=wn[Pt]=wn[Ct]=wn[Mt]=wn[St]=wn[Et]=wn[It]=wn[zt]=wn[jt]=wn[Tt]=wn[Ft]=wn[Rt]=wn[Dt]=wn[Lt]=!1;var bn={};bn[kt]=bn[At]=bn[Pt]=bn[Mt]=bn[Ct]=bn[St]=bn[Wt]=bn[Zt]=bn[qt]=bn[Yt]=bn[Ht]=bn[zt]=bn[jt]=bn[Tt]=bn[Ft]=bn[Rt]=bn[Dt]=bn[Bt]=bn[Gt]=bn[Kt]=bn[$t]=bn[Vt]=!0,bn[Et]=bn[It]=bn[Lt]=!1;var xn={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss"},kn={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","`":"&#96;"},An={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'","&#96;":"`"},Cn={"function":!0,object:!0},Sn={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},En=parseFloat,In=parseInt,On=Cn[typeof exports]&&exports&&!exports.nodeType?exports:Y,zn=Cn[typeof module]&&module&&!module.nodeType?module:Y,jn=zn&&zn.exports===On?On:Y,Tn=z(On&&zn&&"object"==typeof global&&global),Nn=z(Cn[typeof self]&&self),Fn=z(Cn[typeof window]&&window),Rn=z(Cn[typeof this]&&this),Dn=Tn||Fn!==(Rn&&Rn.window)&&Fn||Nn||Rn||Function("return this")(),Bn=q();(Fn||Nn||{})._=Bn,"function"==typeof define&&"object"==typeof define.amd&&define.amd?define(function(){return Bn}):On&&zn?(jn&&((zn.exports=Bn)._=Bn),On._=Bn):Dn._=Bn}.call(this),function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.graphlib=t()}}(function(){return function t(e,n,r){function i(a,s){if(!n[a]){if(!e[a]){var u="function"==typeof require&&require;if(!s&&u)return u(a,!0);if(o)return o(a,!0);var c=new Error("Cannot find module '"+a+"'");throw c.code="MODULE_NOT_FOUND",c}var f=n[a]={exports:{}};e[a][0].call(f.exports,function(t){var n=e[a][1][t];return i(n?n:t)},f,f.exports,t,e,n,r)}return n[a].exports}for(var o="function"==typeof require&&require,a=0;a<r.length;a++)i(r[a]);return i}({1:[function(t,e,n){var r=t("./lib");e.exports={Graph:r.Graph,json:t("./lib/json"),alg:t("./lib/alg"),version:r.version}},{"./lib":17,"./lib/alg":8,"./lib/json":18}],2:[function(t,e,n){function r(t){function e(o){i.has(r,o)||(r[o]=!0,n.push(o),i.each(t.successors(o),e),i.each(t.predecessors(o),e))}var n,r={},o=[];return i.each(t.nodes(),function(t){n=[],e(t),n.length&&o.push(n)}),o}var i=t("../lodash");e.exports=r},{"../lodash":19}],3:[function(t,e,n){function r(t,e,n){o.isArray(e)||(e=[e]);var r=(t.isDirected()?t.successors:t.neighbors).bind(t),a=[],s={};return o.each(e,function(e){if(!t.hasNode(e))throw new Error("Graph does not have node: "+e);i(t,e,"post"===n,s,r,a)}),a}function i(t,e,n,r,a,s){o.has(r,e)||(r[e]=!0,n||s.push(e),o.each(a(e),function(e){i(t,e,n,r,a,s)}),n&&s.push(e))}var o=t("../lodash");e.exports=r},{"../lodash":19}],4:[function(t,e,n){function r(t,e,n){return o.transform(t.nodes(),function(r,o){r[o]=i(t,o,e,n)},{})}var i=t("./dijkstra"),o=t("../lodash");e.exports=r},{"../lodash":19,"./dijkstra":5}],5:[function(t,e,n){function r(t,e,n,r){return i(t,String(e),n||s,r||function(e){return t.outEdges(e)})}function i(t,e,n,r){var i,o,s={},u=new a,c=function(t){var e=t.v!==i?t.v:t.w,r=s[e],a=n(t),c=o.distance+a;if(0>a)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+t+" Weight: "+a);c<r.distance&&(r.distance=c,r.predecessor=i,u.decrease(e,c))};for(t.nodes().forEach(function(t){var n=t===e?0:Number.POSITIVE_INFINITY;s[t]={distance:n},u.add(t,n)});u.size()>0&&(i=u.removeMin(),o=s[i],o.distance!==Number.POSITIVE_INFINITY);)r(i).forEach(c);return s}var o=t("../lodash"),a=t("../data/priority-queue");e.exports=r;var s=o.constant(1)},{"../data/priority-queue":15,"../lodash":19}],6:[function(t,e,n){function r(t){return i.filter(o(t),function(e){return e.length>1||1===e.length&&t.hasEdge(e[0],e[0])})}var i=t("../lodash"),o=t("./tarjan");e.exports=r},{"../lodash":19,"./tarjan":13}],7:[function(t,e,n){function r(t,e,n){return i(t,e||a,n||function(e){return t.outEdges(e)})}function i(t,e,n){var r={},i=t.nodes();return i.forEach(function(t){r[t]={},r[t][t]={distance:0},i.forEach(function(e){t!==e&&(r[t][e]={distance:Number.POSITIVE_INFINITY})}),n(t).forEach(function(n){var i=n.v===t?n.w:n.v,o=e(n);r[t][i]={distance:o,predecessor:t}})}),i.forEach(function(t){var e=r[t];i.forEach(function(n){var o=r[n];i.forEach(function(n){var r=o[t],i=e[n],a=o[n],s=r.distance+i.distance;s<a.distance&&(a.distance=s,a.predecessor=i.predecessor)})})}),r}var o=t("../lodash");e.exports=r;var a=o.constant(1)},{"../lodash":19}],8:[function(t,e,n){e.exports={components:t("./components"),dijkstra:t("./dijkstra"),dijkstraAll:t("./dijkstra-all"),findCycles:t("./find-cycles"),floydWarshall:t("./floyd-warshall"),isAcyclic:t("./is-acyclic"),postorder:t("./postorder"),preorder:t("./preorder"),prim:t("./prim"),tarjan:t("./tarjan"),topsort:t("./topsort")}},{"./components":2,"./dijkstra":5,"./dijkstra-all":4,"./find-cycles":6,"./floyd-warshall":7,"./is-acyclic":9,"./postorder":10,"./preorder":11,"./prim":12,"./tarjan":13,"./topsort":14}],9:[function(t,e,n){function r(t){try{i(t)}catch(e){if(e instanceof i.CycleException)return!1;throw e}return!0}var i=t("./topsort");e.exports=r},{"./topsort":14}],10:[function(t,e,n){function r(t,e){return i(t,e,"post")}var i=t("./dfs");e.exports=r},{"./dfs":3}],11:[function(t,e,n){function r(t,e){return i(t,e,"pre")}var i=t("./dfs");e.exports=r},{"./dfs":3}],12:[function(t,e,n){function r(t,e){function n(t){var n=t.v===r?t.w:t.v,i=c.priority(n);if(void 0!==i){var o=e(t);i>o&&(u[n]=r,c.decrease(n,o))}}var r,s=new o,u={},c=new a;if(0===t.nodeCount())return s;i.each(t.nodes(),function(t){c.add(t,Number.POSITIVE_INFINITY),s.setNode(t)}),c.decrease(t.nodes()[0],0);for(var f=!1;c.size()>0;){if(r=c.removeMin(),i.has(u,r))s.setEdge(r,u[r]);else{if(f)throw new Error("Input graph is not connected: "+t);f=!0}t.nodeEdges(r).forEach(n)}return s}var i=t("../lodash"),o=t("../graph"),a=t("../data/priority-queue");e.exports=r},{"../data/priority-queue":15,"../graph":16,"../lodash":19}],13:[function(t,e,n){function r(t){function e(s){var u=o[s]={onStack:!0,lowlink:n,index:n++};if(r.push(s),t.successors(s).forEach(function(t){i.has(o,t)?o[t].onStack&&(u.lowlink=Math.min(u.lowlink,o[t].index)):(e(t),u.lowlink=Math.min(u.lowlink,o[t].lowlink))}),u.lowlink===u.index){var c,f=[];do c=r.pop(),o[c].onStack=!1,f.push(c);while(s!==c);a.push(f)}}var n=0,r=[],o={},a=[];return t.nodes().forEach(function(t){i.has(o,t)||e(t)}),a}var i=t("../lodash");e.exports=r},{"../lodash":19}],14:[function(t,e,n){function r(t){function e(s){if(o.has(r,s))throw new i;o.has(n,s)||(r[s]=!0,n[s]=!0,o.each(t.predecessors(s),e),delete r[s],a.push(s))}var n={},r={},a=[];if(o.each(t.sinks(),e),o.size(n)!==t.nodeCount())throw new i;return a}function i(){}var o=t("../lodash");e.exports=r,r.CycleException=i},{"../lodash":19}],15:[function(t,e,n){function r(){this._arr=[],this._keyIndices={}}var i=t("../lodash");e.exports=r,r.prototype.size=function(){return this._arr.length},r.prototype.keys=function(){return this._arr.map(function(t){return t.key})},r.prototype.has=function(t){return i.has(this._keyIndices,t)},r.prototype.priority=function(t){var e=this._keyIndices[t];return void 0!==e?this._arr[e].priority:void 0},r.prototype.min=function(){if(0===this.size())throw new Error("Queue underflow");return this._arr[0].key},r.prototype.add=function(t,e){var n=this._keyIndices;if(t=String(t),!i.has(n,t)){var r=this._arr,o=r.length;return n[t]=o,r.push({key:t,priority:e}),this._decrease(o),!0}return!1},r.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var t=this._arr.pop();return delete this._keyIndices[t.key],this._heapify(0),t.key},r.prototype.decrease=function(t,e){var n=this._keyIndices[t];if(e>this._arr[n].priority)throw new Error("New priority is greater than current priority. Key: "+t+" Old: "+this._arr[n].priority+" New: "+e);this._arr[n].priority=e,this._decrease(n)},r.prototype._heapify=function(t){var e=this._arr,n=2*t,r=n+1,i=t;n<e.length&&(i=e[n].priority<e[i].priority?n:i,r<e.length&&(i=e[r].priority<e[i].priority?r:i),i!==t&&(this._swap(t,i),this._heapify(i)))},r.prototype._decrease=function(t){for(var e,n=this._arr,r=n[t].priority;0!==t&&(e=t>>1,!(n[e].priority<r));)this._swap(t,e),t=e},r.prototype._swap=function(t,e){var n=this._arr,r=this._keyIndices,i=n[t],o=n[e];n[t]=o,n[e]=i,r[o.key]=t,r[i.key]=e}},{"../lodash":19}],16:[function(t,e,n){"use strict";function r(t){this._isDirected=c.has(t,"directed")?t.directed:!0,this._isMultigraph=c.has(t,"multigraph")?t.multigraph:!1,this._isCompound=c.has(t,"compound")?t.compound:!1,this._label=void 0,this._defaultNodeLabelFn=c.constant(void 0),this._defaultEdgeLabelFn=c.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[l]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}function i(t,e){t[e]?t[e]++:t[e]=1}function o(t,e){--t[e]||delete t[e]}function a(t,e,n,r){var i=""+e,o=""+n;if(!t&&i>o){var a=i;i=o,o=a}return i+h+o+h+(c.isUndefined(r)?f:r)}function s(t,e,n,r){var i=""+e,o=""+n;if(!t&&i>o){var a=i;i=o,o=a}var s={v:i,w:o};return r&&(s.name=r),s}function u(t,e){return a(t,e.v,e.w,e.name)}var c=t("./lodash");e.exports=r;var f="\x00",l="\x00",h="";r.prototype._nodeCount=0,r.prototype._edgeCount=0,r.prototype.isDirected=function(){return this._isDirected},r.prototype.isMultigraph=function(){return this._isMultigraph},r.prototype.isCompound=function(){return this._isCompound},r.prototype.setGraph=function(t){return this._label=t,this},r.prototype.graph=function(){return this._label},r.prototype.setDefaultNodeLabel=function(t){return c.isFunction(t)||(t=c.constant(t)),this._defaultNodeLabelFn=t,this},r.prototype.nodeCount=function(){return this._nodeCount},r.prototype.nodes=function(){return c.keys(this._nodes)},r.prototype.sources=function(){return c.filter(this.nodes(),function(t){return c.isEmpty(this._in[t])},this)},r.prototype.sinks=function(){return c.filter(this.nodes(),function(t){return c.isEmpty(this._out[t])},this)},r.prototype.setNodes=function(t,e){var n=arguments;return c.each(t,function(t){n.length>1?this.setNode(t,e):this.setNode(t)},this),this},r.prototype.setNode=function(t,e){return c.has(this._nodes,t)?(arguments.length>1&&(this._nodes[t]=e),this):(this._nodes[t]=arguments.length>1?e:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]=l,this._children[t]={},this._children[l][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)},r.prototype.node=function(t){return this._nodes[t]},r.prototype.hasNode=function(t){return c.has(this._nodes,t)},r.prototype.removeNode=function(t){var e=this;if(c.has(this._nodes,t)){var n=function(t){e.removeEdge(e._edgeObjs[t])};delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],c.each(this.children(t),function(t){this.setParent(t)},this),delete this._children[t]),c.each(c.keys(this._in[t]),n),delete this._in[t],delete this._preds[t],c.each(c.keys(this._out[t]),n),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this},r.prototype.setParent=function(t,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(c.isUndefined(e))e=l;else{e+="";for(var n=e;!c.isUndefined(n);n=this.parent(n))if(n===t)throw new Error("Setting "+e+" as parent of "+t+" would create create a cycle");this.setNode(e)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=e,this._children[e][t]=!0,this},r.prototype._removeFromParentsChildList=function(t){delete this._children[this._parent[t]][t]},r.prototype.parent=function(t){if(this._isCompound){var e=this._parent[t];if(e!==l)return e}},r.prototype.children=function(t){if(c.isUndefined(t)&&(t=l),this._isCompound){var e=this._children[t];if(e)return c.keys(e)}else{if(t===l)return this.nodes();if(this.hasNode(t))return[]}},r.prototype.predecessors=function(t){var e=this._preds[t];return e?c.keys(e):void 0},r.prototype.successors=function(t){var e=this._sucs[t];return e?c.keys(e):void 0},r.prototype.neighbors=function(t){var e=this.predecessors(t);return e?c.union(e,this.successors(t)):void 0},r.prototype.filterNodes=function(t){function e(t){var o=r.parent(t);return void 0===o||n.hasNode(o)?(i[t]=o,o):o in i?i[o]:e(o)}var n=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});n.setGraph(this.graph()),c.each(this._nodes,function(e,r){t(r)&&n.setNode(r,e)},this),c.each(this._edgeObjs,function(t){n.hasNode(t.v)&&n.hasNode(t.w)&&n.setEdge(t,this.edge(t))},this);var r=this,i={};return this._isCompound&&c.each(n.nodes(),function(t){n.setParent(t,e(t))}),n},r.prototype.setDefaultEdgeLabel=function(t){return c.isFunction(t)||(t=c.constant(t)),this._defaultEdgeLabelFn=t,this},r.prototype.edgeCount=function(){return this._edgeCount},r.prototype.edges=function(){return c.values(this._edgeObjs)},r.prototype.setPath=function(t,e){var n=this,r=arguments;return c.reduce(t,function(t,i){return r.length>1?n.setEdge(t,i,e):n.setEdge(t,i),i}),this},r.prototype.setEdge=function(){var t,e,n,r,o=!1,u=arguments[0];"object"==typeof u&&null!==u&&"v"in u?(t=u.v,e=u.w,n=u.name,2===arguments.length&&(r=arguments[1],o=!0)):(t=u,e=arguments[1],n=arguments[3],arguments.length>2&&(r=arguments[2],o=!0)),t=""+t,e=""+e,c.isUndefined(n)||(n=""+n);var f=a(this._isDirected,t,e,n);if(c.has(this._edgeLabels,f))return o&&(this._edgeLabels[f]=r),this;if(!c.isUndefined(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(e),this._edgeLabels[f]=o?r:this._defaultEdgeLabelFn(t,e,n);var l=s(this._isDirected,t,e,n);return t=l.v,e=l.w,Object.freeze(l),this._edgeObjs[f]=l,i(this._preds[e],t),i(this._sucs[t],e),this._in[e][f]=l,this._out[t][f]=l,this._edgeCount++,this},r.prototype.edge=function(t,e,n){var r=1===arguments.length?u(this._isDirected,arguments[0]):a(this._isDirected,t,e,n);return this._edgeLabels[r]},r.prototype.hasEdge=function(t,e,n){var r=1===arguments.length?u(this._isDirected,arguments[0]):a(this._isDirected,t,e,n);return c.has(this._edgeLabels,r)},r.prototype.removeEdge=function(t,e,n){var r=1===arguments.length?u(this._isDirected,arguments[0]):a(this._isDirected,t,e,n),i=this._edgeObjs[r];return i&&(t=i.v,e=i.w,delete this._edgeLabels[r],delete this._edgeObjs[r],o(this._preds[e],t),o(this._sucs[t],e),delete this._in[e][r],delete this._out[t][r],this._edgeCount--),this},r.prototype.inEdges=function(t,e){var n=this._in[t];if(n){var r=c.values(n);return e?c.filter(r,function(t){return t.v===e}):r}},r.prototype.outEdges=function(t,e){var n=this._out[t];if(n){var r=c.values(n);return e?c.filter(r,function(t){return t.w===e}):r}},r.prototype.nodeEdges=function(t,e){var n=this.inEdges(t,e);return n?n.concat(this.outEdges(t,e)):void 0}},{"./lodash":19}],17:[function(t,e,n){e.exports={Graph:t("./graph"),version:t("./version")}},{"./graph":16,"./version":20}],18:[function(t,e,n){function r(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:i(t),edges:o(t)};return s.isUndefined(t.graph())||(e.value=s.clone(t.graph())),e}function i(t){return s.map(t.nodes(),function(e){var n=t.node(e),r=t.parent(e),i={v:e};return s.isUndefined(n)||(i.value=n),s.isUndefined(r)||(i.parent=r),i})}function o(t){return s.map(t.edges(),function(e){var n=t.edge(e),r={v:e.v,w:e.w};return s.isUndefined(e.name)||(r.name=e.name),s.isUndefined(n)||(r.value=n),r})}function a(t){var e=new u(t.options).setGraph(t.value);return s.each(t.nodes,function(t){e.setNode(t.v,t.value),t.parent&&e.setParent(t.v,t.parent)}),s.each(t.edges,function(t){e.setEdge({v:t.v,w:t.w,name:t.name},t.value)}),e}var s=t("./lodash"),u=t("./graph");e.exports={write:r,read:a}},{"./graph":16,"./lodash":19}],19:[function(t,e,n){var r;if("function"==typeof t)try{r=t("lodash")}catch(i){}r||(r=window._),e.exports=r},{lodash:void 0}],20:[function(t,e,n){e.exports="2.1.0"},{}]},{},[1])(1)});
\ No newline at end of file
diff --git a/xos/core/xoslib/static/js/xosServiceGrid.js b/xos/core/xoslib/static/js/xosServiceGrid.js
index 6c6acb1..43d1b98 100644
--- a/xos/core/xoslib/static/js/xosServiceGrid.js
+++ b/xos/core/xoslib/static/js/xosServiceGrid.js
@@ -1 +1 @@
-"use strict";angular.module("xos.serviceGrid",["ngResource","ngCookies","ui.router","xos.helpers"]).config(["$stateProvider",function(e){e.state("serviceGrid",{url:"/",template:"<service-grid></service-grid>"}).state("serviceGraph",{url:"/graph",template:"<service-graph></service-graph>"})}]).config(["$httpProvider",function(e){e.interceptors.push("NoHyperlinks")}]).directive("serviceGrid",function(){return{restrict:"E",scope:{},bindToController:!0,controllerAs:"vm",templateUrl:"templates/service-grid.tpl.html",controller:["Services","ToscaEncoder","_",function(e,t,r){var n=this;this.tableConfig={columns:[{label:"Status",prop:"status",type:"icon",formatter:function(e){var t=parseInt(e.backend_status.match(/^[0-9]/)[0]);switch(t){case 0:return"time";case 1:return"ok";case 2:return"remove"}}},{label:"Name",prop:"name",link:function(e){return""+e.view_url.replace(/\$[a-z]+\$/,e.id)}},{label:"Kind",prop:"kind"},{label:"Enabled",prop:"enabled",type:"boolean"}],filter:"field",order:{field:"name"},actions:[{label:"export",icon:"export",cb:function(e){n.tosca="",t.serviceToTosca(e).then(function(e){n.showFeedback=!0,n.tosca=e})}}]},e.query().$promise.then(function(e){n.services=r.map(e,function(e){return e.status=0!==parseInt(e.backend_status.match(/^[0-9]/)[0]),e})})["catch"](function(e){throw new Error(e)})}]}}),function(){angular.module("xos.serviceGrid").service("ToscaEncoder",["$q","_","ArchiveManager","ServiceEncoder","SlicesEncoder",function(e,t,r,n,i){var o=this,a={tosca_definitions_version:"tosca_simple_yaml_1_0",description:"",imports:["custom_types/xos.yaml"],topology_template:{node_templates:{}}};this.toYml=function(e){return jsyaml.dump(e).replace(/'/g,"")},this["export"]=function(e){r.download(e.name);var t=o.toYml(a);return t},this.serviceToTosca=function(t){r.createArchive(),a.topology_template.node_templates={},a.description="Just enough Tosca to get the "+t.humanReadableName+" service up and running";var s=e.defer();return n.formatServiceProperties(t,a).then(function(e){return i.getServiceSlices(t,e)}).then(function(e){return n.getServiceRequirements(t,e)}).then(function(e){r.addFile(t.name+"_service.yaml",o.toYml(e)),o["export"](t),s.resolve(o.toYml(e))})["catch"](function(e){s.reject(e)}),s.promise}}])}(),angular.module("xos.serviceGrid").run(["$templateCache",function(e){e.put("templates/service-graph.tpl.html",'<div class="row">\n  <div class="col-sm-10">\n    <h1>Graph</h1>\n    <ul>\n      <li>Use D3 to create a service chart based on coarse services?</li>\n    </ul>\n  </div>\n  <div class="col-sm-2">\n    <a href="/admin/core/service/add" class="btn btn-success btn-block">\n      <i class="glyphicon glyphicon-plus"></i>\n      Add Service\n    </a>\n    <a href="#/" class="btn btn-default btn-block">\n      Service List\n    </a>\n  </div>\n</div>'),e.put("templates/service-grid.tpl.html",'<div class="row">\n  <div class="col-md-10 table-responsive">\n    <xos-table config="vm.tableConfig" data="vm.services"></xos-table>\n  </div>\n  <div class="col-md-2">\n    <a href="/admin/core/service/add" class="btn btn-success btn-block">\n      <i class="glyphicon glyphicon-plus"></i>\n      Add Service\n    </a>\n    <!-- <a href="#/graph" class="btn btn-default btn-block">\n      Tenancy Graph\n    </a> -->\n  </div>\n</div>\n\n<div class="row">\n  <div class="col-xs-12">\n    <div class="alert alert-info" ng-show="vm.showFeedback">\n      Remember that you should copy any key artifact inside the container in <pre>/opt/xos/tosca</pre>!\n    </div>\n  </div>\n</div>\n\n<pre ng-show="vm.tosca">\n{{vm.tosca}}\n</pre>')}]);var _slicedToArray=function(){function e(e,t){var r=[],n=!0,i=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(n=(a=s.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(c){i=!0,o=c}finally{try{!n&&s["return"]&&s["return"]()}finally{if(i)throw o}}return r}return function(t,r){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,r);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();!function(){angular.module("xos.serviceGrid").service("SlicesEncoder",["$q","_","Slices","SiteEncoder","ImageEncoder","NetworkEncoder",function(e,t,r,n,i,o){var a=this;this.buildTosca=function(r,a,s){var c={},l=e.defer();return r=t.reduce(r,function(e,t){if(e[t.name]={type:"tosca.nodes.Slice",properties:{network:t.network},requirements:[{management:{node:"management",relationship:"tosca.relationships.ConnectsToNetwork"}}]},angular.isDefined(s)){var r={};r[s+"_service"]={node:"service#"+s,relationship:"tosca.relationships.MemberOfService"},e[t.name].requirements.push(r)}return angular.isDefined(t.description)&&(e[t.name].description=t.description),angular.isDefined(t.site)&&(c[t.name+"#site"]=n.buildTosca(t.site,a)),angular.isDefined(t.default_image)&&(c[t.name+"#image"]=i.buildTosca(t.default_image,a)),angular.isDefined(t.networks)&&t.networks.length>0&&(c[t.name+"#management"]=o.getSliceNetworks(t,a)),e},{}),Object.keys(c).length>0?!function(){var t={site:"tosca.relationships.MemberOfSite",image:"tosca.relationships.DefaultImage"};a.topology_template.node_templates.management={type:"tosca.nodes.network.Network.XOS",properties:{"no-create":!0,"no-delete":!0,"no-update":!0}},e.all(c).then(function(e){var n=!0,i=!1,o=void 0;try{for(var s,c=Object.keys(e)[Symbol.iterator]();!(n=(s=c.next()).done);n=!0){var u=s.value,d=u.split("#"),p=_slicedToArray(d,2),v=p[0],m=p[1];if(angular.isDefined(t[m])){r[v].requirements||(r[v].requirements=[]);var f=_slicedToArray(e[u],2),h=f[0],g=f[1],y={},_=void 0;_="site"===m?g.name:m+"#"+g.name,y[m]={node:_,relationship:t[m]},r[v].requirements.push(y),angular.extend(a,h)}}}catch(b){i=!0,o=b}finally{try{!n&&c["return"]&&c["return"]()}finally{if(i)throw o}}angular.extend(a.topology_template.node_templates,r),l.resolve(a)})["catch"](function(e){throw new Error(e)})}():(angular.extend(a.topology_template.node_templates,r),l.resolve(a)),l.promise},this.getServiceSlices=function(t,n){var i=e.defer();return r.query({service:t.id}).$promise.then(function(e){return a.buildTosca(e,n,t.name)}).then(function(e){i.resolve(e)}),i.promise}}])}(),function(){angular.module("xos.serviceGrid").service("SiteEncoder",["$q","Sites",function(e,t){this.buildTosca=function(r,n){var i=e.defer();return t.get({id:r}).$promise.then(function(e){var t={};t[""+e.name]={type:"tosca.nodes.Site"},angular.extend(n.topology_template.node_templates,t),i.resolve([n,e])})["catch"](i.reject),i.promise}}])}(),function(){angular.module("xos.serviceGrid").service("ServiceEncoder",["$q","ArchiveManager","Tenants","Services",function(e,t,r,n){var i={fabric:"tosca.nodes.FabricService",onos:"tosca.nodes.ONOSService",vCPE:"tosca.nodes.VSGService",vOLT:"tosca.nodes.VOLTService",vROUTER:"tosca.nodes.VRouterService",VTN:"tosca.nodes.VTNService",vTR:"tosca.nodes.Service"};this.formatServiceProperties=function(r,n){var o=e.defer(),a="service#"+r.name;n.topology_template.node_templates[a]={},n.topology_template.node_templates[a].type=i[r.kind]||"tosca.nodes.Service";var s={properties:{kind:r.kind}};return angular.isDefined(r.view_url)&&(s.properties.view_url=r.view_url),angular.isDefined(r.icon_url)&&(s.properties.icon_url=r.icon_url),angular.isDefined(r.private_key_fn)&&(s.properties.private_key_fn=r.private_key_fn),angular.isDefined(r.public_key)&&(t.addFile(r.name+"_rsa.pub",r.public_key),s.properties.public_key="{ get_artifact: [ SELF, pubkey, LOCAL_FILE] }",s.artifacts={pubkey:"/opt/xos/tosca/"+r.name+"/"+r.name+"_rsa.pub"},n.topology_template.node_templates[a].artifacts=s.artifacts),n.topology_template.node_templates[a].properties=s.properties,o.resolve(n),o.promise},this.getServiceRequirements=function(t,i){var o=e.defer();return r.query({subscriber_service:t.id}).$promise.then(function(t){var r=[];return t=_.uniqBy(t,"provider_service"),_.forEach(t,function(e){r.push(n.get({id:e.provider_service}).$promise)}),e.all(r)}).then(function(e){var r=_.reduce(e,function(e,t){return e.concat(t.name)},[]);if(r=_.reduce(r,function(e,t){var r=t+"_tenant",n={};return n[r]={node:"service#"+t,relationship:"tosca.relationships.TenantOfService"},e.concat(n)},[]),r.length>0){_.forEach(r,function(e){var t=e[Object.keys(e)[0]].node;i.topology_template.node_templates[t]={type:"tosca.nodes.Service",properties:{"no-create":!0,"no-delete":!0,"no-update":!0}}});var n="service#"+t.name;i.topology_template.node_templates[n].requirements=r}o.resolve(i)}),o.promise}}])}(),function(){angular.module("xos.serviceGrid").directive("serviceGraph",function(){return{restrict:"E",scope:{},bindToController:!0,controllerAs:"vm",templateUrl:"templates/service-graph.tpl.html",controller:["$element","GraphService",function(e,t){var r=void 0,n=e[0],i=void 0,o=void 0,a=function(e){i.attr({transform:function(e){return"translate("+e.x+", "+e.y+")"}}),o.attr("x1",function(e){return e.source.x}).attr("y1",function(e){return e.source.y}).attr("x2",function(e){return e.target.x}).attr("y2",function(e){return e.target.y})};t.loadCoarseData().then(function(e){e.tenants=e.tenants.map(function(e){return{source:e.provider_service,target:e.subscriber_service}}),e.services.push({name:"XOS","class":"xos",x:n.clientWidth/2,y:n.clientHeight/2,fixed:!0}),s(n);var t=d3.layout.force().nodes(e.services).links(e.tenants).charge(-1060).gravity(.1).linkDistance(200).size([n.clientWidth,n.clientHeight]).on("tick",a).start();o=r.selectAll(".link").data(e.tenants).enter().insert("line").attr("class","link"),i=r.selectAll(".node").data(e.services).enter().append("g").call(t.drag).on("mousedown",function(){d3.event.stopPropagation()}),i.append("circle").attr({"class":function(e){return"node "+(e["class"]||"")},r:10}),i.append("text").attr({"text-anchor":"middle"}).text(function(e){return e.name}),i.select("circle").attr({r:function(e){var t=d3.select(this).node().parentNode,r=d3.select(t).select("text").node().getBBox();return r.width/2+10}})});var s=function(e){d3.select(e).select("svg").remove(),r=d3.select(e).append("svg").style("width",e.clientWidth+"px").style("height",e.clientHeight+"px")}}]}})}();var _slicedToArray=function(){function e(e,t){var r=[],n=!0,i=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(n=(a=s.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(c){i=!0,o=c}finally{try{!n&&s["return"]&&s["return"]()}finally{if(i)throw o}}return r}return function(t,r){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,r);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();!function(){angular.module("xos.serviceGrid").service("NetworkEncoder",["$q","Networks","NetworkTemplateEncoder",function(e,t,r){var n=this;this.buildTosca=function(t,n){var i=angular.copy(t),o={},a=e.defer();try{t=_.reduce(t,function(e,t){return e["network#"+t.name]={type:"tosca.nodes.network.Network.XOS",requirements:[]},angular.isDefined(t.slices)&&(_.forEach(t.slices,function(r){var n={owner:{node:r.name,relationship:"tosca.relationships.MemberOfSlice"}},i={connection:{node:r.name,relationship:"tosca.relationships.ConnectsToSlice"}};e["network#"+t.name].requirements.push(n,i)}),angular.isDefined(t.template)&&(o[t.name]=r.buildTosca(t.template,n))),e},{}),Object.keys(o).length>0?e.all(o).then(function(e){if(e){var r=!0,o=!1,s=void 0;try{for(var c,l=Object.keys(e)[Symbol.iterator]();!(r=(c=l.next()).done);r=!0){var u=c.value,d=_slicedToArray(e[u],2),p=d[0],v=d[1];t["network#"+u].requirements.push({network_template:{node:"network_template#"+v.name,relationship:"tosca.relationships.UsesNetworkTemplate"}}),angular.extend(n,p)}}catch(m){o=!0,s=m}finally{try{!r&&l["return"]&&l["return"]()}finally{if(o)throw s}}}angular.extend(n.topology_template.node_templates,t),a.resolve([n,i])})["catch"](function(e){throw new Error(e)}):(angular.extend(n.topology_template.node_templates,t),a.resolve([n,i]))}catch(s){a.reject(s)}return a.promise},this.getSliceNetworks=function(r,i){var o=e.defer();return t.query({owner:r.id}).$promise.then(function(e){e=_.filter(e,function(e){return-1!==r.networks.indexOf(e.id)}),e=e.map(function(e){var t=e.slices.indexOf(r.id);return e.slices[t]=r,e}),n.buildTosca(e,i).then(o.resolve)["catch"](o.reject)}),o.promise}}])}(),function(){angular.module("xos.serviceGrid").service("NetworkTemplateEncoder",["$q","Networkstemplates",function(e,t){this.buildTosca=function(r,n){var i=e.defer();return t.get({id:r}).$promise.then(function(e){var t={};t["network_template#"+e.name]={type:"tosca.nodes.NetworkTemplate"},angular.extend(n.topology_template.node_templates,t),i.resolve([n,e])})["catch"](function(e){i.reject(e)}),i.promise}}])}(),function(){angular.module("xos.serviceGrid").service("ImageEncoder",["$q","Images",function(e,t){this.buildTosca=function(r,n){var i=e.defer();return t.get({id:r}).$promise.then(function(e){var t={};t["image#"+e.name]={type:"tosca.nodes.Image"},angular.extend(n.topology_template.node_templates,t),i.resolve([n,e])})["catch"](i.reject),i.promise}}])}(),function(){angular.module("xos.serviceGrid").service("ArchiveManager",function(){var e=this;this.createArchive=function(){e.archive=new JSZip},this.addFile=function(t,r){e.archive.file(t,r)},this.download=function(t){console.log(e.archive),e.archive.generateAsync({type:"blob"}).then(function(e){saveAs(e,t+".zip")})["catch"](function(e){console.log(e)})}})}(),angular.module("xos.serviceGrid").run(["$location",function(e){e.path("/")}]);
\ No newline at end of file
+"use strict";angular.module("xos.serviceGrid",["ngResource","ngCookies","ui.router","xos.helpers"]).config(["$stateProvider",function(e){e.state("serviceGrid",{url:"/",template:"<service-grid></service-grid>"}).state("serviceGraph",{url:"/graph",template:"<service-graph></service-graph>"})}]).config(["$httpProvider",function(e){e.interceptors.push("NoHyperlinks")}]).directive("serviceGrid",function(){return{restrict:"E",scope:{},bindToController:!0,controllerAs:"vm",templateUrl:"templates/service-grid.tpl.html",controller:["Services","ToscaEncoder","_",function(e,t,n){var r=this;this.tableConfig={columns:[{label:"Status",prop:"status",type:"icon",formatter:function(e){var t=parseInt(e.backend_status.match(/^[0-9]/)[0]);switch(t){case 0:return"time";case 1:return"ok";case 2:return"remove"}}},{label:"Name",prop:"name",link:function(e){return""+e.view_url.replace(/\$[a-z]+\$/,e.id)}},{label:"Kind",prop:"kind"},{label:"Enabled",prop:"enabled",type:"boolean"}],filter:"field",order:{field:"name"},actions:[{label:"export",icon:"export",cb:function(e){r.tosca="",t.serviceToTosca(e).then(function(e){r.showFeedback=!0,r.tosca=e})}}]},e.query().$promise.then(function(e){r.services=n.map(e,function(e){return e.status=0!==parseInt(e.backend_status.match(/^[0-9]/)[0]),e})})["catch"](function(e){throw new Error(e)})}]}}),function(){angular.module("xos.serviceGrid").service("ToscaEncoder",["$q","_","ArchiveManager","ServiceEncoder","SlicesEncoder",function(e,t,n,r,o){var i=this,a={tosca_definitions_version:"tosca_simple_yaml_1_0",description:"",imports:["custom_types/xos.yaml"],topology_template:{node_templates:{}}};this.toYml=function(e){return jsyaml.dump(e).replace(/'/g,"")},this["export"]=function(e){n.download(e.name);var t=i.toYml(a);return t},this.serviceToTosca=function(t){n.createArchive(),a.topology_template.node_templates={},a.description="Just enough Tosca to get the "+t.humanReadableName+" service up and running";var s=e.defer();return r.formatServiceProperties(t,a).then(function(e){return o.getServiceSlices(t,e)}).then(function(e){return r.getServiceRequirements(t,e)}).then(function(e){n.addFile(t.name+"_service.yaml",i.toYml(e)),i["export"](t),s.resolve(i.toYml(e))})["catch"](function(e){s.reject(e)}),s.promise}}])}(),angular.module("xos.serviceGrid").run(["$templateCache",function(e){e.put("templates/service-graph.tpl.html",'<div class="row">\n  <div class="col-sm-10">\n    <h1>Graph</h1>\n  </div>\n  <div class="col-sm-2">\n    <a href="/admin/core/service/add" class="btn btn-success btn-block">\n      <i class="glyphicon glyphicon-plus"></i>\n      Add Service\n    </a>\n    <a href="#/" class="btn btn-default btn-block">\n      Service List\n    </a>\n  </div>\n</div>\n<xos-side-panel config="vm.panelConfig" show="vm.panelShow">\n  <h1>\n    {{vm.selectedNode.name}}\n    <small>\n      <i class="glyphicon glyphicon-{{vm.selectedNode.icon}}"></i>\n    </small>\n  </h1>\n  <table class="table">\n    <tr>\n      <td>Kind:</td>\n      <td>{{vm.selectedNode.kind}}</td>\n    </tr>\n    <tr>\n      <td>Enabled:</td>\n      <td>{{vm.selectedNode.enabled}}</td>\n    </tr>\n    <tr>\n      <td>Status:</td>\n      <td>{{vm.selectedNode.backend_status}}</td>\n    </tr>\n  </table>\n  <a ng-click="vm.exportToTosca(vm.selectedNode)" class="btn btn-primary">\n    Export to TOSCA\n    <i class="glyphicon glyphicon-export"></i>\n  </a>\n</xos-side-panel>'),e.put("templates/service-grid.tpl.html",'<div class="row">\n  <div class="col-md-10 table-responsive">\n    <xos-table config="vm.tableConfig" data="vm.services"></xos-table>\n  </div>\n  <div class="col-md-2">\n    <a href="/admin/core/service/add" class="btn btn-success btn-block">\n      <i class="glyphicon glyphicon-plus"></i>\n      Add Service\n    </a>\n    <a href="#/graph" class="btn btn-default btn-block">\n      Tenancy Graph\n    </a>\n  </div>\n</div>\n\n<div class="row">\n  <div class="col-xs-12">\n    <div class="alert alert-info" ng-show="vm.showFeedback">\n      Remember that you should copy any key artifact inside the container in <pre>/opt/xos/tosca</pre>!\n    </div>\n  </div>\n</div>\n\n<pre ng-show="vm.tosca">\n{{vm.tosca}}\n</pre>')}]);var _slicedToArray=function(){function e(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(c){o=!0,i=c}finally{try{!r&&s["return"]&&s["return"]()}finally{if(o)throw i}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();!function(){angular.module("xos.serviceGrid").service("SlicesEncoder",["$q","_","Slices","SiteEncoder","ImageEncoder","NetworkEncoder",function(e,t,n,r,o,i){var a=this;this.buildTosca=function(n,a,s){var c={},l=e.defer();return n=t.reduce(n,function(e,t){if(e[t.name]={type:"tosca.nodes.Slice",properties:{network:t.network},requirements:[{management:{node:"management",relationship:"tosca.relationships.ConnectsToNetwork"}}]},angular.isDefined(s)){var n={};n[s+"_service"]={node:"service#"+s,relationship:"tosca.relationships.MemberOfService"},e[t.name].requirements.push(n)}return angular.isDefined(t.description)&&(e[t.name].description=t.description),angular.isDefined(t.site)&&(c[t.name+"#site"]=r.buildTosca(t.site,a)),angular.isDefined(t.default_image)&&(c[t.name+"#image"]=o.buildTosca(t.default_image,a)),angular.isDefined(t.networks)&&t.networks.length>0&&(c[t.name+"#management"]=i.getSliceNetworks(t,a)),e},{}),Object.keys(c).length>0?!function(){var t={site:"tosca.relationships.MemberOfSite",image:"tosca.relationships.DefaultImage"};a.topology_template.node_templates.management={type:"tosca.nodes.network.Network.XOS",properties:{"no-create":!0,"no-delete":!0,"no-update":!0}},e.all(c).then(function(e){var r=!0,o=!1,i=void 0;try{for(var s,c=Object.keys(e)[Symbol.iterator]();!(r=(s=c.next()).done);r=!0){var u=s.value,d=u.split("#"),p=_slicedToArray(d,2),v=p[0],m=p[1];if(angular.isDefined(t[m])){n[v].requirements||(n[v].requirements=[]);var f=_slicedToArray(e[u],2),h=f[0],g=f[1],y={},b=void 0;b="site"===m?g.name:m+"#"+g.name,y[m]={node:b,relationship:t[m]},n[v].requirements.push(y),angular.extend(a,h)}}}catch(_){o=!0,i=_}finally{try{!r&&c["return"]&&c["return"]()}finally{if(o)throw i}}angular.extend(a.topology_template.node_templates,n),l.resolve(a)})["catch"](function(e){throw new Error(e)})}():(angular.extend(a.topology_template.node_templates,n),l.resolve(a)),l.promise},this.getServiceSlices=function(t,r){var o=e.defer();return n.query({service:t.id}).$promise.then(function(e){return a.buildTosca(e,r,t.name)}).then(function(e){o.resolve(e)}),o.promise}}])}(),function(){angular.module("xos.serviceGrid").service("SiteEncoder",["$q","Sites",function(e,t){this.buildTosca=function(n,r){var o=e.defer();return t.get({id:n}).$promise.then(function(e){var t={};t[""+e.name]={type:"tosca.nodes.Site"},angular.extend(r.topology_template.node_templates,t),o.resolve([r,e])})["catch"](o.reject),o.promise}}])}(),function(){angular.module("xos.uiComponents").directive("xosSidePanel",function(){return{restrict:"E",scope:{config:"=",show:"="},template:'\n        <div class="xos-side-panel-content {{vm.classes.join(\' \')}}">\n          <div class="row">\n            <div class="col-xs-12">\n              <button type="button" class="close" ng-click="vm.dismiss()">\n                <span aria-hidden="true">&times;</span>\n              </button>\n            </div>\n          </div>\n          <div class="row">\n            <div class="col-xs-12" ng-transclude></div>\n          </div>\n        </div>\n      ',transclude:!0,bindToController:!0,controllerAs:"vm",controller:["$scope","$timeout","_",function(e,t,n){var r=this;console.log(this.show),this.classes=[],this.classes.push(this.config.position),this.dismiss=function(){r.show=!1,r.classes=r.toggleClass(r.classes),t(function(){return n.remove(r.classes,function(e){return"out"===e})},500)},this.toggleClass=function(e){return e.indexOf("in")>-1?(n.remove(r.classes,function(e){return"in"===e}),r.classes.push("out"),e):(n.remove(r.classes,function(e){return"out"===e}),r.classes.push("in"),e)},e.$watch(function(){return r.show},function(e){angular.isDefined(e)&&e&&e===!0&&(r.classes=r.toggleClass(r.classes))})}]}})}(),function(){angular.module("xos.serviceGrid").service("ServiceEncoder",["$q","ArchiveManager","Tenants","Services",function(e,t,n,r){var o={fabric:"tosca.nodes.FabricService",onos:"tosca.nodes.ONOSService",vCPE:"tosca.nodes.VSGService",vOLT:"tosca.nodes.VOLTService",vROUTER:"tosca.nodes.VRouterService",VTN:"tosca.nodes.VTNService",vTR:"tosca.nodes.Service"};this.formatServiceProperties=function(n,r){var i=e.defer(),a="service#"+n.name;r.topology_template.node_templates[a]={},r.topology_template.node_templates[a].type=o[n.kind]||"tosca.nodes.Service";var s={properties:{kind:n.kind}};return angular.isDefined(n.view_url)&&(s.properties.view_url=n.view_url),angular.isDefined(n.icon_url)&&(s.properties.icon_url=n.icon_url),angular.isDefined(n.private_key_fn)&&(s.properties.private_key_fn=n.private_key_fn),angular.isDefined(n.public_key)&&(t.addFile(n.name+"_rsa.pub",n.public_key),s.properties.public_key="{ get_artifact: [ SELF, pubkey, LOCAL_FILE] }",s.artifacts={pubkey:"/opt/xos/tosca/"+n.name+"/"+n.name+"_rsa.pub"},r.topology_template.node_templates[a].artifacts=s.artifacts),r.topology_template.node_templates[a].properties=s.properties,i.resolve(r),i.promise},this.getServiceRequirements=function(t,o){var i=e.defer();return n.query({subscriber_service:t.id}).$promise.then(function(t){var n=[];return t=_.uniqBy(t,"provider_service"),_.forEach(t,function(e){n.push(r.get({id:e.provider_service}).$promise)}),e.all(n)}).then(function(e){var n=_.reduce(e,function(e,t){return e.concat(t.name)},[]);if(n=_.reduce(n,function(e,t){var n=t+"_tenant",r={};return r[n]={node:"service#"+t,relationship:"tosca.relationships.TenantOfService"},e.concat(r)},[]),n.length>0){_.forEach(n,function(e){var t=e[Object.keys(e)[0]].node;o.topology_template.node_templates[t]={type:"tosca.nodes.Service",properties:{"no-create":!0,"no-delete":!0,"no-update":!0}}});var r="service#"+t.name;o.topology_template.node_templates[r].requirements=n}i.resolve(o)}),i.promise}}])}();var _slicedToArray=function(){function e(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(c){o=!0,i=c}finally{try{!r&&s["return"]&&s["return"]()}finally{if(o)throw i}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();!function(){angular.module("xos.serviceGrid").service("Graph",["$q","Tenants","Services","Subscribers",function(e,t,n,r){var o=new graphlib.Graph,i=!1,a=function(){var i=e.defer();return e.all([t.query().$promise,n.query().$promise,r.query().$promise]).then(function(e){var t=_slicedToArray(e,3),n=t[0],r=t[1];t[2];r.forEach(function(e){return o.setNode(e.id,angular.extend(e,{type:"service"}))}),n.filter(function(e){return e.subscriber_service&&e.provider_service}).forEach(function(e){return o.setEdge(e.subscriber_service,e.provider_service,e,e.name)}),i.resolve(o)}),i.promise};this.getGraph=function(){var t=e.defer();return i?t.resolve(o):a().then(function(e){i=!0,t.resolve(e)})["catch"](console.log),{$promise:t.promise}}}]).directive("serviceGraph",function(){return{restrict:"E",scope:{},bindToController:!0,controllerAs:"vm",templateUrl:"templates/service-graph.tpl.html",controller:["$scope","$element","GraphService","Graph","ToscaEncoder",function(e,t,n,r,o){var i=void 0,a=t[0],s=void 0,c=void 0,l=this;this.panelConfig={position:"right"};var u=function(e){s.attr("cx",function(e){return e.x}).attr("cy",function(e){return e.y}).attr({transform:function(e){return"translate("+e.x+", "+e.y+")"}}),c.attr("x1",function(e){return e.source.x}).attr("y1",function(e){return e.source.y}).attr("x2",function(e){return v(e)[0]}).attr("y2",function(e){return v(e)[1]})};r.getGraph().$promise.then(function(t){var n=t.edges().map(function(e){return{source:t.node(e.v),target:t.node(e.w)}}),r=t.nodes().map(function(e){return t.node(e)});r.push({name:"XOS",type:"xos",x:a.clientWidth/2,y:a.clientHeight/2,fixed:!0}),d(a),p();var o=d3.layout.force().nodes(r).links(n).charge(-1060).gravity(.1).linkDistance(200).size([a.clientWidth,a.clientHeight]).on("tick",u).start();c=i.selectAll(".link").data(n).enter().insert("line").attr("class","link").attr("marker-end","url(#arrow)"),s=i.selectAll(".node").data(r).enter().append("g").call(o.drag).on("mousedown",function(t){e.$apply(function(){if("XOS"!==t.name){l.panelShow=!0;var e=parseInt(t.backend_status.match(/^[0-9]/)[0]);switch(console.log(e),e){case 0:t.icon="time";break;case 1:t.icon="ok";break;case 2:t.icon="remove"}l.selectedNode=t}}),d3.event.stopPropagation()}),s.append("circle").attr({"class":function(e){return"node "+(e.type||"")},r:10}),s.append("text").attr({"text-anchor":"middle","alignment-baseline":"middle"}).text(function(e){return e.humanReadableName||e.name}),s.select("circle").attr({r:function(e){var t=d3.select(this).node().parentNode,n=d3.select(t).select("text").node().getBBox(),r=n.width/2+10;return e.nodeWidth=2*r,r}})});var d=function(e){d3.select(e).select("svg").remove(),i=d3.select(e).append("svg").style("width",e.clientWidth+"px").style("height",e.clientHeight+"px")},p=function(){i.append("svg:defs").selectAll("marker").data(["arrow"]).enter().append("svg:marker").attr("id",String).attr("viewBox","0 -5 10 10").attr("refX",10).attr("refY",0).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto").append("svg:path").attr("d","M0,-5L10,0L0,5")},v=function(e){var t=e.target.nodeWidth/2,n=e.target.x-e.source.x,r=e.target.y-e.source.y,o=Math.atan2(r,n),i=e.target.x-Math.cos(o)*t,a=e.target.y-Math.sin(o)*t;return[i,a]};this.exportToTosca=function(e){o.serviceToTosca(e)}}]}})}();var _slicedToArray=function(){function e(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(c){o=!0,i=c}finally{try{!r&&s["return"]&&s["return"]()}finally{if(o)throw i}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();!function(){angular.module("xos.serviceGrid").service("NetworkEncoder",["$q","Networks","NetworkTemplateEncoder",function(e,t,n){var r=this;this.buildTosca=function(t,r){var o=angular.copy(t),i={},a=e.defer();try{t=_.reduce(t,function(e,t){return e["network#"+t.name]={type:"tosca.nodes.network.Network.XOS",requirements:[]},angular.isDefined(t.slices)&&(_.forEach(t.slices,function(n){var r={owner:{node:n.name,relationship:"tosca.relationships.MemberOfSlice"}},o={connection:{node:n.name,relationship:"tosca.relationships.ConnectsToSlice"}};e["network#"+t.name].requirements.push(r,o)}),angular.isDefined(t.template)&&(i[t.name]=n.buildTosca(t.template,r))),e},{}),Object.keys(i).length>0?e.all(i).then(function(e){if(e){var n=!0,i=!1,s=void 0;try{for(var c,l=Object.keys(e)[Symbol.iterator]();!(n=(c=l.next()).done);n=!0){var u=c.value,d=_slicedToArray(e[u],2),p=d[0],v=d[1];t["network#"+u].requirements.push({network_template:{node:"network_template#"+v.name,relationship:"tosca.relationships.UsesNetworkTemplate"}}),angular.extend(r,p)}}catch(m){i=!0,s=m}finally{try{!n&&l["return"]&&l["return"]()}finally{if(i)throw s}}}angular.extend(r.topology_template.node_templates,t),a.resolve([r,o])})["catch"](function(e){throw new Error(e)}):(angular.extend(r.topology_template.node_templates,t),a.resolve([r,o]))}catch(s){a.reject(s)}return a.promise},this.getSliceNetworks=function(n,o){var i=e.defer();return t.query({owner:n.id}).$promise.then(function(e){e=_.filter(e,function(e){return-1!==n.networks.indexOf(e.id)}),e=e.map(function(e){var t=e.slices.indexOf(n.id);return e.slices[t]=n,e}),r.buildTosca(e,o).then(i.resolve)["catch"](i.reject)}),i.promise}}])}(),function(){angular.module("xos.serviceGrid").service("NetworkTemplateEncoder",["$q","Networkstemplates",function(e,t){this.buildTosca=function(n,r){var o=e.defer();return t.get({id:n}).$promise.then(function(e){var t={};t["network_template#"+e.name]={type:"tosca.nodes.NetworkTemplate"},angular.extend(r.topology_template.node_templates,t),o.resolve([r,e])})["catch"](function(e){o.reject(e)}),o.promise}}])}(),function(){angular.module("xos.serviceGrid").service("ImageEncoder",["$q","Images",function(e,t){this.buildTosca=function(n,r){var o=e.defer();return t.get({id:n}).$promise.then(function(e){var t={};t["image#"+e.name]={type:"tosca.nodes.Image"},angular.extend(r.topology_template.node_templates,t),o.resolve([r,e])})["catch"](o.reject),o.promise}}])}(),function(){angular.module("xos.serviceGrid").service("ArchiveManager",function(){var e=this;this.createArchive=function(){e.archive=new JSZip},this.addFile=function(t,n){e.archive.file(t,n)},this.download=function(t){console.log(e.archive),e.archive.generateAsync({type:"blob"}).then(function(e){saveAs(e,t+".zip")})["catch"](function(e){console.log(e)})}})}(),angular.module("xos.serviceGrid").run(["$location",function(e){e.path("/")}]);
\ No newline at end of file