@daoyi/nmtl-ui 2.0.1-beta.53 → 2.0.1-beta.55

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/lib/components/{Autocomplete-3dae80ca.js → Autocomplete-8344febd.js} +3 -3
  2. package/lib/components/Autocomplete.js +4 -4
  3. package/lib/components/Avatar.js +1 -1
  4. package/lib/components/BackTop.js +3 -3
  5. package/lib/components/BarChart.js +1 -1
  6. package/lib/components/Breadcrumbs.js +1 -1
  7. package/lib/components/{Button-433372aa.js → Button-2f8f0493.js} +1 -1
  8. package/lib/components/Button.js +2 -2
  9. package/lib/components/Carousel.js +61 -2
  10. package/lib/components/Checkbox.js +1 -1
  11. package/lib/components/CollapseContent.js +3 -3
  12. package/lib/components/{ContactModal-66bcb5d3.js → ContactModal-de7f221d.js} +1459 -218
  13. package/lib/components/ContactModal.js +9 -9
  14. package/lib/components/{Drawer-df3535c2.js → Drawer-7f404d90.js} +2 -2
  15. package/lib/components/Drawer.js +5 -5
  16. package/lib/components/Dropdown.js +2 -2
  17. package/lib/components/{Empty-7318f658.js → Empty-3637b766.js} +1 -1
  18. package/lib/components/Empty.js +2 -2
  19. package/lib/components/ExportButton.js +2 -2
  20. package/lib/components/{ExtraTools-b0bb9399.js → ExtraTools-d5b61340.js} +66 -5
  21. package/lib/components/ExtraTools.js +4 -4
  22. package/lib/components/Filter.js +3 -3
  23. package/lib/components/Footer.js +9 -9
  24. package/lib/components/{ForwardLink-0571e627.js → ForwardLink-a3df0bfe.js} +10 -9
  25. package/lib/components/ForwardLink.js +3 -4
  26. package/lib/components/Header.js +7 -7
  27. package/lib/components/Image.js +2 -2
  28. package/lib/components/Input.js +1 -1
  29. package/lib/components/InputMethod.js +2 -2
  30. package/lib/components/{KeywordSearch-568a8a44.js → KeywordSearch-6a880a43.js} +3 -3
  31. package/lib/components/KeywordSearch.js +5 -5
  32. package/lib/components/KeywordTicker.js +4 -4
  33. package/lib/components/Keywords.js +6 -6
  34. package/lib/components/Loading.js +1 -1
  35. package/lib/components/{Modal-64c4ab0d.js → Modal-572e17ea.js} +3 -3
  36. package/lib/components/Modal.js +4 -4
  37. package/lib/components/{MoreButton-6654cc5b.js → MoreButton-80996b5f.js} +1 -1
  38. package/lib/components/MoreButton.js +2 -2
  39. package/lib/components/Radio.js +1 -1
  40. package/lib/components/SNA.js +4 -4
  41. package/lib/components/{Select-113372b2.js → Select-89e69867.js} +3 -3
  42. package/lib/components/Select.js +4 -4
  43. package/lib/components/{Spin-8a5a600d.js → Spin-ebf79c17.js} +1 -1
  44. package/lib/components/Spin.js +2 -2
  45. package/lib/components/Table.js +1 -1
  46. package/lib/components/{Tooltip-abe1205f.js → Tooltip-eb035cd6.js} +2 -2
  47. package/lib/components/Tooltip.js +3 -3
  48. package/lib/components/_rollupPluginBabelHelpers-ed61ffc0.js +160 -0
  49. package/lib/components/globalConfig.js +23 -5
  50. package/lib/components/{index-66babe67.js → index-f491ebce.js} +1 -1
  51. package/lib/utils/{_rollupPluginBabelHelpers-8dd26e1a.js → _rollupPluginBabelHelpers-a6e0e6e3.js} +42 -24
  52. package/lib/utils/exportXlsx.js +1 -1
  53. package/lib/utils/historyAppendSearch.js +1 -1
  54. package/lib/utils/sendEmail.js +1 -1
  55. package/lib/utils/snaPreProcess.js +1 -1
  56. package/package.json +1 -1
  57. package/lib/components/_rollupPluginBabelHelpers-3d9c8289.js +0 -478
  58. /package/lib/components/{createSvgIcon-a79ae4b1.js → createSvgIcon-48da8b6e.js} +0 -0
  59. /package/lib/components/{index-fdcc884e.js → index-7b60a97d.js} +0 -0
@@ -1,15 +1,15 @@
1
- import { _ as _extends$1, a as _slicedToArray, b as _objectSpread2, e as _defineProperty, f as _asyncToGenerator, g as _regeneratorRuntime } from './_rollupPluginBabelHelpers-3d9c8289.js';
2
- import React__default, { createContext, forwardRef, createElement, useContext, useRef, useEffect, useReducer, useCallback, useMemo, useLayoutEffect, Component, useState } from 'react';
1
+ import { _ as _extends$1, a as _slicedToArray$2, b as _objectSpread2, e as _defineProperty$1 } from './_rollupPluginBabelHelpers-ed61ffc0.js';
2
+ import React__default, { createContext, forwardRef, createElement, useContext, useRef, useEffect, useReducer, useCallback, useMemo, useLayoutEffect, Component, useState, useImperativeHandle, Fragment } from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import { h as hoistNonReactStatics_cjs } from './hoist-non-react-statics.cjs-3f408ad2.js';
5
5
  import axios from 'axios';
6
- import { M as Modal } from './Modal-64c4ab0d.js';
6
+ import { M as Modal } from './Modal-572e17ea.js';
7
7
  import { c as commonjsGlobal, a as getDefaultExportFromCjs } from './_commonjsHelpers-70de2c37.js';
8
- import { c as classNames } from './index-66babe67.js';
9
- import { Input, Button, IconButton, Box, Typography, FormControl, RadioGroup, FormControlLabel, Radio, TextField, TextareaAutosize } from '@material-ui/core';
10
- import { S as Select } from './Select-113372b2.js';
8
+ import { c as classNames } from './index-f491ebce.js';
9
+ import { Input, Button, Box, Typography, FormControl, RadioGroup, FormControlLabel, Radio, TextField, TextareaAutosize } from '@material-ui/core';
10
+ import { S as Select } from './Select-89e69867.js';
11
11
  import { s as styleInject } from './style-inject.es-1f59c1d0.js';
12
- import { r as requireCreateSvgIcon, i as interopRequireDefault, a as interopRequireWildcard } from './createSvgIcon-a79ae4b1.js';
12
+ import { r as requireCreateSvgIcon, i as interopRequireDefault, a as interopRequireWildcard } from './createSvgIcon-48da8b6e.js';
13
13
  import { getIntl } from './globalConfig';
14
14
 
15
15
  var isArray$1 = Array.isArray;
@@ -799,7 +799,7 @@ function getNative(object, key) {
799
799
  }
800
800
 
801
801
  /* Built-in method references that are verified to be native. */
802
- var Map = getNative(root, 'Map');
802
+ var Map$1 = getNative(root, 'Map');
803
803
 
804
804
  /* Built-in method references that are verified to be native. */
805
805
  var nativeCreate = getNative(Object, 'create');
@@ -935,7 +935,7 @@ function mapCacheClear() {
935
935
  this.size = 0;
936
936
  this.__data__ = {
937
937
  'hash': new Hash,
938
- 'map': new (Map || ListCache),
938
+ 'map': new (Map$1 || ListCache),
939
939
  'string': new Hash
940
940
  };
941
941
  }
@@ -1071,7 +1071,7 @@ function stackSet(key, value) {
1071
1071
  var data = this.__data__;
1072
1072
  if (data instanceof ListCache) {
1073
1073
  var pairs = data.__data__;
1074
- if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {
1074
+ if (!Map$1 || (pairs.length < LARGE_ARRAY_SIZE - 1)) {
1075
1075
  pairs.push([key, value]);
1076
1076
  this.size = ++data.size;
1077
1077
  return this;
@@ -1330,10 +1330,10 @@ var freeModule$2 = freeExports$2 && typeof module == 'object' && module && !modu
1330
1330
  var moduleExports$2 = freeModule$2 && freeModule$2.exports === freeExports$2;
1331
1331
 
1332
1332
  /** Built-in value references. */
1333
- var Buffer$2 = moduleExports$2 ? root.Buffer : undefined;
1333
+ var Buffer$1 = moduleExports$2 ? root.Buffer : undefined;
1334
1334
 
1335
1335
  /* Built-in method references for those with the same name as other `lodash` methods. */
1336
- var nativeIsBuffer = Buffer$2 ? Buffer$2.isBuffer : undefined;
1336
+ var nativeIsBuffer = Buffer$1 ? Buffer$1.isBuffer : undefined;
1337
1337
 
1338
1338
  /**
1339
1339
  * Checks if `value` is a buffer.
@@ -1787,8 +1787,8 @@ var freeModule = freeExports && typeof module == 'object' && module && !module.n
1787
1787
  var moduleExports = freeModule && freeModule.exports === freeExports;
1788
1788
 
1789
1789
  /** Built-in value references. */
1790
- var Buffer$1 = moduleExports ? root.Buffer : undefined,
1791
- allocUnsafe = Buffer$1 ? Buffer$1.allocUnsafe : undefined;
1790
+ var Buffer = moduleExports ? root.Buffer : undefined,
1791
+ allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;
1792
1792
 
1793
1793
  /**
1794
1794
  * Creates a clone of `buffer`.
@@ -2024,7 +2024,7 @@ var dataViewTag$2 = '[object DataView]';
2024
2024
 
2025
2025
  /** Used to detect maps, sets, and weakmaps. */
2026
2026
  var dataViewCtorString = toSource(DataView),
2027
- mapCtorString = toSource(Map),
2027
+ mapCtorString = toSource(Map$1),
2028
2028
  promiseCtorString = toSource(Promise$1),
2029
2029
  setCtorString = toSource(Set),
2030
2030
  weakMapCtorString = toSource(WeakMap$1);
@@ -2040,7 +2040,7 @@ var getTag = baseGetTag;
2040
2040
 
2041
2041
  // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.
2042
2042
  if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag$2) ||
2043
- (Map && getTag(new Map) != mapTag$3) ||
2043
+ (Map$1 && getTag(new Map$1) != mapTag$3) ||
2044
2044
  (Promise$1 && getTag(Promise$1.resolve()) != promiseTag) ||
2045
2045
  (Set && getTag(new Set) != setTag$3) ||
2046
2046
  (WeakMap$1 && getTag(new WeakMap$1) != weakMapTag$1)) {
@@ -2090,7 +2090,7 @@ function initCloneArray(array) {
2090
2090
  }
2091
2091
 
2092
2092
  /** Built-in value references. */
2093
- var Uint8Array$1 = root.Uint8Array;
2093
+ var Uint8Array = root.Uint8Array;
2094
2094
 
2095
2095
  /**
2096
2096
  * Creates a clone of `arrayBuffer`.
@@ -2101,7 +2101,7 @@ var Uint8Array$1 = root.Uint8Array;
2101
2101
  */
2102
2102
  function cloneArrayBuffer(arrayBuffer) {
2103
2103
  var result = new arrayBuffer.constructor(arrayBuffer.byteLength);
2104
- new Uint8Array$1(result).set(new Uint8Array$1(arrayBuffer));
2104
+ new Uint8Array(result).set(new Uint8Array(arrayBuffer));
2105
2105
  return result;
2106
2106
  }
2107
2107
 
@@ -2803,7 +2803,7 @@ function _inheritsLoose(subClass, superClass) {
2803
2803
  subClass.__proto__ = superClass;
2804
2804
  }
2805
2805
 
2806
- function _objectWithoutPropertiesLoose(source, excluded) {
2806
+ function _objectWithoutPropertiesLoose$1(source, excluded) {
2807
2807
  if (source == null) return {};
2808
2808
  var target = {};
2809
2809
  var sourceKeys = Object.keys(source);
@@ -3062,7 +3062,7 @@ function useFormik(_ref) {
3062
3062
  _ref$enableReinitiali = _ref.enableReinitialize,
3063
3063
  enableReinitialize = _ref$enableReinitiali === void 0 ? false : _ref$enableReinitiali,
3064
3064
  onSubmit = _ref.onSubmit,
3065
- rest = _objectWithoutPropertiesLoose(_ref, ["validateOnChange", "validateOnBlur", "validateOnMount", "isInitialValid", "enableReinitialize", "onSubmit"]);
3065
+ rest = _objectWithoutPropertiesLoose$1(_ref, ["validateOnChange", "validateOnBlur", "validateOnMount", "isInitialValid", "enableReinitialize", "onSubmit"]);
3066
3066
 
3067
3067
  var props = _extends({
3068
3068
  validateOnChange: validateOnChange,
@@ -3928,10 +3928,10 @@ function Field(_ref) {
3928
3928
  children = _ref.children,
3929
3929
  is = _ref.as,
3930
3930
  component = _ref.component,
3931
- props = _objectWithoutPropertiesLoose(_ref, ["validate", "name", "render", "children", "as", "component"]);
3931
+ props = _objectWithoutPropertiesLoose$1(_ref, ["validate", "name", "render", "children", "as", "component"]);
3932
3932
 
3933
3933
  var _useFormikContext = useFormikContext(),
3934
- formik = _objectWithoutPropertiesLoose(_useFormikContext, ["validate", "validationSchema"]);
3934
+ formik = _objectWithoutPropertiesLoose$1(_useFormikContext, ["validate", "validationSchema"]);
3935
3935
 
3936
3936
 
3937
3937
  var registerField = formik.registerField,
@@ -3969,7 +3969,7 @@ function Field(_ref) {
3969
3969
  // This behavior is backwards compat with earlier Formik 0.9 to 1.x
3970
3970
  if (typeof component === 'string') {
3971
3971
  var innerRef = props.innerRef,
3972
- rest = _objectWithoutPropertiesLoose(props, ["innerRef"]);
3972
+ rest = _objectWithoutPropertiesLoose$1(props, ["innerRef"]);
3973
3973
 
3974
3974
  return createElement(component, _extends({
3975
3975
  ref: innerRef
@@ -3988,7 +3988,7 @@ function Field(_ref) {
3988
3988
 
3989
3989
  if (typeof asElement === 'string') {
3990
3990
  var _innerRef = props.innerRef,
3991
- _rest = _objectWithoutPropertiesLoose(props, ["innerRef"]);
3991
+ _rest = _objectWithoutPropertiesLoose$1(props, ["innerRef"]);
3992
3992
 
3993
3993
  return createElement(asElement, _extends({
3994
3994
  ref: _innerRef
@@ -4002,7 +4002,7 @@ var Form = /*#__PURE__*/forwardRef(function (props, ref) {
4002
4002
  // iOS needs an "action" attribute for nice input: https://stackoverflow.com/a/39485162/406725
4003
4003
  // We default the action to "#" in case the preventDefault fails (just updates the URL hash)
4004
4004
  var action = props.action,
4005
- rest = _objectWithoutPropertiesLoose(props, ["action"]);
4005
+ rest = _objectWithoutPropertiesLoose$1(props, ["action"]);
4006
4006
 
4007
4007
  var _action = action != null ? action : '#';
4008
4008
 
@@ -4066,7 +4066,7 @@ var ErrorMessageImpl = /*#__PURE__*/function (_React$Component) {
4066
4066
  render = _this$props.render,
4067
4067
  children = _this$props.children,
4068
4068
  name = _this$props.name,
4069
- rest = _objectWithoutPropertiesLoose(_this$props, ["component", "formik", "render", "children", "name"]);
4069
+ rest = _objectWithoutPropertiesLoose$1(_this$props, ["component", "formik", "render", "children", "name"]);
4070
4070
 
4071
4071
  var touch = getIn(formik.touched, name);
4072
4072
  var error = getIn(formik.errors, name);
@@ -4087,7 +4087,7 @@ var ErrorMessage = /*#__PURE__*/connect(ErrorMessageImpl);
4087
4087
  //
4088
4088
  // apiUrl: "https://api.daoyidh.com/mail"
4089
4089
  const sendEmail = function (sendMail, apiUrl, onSuccess) {
4090
- let timeout = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 5000;
4090
+ let timeout = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 10000;
4091
4091
  // timeout
4092
4092
  axios.defaults.timeout = timeout;
4093
4093
  try {
@@ -9799,29 +9799,11 @@ var moment$1 = {exports: {}};
9799
9799
 
9800
9800
  var moment = moment$1.exports;
9801
9801
 
9802
- var jszip_min = {exports: {}};
9803
-
9804
- /*!
9805
-
9806
- JSZip v3.7.1 - A JavaScript class for generating and reading zip files
9807
- <http://stuartk.com/jszip>
9808
-
9809
- (c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>
9810
- Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/master/LICENSE.markdown.
9811
-
9812
- JSZip uses the library pako released under the MIT license :
9813
- https://github.com/nodeca/pako/blob/master/LICENSE
9814
- */
9815
-
9816
- (function (module, exports) {
9817
- !function(t){module.exports=t();}(function(){return function s(a,o,h){function u(r,t){if(!o[r]){if(!a[r]){var e="function"==typeof commonjsRequire&&commonjsRequire;if(!t&&e)return e(r,!0);if(l)return l(r,!0);var i=new Error("Cannot find module '"+r+"'");throw i.code="MODULE_NOT_FOUND",i}var n=o[r]={exports:{}};a[r][0].call(n.exports,function(t){var e=a[r][1][t];return u(e||t)},n,n.exports,s,a,o,h);}return o[r].exports}for(var l="function"==typeof commonjsRequire&&commonjsRequire,t=0;t<h.length;t++)u(h[t]);return u}({1:[function(t,e,r){var c=t("./utils"),d=t("./support"),p="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";r.encode=function(t){for(var e,r,i,n,s,a,o,h=[],u=0,l=t.length,f=l,d="string"!==c.getTypeOf(t);u<t.length;)f=l-u,i=d?(e=t[u++],r=u<l?t[u++]:0,u<l?t[u++]:0):(e=t.charCodeAt(u++),r=u<l?t.charCodeAt(u++):0,u<l?t.charCodeAt(u++):0),n=e>>2,s=(3&e)<<4|r>>4,a=1<f?(15&r)<<2|i>>6:64,o=2<f?63&i:64,h.push(p.charAt(n)+p.charAt(s)+p.charAt(a)+p.charAt(o));return h.join("")},r.decode=function(t){var e,r,i,n,s,a,o=0,h=0,u="data:";if(t.substr(0,u.length)===u)throw new Error("Invalid base64 input, it looks like a data url.");var l,f=3*(t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"")).length/4;if(t.charAt(t.length-1)===p.charAt(64)&&f--,t.charAt(t.length-2)===p.charAt(64)&&f--,f%1!=0)throw new Error("Invalid base64 input, bad content length.");for(l=d.uint8array?new Uint8Array(0|f):new Array(0|f);o<t.length;)e=p.indexOf(t.charAt(o++))<<2|(n=p.indexOf(t.charAt(o++)))>>4,r=(15&n)<<4|(s=p.indexOf(t.charAt(o++)))>>2,i=(3&s)<<6|(a=p.indexOf(t.charAt(o++))),l[h++]=e,64!==s&&(l[h++]=r),64!==a&&(l[h++]=i);return l};},{"./support":30,"./utils":32}],2:[function(t,e,r){var i=t("./external"),n=t("./stream/DataWorker"),s=t("./stream/Crc32Probe"),a=t("./stream/DataLengthProbe");function o(t,e,r,i,n){this.compressedSize=t,this.uncompressedSize=e,this.crc32=r,this.compression=i,this.compressedContent=n;}o.prototype={getContentWorker:function(){var t=new n(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 n(i.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},o.createWorkerFrom=function(t,e,r){return t.pipe(new s).pipe(new a("uncompressedSize")).pipe(e.compressWorker(r)).pipe(new a("compressedSize")).withStreamInfo("compression",e)},e.exports=o;},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(t,e,r){var i=t("./stream/GenericWorker");r.STORE={magic:"\0\0",compressWorker:function(t){return new i("STORE compression")},uncompressWorker:function(){return new i("STORE decompression")}},r.DEFLATE=t("./flate");},{"./flate":7,"./stream/GenericWorker":28}],4:[function(t,e,r){var i=t("./utils");var o=function(){for(var t,e=[],r=0;r<256;r++){t=r;for(var i=0;i<8;i++)t=1&t?3988292384^t>>>1:t>>>1;e[r]=t;}return e}();e.exports=function(t,e){return void 0!==t&&t.length?"string"!==i.getTypeOf(t)?function(t,e,r,i){var n=o,s=i+r;t^=-1;for(var a=i;a<s;a++)t=t>>>8^n[255&(t^e[a])];return -1^t}(0|e,t,t.length,0):function(t,e,r,i){var n=o,s=i+r;t^=-1;for(var a=i;a<s;a++)t=t>>>8^n[255&(t^e.charCodeAt(a))];return -1^t}(0|e,t,t.length,0):0};},{"./utils":32}],5:[function(t,e,r){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){var i=null;i="undefined"!=typeof Promise?Promise:t("lie"),e.exports={Promise:i};},{lie:37}],7:[function(t,e,r){var i="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,n=t("pako"),s=t("./utils"),a=t("./stream/GenericWorker"),o=i?"uint8array":"array";function h(t,e){a.call(this,"FlateWorker/"+t),this._pako=null,this._pakoAction=t,this._pakoOptions=e,this.meta={};}r.magic="\b\0",s.inherits(h,a),h.prototype.processChunk=function(t){this.meta=t.meta,null===this._pako&&this._createPako(),this._pako.push(s.transformTo(o,t.data),!1);},h.prototype.flush=function(){a.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0);},h.prototype.cleanUp=function(){a.prototype.cleanUp.call(this),this._pako=null;},h.prototype._createPako=function(){this._pako=new n[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var e=this;this._pako.onData=function(t){e.push({data:t,meta:e.meta});};},r.compressWorker=function(t){return new h("Deflate",t)},r.uncompressWorker=function(){return new h("Inflate",{})};},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(t,e,r){function A(t,e){var r,i="";for(r=0;r<e;r++)i+=String.fromCharCode(255&t),t>>>=8;return i}function i(t,e,r,i,n,s){var a,o,h=t.file,u=t.compression,l=s!==O.utf8encode,f=I.transformTo("string",s(h.name)),d=I.transformTo("string",O.utf8encode(h.name)),c=h.comment,p=I.transformTo("string",s(c)),m=I.transformTo("string",O.utf8encode(c)),_=d.length!==h.name.length,g=m.length!==c.length,b="",v="",y="",w=h.dir,k=h.date,x={crc32:0,compressedSize:0,uncompressedSize:0};e&&!r||(x.crc32=t.crc32,x.compressedSize=t.compressedSize,x.uncompressedSize=t.uncompressedSize);var S=0;e&&(S|=8),l||!_&&!g||(S|=2048);var z=0,C=0;w&&(z|=16),"UNIX"===n?(C=798,z|=function(t,e){var r=t;return t||(r=e?16893:33204),(65535&r)<<16}(h.unixPermissions,w)):(C=20,z|=function(t){return 63&(t||0)}(h.dosPermissions)),a=k.getUTCHours(),a<<=6,a|=k.getUTCMinutes(),a<<=5,a|=k.getUTCSeconds()/2,o=k.getUTCFullYear()-1980,o<<=4,o|=k.getUTCMonth()+1,o<<=5,o|=k.getUTCDate(),_&&(v=A(1,1)+A(B(f),4)+d,b+="up"+A(v.length,2)+v),g&&(y=A(1,1)+A(B(p),4)+m,b+="uc"+A(y.length,2)+y);var E="";return E+="\n\0",E+=A(S,2),E+=u.magic,E+=A(a,2),E+=A(o,2),E+=A(x.crc32,4),E+=A(x.compressedSize,4),E+=A(x.uncompressedSize,4),E+=A(f.length,2),E+=A(b.length,2),{fileRecord:R.LOCAL_FILE_HEADER+E+f+b,dirRecord:R.CENTRAL_FILE_HEADER+A(C,2)+E+A(p.length,2)+"\0\0\0\0"+A(z,4)+A(i,4)+f+b+p}}var I=t("../utils"),n=t("../stream/GenericWorker"),O=t("../utf8"),B=t("../crc32"),R=t("../signature");function s(t,e,r,i){n.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=e,this.zipPlatform=r,this.encodeFileName=i,this.streamFiles=t,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[];}I.inherits(s,n),s.prototype.push=function(t){var e=t.meta.percent||0,r=this.entriesCount,i=this._sources.length;this.accumulate?this.contentBuffer.push(t):(this.bytesWritten+=t.data.length,n.prototype.push.call(this,{data:t.data,meta:{currentFile:this.currentFile,percent:r?(e+100*(r-i-1))/r:100}}));},s.prototype.openedSource=function(t){this.currentSourceOffset=this.bytesWritten,this.currentFile=t.file.name;var e=this.streamFiles&&!t.file.dir;if(e){var r=i(t,e,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:r.fileRecord,meta:{percent:0}});}else this.accumulate=!0;},s.prototype.closedSource=function(t){this.accumulate=!1;var e=this.streamFiles&&!t.file.dir,r=i(t,e,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(r.dirRecord),e)this.push({data:function(t){return R.DATA_DESCRIPTOR+A(t.crc32,4)+A(t.compressedSize,4)+A(t.uncompressedSize,4)}(t),meta:{percent:100}});else for(this.push({data:r.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null;},s.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,i=function(t,e,r,i,n){var s=I.transformTo("string",n(i));return R.CENTRAL_DIRECTORY_END+"\0\0\0\0"+A(t,2)+A(t,2)+A(e,4)+A(r,4)+A(s.length,2)+s}(this.dirRecords.length,r,t,this.zipComment,this.encodeFileName);this.push({data:i,meta:{percent:100}});},s.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume();},s.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},s.prototype.resume=function(){return !!n.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},s.prototype.error=function(t){var e=this._sources;if(!n.prototype.error.call(this,t))return !1;for(var r=0;r<e.length;r++)try{e[r].error(t);}catch(t){}return !0},s.prototype.lock=function(){n.prototype.lock.call(this);for(var t=this._sources,e=0;e<t.length;e++)t[e].lock();},e.exports=s;},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(t,e,r){var u=t("../compressions"),i=t("./ZipFileWorker");r.generateWorker=function(t,a,e){var o=new i(a.streamFiles,e,a.platform,a.encodeFileName),h=0;try{t.forEach(function(t,e){h++;var r=function(t,e){var r=t||e,i=u[r];if(!i)throw new Error(r+" is not a valid compression method !");return i}(e.options.compression,a.compression),i=e.options.compressionOptions||a.compressionOptions||{},n=e.dir,s=e.date;e._compressWorker(r,i).withStreamInfo("file",{name:t,dir:n,date:s,comment:e.comment||"",unixPermissions:e.unixPermissions,dosPermissions:e.dosPermissions}).pipe(o);}),o.entriesCount=h;}catch(t){o.error(t);}return o};},{"../compressions":3,"./ZipFileWorker":8}],10:[function(t,e,r){function i(){if(!(this instanceof i))return new i;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files=Object.create(null),this.comment=null,this.root="",this.clone=function(){var t=new i;for(var e in this)"function"!=typeof this[e]&&(t[e]=this[e]);return t};}(i.prototype=t("./object")).loadAsync=t("./load"),i.support=t("./support"),i.defaults=t("./defaults"),i.version="3.7.1",i.loadAsync=function(t,e){return (new i).loadAsync(t,e)},i.external=t("./external"),e.exports=i;},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(t,e,r){var i=t("./utils"),n=t("./external"),o=t("./utf8"),h=t("./zipEntries"),s=t("./stream/Crc32Probe"),u=t("./nodejsUtils");function l(i){return new n.Promise(function(t,e){var r=i.decompressed.getContentWorker().pipe(new s);r.on("error",function(t){e(t);}).on("end",function(){r.streamInfo.crc32!==i.decompressed.crc32?e(new Error("Corrupted zip : CRC32 mismatch")):t();}).resume();})}e.exports=function(t,s){var a=this;return s=i.extend(s||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:o.utf8decode}),u.isNode&&u.isStream(t)?n.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):i.prepareContent("the loaded zip file",t,!0,s.optimizedBinaryString,s.base64).then(function(t){var e=new h(s);return e.load(t),e}).then(function(t){var e=[n.Promise.resolve(t)],r=t.files;if(s.checkCRC32)for(var i=0;i<r.length;i++)e.push(l(r[i]));return n.Promise.all(e)}).then(function(t){for(var e=t.shift(),r=e.files,i=0;i<r.length;i++){var n=r[i];a.file(n.fileNameStr,n.decompressed,{binary:!0,optimizedBinaryString:!0,date:n.date,dir:n.dir,comment:n.fileCommentStr.length?n.fileCommentStr:null,unixPermissions:n.unixPermissions,dosPermissions:n.dosPermissions,createFolders:s.createFolders});}return e.zipComment.length&&(a.comment=e.zipComment),a})};},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(t,e,r){var i=t("../utils"),n=t("../stream/GenericWorker");function s(t,e){n.call(this,"Nodejs stream input adapter for "+t),this._upstreamEnded=!1,this._bindStream(e);}i.inherits(s,n),s.prototype._bindStream=function(t){var e=this;(this._stream=t).pause(),t.on("data",function(t){e.push({data:t,meta:{percent:0}});}).on("error",function(t){e.isPaused?this.generatedError=t:e.error(t);}).on("end",function(){e.isPaused?e._upstreamEnded=!0:e.end();});},s.prototype.pause=function(){return !!n.prototype.pause.call(this)&&(this._stream.pause(),!0)},s.prototype.resume=function(){return !!n.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},e.exports=s;},{"../stream/GenericWorker":28,"../utils":32}],13:[function(t,e,r){var n=t("readable-stream").Readable;function i(t,e,r){n.call(this,e),this._helper=t;var i=this;t.on("data",function(t,e){i.push(t)||i._helper.pause(),r&&r(e);}).on("error",function(t){i.emit("error",t);}).on("end",function(){i.push(null);});}t("../utils").inherits(i,n),i.prototype._read=function(){this._helper.resume();},e.exports=i;},{"../utils":32,"readable-stream":16}],14:[function(t,e,r){e.exports={isNode:"undefined"!=typeof Buffer,newBufferFrom:function(t,e){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(t,e);if("number"==typeof t)throw new Error('The "data" argument must not be a number');return new Buffer(t,e)},allocBuffer:function(t){if(Buffer.alloc)return Buffer.alloc(t);var e=new Buffer(t);return e.fill(0),e},isBuffer:function(t){return Buffer.isBuffer(t)},isStream:function(t){return t&&"function"==typeof t.on&&"function"==typeof t.pause&&"function"==typeof t.resume}};},{}],15:[function(t,e,r){function s(t,e,r){var i,n=u.getTypeOf(e),s=u.extend(r||{},f);s.date=s.date||new Date,null!==s.compression&&(s.compression=s.compression.toUpperCase()),"string"==typeof s.unixPermissions&&(s.unixPermissions=parseInt(s.unixPermissions,8)),s.unixPermissions&&16384&s.unixPermissions&&(s.dir=!0),s.dosPermissions&&16&s.dosPermissions&&(s.dir=!0),s.dir&&(t=g(t)),s.createFolders&&(i=_(t))&&b.call(this,i,!0);var a="string"===n&&!1===s.binary&&!1===s.base64;r&&void 0!==r.binary||(s.binary=!a),(e instanceof d&&0===e.uncompressedSize||s.dir||!e||0===e.length)&&(s.base64=!1,s.binary=!0,e="",s.compression="STORE",n="string");var o=null;o=e instanceof d||e instanceof l?e:p.isNode&&p.isStream(e)?new m(t,e):u.prepareContent(t,e,s.binary,s.optimizedBinaryString,s.base64);var h=new c(t,o,s);this.files[t]=h;}var n=t("./utf8"),u=t("./utils"),l=t("./stream/GenericWorker"),a=t("./stream/StreamHelper"),f=t("./defaults"),d=t("./compressedObject"),c=t("./zipObject"),o=t("./generate"),p=t("./nodejsUtils"),m=t("./nodejs/NodejsStreamInputAdapter"),_=function(t){"/"===t.slice(-1)&&(t=t.substring(0,t.length-1));var e=t.lastIndexOf("/");return 0<e?t.substring(0,e):""},g=function(t){return "/"!==t.slice(-1)&&(t+="/"),t},b=function(t,e){return e=void 0!==e?e:f.createFolders,t=g(t),this.files[t]||s.call(this,t,null,{dir:!0,createFolders:e}),this.files[t]};function h(t){return "[object RegExp]"===Object.prototype.toString.call(t)}var i={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,i;for(e in this.files)i=this.files[e],(r=e.slice(this.root.length,e.length))&&e.slice(0,this.root.length)===this.root&&t(r,i);},filter:function(r){var i=[];return this.forEach(function(t,e){r(t,e)&&i.push(e);}),i},file:function(t,e,r){if(1!==arguments.length)return t=this.root+t,s.call(this,t,e,r),this;if(h(t)){var i=t;return this.filter(function(t,e){return !e.dir&&i.test(t)})}var n=this.files[this.root+t];return n&&!n.dir?n:null},folder:function(r){if(!r)return this;if(h(r))return this.filter(function(t,e){return e.dir&&r.test(t)});var t=this.root+r,e=b.call(this,t),i=this.clone();return i.root=e.name,i},remove:function(r){r=this.root+r;var t=this.files[r];if(t||("/"!==r.slice(-1)&&(r+="/"),t=this.files[r]),t&&!t.dir)delete this.files[r];else for(var e=this.filter(function(t,e){return e.name.slice(0,r.length)===r}),i=0;i<e.length;i++)delete this.files[e[i].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=u.extend(t||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:n.utf8encode})).type=r.type.toLowerCase(),r.compression=r.compression.toUpperCase(),"binarystring"===r.type&&(r.type="string"),!r.type)throw new Error("No output type specified.");u.checkSupport(r.type),"darwin"!==r.platform&&"freebsd"!==r.platform&&"linux"!==r.platform&&"sunos"!==r.platform||(r.platform="UNIX"),"win32"===r.platform&&(r.platform="DOS");var i=r.comment||this.comment||"";e=o.generateWorker(this,r,i);}catch(t){(e=new l("error")).error(t);}return new a(e,r.type||"string",r.mimeType)},generateAsync:function(t,e){return this.generateInternalStream(t).accumulate(e)},generateNodeStream:function(t,e){return (t=t||{}).type||(t.type="nodebuffer"),this.generateInternalStream(t).toNodejsStream(e)}};e.exports=i;},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(t,e,r){e.exports=t("stream");},{stream:void 0}],17:[function(t,e,r){var i=t("./DataReader");function n(t){i.call(this,t);for(var e=0;e<this.data.length;e++)t[e]=255&t[e];}t("../utils").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),i=t.charCodeAt(2),n=t.charCodeAt(3),s=this.length-4;0<=s;--s)if(this.data[s]===e&&this.data[s+1]===r&&this.data[s+2]===i&&this.data[s+3]===n)return s-this.zero;return -1},n.prototype.readAndCheckSignature=function(t){var e=t.charCodeAt(0),r=t.charCodeAt(1),i=t.charCodeAt(2),n=t.charCodeAt(3),s=this.readData(4);return e===s[0]&&r===s[1]&&i===s[2]&&n===s[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":32,"./DataReader":18}],18:[function(t,e,r){var i=t("../utils");function n(t){this.data=t,this.length=t.length,this.index=0,this.zero=0;}n.prototype={checkOffset:function(t){this.checkIndex(this.index+t);},checkIndex:function(t){if(this.length<this.zero+t||t<0)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(1980+(t>>25&127),(t>>21&15)-1,t>>16&31,t>>11&31,t>>5&63,(31&t)<<1))}},e.exports=n;},{"../utils":32}],19:[function(t,e,r){var i=t("./Uint8ArrayReader");function n(t){i.call(this,t);}t("../utils").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":32,"./Uint8ArrayReader":21}],20:[function(t,e,r){var i=t("./DataReader");function n(t){i.call(this,t);}t("../utils").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){return t===this.readData(4)},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":32,"./DataReader":18}],21:[function(t,e,r){var i=t("./ArrayReader");function n(t){i.call(this,t);}t("../utils").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":32,"./ArrayReader":17}],22:[function(t,e,r){var i=t("../utils"),n=t("../support"),s=t("./ArrayReader"),a=t("./StringReader"),o=t("./NodeBufferReader"),h=t("./Uint8ArrayReader");e.exports=function(t){var e=i.getTypeOf(t);return i.checkSupport(e),"string"!==e||n.uint8array?"nodebuffer"===e?new o(t):n.uint8array?new h(i.transformTo("uint8array",t)):new s(i.transformTo("array",t)):new a(t)};},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(t,e,r){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";},{}],24:[function(t,e,r){var i=t("./GenericWorker"),n=t("../utils");function s(t){i.call(this,"ConvertWorker to "+t),this.destType=t;}n.inherits(s,i),s.prototype.processChunk=function(t){this.push({data:n.transformTo(this.destType,t.data),meta:t.meta});},e.exports=s;},{"../utils":32,"./GenericWorker":28}],25:[function(t,e,r){var i=t("./GenericWorker"),n=t("../crc32");function s(){i.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0);}t("../utils").inherits(s,i),s.prototype.processChunk=function(t){this.streamInfo.crc32=n(t.data,this.streamInfo.crc32||0),this.push(t);},e.exports=s;},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(t,e,r){var i=t("../utils"),n=t("./GenericWorker");function s(t){n.call(this,"DataLengthProbe for "+t),this.propName=t,this.withStreamInfo(t,0);}i.inherits(s,n),s.prototype.processChunk=function(t){if(t){var e=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=e+t.data.length;}n.prototype.processChunk.call(this,t);},e.exports=s;},{"../utils":32,"./GenericWorker":28}],27:[function(t,e,r){var i=t("../utils"),n=t("./GenericWorker");function s(t){n.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);});}i.inherits(s,n),s.prototype.cleanUp=function(){n.prototype.cleanUp.call(this),this.data=null;},s.prototype.resume=function(){return !!n.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,i.delay(this._tickAndRepeat,[],this)),!0)},s.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(i.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0));},s.prototype._tick=function(){if(this.isPaused||this.isFinished)return !1;var t=null,e=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":t=this.data.substring(this.index,e);break;case"uint8array":t=this.data.subarray(this.index,e);break;case"array":case"nodebuffer":t=this.data.slice(this.index,e);}return this.index=e,this.push({data:t,meta:{percent:this.max?this.index/this.max*100:0}})},e.exports=s;},{"../utils":32,"./GenericWorker":28}],28:[function(t,e,r){function i(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;}i.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&&(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&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return !1;var t=this.isPaused=!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=i;},{}],29:[function(t,e,r){var h=t("../utils"),n=t("./ConvertWorker"),s=t("./GenericWorker"),u=t("../base64"),i=t("../support"),a=t("../external"),o=null;if(i.nodestream)try{o=t("../nodejs/NodejsStreamOutputAdapter");}catch(t){}function l(t,o){return new a.Promise(function(e,r){var i=[],n=t._internalType,s=t._outputType,a=t._mimeType;t.on("data",function(t,e){i.push(t),o&&o(e);}).on("error",function(t){i=[],r(t);}).on("end",function(){try{var t=function(t,e,r){switch(t){case"blob":return h.newBlob(h.transformTo("arraybuffer",e),r);case"base64":return u.encode(e);default:return h.transformTo(t,e)}}(s,function(t,e){var r,i=0,n=null,s=0;for(r=0;r<e.length;r++)s+=e[r].length;switch(t){case"string":return e.join("");case"array":return Array.prototype.concat.apply([],e);case"uint8array":for(n=new Uint8Array(s),r=0;r<e.length;r++)n.set(e[r],i),i+=e[r].length;return n;case"nodebuffer":return Buffer.concat(e);default:throw new Error("concat : unsupported type '"+t+"'")}}(n,i),a);e(t);}catch(t){r(t);}i=[];}).resume();})}function f(t,e,r){var i=e;switch(e){case"blob":case"arraybuffer":i="uint8array";break;case"base64":i="string";}try{this._internalType=i,this._outputType=e,this._mimeType=r,h.checkSupport(i),this._worker=t.pipe(new n(i)),t.lock();}catch(t){this._worker=new s("error"),this._worker.error(t);}}f.prototype={accumulate:function(t){return l(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(){h.delay(e,arguments,r);}),this},resume:function(){return h.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(t){if(h.checkSupport("nodestream"),"nodebuffer"!==this._outputType)throw new Error(this._outputType+" is not supported by this method");return new o(this,{objectMode:"nodebuffer"!==this._outputType},t)}},e.exports=f;},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(t,e,r){if(r.base64=!0,r.array=!0,r.string=!0,r.arraybuffer="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array,r.nodebuffer="undefined"!=typeof Buffer,r.uint8array="undefined"!=typeof Uint8Array,"undefined"==typeof ArrayBuffer)r.blob=!1;else {var i=new ArrayBuffer(0);try{r.blob=0===new Blob([i],{type:"application/zip"}).size;}catch(t){try{var n=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);n.append(i),r.blob=0===n.getBlob("application/zip").size;}catch(t){r.blob=!1;}}}try{r.nodestream=!!t("readable-stream").Readable;}catch(t){r.nodestream=!1;}},{"readable-stream":16}],31:[function(t,e,s){for(var o=t("./utils"),h=t("./support"),r=t("./nodejsUtils"),i=t("./stream/GenericWorker"),u=new Array(256),n=0;n<256;n++)u[n]=252<=n?6:248<=n?5:240<=n?4:224<=n?3:192<=n?2:1;u[254]=u[254]=1;function a(){i.call(this,"utf-8 decode"),this.leftOver=null;}function l(){i.call(this,"utf-8 encode");}s.utf8encode=function(t){return h.nodebuffer?r.newBufferFrom(t,"utf-8"):function(t){var e,r,i,n,s,a=t.length,o=0;for(n=0;n<a;n++)55296==(64512&(r=t.charCodeAt(n)))&&n+1<a&&56320==(64512&(i=t.charCodeAt(n+1)))&&(r=65536+(r-55296<<10)+(i-56320),n++),o+=r<128?1:r<2048?2:r<65536?3:4;for(e=h.uint8array?new Uint8Array(o):new Array(o),n=s=0;s<o;n++)55296==(64512&(r=t.charCodeAt(n)))&&n+1<a&&56320==(64512&(i=t.charCodeAt(n+1)))&&(r=65536+(r-55296<<10)+(i-56320),n++),r<128?e[s++]=r:(r<2048?e[s++]=192|r>>>6:(r<65536?e[s++]=224|r>>>12:(e[s++]=240|r>>>18,e[s++]=128|r>>>12&63),e[s++]=128|r>>>6&63),e[s++]=128|63&r);return e}(t)},s.utf8decode=function(t){return h.nodebuffer?o.transformTo("nodebuffer",t).toString("utf-8"):function(t){var e,r,i,n,s=t.length,a=new Array(2*s);for(e=r=0;e<s;)if((i=t[e++])<128)a[r++]=i;else if(4<(n=u[i]))a[r++]=65533,e+=n-1;else {for(i&=2===n?31:3===n?15:7;1<n&&e<s;)i=i<<6|63&t[e++],n--;1<n?a[r++]=65533:i<65536?a[r++]=i:(i-=65536,a[r++]=55296|i>>10&1023,a[r++]=56320|1023&i);}return a.length!==r&&(a.subarray?a=a.subarray(0,r):a.length=r),o.applyFromCharCode(a)}(t=o.transformTo(h.uint8array?"uint8array":"array",t))},o.inherits(a,i),a.prototype.processChunk=function(t){var e=o.transformTo(h.uint8array?"uint8array":"array",t.data);if(this.leftOver&&this.leftOver.length){if(h.uint8array){var r=e;(e=new Uint8Array(r.length+this.leftOver.length)).set(this.leftOver,0),e.set(r,this.leftOver.length);}else e=this.leftOver.concat(e);this.leftOver=null;}var i=function(t,e){var r;for((e=e||t.length)>t.length&&(e=t.length),r=e-1;0<=r&&128==(192&t[r]);)r--;return r<0?e:0===r?e:r+u[t[r]]>e?r:e}(e),n=e;i!==e.length&&(h.uint8array?(n=e.subarray(0,i),this.leftOver=e.subarray(i,e.length)):(n=e.slice(0,i),this.leftOver=e.slice(i,e.length))),this.push({data:s.utf8decode(n),meta:t.meta});},a.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:s.utf8decode(this.leftOver),meta:{}}),this.leftOver=null);},s.Utf8DecodeWorker=a,o.inherits(l,i),l.prototype.processChunk=function(t){this.push({data:s.utf8encode(t.data),meta:t.meta});},s.Utf8EncodeWorker=l;},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(t,e,a){var o=t("./support"),h=t("./base64"),r=t("./nodejsUtils"),i=t("set-immediate-shim"),u=t("./external");function n(t){return t}function l(t,e){for(var r=0;r<t.length;++r)e[r]=255&t.charCodeAt(r);return e}a.newBlob=function(e,r){a.checkSupport("blob");try{return new Blob([e],{type:r})}catch(t){try{var i=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return i.append(e),i.getBlob(r)}catch(t){throw new Error("Bug : can't construct the Blob.")}}};var s={stringifyByChunk:function(t,e,r){var i=[],n=0,s=t.length;if(s<=r)return String.fromCharCode.apply(null,t);for(;n<s;)"array"===e||"nodebuffer"===e?i.push(String.fromCharCode.apply(null,t.slice(n,Math.min(n+r,s)))):i.push(String.fromCharCode.apply(null,t.subarray(n,Math.min(n+r,s)))),n+=r;return i.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 o.uint8array&&1===String.fromCharCode.apply(null,new Uint8Array(1)).length}catch(t){return !1}}(),nodebuffer:function(){try{return o.nodebuffer&&1===String.fromCharCode.apply(null,r.allocBuffer(1)).length}catch(t){return !1}}()}};function f(t){var e=65536,r=a.getTypeOf(t),i=!0;if("uint8array"===r?i=s.applyCanBeUsed.uint8array:"nodebuffer"===r&&(i=s.applyCanBeUsed.nodebuffer),i)for(;1<e;)try{return s.stringifyByChunk(t,r,e)}catch(t){e=Math.floor(e/2);}return s.stringifyByChar(t)}function d(t,e){for(var r=0;r<t.length;r++)e[r]=t[r];return e}a.applyFromCharCode=f;var c={};c.string={string:n,array:function(t){return l(t,new Array(t.length))},arraybuffer:function(t){return c.string.uint8array(t).buffer},uint8array:function(t){return l(t,new Uint8Array(t.length))},nodebuffer:function(t){return l(t,r.allocBuffer(t.length))}},c.array={string:f,array:n,arraybuffer:function(t){return new Uint8Array(t).buffer},uint8array:function(t){return new Uint8Array(t)},nodebuffer:function(t){return r.newBufferFrom(t)}},c.arraybuffer={string:function(t){return f(new Uint8Array(t))},array:function(t){return d(new Uint8Array(t),new Array(t.byteLength))},arraybuffer:n,uint8array:function(t){return new Uint8Array(t)},nodebuffer:function(t){return r.newBufferFrom(new Uint8Array(t))}},c.uint8array={string:f,array:function(t){return d(t,new Array(t.length))},arraybuffer:function(t){return t.buffer},uint8array:n,nodebuffer:function(t){return r.newBufferFrom(t)}},c.nodebuffer={string:f,array:function(t){return d(t,new Array(t.length))},arraybuffer:function(t){return c.nodebuffer.uint8array(t).buffer},uint8array:function(t){return d(t,new Uint8Array(t.length))},nodebuffer:n},a.transformTo=function(t,e){if(e=e||"",!t)return e;a.checkSupport(t);var r=a.getTypeOf(e);return c[r][t](e)},a.getTypeOf=function(t){return "string"==typeof t?"string":"[object Array]"===Object.prototype.toString.call(t)?"array":o.nodebuffer&&r.isBuffer(t)?"nodebuffer":o.uint8array&&t instanceof Uint8Array?"uint8array":o.arraybuffer&&t instanceof ArrayBuffer?"arraybuffer":void 0},a.checkSupport=function(t){if(!o[t.toLowerCase()])throw new Error(t+" is not supported by this platform")},a.MAX_VALUE_16BITS=65535,a.MAX_VALUE_32BITS=-1,a.pretty=function(t){var e,r,i="";for(r=0;r<(t||"").length;r++)i+="\\x"+((e=t.charCodeAt(r))<16?"0":"")+e.toString(16).toUpperCase();return i},a.delay=function(t,e,r){i(function(){t.apply(r||null,e||[]);});},a.inherits=function(t,e){function r(){}r.prototype=e.prototype,t.prototype=new r;},a.extend=function(){var t,e,r={};for(t=0;t<arguments.length;t++)for(e in arguments[t])arguments[t].hasOwnProperty(e)&&void 0===r[e]&&(r[e]=arguments[t][e]);return r},a.prepareContent=function(r,t,i,n,s){return u.Promise.resolve(t).then(function(i){return o.blob&&(i instanceof Blob||-1!==["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(i)))&&"undefined"!=typeof FileReader?new u.Promise(function(e,r){var t=new FileReader;t.onload=function(t){e(t.target.result);},t.onerror=function(t){r(t.target.error);},t.readAsArrayBuffer(i);}):i}).then(function(t){var e=a.getTypeOf(t);return e?("arraybuffer"===e?t=a.transformTo("uint8array",t):"string"===e&&(s?t=h.decode(t):i&&!0!==n&&(t=function(t){return l(t,o.uint8array?new Uint8Array(t.length):new Array(t.length))}(t))),t):u.Promise.reject(new Error("Can't read the data of '"+r+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))})};},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,"set-immediate-shim":54}],33:[function(t,e,r){var i=t("./reader/readerFor"),n=t("./utils"),s=t("./signature"),a=t("./zipEntry"),o=(t("./utf8"),t("./support"));function h(t){this.files=[],this.loadOptions=t;}h.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 ("+n.pretty(e)+", expected "+n.pretty(t)+")")}},isSignature:function(t,e){var r=this.reader.index;this.reader.setIndex(t);var i=this.reader.readString(4)===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=o.uint8array?"uint8array":"array",r=n.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,i=this.zip64EndOfCentralSize-44;0<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),1<this.disksCount)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 a({zip64:this.zip64},this.loadOptions)).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(t<0)throw !this.isSignature(0,s.LOCAL_FILE_HEADER)?new Error("Can't find end of central directory : is this a zip file ? If it is, see https://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 e=t;if(this.checkSignature(s.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===n.MAX_VALUE_16BITS||this.diskWithCentralDirStart===n.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===n.MAX_VALUE_16BITS||this.centralDirRecords===n.MAX_VALUE_16BITS||this.centralDirSize===n.MAX_VALUE_32BITS||this.centralDirOffset===n.MAX_VALUE_32BITS){if(this.zip64=!0,(t=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)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 r=this.centralDirOffset+this.centralDirSize;this.zip64&&(r+=20,r+=12+this.zip64EndOfCentralSize);var i=e-r;if(0<i)this.isSignature(e,s.CENTRAL_FILE_HEADER)||(this.reader.zero=i);else if(i<0)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=h;},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utf8":31,"./utils":32,"./zipEntry":34}],34:[function(t,e,r){var i=t("./reader/readerFor"),s=t("./utils"),n=t("./compressedObject"),a=t("./crc32"),o=t("./utf8"),h=t("./compressions"),u=t("./support");function l(t,e){this.options=t,this.loadOptions=e;}l.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 information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if(null===(e=function(t){for(var e in h)if(h.hasOwnProperty(e)&&h[e].magic===t)return h[e];return null}(this.compressionMethod)))throw new Error("Corrupted zip : compression "+s.pretty(this.compressionMethod)+" unknown (inner file : "+s.transformTo("string",this.fileName)+")");this.decompressed=new n(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),0==t&&(this.dosPermissions=63&this.externalFileAttributes),3==t&&(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===s.MAX_VALUE_32BITS&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===s.MAX_VALUE_32BITS&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===s.MAX_VALUE_32BITS&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===s.MAX_VALUE_32BITS&&(this.diskNumberStart=e.readInt(4));}},readExtraFields:function(t){var e,r,i,n=t.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});t.index+4<n;)e=t.readInt(2),r=t.readInt(2),i=t.readData(r),this.extraFields[e]={id:e,length:r,value:i};t.setIndex(n);},handleUTF8:function(){var t=u.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=o.utf8decode(this.fileName),this.fileCommentStr=o.utf8decode(this.fileComment);else {var e=this.findExtraFieldUnicodePath();if(null!==e)this.fileNameStr=e;else {var r=s.transformTo(t,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(r);}var i=this.findExtraFieldUnicodeComment();if(null!==i)this.fileCommentStr=i;else {var n=s.transformTo(t,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(n);}}},findExtraFieldUnicodePath:function(){var t=this.extraFields[28789];if(t){var e=i(t.value);return 1!==e.readInt(1)?null:a(this.fileName)!==e.readInt(4)?null:o.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:a(this.fileComment)!==e.readInt(4)?null:o.utf8decode(e.readData(t.length-5))}return null}},e.exports=l;},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(t,e,r){function i(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};}var s=t("./stream/StreamHelper"),n=t("./stream/DataWorker"),a=t("./utf8"),o=t("./compressedObject"),h=t("./stream/GenericWorker");i.prototype={internalStream:function(t){var e=null,r="string";try{if(!t)throw new Error("No output type specified.");var i="string"===(r=t.toLowerCase())||"text"===r;"binarystring"!==r&&"text"!==r||(r="string"),e=this._decompressWorker();var n=!this._dataBinary;n&&!i&&(e=e.pipe(new a.Utf8EncodeWorker)),!n&&i&&(e=e.pipe(new a.Utf8DecodeWorker));}catch(t){(e=new h("error")).error(t);}return new s(e,r,"")},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 o&&this._data.compression.magic===t.magic)return this._data.getCompressedWorker();var r=this._decompressWorker();return this._dataBinary||(r=r.pipe(new a.Utf8EncodeWorker)),o.createWorkerFrom(r,t,e)},_decompressWorker:function(){return this._data instanceof o?this._data.getContentWorker():this._data instanceof h?this._data:new n(this._data)}};for(var u=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],l=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},f=0;f<u.length;f++)i.prototype[u[f]]=l;e.exports=i;},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(t,l,e){(function(e){var r,i,t=e.MutationObserver||e.WebKitMutationObserver;if(t){var n=0,s=new t(u),a=e.document.createTextNode("");s.observe(a,{characterData:!0}),r=function(){a.data=n=++n%2;};}else if(e.setImmediate||void 0===e.MessageChannel)r="document"in e&&"onreadystatechange"in e.document.createElement("script")?function(){var t=e.document.createElement("script");t.onreadystatechange=function(){u(),t.onreadystatechange=null,t.parentNode.removeChild(t),t=null;},e.document.documentElement.appendChild(t);}:function(){setTimeout(u,0);};else {var o=new e.MessageChannel;o.port1.onmessage=u,r=function(){o.port2.postMessage(0);};}var h=[];function u(){var t,e;i=!0;for(var r=h.length;r;){for(e=h,h=[],t=-1;++t<r;)e[t]();r=h.length;}i=!1;}l.exports=function(t){1!==h.push(t)||i||r();};}).call(this,"undefined"!=typeof commonjsGlobal?commonjsGlobal:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});},{}],37:[function(t,e,r){var n=t("immediate");function u(){}var l={},s=["REJECTED"],a=["FULFILLED"],i=["PENDING"];function o(t){if("function"!=typeof t)throw new TypeError("resolver must be a function");this.state=i,this.queue=[],this.outcome=void 0,t!==u&&c(this,t);}function h(t,e,r){this.promise=t,"function"==typeof e&&(this.onFulfilled=e,this.callFulfilled=this.otherCallFulfilled),"function"==typeof r&&(this.onRejected=r,this.callRejected=this.otherCallRejected);}function f(e,r,i){n(function(){var t;try{t=r(i);}catch(t){return l.reject(e,t)}t===e?l.reject(e,new TypeError("Cannot resolve promise with itself")):l.resolve(e,t);});}function d(t){var e=t&&t.then;if(t&&("object"==typeof t||"function"==typeof t)&&"function"==typeof e)return function(){e.apply(t,arguments);}}function c(e,t){var r=!1;function i(t){r||(r=!0,l.reject(e,t));}function n(t){r||(r=!0,l.resolve(e,t));}var s=p(function(){t(n,i);});"error"===s.status&&i(s.value);}function p(t,e){var r={};try{r.value=t(e),r.status="success";}catch(t){r.status="error",r.value=t;}return r}(e.exports=o).prototype.finally=function(e){if("function"!=typeof e)return this;var r=this.constructor;return this.then(function(t){return r.resolve(e()).then(function(){return t})},function(t){return r.resolve(e()).then(function(){throw t})})},o.prototype.catch=function(t){return this.then(null,t)},o.prototype.then=function(t,e){if("function"!=typeof t&&this.state===a||"function"!=typeof e&&this.state===s)return this;var r=new this.constructor(u);this.state!==i?f(r,this.state===a?t:e,this.outcome):this.queue.push(new h(r,t,e));return r},h.prototype.callFulfilled=function(t){l.resolve(this.promise,t);},h.prototype.otherCallFulfilled=function(t){f(this.promise,this.onFulfilled,t);},h.prototype.callRejected=function(t){l.reject(this.promise,t);},h.prototype.otherCallRejected=function(t){f(this.promise,this.onRejected,t);},l.resolve=function(t,e){var r=p(d,e);if("error"===r.status)return l.reject(t,r.value);var i=r.value;if(i)c(t,i);else {t.state=a,t.outcome=e;for(var n=-1,s=t.queue.length;++n<s;)t.queue[n].callFulfilled(e);}return t},l.reject=function(t,e){t.state=s,t.outcome=e;for(var r=-1,i=t.queue.length;++r<i;)t.queue[r].callRejected(e);return t},o.resolve=function(t){if(t instanceof this)return t;return l.resolve(new this(u),t)},o.reject=function(t){var e=new this(u);return l.reject(e,t)},o.all=function(t){var r=this;if("[object Array]"!==Object.prototype.toString.call(t))return this.reject(new TypeError("must be an array"));var i=t.length,n=!1;if(!i)return this.resolve([]);var s=new Array(i),a=0,e=-1,o=new this(u);for(;++e<i;)h(t[e],e);return o;function h(t,e){r.resolve(t).then(function(t){s[e]=t,++a!==i||n||(n=!0,l.resolve(o,s));},function(t){n||(n=!0,l.reject(o,t));});}},o.race=function(t){var e=this;if("[object Array]"!==Object.prototype.toString.call(t))return this.reject(new TypeError("must be an array"));var r=t.length,i=!1;if(!r)return this.resolve([]);var n=-1,s=new this(u);for(;++n<r;)a=t[n],e.resolve(a).then(function(t){i||(i=!0,l.resolve(s,t));},function(t){i||(i=!0,l.reject(s,t));});var a;return s};},{immediate:36}],38:[function(t,e,r){var i={};(0, t("./lib/utils/common").assign)(i,t("./lib/deflate"),t("./lib/inflate"),t("./lib/zlib/constants")),e.exports=i;},{"./lib/deflate":39,"./lib/inflate":40,"./lib/utils/common":41,"./lib/zlib/constants":44}],39:[function(t,e,r){var a=t("./zlib/deflate"),o=t("./utils/common"),h=t("./utils/strings"),n=t("./zlib/messages"),s=t("./zlib/zstream"),u=Object.prototype.toString,l=0,f=-1,d=0,c=8;function p(t){if(!(this instanceof p))return new p(t);this.options=o.assign({level:f,method:c,chunkSize:16384,windowBits:15,memLevel:8,strategy:d,to:""},t||{});var e=this.options;e.raw&&0<e.windowBits?e.windowBits=-e.windowBits:e.gzip&&0<e.windowBits&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new s,this.strm.avail_out=0;var r=a.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(r!==l)throw new Error(n[r]);if(e.header&&a.deflateSetHeader(this.strm,e.header),e.dictionary){var i;if(i="string"==typeof e.dictionary?h.string2buf(e.dictionary):"[object ArrayBuffer]"===u.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,(r=a.deflateSetDictionary(this.strm,i))!==l)throw new Error(n[r]);this._dict_set=!0;}}function i(t,e){var r=new p(e);if(r.push(t,!0),r.err)throw r.msg||n[r.err];return r.result}p.prototype.push=function(t,e){var r,i,n=this.strm,s=this.options.chunkSize;if(this.ended)return !1;i=e===~~e?e:!0===e?4:0,"string"==typeof t?n.input=h.string2buf(t):"[object ArrayBuffer]"===u.call(t)?n.input=new Uint8Array(t):n.input=t,n.next_in=0,n.avail_in=n.input.length;do{if(0===n.avail_out&&(n.output=new o.Buf8(s),n.next_out=0,n.avail_out=s),1!==(r=a.deflate(n,i))&&r!==l)return this.onEnd(r),!(this.ended=!0);0!==n.avail_out&&(0!==n.avail_in||4!==i&&2!==i)||("string"===this.options.to?this.onData(h.buf2binstring(o.shrinkBuf(n.output,n.next_out))):this.onData(o.shrinkBuf(n.output,n.next_out)));}while((0<n.avail_in||0===n.avail_out)&&1!==r);return 4===i?(r=a.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===l):2!==i||(this.onEnd(l),!(n.avail_out=0))},p.prototype.onData=function(t){this.chunks.push(t);},p.prototype.onEnd=function(t){t===l&&("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.Deflate=p,r.deflate=i,r.deflateRaw=function(t,e){return (e=e||{}).raw=!0,i(t,e)},r.gzip=function(t,e){return (e=e||{}).gzip=!0,i(t,e)};},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(t,e,r){var d=t("./zlib/inflate"),c=t("./utils/common"),p=t("./utils/strings"),m=t("./zlib/constants"),i=t("./zlib/messages"),n=t("./zlib/zstream"),s=t("./zlib/gzheader"),_=Object.prototype.toString;function a(t){if(!(this instanceof a))return new a(t);this.options=c.assign({chunkSize:16384,windowBits:0,to:""},t||{});var e=this.options;e.raw&&0<=e.windowBits&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(0<=e.windowBits&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),15<e.windowBits&&e.windowBits<48&&0==(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new n,this.strm.avail_out=0;var r=d.inflateInit2(this.strm,e.windowBits);if(r!==m.Z_OK)throw new Error(i[r]);this.header=new s,d.inflateGetHeader(this.strm,this.header);}function o(t,e){var r=new a(e);if(r.push(t,!0),r.err)throw r.msg||i[r.err];return r.result}a.prototype.push=function(t,e){var r,i,n,s,a,o,h=this.strm,u=this.options.chunkSize,l=this.options.dictionary,f=!1;if(this.ended)return !1;i=e===~~e?e:!0===e?m.Z_FINISH:m.Z_NO_FLUSH,"string"==typeof t?h.input=p.binstring2buf(t):"[object ArrayBuffer]"===_.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 c.Buf8(u),h.next_out=0,h.avail_out=u),(r=d.inflate(h,m.Z_NO_FLUSH))===m.Z_NEED_DICT&&l&&(o="string"==typeof l?p.string2buf(l):"[object ArrayBuffer]"===_.call(l)?new Uint8Array(l):l,r=d.inflateSetDictionary(this.strm,o)),r===m.Z_BUF_ERROR&&!0===f&&(r=m.Z_OK,f=!1),r!==m.Z_STREAM_END&&r!==m.Z_OK)return this.onEnd(r),!(this.ended=!0);h.next_out&&(0!==h.avail_out&&r!==m.Z_STREAM_END&&(0!==h.avail_in||i!==m.Z_FINISH&&i!==m.Z_SYNC_FLUSH)||("string"===this.options.to?(n=p.utf8border(h.output,h.next_out),s=h.next_out-n,a=p.buf2string(h.output,n),h.next_out=s,h.avail_out=u-s,s&&c.arraySet(h.output,h.output,n,s,0),this.onData(a)):this.onData(c.shrinkBuf(h.output,h.next_out)))),0===h.avail_in&&0===h.avail_out&&(f=!0);}while((0<h.avail_in||0===h.avail_out)&&r!==m.Z_STREAM_END);return r===m.Z_STREAM_END&&(i=m.Z_FINISH),i===m.Z_FINISH?(r=d.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===m.Z_OK):i!==m.Z_SYNC_FLUSH||(this.onEnd(m.Z_OK),!(h.avail_out=0))},a.prototype.onData=function(t){this.chunks.push(t);},a.prototype.onEnd=function(t){t===m.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=c.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg;},r.Inflate=a,r.inflate=o,r.inflateRaw=function(t,e){return (e=e||{}).raw=!0,o(t,e)},r.ungzip=o;},{"./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){var i="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 i in r)r.hasOwnProperty(i)&&(t[i]=r[i]);}}return t},r.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var n={arraySet:function(t,e,r,i,n){if(e.subarray&&t.subarray)t.set(e.subarray(r,r+i),n);else for(var s=0;s<i;s++)t[n+s]=e[r+s];},flattenChunks:function(t){var e,r,i,n,s,a;for(e=i=0,r=t.length;e<r;e++)i+=t[e].length;for(a=new Uint8Array(i),e=n=0,r=t.length;e<r;e++)s=t[e],a.set(s,n),n+=s.length;return a}},s={arraySet:function(t,e,r,i,n){for(var s=0;s<i;s++)t[n+s]=e[r+s];},flattenChunks:function(t){return [].concat.apply([],t)}};r.setTyped=function(t){t?(r.Buf8=Uint8Array,r.Buf16=Uint16Array,r.Buf32=Int32Array,r.assign(r,n)):(r.Buf8=Array,r.Buf16=Array,r.Buf32=Array,r.assign(r,s));},r.setTyped(i);},{}],42:[function(t,e,r){var h=t("./common"),n=!0,s=!0;try{String.fromCharCode.apply(null,[0]);}catch(t){n=!1;}try{String.fromCharCode.apply(null,new Uint8Array(1));}catch(t){s=!1;}for(var u=new h.Buf8(256),i=0;i<256;i++)u[i]=252<=i?6:248<=i?5:240<=i?4:224<=i?3:192<=i?2:1;function l(t,e){if(e<65537&&(t.subarray&&s||!t.subarray&&n))return String.fromCharCode.apply(null,h.shrinkBuf(t,e));for(var r="",i=0;i<e;i++)r+=String.fromCharCode(t[i]);return r}u[254]=u[254]=1,r.string2buf=function(t){var e,r,i,n,s,a=t.length,o=0;for(n=0;n<a;n++)55296==(64512&(r=t.charCodeAt(n)))&&n+1<a&&56320==(64512&(i=t.charCodeAt(n+1)))&&(r=65536+(r-55296<<10)+(i-56320),n++),o+=r<128?1:r<2048?2:r<65536?3:4;for(e=new h.Buf8(o),n=s=0;s<o;n++)55296==(64512&(r=t.charCodeAt(n)))&&n+1<a&&56320==(64512&(i=t.charCodeAt(n+1)))&&(r=65536+(r-55296<<10)+(i-56320),n++),r<128?e[s++]=r:(r<2048?e[s++]=192|r>>>6:(r<65536?e[s++]=224|r>>>12:(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 l(t,t.length)},r.binstring2buf=function(t){for(var e=new h.Buf8(t.length),r=0,i=e.length;r<i;r++)e[r]=t.charCodeAt(r);return e},r.buf2string=function(t,e){var r,i,n,s,a=e||t.length,o=new Array(2*a);for(r=i=0;r<a;)if((n=t[r++])<128)o[i++]=n;else if(4<(s=u[n]))o[i++]=65533,r+=s-1;else {for(n&=2===s?31:3===s?15:7;1<s&&r<a;)n=n<<6|63&t[r++],s--;1<s?o[i++]=65533:n<65536?o[i++]=n:(n-=65536,o[i++]=55296|n>>10&1023,o[i++]=56320|1023&n);}return l(o,i)},r.utf8border=function(t,e){var r;for((e=e||t.length)>t.length&&(e=t.length),r=e-1;0<=r&&128==(192&t[r]);)r--;return r<0?e:0===r?e:r+u[t[r]]>e?r:e};},{"./common":41}],43:[function(t,e,r){e.exports=function(t,e,r,i){for(var n=65535&t|0,s=t>>>16&65535|0,a=0;0!==r;){for(r-=a=2e3<r?2e3:r;s=s+(n=n+e[i++]|0)|0,--a;);n%=65521,s%=65521;}return n|s<<16|0};},{}],44:[function(t,e,r){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){var o=function(){for(var t,e=[],r=0;r<256;r++){t=r;for(var i=0;i<8;i++)t=1&t?3988292384^t>>>1:t>>>1;e[r]=t;}return e}();e.exports=function(t,e,r,i){var n=o,s=i+r;t^=-1;for(var a=i;a<s;a++)t=t>>>8^n[255&(t^e[a])];return -1^t};},{}],46:[function(t,e,r){var h,d=t("../utils/common"),u=t("./trees"),c=t("./adler32"),p=t("./crc32"),i=t("./messages"),l=0,f=4,m=0,_=-2,g=-1,b=4,n=2,v=8,y=9,s=286,a=30,o=19,w=2*s+1,k=15,x=3,S=258,z=S+x+1,C=42,E=113,A=1,I=2,O=3,B=4;function R(t,e){return t.msg=i[e],e}function T(t){return (t<<1)-(4<t?9:0)}function D(t){for(var e=t.length;0<=--e;)t[e]=0;}function F(t){var e=t.state,r=e.pending;r>t.avail_out&&(r=t.avail_out),0!==r&&(d.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 N(t,e){u._tr_flush_block(t,0<=t.block_start?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,F(t.strm);}function U(t,e){t.pending_buf[t.pending++]=e;}function P(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e;}function L(t,e){var r,i,n=t.max_chain_length,s=t.strstart,a=t.prev_length,o=t.nice_match,h=t.strstart>t.w_size-z?t.strstart-(t.w_size-z):0,u=t.window,l=t.w_mask,f=t.prev,d=t.strstart+S,c=u[s+a-1],p=u[s+a];t.prev_length>=t.good_match&&(n>>=2),o>t.lookahead&&(o=t.lookahead);do{if(u[(r=e)+a]===p&&u[r+a-1]===c&&u[r]===u[s]&&u[++r]===u[s+1]){s+=2,r++;do{}while(u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&s<d);if(i=S-(d-s),s=d-S,a<i){if(t.match_start=e,o<=(a=i))break;c=u[s+a-1],p=u[s+a];}}}while((e=f[e&l])>h&&0!=--n);return a<=t.lookahead?a:t.lookahead}function j(t){var e,r,i,n,s,a,o,h,u,l,f=t.w_size;do{if(n=t.window_size-t.lookahead-t.strstart,t.strstart>=f+(f-z)){for(d.arraySet(t.window,t.window,f,f,0),t.match_start-=f,t.strstart-=f,t.block_start-=f,e=r=t.hash_size;i=t.head[--e],t.head[e]=f<=i?i-f:0,--r;);for(e=r=f;i=t.prev[--e],t.prev[e]=f<=i?i-f:0,--r;);n+=f;}if(0===t.strm.avail_in)break;if(a=t.strm,o=t.window,h=t.strstart+t.lookahead,u=n,l=void 0,l=a.avail_in,u<l&&(l=u),r=0===l?0:(a.avail_in-=l,d.arraySet(o,a.input,a.next_in,l,h),1===a.state.wrap?a.adler=c(a.adler,o,l,h):2===a.state.wrap&&(a.adler=p(a.adler,o,l,h)),a.next_in+=l,a.total_in+=l,l),t.lookahead+=r,t.lookahead+t.insert>=x)for(s=t.strstart-t.insert,t.ins_h=t.window[s],t.ins_h=(t.ins_h<<t.hash_shift^t.window[s+1])&t.hash_mask;t.insert&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[s+x-1])&t.hash_mask,t.prev[s&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=s,s++,t.insert--,!(t.lookahead+t.insert<x)););}while(t.lookahead<z&&0!==t.strm.avail_in)}function Z(t,e){for(var r,i;;){if(t.lookahead<z){if(j(t),t.lookahead<z&&e===l)return A;if(0===t.lookahead)break}if(r=0,t.lookahead>=x&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+x-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-z&&(t.match_length=L(t,r)),t.match_length>=x)if(i=u._tr_tally(t,t.strstart-t.match_start,t.match_length-x),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=x){for(t.match_length--;t.strstart++,t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+x-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!=--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 i=u._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(i&&(N(t,!1),0===t.strm.avail_out))return A}return t.insert=t.strstart<x-1?t.strstart:x-1,e===f?(N(t,!0),0===t.strm.avail_out?O:B):t.last_lit&&(N(t,!1),0===t.strm.avail_out)?A:I}function W(t,e){for(var r,i,n;;){if(t.lookahead<z){if(j(t),t.lookahead<z&&e===l)return A;if(0===t.lookahead)break}if(r=0,t.lookahead>=x&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+x-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=x-1,0!==r&&t.prev_length<t.max_lazy_match&&t.strstart-r<=t.w_size-z&&(t.match_length=L(t,r),t.match_length<=5&&(1===t.strategy||t.match_length===x&&4096<t.strstart-t.match_start)&&(t.match_length=x-1)),t.prev_length>=x&&t.match_length<=t.prev_length){for(n=t.strstart+t.lookahead-x,i=u._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-x),t.lookahead-=t.prev_length-1,t.prev_length-=2;++t.strstart<=n&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+x-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!=--t.prev_length;);if(t.match_available=0,t.match_length=x-1,t.strstart++,i&&(N(t,!1),0===t.strm.avail_out))return A}else if(t.match_available){if((i=u._tr_tally(t,0,t.window[t.strstart-1]))&&N(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return A}else t.match_available=1,t.strstart++,t.lookahead--;}return t.match_available&&(i=u._tr_tally(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<x-1?t.strstart:x-1,e===f?(N(t,!0),0===t.strm.avail_out?O:B):t.last_lit&&(N(t,!1),0===t.strm.avail_out)?A:I}function M(t,e,r,i,n){this.good_length=t,this.max_lazy=e,this.nice_length=r,this.max_chain=i,this.func=n;}function H(){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=v,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 d.Buf16(2*w),this.dyn_dtree=new d.Buf16(2*(2*a+1)),this.bl_tree=new d.Buf16(2*(2*o+1)),D(this.dyn_ltree),D(this.dyn_dtree),D(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new d.Buf16(k+1),this.heap=new d.Buf16(2*s+1),D(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new d.Buf16(2*s+1),D(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 G(t){var e;return t&&t.state?(t.total_in=t.total_out=0,t.data_type=n,(e=t.state).pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?C:E,t.adler=2===e.wrap?0:1,e.last_flush=l,u._tr_init(e),m):R(t,_)}function K(t){var e=G(t);return e===m&&function(t){t.window_size=2*t.w_size,D(t.head),t.max_lazy_match=h[t.level].max_lazy,t.good_match=h[t.level].good_length,t.nice_match=h[t.level].nice_length,t.max_chain_length=h[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=x-1,t.match_available=0,t.ins_h=0;}(t.state),e}function Y(t,e,r,i,n,s){if(!t)return _;var a=1;if(e===g&&(e=6),i<0?(a=0,i=-i):15<i&&(a=2,i-=16),n<1||y<n||r!==v||i<8||15<i||e<0||9<e||s<0||b<s)return R(t,_);8===i&&(i=9);var o=new H;return (t.state=o).strm=t,o.wrap=a,o.gzhead=null,o.w_bits=i,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=n+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+x-1)/x),o.window=new d.Buf8(2*o.w_size),o.head=new d.Buf16(o.hash_size),o.prev=new d.Buf16(o.w_size),o.lit_bufsize=1<<n+6,o.pending_buf_size=4*o.lit_bufsize,o.pending_buf=new d.Buf8(o.pending_buf_size),o.d_buf=1*o.lit_bufsize,o.l_buf=3*o.lit_bufsize,o.level=e,o.strategy=s,o.method=r,K(t)}h=[new M(0,0,0,0,function(t,e){var r=65535;for(r>t.pending_buf_size-5&&(r=t.pending_buf_size-5);;){if(t.lookahead<=1){if(j(t),0===t.lookahead&&e===l)return A;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var i=t.block_start+r;if((0===t.strstart||t.strstart>=i)&&(t.lookahead=t.strstart-i,t.strstart=i,N(t,!1),0===t.strm.avail_out))return A;if(t.strstart-t.block_start>=t.w_size-z&&(N(t,!1),0===t.strm.avail_out))return A}return t.insert=0,e===f?(N(t,!0),0===t.strm.avail_out?O:B):(t.strstart>t.block_start&&(N(t,!1),t.strm.avail_out),A)}),new M(4,4,8,4,Z),new M(4,5,16,8,Z),new M(4,6,32,32,Z),new M(4,4,16,16,W),new M(8,16,32,32,W),new M(8,16,128,128,W),new M(8,32,128,256,W),new M(32,128,258,1024,W),new M(32,258,258,4096,W)],r.deflateInit=function(t,e){return Y(t,e,v,15,8,0)},r.deflateInit2=Y,r.deflateReset=K,r.deflateResetKeep=G,r.deflateSetHeader=function(t,e){return t&&t.state?2!==t.state.wrap?_:(t.state.gzhead=e,m):_},r.deflate=function(t,e){var r,i,n,s;if(!t||!t.state||5<e||e<0)return t?R(t,_):_;if(i=t.state,!t.output||!t.input&&0!==t.avail_in||666===i.status&&e!==f)return R(t,0===t.avail_out?-5:_);if(i.strm=t,r=i.last_flush,i.last_flush=e,i.status===C)if(2===i.wrap)t.adler=0,U(i,31),U(i,139),U(i,8),i.gzhead?(U(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),U(i,255&i.gzhead.time),U(i,i.gzhead.time>>8&255),U(i,i.gzhead.time>>16&255),U(i,i.gzhead.time>>24&255),U(i,9===i.level?2:2<=i.strategy||i.level<2?4:0),U(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(U(i,255&i.gzhead.extra.length),U(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(t.adler=p(t.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=69):(U(i,0),U(i,0),U(i,0),U(i,0),U(i,0),U(i,9===i.level?2:2<=i.strategy||i.level<2?4:0),U(i,3),i.status=E);else {var a=v+(i.w_bits-8<<4)<<8;a|=(2<=i.strategy||i.level<2?0:i.level<6?1:6===i.level?2:3)<<6,0!==i.strstart&&(a|=32),a+=31-a%31,i.status=E,P(i,a),0!==i.strstart&&(P(i,t.adler>>>16),P(i,65535&t.adler)),t.adler=1;}if(69===i.status)if(i.gzhead.extra){for(n=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),F(t),n=i.pending,i.pending!==i.pending_buf_size));)U(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=73);}else i.status=73;if(73===i.status)if(i.gzhead.name){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),F(t),n=i.pending,i.pending===i.pending_buf_size)){s=1;break}s=i.gzindex<i.gzhead.name.length?255&i.gzhead.name.charCodeAt(i.gzindex++):0,U(i,s);}while(0!==s);i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),0===s&&(i.gzindex=0,i.status=91);}else i.status=91;if(91===i.status)if(i.gzhead.comment){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),F(t),n=i.pending,i.pending===i.pending_buf_size)){s=1;break}s=i.gzindex<i.gzhead.comment.length?255&i.gzhead.comment.charCodeAt(i.gzindex++):0,U(i,s);}while(0!==s);i.gzhead.hcrc&&i.pending>n&&(t.adler=p(t.adler,i.pending_buf,i.pending-n,n)),0===s&&(i.status=103);}else i.status=103;if(103===i.status&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&F(t),i.pending+2<=i.pending_buf_size&&(U(i,255&t.adler),U(i,t.adler>>8&255),t.adler=0,i.status=E)):i.status=E),0!==i.pending){if(F(t),0===t.avail_out)return i.last_flush=-1,m}else if(0===t.avail_in&&T(e)<=T(r)&&e!==f)return R(t,-5);if(666===i.status&&0!==t.avail_in)return R(t,-5);if(0!==t.avail_in||0!==i.lookahead||e!==l&&666!==i.status){var o=2===i.strategy?function(t,e){for(var r;;){if(0===t.lookahead&&(j(t),0===t.lookahead)){if(e===l)return A;break}if(t.match_length=0,r=u._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,r&&(N(t,!1),0===t.strm.avail_out))return A}return t.insert=0,e===f?(N(t,!0),0===t.strm.avail_out?O:B):t.last_lit&&(N(t,!1),0===t.strm.avail_out)?A:I}(i,e):3===i.strategy?function(t,e){for(var r,i,n,s,a=t.window;;){if(t.lookahead<=S){if(j(t),t.lookahead<=S&&e===l)return A;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=x&&0<t.strstart&&(i=a[n=t.strstart-1])===a[++n]&&i===a[++n]&&i===a[++n]){s=t.strstart+S;do{}while(i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&n<s);t.match_length=S-(s-n),t.match_length>t.lookahead&&(t.match_length=t.lookahead);}if(t.match_length>=x?(r=u._tr_tally(t,1,t.match_length-x),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(r=u._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),r&&(N(t,!1),0===t.strm.avail_out))return A}return t.insert=0,e===f?(N(t,!0),0===t.strm.avail_out?O:B):t.last_lit&&(N(t,!1),0===t.strm.avail_out)?A:I}(i,e):h[i.level].func(i,e);if(o!==O&&o!==B||(i.status=666),o===A||o===O)return 0===t.avail_out&&(i.last_flush=-1),m;if(o===I&&(1===e?u._tr_align(i):5!==e&&(u._tr_stored_block(i,0,0,!1),3===e&&(D(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),F(t),0===t.avail_out))return i.last_flush=-1,m}return e!==f?m:i.wrap<=0?1:(2===i.wrap?(U(i,255&t.adler),U(i,t.adler>>8&255),U(i,t.adler>>16&255),U(i,t.adler>>24&255),U(i,255&t.total_in),U(i,t.total_in>>8&255),U(i,t.total_in>>16&255),U(i,t.total_in>>24&255)):(P(i,t.adler>>>16),P(i,65535&t.adler)),F(t),0<i.wrap&&(i.wrap=-i.wrap),0!==i.pending?m:1)},r.deflateEnd=function(t){var e;return t&&t.state?(e=t.state.status)!==C&&69!==e&&73!==e&&91!==e&&103!==e&&e!==E&&666!==e?R(t,_):(t.state=null,e===E?R(t,-3):m):_},r.deflateSetDictionary=function(t,e){var r,i,n,s,a,o,h,u,l=e.length;if(!t||!t.state)return _;if(2===(s=(r=t.state).wrap)||1===s&&r.status!==C||r.lookahead)return _;for(1===s&&(t.adler=c(t.adler,e,l,0)),r.wrap=0,l>=r.w_size&&(0===s&&(D(r.head),r.strstart=0,r.block_start=0,r.insert=0),u=new d.Buf8(r.w_size),d.arraySet(u,e,l-r.w_size,r.w_size,0),e=u,l=r.w_size),a=t.avail_in,o=t.next_in,h=t.input,t.avail_in=l,t.next_in=0,t.input=e,j(r);r.lookahead>=x;){for(i=r.strstart,n=r.lookahead-(x-1);r.ins_h=(r.ins_h<<r.hash_shift^r.window[i+x-1])&r.hash_mask,r.prev[i&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=i,i++,--n;);r.strstart=i,r.lookahead=x-1,j(r);}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=x-1,r.match_available=0,t.next_in=o,t.input=h,t.avail_in=a,r.wrap=s,m},r.deflateInfo="pako deflate (from Nodeca project)";},{"../utils/common":41,"./adler32":43,"./crc32":45,"./messages":51,"./trees":52}],47:[function(t,e,r){e.exports=function(){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;};},{}],48:[function(t,e,r){e.exports=function(t,e){var r,i,n,s,a,o,h,u,l,f,d,c,p,m,_,g,b,v,y,w,k,x,S,z,C;r=t.state,i=t.next_in,z=t.input,n=i+(t.avail_in-5),s=t.next_out,C=t.output,a=s-(e-t.avail_out),o=s+(t.avail_out-257),h=r.dmax,u=r.wsize,l=r.whave,f=r.wnext,d=r.window,c=r.hold,p=r.bits,m=r.lencode,_=r.distcode,g=(1<<r.lenbits)-1,b=(1<<r.distbits)-1;t:do{p<15&&(c+=z[i++]<<p,p+=8,c+=z[i++]<<p,p+=8),v=m[c&g];e:for(;;){if(c>>>=y=v>>>24,p-=y,0===(y=v>>>16&255))C[s++]=65535&v;else {if(!(16&y)){if(0==(64&y)){v=m[(65535&v)+(c&(1<<y)-1)];continue e}if(32&y){r.mode=12;break t}t.msg="invalid literal/length code",r.mode=30;break t}w=65535&v,(y&=15)&&(p<y&&(c+=z[i++]<<p,p+=8),w+=c&(1<<y)-1,c>>>=y,p-=y),p<15&&(c+=z[i++]<<p,p+=8,c+=z[i++]<<p,p+=8),v=_[c&b];r:for(;;){if(c>>>=y=v>>>24,p-=y,!(16&(y=v>>>16&255))){if(0==(64&y)){v=_[(65535&v)+(c&(1<<y)-1)];continue r}t.msg="invalid distance code",r.mode=30;break t}if(k=65535&v,p<(y&=15)&&(c+=z[i++]<<p,(p+=8)<y&&(c+=z[i++]<<p,p+=8)),h<(k+=c&(1<<y)-1)){t.msg="invalid distance too far back",r.mode=30;break t}if(c>>>=y,p-=y,(y=s-a)<k){if(l<(y=k-y)&&r.sane){t.msg="invalid distance too far back",r.mode=30;break t}if(S=d,(x=0)===f){if(x+=u-y,y<w){for(w-=y;C[s++]=d[x++],--y;);x=s-k,S=C;}}else if(f<y){if(x+=u+f-y,(y-=f)<w){for(w-=y;C[s++]=d[x++],--y;);if(x=0,f<w){for(w-=y=f;C[s++]=d[x++],--y;);x=s-k,S=C;}}}else if(x+=f-y,y<w){for(w-=y;C[s++]=d[x++],--y;);x=s-k,S=C;}for(;2<w;)C[s++]=S[x++],C[s++]=S[x++],C[s++]=S[x++],w-=3;w&&(C[s++]=S[x++],1<w&&(C[s++]=S[x++]));}else {for(x=s-k;C[s++]=C[x++],C[s++]=C[x++],C[s++]=C[x++],2<(w-=3););w&&(C[s++]=C[x++],1<w&&(C[s++]=C[x++]));}break}}break}}while(i<n&&s<o);i-=w=p>>3,c&=(1<<(p-=w<<3))-1,t.next_in=i,t.next_out=s,t.avail_in=i<n?n-i+5:5-(i-n),t.avail_out=s<o?o-s+257:257-(s-o),r.hold=c,r.bits=p;};},{}],49:[function(t,e,r){var I=t("../utils/common"),O=t("./adler32"),B=t("./crc32"),R=t("./inffast"),T=t("./inftrees"),D=1,F=2,N=0,U=-2,P=1,i=852,n=592;function L(t){return (t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function s(){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 I.Buf16(320),this.work=new I.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=P,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new I.Buf32(i),e.distcode=e.distdyn=new I.Buf32(n),e.sane=1,e.back=-1,N):U}function o(t){var e;return t&&t.state?((e=t.state).wsize=0,e.whave=0,e.wnext=0,a(t)):U}function h(t,e){var r,i;return t&&t.state?(i=t.state,e<0?(r=0,e=-e):(r=1+(e>>4),e<48&&(e&=15)),e&&(e<8||15<e)?U:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=r,i.wbits=e,o(t))):U}function u(t,e){var r,i;return t?(i=new s,(t.state=i).window=null,(r=h(t,e))!==N&&(t.state=null),r):U}var l,f,d=!0;function j(t){if(d){var e;for(l=new I.Buf32(512),f=new I.Buf32(32),e=0;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(T(D,t.lens,0,288,l,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;T(F,t.lens,0,32,f,0,t.work,{bits:5}),d=!1;}t.lencode=l,t.lenbits=9,t.distcode=f,t.distbits=5;}function Z(t,e,r,i){var n,s=t.state;return null===s.window&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new I.Buf8(s.wsize)),i>=s.wsize?(I.arraySet(s.window,e,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(i<(n=s.wsize-s.wnext)&&(n=i),I.arraySet(s.window,e,r-i,n,s.wnext),(i-=n)?(I.arraySet(s.window,e,r-i,i,0),s.wnext=i,s.whave=s.wsize):(s.wnext+=n,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=n))),0}r.inflateReset=o,r.inflateReset2=h,r.inflateResetKeep=a,r.inflateInit=function(t){return u(t,15)},r.inflateInit2=u,r.inflate=function(t,e){var r,i,n,s,a,o,h,u,l,f,d,c,p,m,_,g,b,v,y,w,k,x,S,z,C=0,E=new I.Buf8(4),A=[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 U;12===(r=t.state).mode&&(r.mode=13),a=t.next_out,n=t.output,h=t.avail_out,s=t.next_in,i=t.input,o=t.avail_in,u=r.hold,l=r.bits,f=o,d=h,x=N;t:for(;;)switch(r.mode){case P:if(0===r.wrap){r.mode=13;break}for(;l<16;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}if(2&r.wrap&&35615===u){E[r.check=0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0),l=u=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){t.msg="incorrect header check",r.mode=30;break}if(8!=(15&u)){t.msg="unknown compression method",r.mode=30;break}if(l-=4,k=8+(15&(u>>>=4)),0===r.wbits)r.wbits=k;else if(k>r.wbits){t.msg="invalid window size",r.mode=30;break}r.dmax=1<<k,t.adler=r.check=1,r.mode=512&u?10:12,l=u=0;break;case 2:for(;l<16;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}if(r.flags=u,8!=(255&r.flags)){t.msg="unknown compression method",r.mode=30;break}if(57344&r.flags){t.msg="unknown header flags set",r.mode=30;break}r.head&&(r.head.text=u>>8&1),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=3;case 3:for(;l<32;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}r.head&&(r.head.time=u),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,E[2]=u>>>16&255,E[3]=u>>>24&255,r.check=B(r.check,E,4,0)),l=u=0,r.mode=4;case 4:for(;l<16;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}r.head&&(r.head.xflags=255&u,r.head.os=u>>8),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=5;case 5:if(1024&r.flags){for(;l<16;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}r.length=u,r.head&&(r.head.extra_len=u),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0;}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&(o<(c=r.length)&&(c=o),c&&(r.head&&(k=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),I.arraySet(r.head.extra,i,s,c,k)),512&r.flags&&(r.check=B(r.check,i,c,s)),o-=c,s+=c,r.length-=c),r.length))break t;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===o)break t;for(c=0;k=i[s+c++],r.head&&k&&r.length<65536&&(r.head.name+=String.fromCharCode(k)),k&&c<o;);if(512&r.flags&&(r.check=B(r.check,i,c,s)),o-=c,s+=c,k)break t}else r.head&&(r.head.name=null);r.length=0,r.mode=8;case 8:if(4096&r.flags){if(0===o)break t;for(c=0;k=i[s+c++],r.head&&k&&r.length<65536&&(r.head.comment+=String.fromCharCode(k)),k&&c<o;);if(512&r.flags&&(r.check=B(r.check,i,c,s)),o-=c,s+=c,k)break t}else r.head&&(r.head.comment=null);r.mode=9;case 9:if(512&r.flags){for(;l<16;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}if(u!==(65535&r.check)){t.msg="header crc mismatch",r.mode=30;break}l=u=0;}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),t.adler=r.check=0,r.mode=12;break;case 10:for(;l<32;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}t.adler=r.check=L(u),l=u=0,r.mode=11;case 11:if(0===r.havedict)return t.next_out=a,t.avail_out=h,t.next_in=s,t.avail_in=o,r.hold=u,r.bits=l,2;t.adler=r.check=1,r.mode=12;case 12:if(5===e||6===e)break t;case 13:if(r.last){u>>>=7&l,l-=7&l,r.mode=27;break}for(;l<3;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}switch(r.last=1&u,l-=1,3&(u>>>=1)){case 0:r.mode=14;break;case 1:if(j(r),r.mode=20,6!==e)break;u>>>=2,l-=2;break t;case 2:r.mode=17;break;case 3:t.msg="invalid block type",r.mode=30;}u>>>=2,l-=2;break;case 14:for(u>>>=7&l,l-=7&l;l<32;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}if((65535&u)!=(u>>>16^65535)){t.msg="invalid stored block lengths",r.mode=30;break}if(r.length=65535&u,l=u=0,r.mode=15,6===e)break t;case 15:r.mode=16;case 16:if(c=r.length){if(o<c&&(c=o),h<c&&(c=h),0===c)break t;I.arraySet(n,i,s,c,a),o-=c,s+=c,h-=c,a+=c,r.length-=c;break}r.mode=12;break;case 17:for(;l<14;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}if(r.nlen=257+(31&u),u>>>=5,l-=5,r.ndist=1+(31&u),u>>>=5,l-=5,r.ncode=4+(15&u),u>>>=4,l-=4,286<r.nlen||30<r.ndist){t.msg="too many length or distance symbols",r.mode=30;break}r.have=0,r.mode=18;case 18:for(;r.have<r.ncode;){for(;l<3;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}r.lens[A[r.have++]]=7&u,u>>>=3,l-=3;}for(;r.have<19;)r.lens[A[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,S={bits:r.lenbits},x=T(0,r.lens,0,19,r.lencode,0,r.work,S),r.lenbits=S.bits,x){t.msg="invalid code lengths set",r.mode=30;break}r.have=0,r.mode=19;case 19:for(;r.have<r.nlen+r.ndist;){for(;g=(C=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}if(b<16)u>>>=_,l-=_,r.lens[r.have++]=b;else {if(16===b){for(z=_+2;l<z;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}if(u>>>=_,l-=_,0===r.have){t.msg="invalid bit length repeat",r.mode=30;break}k=r.lens[r.have-1],c=3+(3&u),u>>>=2,l-=2;}else if(17===b){for(z=_+3;l<z;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}l-=_,k=0,c=3+(7&(u>>>=_)),u>>>=3,l-=3;}else {for(z=_+7;l<z;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}l-=_,k=0,c=11+(127&(u>>>=_)),u>>>=7,l-=7;}if(r.have+c>r.nlen+r.ndist){t.msg="invalid bit length repeat",r.mode=30;break}for(;c--;)r.lens[r.have++]=k;}}if(30===r.mode)break;if(0===r.lens[256]){t.msg="invalid code -- missing end-of-block",r.mode=30;break}if(r.lenbits=9,S={bits:r.lenbits},x=T(D,r.lens,0,r.nlen,r.lencode,0,r.work,S),r.lenbits=S.bits,x){t.msg="invalid literal/lengths set",r.mode=30;break}if(r.distbits=6,r.distcode=r.distdyn,S={bits:r.distbits},x=T(F,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,S),r.distbits=S.bits,x){t.msg="invalid distances set",r.mode=30;break}if(r.mode=20,6===e)break t;case 20:r.mode=21;case 21:if(6<=o&&258<=h){t.next_out=a,t.avail_out=h,t.next_in=s,t.avail_in=o,r.hold=u,r.bits=l,R(t,d),a=t.next_out,n=t.output,h=t.avail_out,s=t.next_in,i=t.input,o=t.avail_in,u=r.hold,l=r.bits,12===r.mode&&(r.back=-1);break}for(r.back=0;g=(C=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}if(g&&0==(240&g)){for(v=_,y=g,w=b;g=(C=r.lencode[w+((u&(1<<v+y)-1)>>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}u>>>=v,l-=v,r.back+=v;}if(u>>>=_,l-=_,r.back+=_,r.length=b,0===g){r.mode=26;break}if(32&g){r.back=-1,r.mode=12;break}if(64&g){t.msg="invalid literal/length code",r.mode=30;break}r.extra=15&g,r.mode=22;case 22:if(r.extra){for(z=r.extra;l<z;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}r.length+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra;}r.was=r.length,r.mode=23;case 23:for(;g=(C=r.distcode[u&(1<<r.distbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}if(0==(240&g)){for(v=_,y=g,w=b;g=(C=r.distcode[w+((u&(1<<v+y)-1)>>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}u>>>=v,l-=v,r.back+=v;}if(u>>>=_,l-=_,r.back+=_,64&g){t.msg="invalid distance code",r.mode=30;break}r.offset=b,r.extra=15&g,r.mode=24;case 24:if(r.extra){for(z=r.extra;l<z;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}r.offset+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra;}if(r.offset>r.dmax){t.msg="invalid distance too far back",r.mode=30;break}r.mode=25;case 25:if(0===h)break t;if(c=d-h,r.offset>c){if((c=r.offset-c)>r.whave&&r.sane){t.msg="invalid distance too far back",r.mode=30;break}p=c>r.wnext?(c-=r.wnext,r.wsize-c):r.wnext-c,c>r.length&&(c=r.length),m=r.window;}else m=n,p=a-r.offset,c=r.length;for(h<c&&(c=h),h-=c,r.length-=c;n[a++]=m[p++],--c;);0===r.length&&(r.mode=21);break;case 26:if(0===h)break t;n[a++]=r.length,h--,r.mode=21;break;case 27:if(r.wrap){for(;l<32;){if(0===o)break t;o--,u|=i[s++]<<l,l+=8;}if(d-=h,t.total_out+=d,r.total+=d,d&&(t.adler=r.check=r.flags?B(r.check,n,d,a-d):O(r.check,n,d,a-d)),d=h,(r.flags?u:L(u))!==r.check){t.msg="incorrect data check",r.mode=30;break}l=u=0;}r.mode=28;case 28:if(r.wrap&&r.flags){for(;l<32;){if(0===o)break t;o--,u+=i[s++]<<l,l+=8;}if(u!==(4294967295&r.total)){t.msg="incorrect length check",r.mode=30;break}l=u=0;}r.mode=29;case 29:x=1;break t;case 30:x=-3;break t;case 31:return -4;case 32:default:return U}return t.next_out=a,t.avail_out=h,t.next_in=s,t.avail_in=o,r.hold=u,r.bits=l,(r.wsize||d!==t.avail_out&&r.mode<30&&(r.mode<27||4!==e))&&Z(t,t.output,t.next_out,d-t.avail_out)?(r.mode=31,-4):(f-=t.avail_in,d-=t.avail_out,t.total_in+=f,t.total_out+=d,r.total+=d,r.wrap&&d&&(t.adler=r.check=r.flags?B(r.check,n,d,t.next_out-d):O(r.check,n,d,t.next_out-d)),t.data_type=r.bits+(r.last?64:0)+(12===r.mode?128:0)+(20===r.mode||15===r.mode?256:0),(0==f&&0===d||4===e)&&x===N&&(x=-5),x)},r.inflateEnd=function(t){if(!t||!t.state)return U;var e=t.state;return e.window&&(e.window=null),t.state=null,N},r.inflateGetHeader=function(t,e){var r;return t&&t.state?0==(2&(r=t.state).wrap)?U:((r.head=e).done=!1,N):U},r.inflateSetDictionary=function(t,e){var r,i=e.length;return t&&t.state?0!==(r=t.state).wrap&&11!==r.mode?U:11===r.mode&&O(1,e,i,0)!==r.check?-3:Z(t,e,i,i)?(r.mode=31,-4):(r.havedict=1,N):U},r.inflateInfo="pako inflate (from Nodeca project)";},{"../utils/common":41,"./adler32":43,"./crc32":45,"./inffast":48,"./inftrees":50}],50:[function(t,e,r){var D=t("../utils/common"),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],N=[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],U=[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],P=[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,i,n,s,a,o){var h,u,l,f,d,c,p,m,_,g=o.bits,b=0,v=0,y=0,w=0,k=0,x=0,S=0,z=0,C=0,E=0,A=null,I=0,O=new D.Buf16(16),B=new D.Buf16(16),R=null,T=0;for(b=0;b<=15;b++)O[b]=0;for(v=0;v<i;v++)O[e[r+v]]++;for(k=g,w=15;1<=w&&0===O[w];w--);if(w<k&&(k=w),0===w)return n[s++]=20971520,n[s++]=20971520,o.bits=1,0;for(y=1;y<w&&0===O[y];y++);for(k<y&&(k=y),b=z=1;b<=15;b++)if(z<<=1,(z-=O[b])<0)return -1;if(0<z&&(0===t||1!==w))return -1;for(B[1]=0,b=1;b<15;b++)B[b+1]=B[b]+O[b];for(v=0;v<i;v++)0!==e[r+v]&&(a[B[e[r+v]]++]=v);if(c=0===t?(A=R=a,19):1===t?(A=F,I-=257,R=N,T-=257,256):(A=U,R=P,-1),b=y,d=s,S=v=E=0,l=-1,f=(C=1<<(x=k))-1,1===t&&852<C||2===t&&592<C)return 1;for(;;){for(p=b-S,_=a[v]<c?(m=0,a[v]):a[v]>c?(m=R[T+a[v]],A[I+a[v]]):(m=96,0),h=1<<b-S,y=u=1<<x;n[d+(E>>S)+(u-=h)]=p<<24|m<<16|_|0,0!==u;);for(h=1<<b-1;E&h;)h>>=1;if(0!==h?(E&=h-1,E+=h):E=0,v++,0==--O[b]){if(b===w)break;b=e[r+a[v]];}if(k<b&&(E&f)!==l){for(0===S&&(S=k),d+=y,z=1<<(x=b-S);x+S<w&&!((z-=O[x+S])<=0);)x++,z<<=1;if(C+=1<<x,1===t&&852<C||2===t&&592<C)return 1;n[l=E&f]=k<<24|x<<16|d-s|0;}}return 0!==E&&(n[d+E]=b-S<<24|64<<16|0),o.bits=k,0};},{"../utils/common":41}],51:[function(t,e,r){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){var n=t("../utils/common"),o=0,h=1;function i(t){for(var e=t.length;0<=--e;)t[e]=0;}var s=0,a=29,u=256,l=u+1+a,f=30,d=19,_=2*l+1,g=15,c=16,p=7,m=256,b=16,v=17,y=18,w=[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],k=[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],x=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],S=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],z=new Array(2*(l+2));i(z);var C=new Array(2*f);i(C);var E=new Array(512);i(E);var A=new Array(256);i(A);var I=new Array(a);i(I);var O,B,R,T=new Array(f);function D(t,e,r,i,n){this.static_tree=t,this.extra_bits=e,this.extra_base=r,this.elems=i,this.max_length=n,this.has_stree=t&&t.length;}function F(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e;}function N(t){return t<256?E[t]:E[256+(t>>>7)]}function U(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255;}function P(t,e,r){t.bi_valid>c-r?(t.bi_buf|=e<<t.bi_valid&65535,U(t,t.bi_buf),t.bi_buf=e>>c-t.bi_valid,t.bi_valid+=r-c):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=r);}function L(t,e,r){P(t,r[2*e],r[2*e+1]);}function j(t,e){for(var r=0;r|=1&t,t>>>=1,r<<=1,0<--e;);return r>>>1}function Z(t,e,r){var i,n,s=new Array(g+1),a=0;for(i=1;i<=g;i++)s[i]=a=a+r[i-1]<<1;for(n=0;n<=e;n++){var o=t[2*n+1];0!==o&&(t[2*n]=j(s[o]++,o));}}function W(t){var e;for(e=0;e<l;e++)t.dyn_ltree[2*e]=0;for(e=0;e<f;e++)t.dyn_dtree[2*e]=0;for(e=0;e<d;e++)t.bl_tree[2*e]=0;t.dyn_ltree[2*m]=1,t.opt_len=t.static_len=0,t.last_lit=t.matches=0;}function M(t){8<t.bi_valid?U(t,t.bi_buf):0<t.bi_valid&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0;}function H(t,e,r,i){var n=2*e,s=2*r;return t[n]<t[s]||t[n]===t[s]&&i[e]<=i[r]}function G(t,e,r){for(var i=t.heap[r],n=r<<1;n<=t.heap_len&&(n<t.heap_len&&H(e,t.heap[n+1],t.heap[n],t.depth)&&n++,!H(e,i,t.heap[n],t.depth));)t.heap[r]=t.heap[n],r=n,n<<=1;t.heap[r]=i;}function K(t,e,r){var i,n,s,a,o=0;if(0!==t.last_lit)for(;i=t.pending_buf[t.d_buf+2*o]<<8|t.pending_buf[t.d_buf+2*o+1],n=t.pending_buf[t.l_buf+o],o++,0===i?L(t,n,e):(L(t,(s=A[n])+u+1,e),0!==(a=w[s])&&P(t,n-=I[s],a),L(t,s=N(--i),r),0!==(a=k[s])&&P(t,i-=T[s],a)),o<t.last_lit;);L(t,m,e);}function Y(t,e){var r,i,n,s=e.dyn_tree,a=e.stat_desc.static_tree,o=e.stat_desc.has_stree,h=e.stat_desc.elems,u=-1;for(t.heap_len=0,t.heap_max=_,r=0;r<h;r++)0!==s[2*r]?(t.heap[++t.heap_len]=u=r,t.depth[r]=0):s[2*r+1]=0;for(;t.heap_len<2;)s[2*(n=t.heap[++t.heap_len]=u<2?++u:0)]=1,t.depth[n]=0,t.opt_len--,o&&(t.static_len-=a[2*n+1]);for(e.max_code=u,r=t.heap_len>>1;1<=r;r--)G(t,s,r);for(n=h;r=t.heap[1],t.heap[1]=t.heap[t.heap_len--],G(t,s,1),i=t.heap[1],t.heap[--t.heap_max]=r,t.heap[--t.heap_max]=i,s[2*n]=s[2*r]+s[2*i],t.depth[n]=(t.depth[r]>=t.depth[i]?t.depth[r]:t.depth[i])+1,s[2*r+1]=s[2*i+1]=n,t.heap[1]=n++,G(t,s,1),2<=t.heap_len;);t.heap[--t.heap_max]=t.heap[1],function(t,e){var r,i,n,s,a,o,h=e.dyn_tree,u=e.max_code,l=e.stat_desc.static_tree,f=e.stat_desc.has_stree,d=e.stat_desc.extra_bits,c=e.stat_desc.extra_base,p=e.stat_desc.max_length,m=0;for(s=0;s<=g;s++)t.bl_count[s]=0;for(h[2*t.heap[t.heap_max]+1]=0,r=t.heap_max+1;r<_;r++)p<(s=h[2*h[2*(i=t.heap[r])+1]+1]+1)&&(s=p,m++),h[2*i+1]=s,u<i||(t.bl_count[s]++,a=0,c<=i&&(a=d[i-c]),o=h[2*i],t.opt_len+=o*(s+a),f&&(t.static_len+=o*(l[2*i+1]+a)));if(0!==m){do{for(s=p-1;0===t.bl_count[s];)s--;t.bl_count[s]--,t.bl_count[s+1]+=2,t.bl_count[p]--,m-=2;}while(0<m);for(s=p;0!==s;s--)for(i=t.bl_count[s];0!==i;)u<(n=t.heap[--r])||(h[2*n+1]!==s&&(t.opt_len+=(s-h[2*n+1])*h[2*n],h[2*n+1]=s),i--);}}(t,e),Z(s,u,t.bl_count);}function X(t,e,r){var i,n,s=-1,a=e[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),e[2*(r+1)+1]=65535,i=0;i<=r;i++)n=a,a=e[2*(i+1)+1],++o<h&&n===a||(o<u?t.bl_tree[2*n]+=o:0!==n?(n!==s&&t.bl_tree[2*n]++,t.bl_tree[2*b]++):o<=10?t.bl_tree[2*v]++:t.bl_tree[2*y]++,s=n,u=(o=0)===a?(h=138,3):n===a?(h=6,3):(h=7,4));}function V(t,e,r){var i,n,s=-1,a=e[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),i=0;i<=r;i++)if(n=a,a=e[2*(i+1)+1],!(++o<h&&n===a)){if(o<u)for(;L(t,n,t.bl_tree),0!=--o;);else 0!==n?(n!==s&&(L(t,n,t.bl_tree),o--),L(t,b,t.bl_tree),P(t,o-3,2)):o<=10?(L(t,v,t.bl_tree),P(t,o-3,3)):(L(t,y,t.bl_tree),P(t,o-11,7));s=n,u=(o=0)===a?(h=138,3):n===a?(h=6,3):(h=7,4);}}i(T);var q=!1;function J(t,e,r,i){P(t,(s<<1)+(i?1:0),3),function(t,e,r,i){M(t),i&&(U(t,r),U(t,~r)),n.arraySet(t.pending_buf,t.window,e,r,t.pending),t.pending+=r;}(t,e,r,!0);}r._tr_init=function(t){q||(function(){var t,e,r,i,n,s=new Array(g+1);for(i=r=0;i<a-1;i++)for(I[i]=r,t=0;t<1<<w[i];t++)A[r++]=i;for(A[r-1]=i,i=n=0;i<16;i++)for(T[i]=n,t=0;t<1<<k[i];t++)E[n++]=i;for(n>>=7;i<f;i++)for(T[i]=n<<7,t=0;t<1<<k[i]-7;t++)E[256+n++]=i;for(e=0;e<=g;e++)s[e]=0;for(t=0;t<=143;)z[2*t+1]=8,t++,s[8]++;for(;t<=255;)z[2*t+1]=9,t++,s[9]++;for(;t<=279;)z[2*t+1]=7,t++,s[7]++;for(;t<=287;)z[2*t+1]=8,t++,s[8]++;for(Z(z,l+1,s),t=0;t<f;t++)C[2*t+1]=5,C[2*t]=j(t,5);O=new D(z,w,u+1,l,g),B=new D(C,k,0,f,g),R=new D(new Array(0),x,0,d,p);}(),q=!0),t.l_desc=new F(t.dyn_ltree,O),t.d_desc=new F(t.dyn_dtree,B),t.bl_desc=new F(t.bl_tree,R),t.bi_buf=0,t.bi_valid=0,W(t);},r._tr_stored_block=J,r._tr_flush_block=function(t,e,r,i){var n,s,a=0;0<t.level?(2===t.strm.data_type&&(t.strm.data_type=function(t){var e,r=4093624447;for(e=0;e<=31;e++,r>>>=1)if(1&r&&0!==t.dyn_ltree[2*e])return o;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return h;for(e=32;e<u;e++)if(0!==t.dyn_ltree[2*e])return h;return o}(t)),Y(t,t.l_desc),Y(t,t.d_desc),a=function(t){var e;for(X(t,t.dyn_ltree,t.l_desc.max_code),X(t,t.dyn_dtree,t.d_desc.max_code),Y(t,t.bl_desc),e=d-1;3<=e&&0===t.bl_tree[2*S[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}(t),n=t.opt_len+3+7>>>3,(s=t.static_len+3+7>>>3)<=n&&(n=s)):n=s=r+5,r+4<=n&&-1!==e?J(t,e,r,i):4===t.strategy||s===n?(P(t,2+(i?1:0),3),K(t,z,C)):(P(t,4+(i?1:0),3),function(t,e,r,i){var n;for(P(t,e-257,5),P(t,r-1,5),P(t,i-4,4),n=0;n<i;n++)P(t,t.bl_tree[2*S[n]+1],3);V(t,t.dyn_ltree,e-1),V(t,t.dyn_dtree,r-1);}(t,t.l_desc.max_code+1,t.d_desc.max_code+1,a+1),K(t,t.dyn_ltree,t.dyn_dtree)),W(t),i&&M(t);},r._tr_tally=function(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*(A[r]+u+1)]++,t.dyn_dtree[2*N(e)]++),t.last_lit===t.lit_bufsize-1},r._tr_align=function(t){P(t,2,3),L(t,m,z),function(t){16===t.bi_valid?(U(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):8<=t.bi_valid&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8);}(t);};},{"../utils/common":41}],53:[function(t,e,r){e.exports=function(){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;};},{}],54:[function(t,e,r){e.exports="function"==typeof setImmediate?setImmediate:function(){var t=[].slice.apply(arguments);t.splice(1,0,0),setTimeout.apply(null,t);};},{}]},{},[10])(10)});
9818
- } (jszip_min));
9819
-
9820
9802
  const EMAIL_TYPE = {
9821
9803
  PROVIDER: 'DATA_PROVIDER',
9822
9804
  PROBLEM: 'PROBLEM'
9823
9805
  };
9824
- const toBase64 = async file => new Promise((resolve, reject) => {
9806
+ const toBase64 = file => new Promise((resolve, reject) => {
9825
9807
  const reader = new FileReader();
9826
9808
  reader.readAsDataURL(file);
9827
9809
  reader.onload = () => resolve(reader.result);
@@ -9953,6 +9935,9 @@ const contactTemplate = _ref => {
9953
9935
  }),
9954
9936
  hint: formatMessage({
9955
9937
  id: 'common.form.attachment.hint'
9938
+ }),
9939
+ hint2: formatMessage({
9940
+ id: 'common.form.attachment.hint2'
9956
9941
  })
9957
9942
  },
9958
9943
  // 內容
@@ -10165,84 +10150,1381 @@ EmailInput.propTypes = {
10165
10150
 
10166
10151
  var CloudUpload = {};
10167
10152
 
10168
- var _interopRequireDefault$1 = interopRequireDefault.exports;
10153
+ var _interopRequireDefault = interopRequireDefault.exports;
10169
10154
 
10170
- var _interopRequireWildcard$1 = interopRequireWildcard.exports;
10155
+ var _interopRequireWildcard = interopRequireWildcard.exports;
10171
10156
 
10172
10157
  Object.defineProperty(CloudUpload, "__esModule", {
10173
10158
  value: true
10174
10159
  });
10175
- var default_1$1 = CloudUpload.default = void 0;
10160
+ var default_1 = CloudUpload.default = void 0;
10176
10161
 
10177
- var React$1 = _interopRequireWildcard$1(React__default);
10162
+ var React = _interopRequireWildcard(React__default);
10178
10163
 
10179
- var _createSvgIcon$1 = _interopRequireDefault$1(requireCreateSvgIcon());
10164
+ var _createSvgIcon = _interopRequireDefault(requireCreateSvgIcon());
10180
10165
 
10181
- var _default$1 = (0, _createSvgIcon$1.default)( /*#__PURE__*/React$1.createElement("path", {
10166
+ var _default$1 = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement("path", {
10182
10167
  d: "M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z"
10183
10168
  }), 'CloudUpload');
10184
10169
 
10185
- default_1$1 = CloudUpload.default = _default$1;
10170
+ default_1 = CloudUpload.default = _default$1;
10171
+
10172
+ /******************************************************************************
10173
+ Copyright (c) Microsoft Corporation.
10174
+
10175
+ Permission to use, copy, modify, and/or distribute this software for any
10176
+ purpose with or without fee is hereby granted.
10177
+
10178
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
10179
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
10180
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
10181
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
10182
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
10183
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
10184
+ PERFORMANCE OF THIS SOFTWARE.
10185
+ ***************************************************************************** */
10186
+
10187
+ function __awaiter(thisArg, _arguments, P, generator) {
10188
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10189
+ return new (P || (P = Promise))(function (resolve, reject) {
10190
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
10191
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
10192
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
10193
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
10194
+ });
10195
+ }
10196
+
10197
+ function __generator(thisArg, body) {
10198
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
10199
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
10200
+ function verb(n) { return function (v) { return step([n, v]); }; }
10201
+ function step(op) {
10202
+ if (f) throw new TypeError("Generator is already executing.");
10203
+ while (_) try {
10204
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
10205
+ if (y = 0, t) op = [op[0] & 2, t.value];
10206
+ switch (op[0]) {
10207
+ case 0: case 1: t = op; break;
10208
+ case 4: _.label++; return { value: op[1], done: false };
10209
+ case 5: _.label++; y = op[1]; op = [0]; continue;
10210
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
10211
+ default:
10212
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
10213
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
10214
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
10215
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
10216
+ if (t[2]) _.ops.pop();
10217
+ _.trys.pop(); continue;
10218
+ }
10219
+ op = body.call(thisArg, _);
10220
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
10221
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
10222
+ }
10223
+ }
10224
+
10225
+ function __read(o, n) {
10226
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
10227
+ if (!m) return o;
10228
+ var i = m.call(o), r, ar = [], e;
10229
+ try {
10230
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
10231
+ }
10232
+ catch (error) { e = { error: error }; }
10233
+ finally {
10234
+ try {
10235
+ if (r && !r.done && (m = i["return"])) m.call(i);
10236
+ }
10237
+ finally { if (e) throw e.error; }
10238
+ }
10239
+ return ar;
10240
+ }
10241
+
10242
+ /** @deprecated */
10243
+ function __spread() {
10244
+ for (var ar = [], i = 0; i < arguments.length; i++)
10245
+ ar = ar.concat(__read(arguments[i]));
10246
+ return ar;
10247
+ }
10186
10248
 
10187
- var Delete = {};
10249
+ var COMMON_MIME_TYPES = new Map([
10250
+ ['avi', 'video/avi'],
10251
+ ['gif', 'image/gif'],
10252
+ ['ico', 'image/x-icon'],
10253
+ ['jpeg', 'image/jpeg'],
10254
+ ['jpg', 'image/jpeg'],
10255
+ ['mkv', 'video/x-matroska'],
10256
+ ['mov', 'video/quicktime'],
10257
+ ['mp4', 'video/mp4'],
10258
+ ['pdf', 'application/pdf'],
10259
+ ['png', 'image/png'],
10260
+ ['zip', 'application/zip'],
10261
+ ['doc', 'application/msword'],
10262
+ ['docx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document']
10263
+ ]);
10264
+ function toFileWithPath(file, path) {
10265
+ var f = withMimeType(file);
10266
+ if (typeof f.path !== 'string') { // on electron, path is already set to the absolute path
10267
+ var webkitRelativePath = file.webkitRelativePath;
10268
+ Object.defineProperty(f, 'path', {
10269
+ value: typeof path === 'string'
10270
+ ? path
10271
+ // If <input webkitdirectory> is set,
10272
+ // the File will have a {webkitRelativePath} property
10273
+ // https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/webkitdirectory
10274
+ : typeof webkitRelativePath === 'string' && webkitRelativePath.length > 0
10275
+ ? webkitRelativePath
10276
+ : file.name,
10277
+ writable: false,
10278
+ configurable: false,
10279
+ enumerable: true
10280
+ });
10281
+ }
10282
+ return f;
10283
+ }
10284
+ function withMimeType(file) {
10285
+ var name = file.name;
10286
+ var hasExtension = name && name.lastIndexOf('.') !== -1;
10287
+ if (hasExtension && !file.type) {
10288
+ var ext = name.split('.')
10289
+ .pop().toLowerCase();
10290
+ var type = COMMON_MIME_TYPES.get(ext);
10291
+ if (type) {
10292
+ Object.defineProperty(file, 'type', {
10293
+ value: type,
10294
+ writable: false,
10295
+ configurable: false,
10296
+ enumerable: true
10297
+ });
10298
+ }
10299
+ }
10300
+ return file;
10301
+ }
10188
10302
 
10189
- var _interopRequireDefault = interopRequireDefault.exports;
10303
+ var FILES_TO_IGNORE = [
10304
+ // Thumbnail cache files for macOS and Windows
10305
+ '.DS_Store',
10306
+ 'Thumbs.db' // Windows
10307
+ ];
10308
+ /**
10309
+ * Convert a DragEvent's DataTrasfer object to a list of File objects
10310
+ * NOTE: If some of the items are folders,
10311
+ * everything will be flattened and placed in the same list but the paths will be kept as a {path} property.
10312
+ * @param evt
10313
+ */
10314
+ function fromEvent(evt) {
10315
+ return __awaiter(this, void 0, void 0, function () {
10316
+ return __generator(this, function (_a) {
10317
+ return [2 /*return*/, isDragEvt(evt) && evt.dataTransfer
10318
+ ? getDataTransferFiles(evt.dataTransfer, evt.type)
10319
+ : getInputFiles(evt)];
10320
+ });
10321
+ });
10322
+ }
10323
+ function isDragEvt(value) {
10324
+ return !!value.dataTransfer;
10325
+ }
10326
+ function getInputFiles(evt) {
10327
+ var files = isInput(evt.target)
10328
+ ? evt.target.files
10329
+ ? fromList(evt.target.files)
10330
+ : []
10331
+ : [];
10332
+ return files.map(function (file) { return toFileWithPath(file); });
10333
+ }
10334
+ function isInput(value) {
10335
+ return value !== null;
10336
+ }
10337
+ function getDataTransferFiles(dt, type) {
10338
+ return __awaiter(this, void 0, void 0, function () {
10339
+ var items, files;
10340
+ return __generator(this, function (_a) {
10341
+ switch (_a.label) {
10342
+ case 0:
10343
+ if (!dt.items) return [3 /*break*/, 2];
10344
+ items = fromList(dt.items)
10345
+ .filter(function (item) { return item.kind === 'file'; });
10346
+ // According to https://html.spec.whatwg.org/multipage/dnd.html#dndevents,
10347
+ // only 'dragstart' and 'drop' has access to the data (source node)
10348
+ if (type !== 'drop') {
10349
+ return [2 /*return*/, items];
10350
+ }
10351
+ return [4 /*yield*/, Promise.all(items.map(toFilePromises))];
10352
+ case 1:
10353
+ files = _a.sent();
10354
+ return [2 /*return*/, noIgnoredFiles(flatten(files))];
10355
+ case 2: return [2 /*return*/, noIgnoredFiles(fromList(dt.files)
10356
+ .map(function (file) { return toFileWithPath(file); }))];
10357
+ }
10358
+ });
10359
+ });
10360
+ }
10361
+ function noIgnoredFiles(files) {
10362
+ return files.filter(function (file) { return FILES_TO_IGNORE.indexOf(file.name) === -1; });
10363
+ }
10364
+ // IE11 does not support Array.from()
10365
+ // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from#Browser_compatibility
10366
+ // https://developer.mozilla.org/en-US/docs/Web/API/FileList
10367
+ // https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItemList
10368
+ function fromList(items) {
10369
+ var files = [];
10370
+ // tslint:disable: prefer-for-of
10371
+ for (var i = 0; i < items.length; i++) {
10372
+ var file = items[i];
10373
+ files.push(file);
10374
+ }
10375
+ return files;
10376
+ }
10377
+ // https://developer.mozilla.org/en-US/docs/Web/API/DataTransferItem
10378
+ function toFilePromises(item) {
10379
+ if (typeof item.webkitGetAsEntry !== 'function') {
10380
+ return fromDataTransferItem(item);
10381
+ }
10382
+ var entry = item.webkitGetAsEntry();
10383
+ // Safari supports dropping an image node from a different window and can be retrieved using
10384
+ // the DataTransferItem.getAsFile() API
10385
+ // NOTE: FileSystemEntry.file() throws if trying to get the file
10386
+ if (entry && entry.isDirectory) {
10387
+ return fromDirEntry(entry);
10388
+ }
10389
+ return fromDataTransferItem(item);
10390
+ }
10391
+ function flatten(items) {
10392
+ return items.reduce(function (acc, files) { return __spread(acc, (Array.isArray(files) ? flatten(files) : [files])); }, []);
10393
+ }
10394
+ function fromDataTransferItem(item) {
10395
+ var file = item.getAsFile();
10396
+ if (!file) {
10397
+ return Promise.reject(item + " is not a File");
10398
+ }
10399
+ var fwp = toFileWithPath(file);
10400
+ return Promise.resolve(fwp);
10401
+ }
10402
+ // https://developer.mozilla.org/en-US/docs/Web/API/FileSystemEntry
10403
+ function fromEntry(entry) {
10404
+ return __awaiter(this, void 0, void 0, function () {
10405
+ return __generator(this, function (_a) {
10406
+ return [2 /*return*/, entry.isDirectory ? fromDirEntry(entry) : fromFileEntry(entry)];
10407
+ });
10408
+ });
10409
+ }
10410
+ // https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryEntry
10411
+ function fromDirEntry(entry) {
10412
+ var reader = entry.createReader();
10413
+ return new Promise(function (resolve, reject) {
10414
+ var entries = [];
10415
+ function readEntries() {
10416
+ var _this = this;
10417
+ // https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryEntry/createReader
10418
+ // https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryReader/readEntries
10419
+ reader.readEntries(function (batch) { return __awaiter(_this, void 0, void 0, function () {
10420
+ var files, err_1, items;
10421
+ return __generator(this, function (_a) {
10422
+ switch (_a.label) {
10423
+ case 0:
10424
+ if (!!batch.length) return [3 /*break*/, 5];
10425
+ _a.label = 1;
10426
+ case 1:
10427
+ _a.trys.push([1, 3, , 4]);
10428
+ return [4 /*yield*/, Promise.all(entries)];
10429
+ case 2:
10430
+ files = _a.sent();
10431
+ resolve(files);
10432
+ return [3 /*break*/, 4];
10433
+ case 3:
10434
+ err_1 = _a.sent();
10435
+ reject(err_1);
10436
+ return [3 /*break*/, 4];
10437
+ case 4: return [3 /*break*/, 6];
10438
+ case 5:
10439
+ items = Promise.all(batch.map(fromEntry));
10440
+ entries.push(items);
10441
+ // Continue reading
10442
+ readEntries();
10443
+ _a.label = 6;
10444
+ case 6: return [2 /*return*/];
10445
+ }
10446
+ });
10447
+ }); }, function (err) {
10448
+ reject(err);
10449
+ });
10450
+ }
10451
+ readEntries();
10452
+ });
10453
+ }
10454
+ // https://developer.mozilla.org/en-US/docs/Web/API/FileSystemFileEntry
10455
+ function fromFileEntry(entry) {
10456
+ return __awaiter(this, void 0, void 0, function () {
10457
+ return __generator(this, function (_a) {
10458
+ return [2 /*return*/, new Promise(function (resolve, reject) {
10459
+ entry.file(function (file) {
10460
+ var fwp = toFileWithPath(file, entry.fullPath);
10461
+ resolve(fwp);
10462
+ }, function (err) {
10463
+ reject(err);
10464
+ });
10465
+ })];
10466
+ });
10467
+ });
10468
+ }
10190
10469
 
10191
- var _interopRequireWildcard = interopRequireWildcard.exports;
10470
+ var _default = function (file, acceptedFiles) {
10471
+ if (file && acceptedFiles) {
10472
+ var acceptedFilesArray = Array.isArray(acceptedFiles) ? acceptedFiles : acceptedFiles.split(',');
10473
+ var fileName = file.name || '';
10474
+ var mimeType = (file.type || '').toLowerCase();
10475
+ var baseMimeType = mimeType.replace(/\/.*$/, '');
10476
+ return acceptedFilesArray.some(function (type) {
10477
+ var validType = type.trim().toLowerCase();
10478
+
10479
+ if (validType.charAt(0) === '.') {
10480
+ return fileName.toLowerCase().endsWith(validType);
10481
+ } else if (validType.endsWith('/*')) {
10482
+ // This is something like a image/* mime type
10483
+ return baseMimeType === validType.replace(/\/.*$/, '');
10484
+ }
10192
10485
 
10193
- Object.defineProperty(Delete, "__esModule", {
10194
- value: true
10486
+ return mimeType === validType;
10487
+ });
10488
+ }
10489
+
10490
+ return true;
10491
+ };
10492
+
10493
+ function _slicedToArray$1(arr, i) { return _arrayWithHoles$1(arr) || _iterableToArrayLimit$1(arr, i) || _unsupportedIterableToArray$1(arr, i) || _nonIterableRest$1(); }
10494
+
10495
+ function _nonIterableRest$1() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
10496
+
10497
+ function _unsupportedIterableToArray$1(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$1(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$1(o, minLen); }
10498
+
10499
+ function _arrayLikeToArray$1(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
10500
+
10501
+ function _iterableToArrayLimit$1(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
10502
+
10503
+ function _arrayWithHoles$1(arr) { if (Array.isArray(arr)) return arr; }
10504
+
10505
+ var FILE_INVALID_TYPE = 'file-invalid-type';
10506
+ var FILE_TOO_LARGE = 'file-too-large';
10507
+ var FILE_TOO_SMALL = 'file-too-small';
10508
+ var TOO_MANY_FILES = 'too-many-files'; // File Errors
10509
+
10510
+ var getInvalidTypeRejectionErr = function getInvalidTypeRejectionErr(accept) {
10511
+ accept = Array.isArray(accept) && accept.length === 1 ? accept[0] : accept;
10512
+ var messageSuffix = Array.isArray(accept) ? "one of ".concat(accept.join(', ')) : accept;
10513
+ return {
10514
+ code: FILE_INVALID_TYPE,
10515
+ message: "File type must be ".concat(messageSuffix)
10516
+ };
10517
+ };
10518
+ var getTooLargeRejectionErr = function getTooLargeRejectionErr(maxSize) {
10519
+ return {
10520
+ code: FILE_TOO_LARGE,
10521
+ message: "File is larger than ".concat(maxSize, " bytes")
10522
+ };
10523
+ };
10524
+ var getTooSmallRejectionErr = function getTooSmallRejectionErr(minSize) {
10525
+ return {
10526
+ code: FILE_TOO_SMALL,
10527
+ message: "File is smaller than ".concat(minSize, " bytes")
10528
+ };
10529
+ };
10530
+ var TOO_MANY_FILES_REJECTION = {
10531
+ code: TOO_MANY_FILES,
10532
+ message: 'Too many files'
10533
+ }; // Firefox versions prior to 53 return a bogus MIME type for every file drag, so dragovers with
10534
+ // that MIME type will always be accepted
10535
+
10536
+ function fileAccepted(file, accept) {
10537
+ var isAcceptable = file.type === 'application/x-moz-file' || _default(file, accept);
10538
+ return [isAcceptable, isAcceptable ? null : getInvalidTypeRejectionErr(accept)];
10539
+ }
10540
+ function fileMatchSize(file, minSize, maxSize) {
10541
+ if (isDefined(file.size)) {
10542
+ if (isDefined(minSize) && isDefined(maxSize)) {
10543
+ if (file.size > maxSize) return [false, getTooLargeRejectionErr(maxSize)];
10544
+ if (file.size < minSize) return [false, getTooSmallRejectionErr(minSize)];
10545
+ } else if (isDefined(minSize) && file.size < minSize) return [false, getTooSmallRejectionErr(minSize)];else if (isDefined(maxSize) && file.size > maxSize) return [false, getTooLargeRejectionErr(maxSize)];
10546
+ }
10547
+
10548
+ return [true, null];
10549
+ }
10550
+
10551
+ function isDefined(value) {
10552
+ return value !== undefined && value !== null;
10553
+ }
10554
+
10555
+ function allFilesAccepted(_ref) {
10556
+ var files = _ref.files,
10557
+ accept = _ref.accept,
10558
+ minSize = _ref.minSize,
10559
+ maxSize = _ref.maxSize,
10560
+ multiple = _ref.multiple,
10561
+ maxFiles = _ref.maxFiles;
10562
+
10563
+ if (!multiple && files.length > 1 || multiple && maxFiles >= 1 && files.length > maxFiles) {
10564
+ return false;
10565
+ }
10566
+
10567
+ return files.every(function (file) {
10568
+ var _fileAccepted = fileAccepted(file, accept),
10569
+ _fileAccepted2 = _slicedToArray$1(_fileAccepted, 1),
10570
+ accepted = _fileAccepted2[0];
10571
+
10572
+ var _fileMatchSize = fileMatchSize(file, minSize, maxSize),
10573
+ _fileMatchSize2 = _slicedToArray$1(_fileMatchSize, 1),
10574
+ sizeMatch = _fileMatchSize2[0];
10575
+
10576
+ return accepted && sizeMatch;
10577
+ });
10578
+ } // React's synthetic events has event.isPropagationStopped,
10579
+ // but to remain compatibility with other libs (Preact) fall back
10580
+ // to check event.cancelBubble
10581
+
10582
+ function isPropagationStopped(event) {
10583
+ if (typeof event.isPropagationStopped === 'function') {
10584
+ return event.isPropagationStopped();
10585
+ } else if (typeof event.cancelBubble !== 'undefined') {
10586
+ return event.cancelBubble;
10587
+ }
10588
+
10589
+ return false;
10590
+ }
10591
+ function isEvtWithFiles(event) {
10592
+ if (!event.dataTransfer) {
10593
+ return !!event.target && !!event.target.files;
10594
+ } // https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer/types
10595
+ // https://developer.mozilla.org/en-US/docs/Web/API/HTML_Drag_and_Drop_API/Recommended_drag_types#file
10596
+
10597
+
10598
+ return Array.prototype.some.call(event.dataTransfer.types, function (type) {
10599
+ return type === 'Files' || type === 'application/x-moz-file';
10600
+ });
10601
+ }
10602
+
10603
+ function onDocumentDragOver(event) {
10604
+ event.preventDefault();
10605
+ }
10606
+
10607
+ function isIe(userAgent) {
10608
+ return userAgent.indexOf('MSIE') !== -1 || userAgent.indexOf('Trident/') !== -1;
10609
+ }
10610
+
10611
+ function isEdge(userAgent) {
10612
+ return userAgent.indexOf('Edge/') !== -1;
10613
+ }
10614
+
10615
+ function isIeOrEdge() {
10616
+ var userAgent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window.navigator.userAgent;
10617
+ return isIe(userAgent) || isEdge(userAgent);
10618
+ }
10619
+ /**
10620
+ * This is intended to be used to compose event handlers
10621
+ * They are executed in order until one of them calls `event.isPropagationStopped()`.
10622
+ * Note that the check is done on the first invoke too,
10623
+ * meaning that if propagation was stopped before invoking the fns,
10624
+ * no handlers will be executed.
10625
+ *
10626
+ * @param {Function} fns the event hanlder functions
10627
+ * @return {Function} the event handler to add to an element
10628
+ */
10629
+
10630
+ function composeEventHandlers() {
10631
+ for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {
10632
+ fns[_key] = arguments[_key];
10633
+ }
10634
+
10635
+ return function (event) {
10636
+ for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
10637
+ args[_key2 - 1] = arguments[_key2];
10638
+ }
10639
+
10640
+ return fns.some(function (fn) {
10641
+ if (!isPropagationStopped(event) && fn) {
10642
+ fn.apply(void 0, [event].concat(args));
10643
+ }
10644
+
10645
+ return isPropagationStopped(event);
10646
+ });
10647
+ };
10648
+ }
10649
+
10650
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
10651
+
10652
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
10653
+
10654
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
10655
+
10656
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
10657
+
10658
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
10659
+
10660
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
10661
+
10662
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
10663
+
10664
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
10665
+
10666
+ function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
10667
+
10668
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
10669
+
10670
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
10671
+
10672
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
10673
+
10674
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
10675
+
10676
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
10677
+
10678
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
10679
+ /**
10680
+ * Convenience wrapper component for the `useDropzone` hook
10681
+ *
10682
+ * ```jsx
10683
+ * <Dropzone>
10684
+ * {({getRootProps, getInputProps}) => (
10685
+ * <div {...getRootProps()}>
10686
+ * <input {...getInputProps()} />
10687
+ * <p>Drag 'n' drop some files here, or click to select files</p>
10688
+ * </div>
10689
+ * )}
10690
+ * </Dropzone>
10691
+ * ```
10692
+ */
10693
+
10694
+ var Dropzone = /*#__PURE__*/forwardRef(function (_ref, ref) {
10695
+ var children = _ref.children,
10696
+ params = _objectWithoutProperties(_ref, ["children"]);
10697
+
10698
+ var _useDropzone = useDropzone(params),
10699
+ open = _useDropzone.open,
10700
+ props = _objectWithoutProperties(_useDropzone, ["open"]);
10701
+
10702
+ useImperativeHandle(ref, function () {
10703
+ return {
10704
+ open: open
10705
+ };
10706
+ }, [open]); // TODO: Figure out why react-styleguidist cannot create docs if we don't return a jsx element
10707
+
10708
+ return /*#__PURE__*/React__default.createElement(Fragment, null, children(_objectSpread(_objectSpread({}, props), {}, {
10709
+ open: open
10710
+ })));
10195
10711
  });
10196
- var default_1 = Delete.default = void 0;
10712
+ Dropzone.displayName = 'Dropzone'; // Add default props for react-docgen
10713
+
10714
+ var defaultProps = {
10715
+ disabled: false,
10716
+ getFilesFromEvent: fromEvent,
10717
+ maxSize: Infinity,
10718
+ minSize: 0,
10719
+ multiple: true,
10720
+ maxFiles: 0,
10721
+ preventDropOnDocument: true,
10722
+ noClick: false,
10723
+ noKeyboard: false,
10724
+ noDrag: false,
10725
+ noDragEventsBubbling: false,
10726
+ validator: null
10727
+ };
10728
+ Dropzone.defaultProps = defaultProps;
10729
+ Dropzone.propTypes = {
10730
+ /**
10731
+ * Render function that exposes the dropzone state and prop getter fns
10732
+ *
10733
+ * @param {object} params
10734
+ * @param {Function} params.getRootProps Returns the props you should apply to the root drop container you render
10735
+ * @param {Function} params.getInputProps Returns the props you should apply to hidden file input you render
10736
+ * @param {Function} params.open Open the native file selection dialog
10737
+ * @param {boolean} params.isFocused Dropzone area is in focus
10738
+ * @param {boolean} params.isFileDialogActive File dialog is opened
10739
+ * @param {boolean} params.isDragActive Active drag is in progress
10740
+ * @param {boolean} params.isDragAccept Dragged files are accepted
10741
+ * @param {boolean} params.isDragReject Some dragged files are rejected
10742
+ * @param {File[]} params.draggedFiles Files in active drag
10743
+ * @param {File[]} params.acceptedFiles Accepted files
10744
+ * @param {FileRejection[]} params.fileRejections Rejected files and why they were rejected
10745
+ */
10746
+ children: PropTypes.func,
10747
+
10748
+ /**
10749
+ * Set accepted file types.
10750
+ * See https://github.com/okonet/attr-accept for more information.
10751
+ * Keep in mind that mime type determination is not reliable across platforms. CSV files,
10752
+ * for example, are reported as text/plain under macOS but as application/vnd.ms-excel under
10753
+ * Windows. In some cases there might not be a mime type set at all.
10754
+ * See: https://github.com/react-dropzone/react-dropzone/issues/276
10755
+ */
10756
+ accept: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),
10197
10757
 
10198
- var React = _interopRequireWildcard(React__default);
10758
+ /**
10759
+ * Allow drag 'n' drop (or selection from the file dialog) of multiple files
10760
+ */
10761
+ multiple: PropTypes.bool,
10199
10762
 
10200
- var _createSvgIcon = _interopRequireDefault(requireCreateSvgIcon());
10763
+ /**
10764
+ * If false, allow dropped items to take over the current browser window
10765
+ */
10766
+ preventDropOnDocument: PropTypes.bool,
10767
+
10768
+ /**
10769
+ * If true, disables click to open the native file selection dialog
10770
+ */
10771
+ noClick: PropTypes.bool,
10772
+
10773
+ /**
10774
+ * If true, disables SPACE/ENTER to open the native file selection dialog.
10775
+ * Note that it also stops tracking the focus state.
10776
+ */
10777
+ noKeyboard: PropTypes.bool,
10778
+
10779
+ /**
10780
+ * If true, disables drag 'n' drop
10781
+ */
10782
+ noDrag: PropTypes.bool,
10201
10783
 
10202
- var _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement("path", {
10203
- d: "M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"
10204
- }), 'Delete');
10784
+ /**
10785
+ * If true, stops drag event propagation to parents
10786
+ */
10787
+ noDragEventsBubbling: PropTypes.bool,
10788
+
10789
+ /**
10790
+ * Minimum file size (in bytes)
10791
+ */
10792
+ minSize: PropTypes.number,
10793
+
10794
+ /**
10795
+ * Maximum file size (in bytes)
10796
+ */
10797
+ maxSize: PropTypes.number,
10798
+
10799
+ /**
10800
+ * Maximum accepted number of files
10801
+ * The default value is 0 which means there is no limitation to how many files are accepted.
10802
+ */
10803
+ maxFiles: PropTypes.number,
10804
+
10805
+ /**
10806
+ * Enable/disable the dropzone
10807
+ */
10808
+ disabled: PropTypes.bool,
10205
10809
 
10206
- default_1 = Delete.default = _default;
10810
+ /**
10811
+ * Use this to provide a custom file aggregator
10812
+ *
10813
+ * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)
10814
+ */
10815
+ getFilesFromEvent: PropTypes.func,
10816
+
10817
+ /**
10818
+ * Cb for when closing the file dialog with no selection
10819
+ */
10820
+ onFileDialogCancel: PropTypes.func,
10821
+
10822
+ /**
10823
+ * Cb for when the `dragenter` event occurs.
10824
+ *
10825
+ * @param {DragEvent} event
10826
+ */
10827
+ onDragEnter: PropTypes.func,
10828
+
10829
+ /**
10830
+ * Cb for when the `dragleave` event occurs
10831
+ *
10832
+ * @param {DragEvent} event
10833
+ */
10834
+ onDragLeave: PropTypes.func,
10835
+
10836
+ /**
10837
+ * Cb for when the `dragover` event occurs
10838
+ *
10839
+ * @param {DragEvent} event
10840
+ */
10841
+ onDragOver: PropTypes.func,
10842
+
10843
+ /**
10844
+ * Cb for when the `drop` event occurs.
10845
+ * Note that this callback is invoked after the `getFilesFromEvent` callback is done.
10846
+ *
10847
+ * Files are accepted or rejected based on the `accept`, `multiple`, `minSize` and `maxSize` props.
10848
+ * `accept` must be a valid [MIME type](http://www.iana.org/assignments/media-types/media-types.xhtml) according to [input element specification](https://www.w3.org/wiki/HTML/Elements/input/file) or a valid file extension.
10849
+ * If `multiple` is set to false and additional files are dropped,
10850
+ * all files besides the first will be rejected.
10851
+ * Any file which does not have a size in the [`minSize`, `maxSize`] range, will be rejected as well.
10852
+ *
10853
+ * Note that the `onDrop` callback will always be invoked regardless if the dropped files were accepted or rejected.
10854
+ * If you'd like to react to a specific scenario, use the `onDropAccepted`/`onDropRejected` props.
10855
+ *
10856
+ * `onDrop` will provide you with an array of [File](https://developer.mozilla.org/en-US/docs/Web/API/File) objects which you can then process and send to a server.
10857
+ * For example, with [SuperAgent](https://github.com/visionmedia/superagent) as a http/ajax library:
10858
+ *
10859
+ * ```js
10860
+ * function onDrop(acceptedFiles) {
10861
+ * const req = request.post('/upload')
10862
+ * acceptedFiles.forEach(file => {
10863
+ * req.attach(file.name, file)
10864
+ * })
10865
+ * req.end(callback)
10866
+ * }
10867
+ * ```
10868
+ *
10869
+ * @param {File[]} acceptedFiles
10870
+ * @param {FileRejection[]} fileRejections
10871
+ * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)
10872
+ */
10873
+ onDrop: PropTypes.func,
10874
+
10875
+ /**
10876
+ * Cb for when the `drop` event occurs.
10877
+ * Note that if no files are accepted, this callback is not invoked.
10878
+ *
10879
+ * @param {File[]} files
10880
+ * @param {(DragEvent|Event)} event
10881
+ */
10882
+ onDropAccepted: PropTypes.func,
10883
+
10884
+ /**
10885
+ * Cb for when the `drop` event occurs.
10886
+ * Note that if no files are rejected, this callback is not invoked.
10887
+ *
10888
+ * @param {FileRejection[]} fileRejections
10889
+ * @param {(DragEvent|Event)} event
10890
+ */
10891
+ onDropRejected: PropTypes.func,
10892
+
10893
+ /**
10894
+ * Custom validation function
10895
+ * @param {File} file
10896
+ * @returns {FileError|FileError[]}
10897
+ */
10898
+ validator: PropTypes.func
10899
+ };
10900
+ /**
10901
+ * A function that is invoked for the `dragenter`,
10902
+ * `dragover` and `dragleave` events.
10903
+ * It is not invoked if the items are not files (such as link, text, etc.).
10904
+ *
10905
+ * @callback dragCb
10906
+ * @param {DragEvent} event
10907
+ */
10908
+
10909
+ /**
10910
+ * A function that is invoked for the `drop` or input change event.
10911
+ * It is not invoked if the items are not files (such as link, text, etc.).
10912
+ *
10913
+ * @callback dropCb
10914
+ * @param {File[]} acceptedFiles List of accepted files
10915
+ * @param {FileRejection[]} fileRejections List of rejected files and why they were rejected
10916
+ * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)
10917
+ */
10918
+
10919
+ /**
10920
+ * A function that is invoked for the `drop` or input change event.
10921
+ * It is not invoked if the items are files (such as link, text, etc.).
10922
+ *
10923
+ * @callback dropAcceptedCb
10924
+ * @param {File[]} files List of accepted files that meet the given criteria
10925
+ * (`accept`, `multiple`, `minSize`, `maxSize`)
10926
+ * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)
10927
+ */
10928
+
10929
+ /**
10930
+ * A function that is invoked for the `drop` or input change event.
10931
+ *
10932
+ * @callback dropRejectedCb
10933
+ * @param {File[]} files List of rejected files that do not meet the given criteria
10934
+ * (`accept`, `multiple`, `minSize`, `maxSize`)
10935
+ * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)
10936
+ */
10937
+
10938
+ /**
10939
+ * A function that is used aggregate files,
10940
+ * in a asynchronous fashion, from drag or input change events.
10941
+ *
10942
+ * @callback getFilesFromEvent
10943
+ * @param {(DragEvent|Event)} event A drag event or input change event (if files were selected via the file dialog)
10944
+ * @returns {(File[]|Promise<File[]>)}
10945
+ */
10946
+
10947
+ /**
10948
+ * An object with the current dropzone state and some helper functions.
10949
+ *
10950
+ * @typedef {object} DropzoneState
10951
+ * @property {Function} getRootProps Returns the props you should apply to the root drop container you render
10952
+ * @property {Function} getInputProps Returns the props you should apply to hidden file input you render
10953
+ * @property {Function} open Open the native file selection dialog
10954
+ * @property {boolean} isFocused Dropzone area is in focus
10955
+ * @property {boolean} isFileDialogActive File dialog is opened
10956
+ * @property {boolean} isDragActive Active drag is in progress
10957
+ * @property {boolean} isDragAccept Dragged files are accepted
10958
+ * @property {boolean} isDragReject Some dragged files are rejected
10959
+ * @property {File[]} draggedFiles Files in active drag
10960
+ * @property {File[]} acceptedFiles Accepted files
10961
+ * @property {FileRejection[]} fileRejections Rejected files and why they were rejected
10962
+ */
10963
+
10964
+ var initialState = {
10965
+ isFocused: false,
10966
+ isFileDialogActive: false,
10967
+ isDragActive: false,
10968
+ isDragAccept: false,
10969
+ isDragReject: false,
10970
+ draggedFiles: [],
10971
+ acceptedFiles: [],
10972
+ fileRejections: []
10973
+ };
10974
+ /**
10975
+ * A React hook that creates a drag 'n' drop area.
10976
+ *
10977
+ * ```jsx
10978
+ * function MyDropzone(props) {
10979
+ * const {getRootProps, getInputProps} = useDropzone({
10980
+ * onDrop: acceptedFiles => {
10981
+ * // do something with the File objects, e.g. upload to some server
10982
+ * }
10983
+ * });
10984
+ * return (
10985
+ * <div {...getRootProps()}>
10986
+ * <input {...getInputProps()} />
10987
+ * <p>Drag and drop some files here, or click to select files</p>
10988
+ * </div>
10989
+ * )
10990
+ * }
10991
+ * ```
10992
+ *
10993
+ * @function useDropzone
10994
+ *
10995
+ * @param {object} props
10996
+ * @param {string|string[]} [props.accept] Set accepted file types.
10997
+ * See https://github.com/okonet/attr-accept for more information.
10998
+ * Keep in mind that mime type determination is not reliable across platforms. CSV files,
10999
+ * for example, are reported as text/plain under macOS but as application/vnd.ms-excel under
11000
+ * Windows. In some cases there might not be a mime type set at all.
11001
+ * See: https://github.com/react-dropzone/react-dropzone/issues/276
11002
+ * @param {boolean} [props.multiple=true] Allow drag 'n' drop (or selection from the file dialog) of multiple files
11003
+ * @param {boolean} [props.preventDropOnDocument=true] If false, allow dropped items to take over the current browser window
11004
+ * @param {boolean} [props.noClick=false] If true, disables click to open the native file selection dialog
11005
+ * @param {boolean} [props.noKeyboard=false] If true, disables SPACE/ENTER to open the native file selection dialog.
11006
+ * Note that it also stops tracking the focus state.
11007
+ * @param {boolean} [props.noDrag=false] If true, disables drag 'n' drop
11008
+ * @param {boolean} [props.noDragEventsBubbling=false] If true, stops drag event propagation to parents
11009
+ * @param {number} [props.minSize=0] Minimum file size (in bytes)
11010
+ * @param {number} [props.maxSize=Infinity] Maximum file size (in bytes)
11011
+ * @param {boolean} [props.disabled=false] Enable/disable the dropzone
11012
+ * @param {getFilesFromEvent} [props.getFilesFromEvent] Use this to provide a custom file aggregator
11013
+ * @param {Function} [props.onFileDialogCancel] Cb for when closing the file dialog with no selection
11014
+ * @param {dragCb} [props.onDragEnter] Cb for when the `dragenter` event occurs.
11015
+ * @param {dragCb} [props.onDragLeave] Cb for when the `dragleave` event occurs
11016
+ * @param {dragCb} [props.onDragOver] Cb for when the `dragover` event occurs
11017
+ * @param {dropCb} [props.onDrop] Cb for when the `drop` event occurs.
11018
+ * Note that this callback is invoked after the `getFilesFromEvent` callback is done.
11019
+ *
11020
+ * Files are accepted or rejected based on the `accept`, `multiple`, `minSize` and `maxSize` props.
11021
+ * `accept` must be a valid [MIME type](http://www.iana.org/assignments/media-types/media-types.xhtml) according to [input element specification](https://www.w3.org/wiki/HTML/Elements/input/file) or a valid file extension.
11022
+ * If `multiple` is set to false and additional files are dropped,
11023
+ * all files besides the first will be rejected.
11024
+ * Any file which does not have a size in the [`minSize`, `maxSize`] range, will be rejected as well.
11025
+ *
11026
+ * Note that the `onDrop` callback will always be invoked regardless if the dropped files were accepted or rejected.
11027
+ * If you'd like to react to a specific scenario, use the `onDropAccepted`/`onDropRejected` props.
11028
+ *
11029
+ * `onDrop` will provide you with an array of [File](https://developer.mozilla.org/en-US/docs/Web/API/File) objects which you can then process and send to a server.
11030
+ * For example, with [SuperAgent](https://github.com/visionmedia/superagent) as a http/ajax library:
11031
+ *
11032
+ * ```js
11033
+ * function onDrop(acceptedFiles) {
11034
+ * const req = request.post('/upload')
11035
+ * acceptedFiles.forEach(file => {
11036
+ * req.attach(file.name, file)
11037
+ * })
11038
+ * req.end(callback)
11039
+ * }
11040
+ * ```
11041
+ * @param {dropAcceptedCb} [props.onDropAccepted]
11042
+ * @param {dropRejectedCb} [props.onDropRejected]
11043
+ *
11044
+ * @returns {DropzoneState}
11045
+ */
11046
+
11047
+ function useDropzone() {
11048
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
11049
+
11050
+ var _defaultProps$options = _objectSpread(_objectSpread({}, defaultProps), options),
11051
+ accept = _defaultProps$options.accept,
11052
+ disabled = _defaultProps$options.disabled,
11053
+ getFilesFromEvent = _defaultProps$options.getFilesFromEvent,
11054
+ maxSize = _defaultProps$options.maxSize,
11055
+ minSize = _defaultProps$options.minSize,
11056
+ multiple = _defaultProps$options.multiple,
11057
+ maxFiles = _defaultProps$options.maxFiles,
11058
+ onDragEnter = _defaultProps$options.onDragEnter,
11059
+ onDragLeave = _defaultProps$options.onDragLeave,
11060
+ onDragOver = _defaultProps$options.onDragOver,
11061
+ onDrop = _defaultProps$options.onDrop,
11062
+ onDropAccepted = _defaultProps$options.onDropAccepted,
11063
+ onDropRejected = _defaultProps$options.onDropRejected,
11064
+ onFileDialogCancel = _defaultProps$options.onFileDialogCancel,
11065
+ preventDropOnDocument = _defaultProps$options.preventDropOnDocument,
11066
+ noClick = _defaultProps$options.noClick,
11067
+ noKeyboard = _defaultProps$options.noKeyboard,
11068
+ noDrag = _defaultProps$options.noDrag,
11069
+ noDragEventsBubbling = _defaultProps$options.noDragEventsBubbling,
11070
+ validator = _defaultProps$options.validator;
11071
+
11072
+ var rootRef = useRef(null);
11073
+ var inputRef = useRef(null);
11074
+
11075
+ var _useReducer = useReducer(reducer, initialState),
11076
+ _useReducer2 = _slicedToArray(_useReducer, 2),
11077
+ state = _useReducer2[0],
11078
+ dispatch = _useReducer2[1];
11079
+
11080
+ var isFocused = state.isFocused,
11081
+ isFileDialogActive = state.isFileDialogActive,
11082
+ draggedFiles = state.draggedFiles; // Fn for opening the file dialog programmatically
11083
+
11084
+ var openFileDialog = useCallback(function () {
11085
+ if (inputRef.current) {
11086
+ dispatch({
11087
+ type: 'openDialog'
11088
+ });
11089
+ inputRef.current.value = null;
11090
+ inputRef.current.click();
11091
+ }
11092
+ }, [dispatch]); // Update file dialog active state when the window is focused on
11093
+
11094
+ var onWindowFocus = function onWindowFocus() {
11095
+ // Execute the timeout only if the file dialog is opened in the browser
11096
+ if (isFileDialogActive) {
11097
+ setTimeout(function () {
11098
+ if (inputRef.current) {
11099
+ var files = inputRef.current.files;
11100
+
11101
+ if (!files.length) {
11102
+ dispatch({
11103
+ type: 'closeDialog'
11104
+ });
11105
+
11106
+ if (typeof onFileDialogCancel === 'function') {
11107
+ onFileDialogCancel();
11108
+ }
11109
+ }
11110
+ }
11111
+ }, 300);
11112
+ }
11113
+ };
11114
+
11115
+ useEffect(function () {
11116
+ window.addEventListener('focus', onWindowFocus, false);
11117
+ return function () {
11118
+ window.removeEventListener('focus', onWindowFocus, false);
11119
+ };
11120
+ }, [inputRef, isFileDialogActive, onFileDialogCancel]); // Cb to open the file dialog when SPACE/ENTER occurs on the dropzone
11121
+
11122
+ var onKeyDownCb = useCallback(function (event) {
11123
+ // Ignore keyboard events bubbling up the DOM tree
11124
+ if (!rootRef.current || !rootRef.current.isEqualNode(event.target)) {
11125
+ return;
11126
+ }
11127
+
11128
+ if (event.keyCode === 32 || event.keyCode === 13) {
11129
+ event.preventDefault();
11130
+ openFileDialog();
11131
+ }
11132
+ }, [rootRef, inputRef]); // Update focus state for the dropzone
11133
+
11134
+ var onFocusCb = useCallback(function () {
11135
+ dispatch({
11136
+ type: 'focus'
11137
+ });
11138
+ }, []);
11139
+ var onBlurCb = useCallback(function () {
11140
+ dispatch({
11141
+ type: 'blur'
11142
+ });
11143
+ }, []); // Cb to open the file dialog when click occurs on the dropzone
11144
+
11145
+ var onClickCb = useCallback(function () {
11146
+ if (noClick) {
11147
+ return;
11148
+ } // In IE11/Edge the file-browser dialog is blocking, therefore, use setTimeout()
11149
+ // to ensure React can handle state changes
11150
+ // See: https://github.com/react-dropzone/react-dropzone/issues/450
11151
+
11152
+
11153
+ if (isIeOrEdge()) {
11154
+ setTimeout(openFileDialog, 0);
11155
+ } else {
11156
+ openFileDialog();
11157
+ }
11158
+ }, [inputRef, noClick]);
11159
+ var dragTargetsRef = useRef([]);
11160
+
11161
+ var onDocumentDrop = function onDocumentDrop(event) {
11162
+ if (rootRef.current && rootRef.current.contains(event.target)) {
11163
+ // If we intercepted an event for our instance, let it propagate down to the instance's onDrop handler
11164
+ return;
11165
+ }
11166
+
11167
+ event.preventDefault();
11168
+ dragTargetsRef.current = [];
11169
+ };
11170
+
11171
+ useEffect(function () {
11172
+ if (preventDropOnDocument) {
11173
+ document.addEventListener('dragover', onDocumentDragOver, false);
11174
+ document.addEventListener('drop', onDocumentDrop, false);
11175
+ }
11176
+
11177
+ return function () {
11178
+ if (preventDropOnDocument) {
11179
+ document.removeEventListener('dragover', onDocumentDragOver);
11180
+ document.removeEventListener('drop', onDocumentDrop);
11181
+ }
11182
+ };
11183
+ }, [rootRef, preventDropOnDocument]);
11184
+ var onDragEnterCb = useCallback(function (event) {
11185
+ event.preventDefault(); // Persist here because we need the event later after getFilesFromEvent() is done
11186
+
11187
+ event.persist();
11188
+ stopPropagation(event);
11189
+ dragTargetsRef.current = [].concat(_toConsumableArray(dragTargetsRef.current), [event.target]);
11190
+
11191
+ if (isEvtWithFiles(event)) {
11192
+ Promise.resolve(getFilesFromEvent(event)).then(function (draggedFiles) {
11193
+ if (isPropagationStopped(event) && !noDragEventsBubbling) {
11194
+ return;
11195
+ }
11196
+
11197
+ dispatch({
11198
+ draggedFiles: draggedFiles,
11199
+ isDragActive: true,
11200
+ type: 'setDraggedFiles'
11201
+ });
11202
+
11203
+ if (onDragEnter) {
11204
+ onDragEnter(event);
11205
+ }
11206
+ });
11207
+ }
11208
+ }, [getFilesFromEvent, onDragEnter, noDragEventsBubbling]);
11209
+ var onDragOverCb = useCallback(function (event) {
11210
+ event.preventDefault();
11211
+ event.persist();
11212
+ stopPropagation(event);
11213
+ var hasFiles = isEvtWithFiles(event);
11214
+
11215
+ if (hasFiles && event.dataTransfer) {
11216
+ try {
11217
+ event.dataTransfer.dropEffect = 'copy';
11218
+ } catch (_unused) {}
11219
+ /* eslint-disable-line no-empty */
11220
+
11221
+ }
11222
+
11223
+ if (hasFiles && onDragOver) {
11224
+ onDragOver(event);
11225
+ }
11226
+
11227
+ return false;
11228
+ }, [onDragOver, noDragEventsBubbling]);
11229
+ var onDragLeaveCb = useCallback(function (event) {
11230
+ event.preventDefault();
11231
+ event.persist();
11232
+ stopPropagation(event); // Only deactivate once the dropzone and all children have been left
11233
+
11234
+ var targets = dragTargetsRef.current.filter(function (target) {
11235
+ return rootRef.current && rootRef.current.contains(target);
11236
+ }); // Make sure to remove a target present multiple times only once
11237
+ // (Firefox may fire dragenter/dragleave multiple times on the same element)
11238
+
11239
+ var targetIdx = targets.indexOf(event.target);
11240
+
11241
+ if (targetIdx !== -1) {
11242
+ targets.splice(targetIdx, 1);
11243
+ }
11244
+
11245
+ dragTargetsRef.current = targets;
11246
+
11247
+ if (targets.length > 0) {
11248
+ return;
11249
+ }
11250
+
11251
+ dispatch({
11252
+ isDragActive: false,
11253
+ type: 'setDraggedFiles',
11254
+ draggedFiles: []
11255
+ });
11256
+
11257
+ if (isEvtWithFiles(event) && onDragLeave) {
11258
+ onDragLeave(event);
11259
+ }
11260
+ }, [rootRef, onDragLeave, noDragEventsBubbling]);
11261
+ var onDropCb = useCallback(function (event) {
11262
+ event.preventDefault(); // Persist here because we need the event later after getFilesFromEvent() is done
11263
+
11264
+ event.persist();
11265
+ stopPropagation(event);
11266
+ dragTargetsRef.current = [];
11267
+
11268
+ if (isEvtWithFiles(event)) {
11269
+ Promise.resolve(getFilesFromEvent(event)).then(function (files) {
11270
+ if (isPropagationStopped(event) && !noDragEventsBubbling) {
11271
+ return;
11272
+ }
11273
+
11274
+ var acceptedFiles = [];
11275
+ var fileRejections = [];
11276
+ files.forEach(function (file) {
11277
+ var _fileAccepted = fileAccepted(file, accept),
11278
+ _fileAccepted2 = _slicedToArray(_fileAccepted, 2),
11279
+ accepted = _fileAccepted2[0],
11280
+ acceptError = _fileAccepted2[1];
11281
+
11282
+ var _fileMatchSize = fileMatchSize(file, minSize, maxSize),
11283
+ _fileMatchSize2 = _slicedToArray(_fileMatchSize, 2),
11284
+ sizeMatch = _fileMatchSize2[0],
11285
+ sizeError = _fileMatchSize2[1];
11286
+
11287
+ var customErrors = validator ? validator(file) : null;
11288
+
11289
+ if (accepted && sizeMatch && !customErrors) {
11290
+ acceptedFiles.push(file);
11291
+ } else {
11292
+ var errors = [acceptError, sizeError];
11293
+
11294
+ if (customErrors) {
11295
+ errors = errors.concat(customErrors);
11296
+ }
11297
+
11298
+ fileRejections.push({
11299
+ file: file,
11300
+ errors: errors.filter(function (e) {
11301
+ return e;
11302
+ })
11303
+ });
11304
+ }
11305
+ });
11306
+
11307
+ if (!multiple && acceptedFiles.length > 1 || multiple && maxFiles >= 1 && acceptedFiles.length > maxFiles) {
11308
+ // Reject everything and empty accepted files
11309
+ acceptedFiles.forEach(function (file) {
11310
+ fileRejections.push({
11311
+ file: file,
11312
+ errors: [TOO_MANY_FILES_REJECTION]
11313
+ });
11314
+ });
11315
+ acceptedFiles.splice(0);
11316
+ }
11317
+
11318
+ dispatch({
11319
+ acceptedFiles: acceptedFiles,
11320
+ fileRejections: fileRejections,
11321
+ type: 'setFiles'
11322
+ });
11323
+
11324
+ if (onDrop) {
11325
+ onDrop(acceptedFiles, fileRejections, event);
11326
+ }
11327
+
11328
+ if (fileRejections.length > 0 && onDropRejected) {
11329
+ onDropRejected(fileRejections, event);
11330
+ }
11331
+
11332
+ if (acceptedFiles.length > 0 && onDropAccepted) {
11333
+ onDropAccepted(acceptedFiles, event);
11334
+ }
11335
+ });
11336
+ }
11337
+
11338
+ dispatch({
11339
+ type: 'reset'
11340
+ });
11341
+ }, [multiple, accept, minSize, maxSize, maxFiles, getFilesFromEvent, onDrop, onDropAccepted, onDropRejected, noDragEventsBubbling]);
11342
+
11343
+ var composeHandler = function composeHandler(fn) {
11344
+ return disabled ? null : fn;
11345
+ };
11346
+
11347
+ var composeKeyboardHandler = function composeKeyboardHandler(fn) {
11348
+ return noKeyboard ? null : composeHandler(fn);
11349
+ };
11350
+
11351
+ var composeDragHandler = function composeDragHandler(fn) {
11352
+ return noDrag ? null : composeHandler(fn);
11353
+ };
11354
+
11355
+ var stopPropagation = function stopPropagation(event) {
11356
+ if (noDragEventsBubbling) {
11357
+ event.stopPropagation();
11358
+ }
11359
+ };
11360
+
11361
+ var getRootProps = useMemo(function () {
11362
+ return function () {
11363
+ var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
11364
+ _ref2$refKey = _ref2.refKey,
11365
+ refKey = _ref2$refKey === void 0 ? 'ref' : _ref2$refKey,
11366
+ onKeyDown = _ref2.onKeyDown,
11367
+ onFocus = _ref2.onFocus,
11368
+ onBlur = _ref2.onBlur,
11369
+ onClick = _ref2.onClick,
11370
+ onDragEnter = _ref2.onDragEnter,
11371
+ onDragOver = _ref2.onDragOver,
11372
+ onDragLeave = _ref2.onDragLeave,
11373
+ onDrop = _ref2.onDrop,
11374
+ rest = _objectWithoutProperties(_ref2, ["refKey", "onKeyDown", "onFocus", "onBlur", "onClick", "onDragEnter", "onDragOver", "onDragLeave", "onDrop"]);
11375
+
11376
+ return _objectSpread(_objectSpread(_defineProperty({
11377
+ onKeyDown: composeKeyboardHandler(composeEventHandlers(onKeyDown, onKeyDownCb)),
11378
+ onFocus: composeKeyboardHandler(composeEventHandlers(onFocus, onFocusCb)),
11379
+ onBlur: composeKeyboardHandler(composeEventHandlers(onBlur, onBlurCb)),
11380
+ onClick: composeHandler(composeEventHandlers(onClick, onClickCb)),
11381
+ onDragEnter: composeDragHandler(composeEventHandlers(onDragEnter, onDragEnterCb)),
11382
+ onDragOver: composeDragHandler(composeEventHandlers(onDragOver, onDragOverCb)),
11383
+ onDragLeave: composeDragHandler(composeEventHandlers(onDragLeave, onDragLeaveCb)),
11384
+ onDrop: composeDragHandler(composeEventHandlers(onDrop, onDropCb))
11385
+ }, refKey, rootRef), !disabled && !noKeyboard ? {
11386
+ tabIndex: 0
11387
+ } : {}), rest);
11388
+ };
11389
+ }, [rootRef, onKeyDownCb, onFocusCb, onBlurCb, onClickCb, onDragEnterCb, onDragOverCb, onDragLeaveCb, onDropCb, noKeyboard, noDrag, disabled]);
11390
+ var onInputElementClick = useCallback(function (event) {
11391
+ event.stopPropagation();
11392
+ }, []);
11393
+ var getInputProps = useMemo(function () {
11394
+ return function () {
11395
+ var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
11396
+ _ref3$refKey = _ref3.refKey,
11397
+ refKey = _ref3$refKey === void 0 ? 'ref' : _ref3$refKey,
11398
+ onChange = _ref3.onChange,
11399
+ onClick = _ref3.onClick,
11400
+ rest = _objectWithoutProperties(_ref3, ["refKey", "onChange", "onClick"]);
11401
+
11402
+ var inputProps = _defineProperty({
11403
+ accept: accept,
11404
+ multiple: multiple,
11405
+ type: 'file',
11406
+ style: {
11407
+ display: 'none'
11408
+ },
11409
+ onChange: composeHandler(composeEventHandlers(onChange, onDropCb)),
11410
+ onClick: composeHandler(composeEventHandlers(onClick, onInputElementClick)),
11411
+ autoComplete: 'off',
11412
+ tabIndex: -1
11413
+ }, refKey, inputRef);
11414
+
11415
+ return _objectSpread(_objectSpread({}, inputProps), rest);
11416
+ };
11417
+ }, [inputRef, accept, multiple, onDropCb, disabled]);
11418
+ var fileCount = draggedFiles.length;
11419
+ var isDragAccept = fileCount > 0 && allFilesAccepted({
11420
+ files: draggedFiles,
11421
+ accept: accept,
11422
+ minSize: minSize,
11423
+ maxSize: maxSize,
11424
+ multiple: multiple,
11425
+ maxFiles: maxFiles
11426
+ });
11427
+ var isDragReject = fileCount > 0 && !isDragAccept;
11428
+ return _objectSpread(_objectSpread({}, state), {}, {
11429
+ isDragAccept: isDragAccept,
11430
+ isDragReject: isDragReject,
11431
+ isFocused: isFocused && !disabled,
11432
+ getRootProps: getRootProps,
11433
+ getInputProps: getInputProps,
11434
+ rootRef: rootRef,
11435
+ inputRef: inputRef,
11436
+ open: composeHandler(openFileDialog)
11437
+ });
11438
+ }
11439
+
11440
+ function reducer(state, action) {
11441
+ /* istanbul ignore next */
11442
+ switch (action.type) {
11443
+ case 'focus':
11444
+ return _objectSpread(_objectSpread({}, state), {}, {
11445
+ isFocused: true
11446
+ });
11447
+
11448
+ case 'blur':
11449
+ return _objectSpread(_objectSpread({}, state), {}, {
11450
+ isFocused: false
11451
+ });
11452
+
11453
+ case 'openDialog':
11454
+ return _objectSpread(_objectSpread({}, state), {}, {
11455
+ isFileDialogActive: true
11456
+ });
11457
+
11458
+ case 'closeDialog':
11459
+ return _objectSpread(_objectSpread({}, state), {}, {
11460
+ isFileDialogActive: false
11461
+ });
11462
+
11463
+ case 'setDraggedFiles':
11464
+ /* eslint no-case-declarations: 0 */
11465
+ var isDragActive = action.isDragActive,
11466
+ draggedFiles = action.draggedFiles;
11467
+ return _objectSpread(_objectSpread({}, state), {}, {
11468
+ draggedFiles: draggedFiles,
11469
+ isDragActive: isDragActive
11470
+ });
11471
+
11472
+ case 'setFiles':
11473
+ return _objectSpread(_objectSpread({}, state), {}, {
11474
+ acceptedFiles: action.acceptedFiles,
11475
+ fileRejections: action.fileRejections
11476
+ });
11477
+
11478
+ case 'reset':
11479
+ return _objectSpread(_objectSpread({}, state), {}, {
11480
+ isFileDialogActive: false,
11481
+ isDragActive: false,
11482
+ draggedFiles: [],
11483
+ acceptedFiles: [],
11484
+ fileRejections: []
11485
+ });
11486
+
11487
+ default:
11488
+ return state;
11489
+ }
11490
+ }
10207
11491
 
10208
11492
  const Upload = _ref => {
10209
11493
  let {
10210
11494
  onChange
10211
11495
  } = _ref;
10212
- const [selectedFiles, setSelectedFiles] = useState([]);
10213
- const handleFileInput = e => {
10214
- setSelectedFiles([...selectedFiles, ...e.target.files]);
10215
- onChange([...selectedFiles, ...e.target.files]);
10216
- };
10217
- const handleRemoveFile = index => {
10218
- const newFiles = [...selectedFiles];
10219
- newFiles.splice(index, 1);
10220
- setSelectedFiles(newFiles);
10221
- onChange(newFiles);
10222
- };
10223
- return /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement(Button, {
10224
- variant: "outlined",
10225
- color: "primary"
10226
- }, /*#__PURE__*/React__default.createElement("label", {
10227
- htmlFor: "fileInput",
10228
- style: {
10229
- display: 'flex',
10230
- cursor: 'pointer'
10231
- }
10232
- }, /*#__PURE__*/React__default.createElement(default_1$1, null), "Upload Files", /*#__PURE__*/React__default.createElement("input", {
10233
- id: "fileInput",
10234
- type: "file",
10235
- multiple: true,
10236
- onChange: handleFileInput,
10237
- style: {
10238
- display: 'none'
11496
+ const fileRef = useRef(null);
11497
+ const openDialog = () => {
11498
+ if (fileRef.current) {
11499
+ fileRef.current.open();
10239
11500
  }
10240
- }))), selectedFiles.length > 0 && /*#__PURE__*/React__default.createElement("div", null, selectedFiles.map((file, index) => /*#__PURE__*/React__default.createElement("div", {
10241
- key: index.toString()
10242
- }, /*#__PURE__*/React__default.createElement("span", null, file.name), /*#__PURE__*/React__default.createElement(IconButton, {
10243
- "aria-label": "delete",
10244
- onClick: () => handleRemoveFile(index)
10245
- }, /*#__PURE__*/React__default.createElement(default_1, null))))));
11501
+ };
11502
+ return /*#__PURE__*/React__default.createElement(Dropzone, {
11503
+ ref: fileRef,
11504
+ noClick: true,
11505
+ noKeyboard: true,
11506
+ onDropAccepted: files => onChange(files),
11507
+ multiple: false,
11508
+ noDrag: true
11509
+ }, _ref2 => {
11510
+ let {
11511
+ getRootProps,
11512
+ getInputProps,
11513
+ acceptedFiles
11514
+ } = _ref2;
11515
+ return /*#__PURE__*/React__default.createElement("div", {
11516
+ className: "container"
11517
+ }, /*#__PURE__*/React__default.createElement("div", getRootProps({
11518
+ className: 'dropzone'
11519
+ }), /*#__PURE__*/React__default.createElement("input", getInputProps()), /*#__PURE__*/React__default.createElement(Button, {
11520
+ variant: "contained",
11521
+ color: "default",
11522
+ startIcon: /*#__PURE__*/React__default.createElement(default_1, null),
11523
+ onClick: openDialog
11524
+ }, "Upload")), /*#__PURE__*/React__default.createElement("aside", null, /*#__PURE__*/React__default.createElement("ul", null, acceptedFiles.map(file => /*#__PURE__*/React__default.createElement("li", {
11525
+ key: file.path
11526
+ }, file.path)))));
11527
+ });
10246
11528
  };
10247
11529
  Upload.propTypes = {
10248
11530
  onChange: PropTypes.func.isRequired
@@ -10258,6 +11540,7 @@ const FormItem = _ref => {
10258
11540
  options,
10259
11541
  label,
10260
11542
  hint,
11543
+ hint2,
10261
11544
  placeholder,
10262
11545
  required,
10263
11546
  setFieldValue,
@@ -10348,7 +11631,11 @@ const FormItem = _ref => {
10348
11631
  my: 1
10349
11632
  }, /*#__PURE__*/React__default.createElement(Typography, {
10350
11633
  variant: "body2"
10351
- }, hint)), /*#__PURE__*/React__default.createElement("div", {
11634
+ }, hint)), hint2 && /*#__PURE__*/React__default.createElement(Box, {
11635
+ my: 1
11636
+ }, /*#__PURE__*/React__default.createElement(Typography, {
11637
+ variant: "body2"
11638
+ }, hint2)), /*#__PURE__*/React__default.createElement("div", {
10352
11639
  className: classNames('formItem__operator', {
10353
11640
  'formItem__operator--unsupport': !component
10354
11641
  })
@@ -10364,6 +11651,7 @@ FormItem.defaultProps = {
10364
11651
  label: undefined,
10365
11652
  placeholder: undefined,
10366
11653
  hint: undefined,
11654
+ hint2: undefined,
10367
11655
  options: [],
10368
11656
  required: false,
10369
11657
  setFieldValue: () => {},
@@ -10375,6 +11663,7 @@ FormItem.propTypes = {
10375
11663
  type: PropTypes.string.isRequired,
10376
11664
  label: PropTypes.string,
10377
11665
  hint: PropTypes.string,
11666
+ hint2: PropTypes.string,
10378
11667
  options: PropTypes.arrayOf(PropTypes.any),
10379
11668
  placeholder: PropTypes.string,
10380
11669
  required: PropTypes.bool,
@@ -10518,11 +11807,11 @@ var ContactModal = function ContactModal(_ref) {
10518
11807
  var _getIntl = getIntl(),
10519
11808
  formatMessage = _getIntl.formatMessage;
10520
11809
  var _useState = useState(false),
10521
- _useState2 = _slicedToArray(_useState, 2),
11810
+ _useState2 = _slicedToArray$2(_useState, 2),
10522
11811
  submitting = _useState2[0],
10523
11812
  setSubmitting = _useState2[1];
10524
11813
  var _useState3 = useState(type),
10525
- _useState4 = _slicedToArray(_useState3, 2),
11814
+ _useState4 = _slicedToArray$2(_useState3, 2),
10526
11815
  formType = _useState4[0],
10527
11816
  setFormType = _useState4[1];
10528
11817
 
@@ -10535,7 +11824,7 @@ var ContactModal = function ContactModal(_ref) {
10535
11824
  /* 表單控制元件 */
10536
11825
  var formik = useFormik({
10537
11826
  initialValues: template.reduce(function (obj, item) {
10538
- return _objectSpread2(_objectSpread2({}, obj), {}, _defineProperty({}, item.name, item.initialValue || ''));
11827
+ return _objectSpread2(_objectSpread2({}, obj), {}, _defineProperty$1({}, item.name, item.initialValue || ''));
10539
11828
  }, {}),
10540
11829
  validate: function validate(values) {
10541
11830
  var errors = {};
@@ -10578,125 +11867,77 @@ var ContactModal = function ContactModal(_ref) {
10578
11867
  errorId = Object.keys(errors).length > 0 ? Object.keys(errors).shift() : null;
10579
11868
  return errors;
10580
11869
  },
10581
- onSubmit: function () {
10582
- var _onSubmit = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(values) {
10583
- var title, subject, body, promises, attachments;
10584
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
10585
- while (1) {
10586
- switch (_context2.prev = _context2.next) {
10587
- case 0:
10588
- title = values.subject === EMAIL_TYPE.PROBLEM ? formatMessage({
10589
- id: 'common.has.problem'
10590
- }) : formatMessage({
10591
- id: 'common.form.dataProvide'
10592
- });
10593
- subject = "".concat(title, "-").concat(formatMessage({
10594
- id: 'header.title'
10595
- }), "-").concat(values.name);
10596
- body = formType === EMAIL_TYPE.PROBLEM ? problemMail({
10597
- formatMessage: formatMessage,
10598
- values: values
10599
- }) : dataProvideMail({
10600
- formatMessage: formatMessage,
10601
- values: values
10602
- });
10603
- setSubmitting(true);
10604
- if (!(values.files && values.files.length > 0)) {
10605
- _context2.next = 12;
10606
- break;
10607
- }
10608
- promises = values.files.map( /*#__PURE__*/function () {
10609
- var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(file) {
10610
- var content, contentType, base64Content, contentBuffer;
10611
- return _regeneratorRuntime().wrap(function _callee$(_context) {
10612
- while (1) {
10613
- switch (_context.prev = _context.next) {
10614
- case 0:
10615
- _context.next = 2;
10616
- return toBase64(file);
10617
- case 2:
10618
- content = _context.sent;
10619
- contentType = file === null || file === void 0 ? void 0 : file.type;
10620
- base64Content = content.split('base64,')[1];
10621
- contentBuffer = Buffer.from(base64Content, 'base64');
10622
- return _context.abrupt("return", {
10623
- filename: file.name,
10624
- content: contentBuffer,
10625
- contentType: contentType
10626
- });
10627
- case 7:
10628
- case "end":
10629
- return _context.stop();
10630
- }
10631
- }
10632
- }, _callee);
10633
- }));
10634
- return function (_x2) {
10635
- return _ref4.apply(this, arguments);
10636
- };
10637
- }());
10638
- _context2.next = 8;
10639
- return Promise.all(promises);
10640
- case 8:
10641
- attachments = _context2.sent;
10642
- sendEmail({
10643
- from: values.email,
10644
- to: mailto,
10645
- subject: subject,
10646
- html: body,
10647
- attachments: attachments
10648
- }, emailAPI, function (_ref5) {
10649
- var state = _ref5.state;
10650
- if (state) {
10651
- setSubmitting(false);
10652
- formik.resetForm();
10653
- setOpen(false);
10654
- onNotify({
10655
- message: 'common.action.success'
10656
- });
10657
- } else {
10658
- onNotify({
10659
- type: 'error',
10660
- message: 'common.action.error'
10661
- });
10662
- }
10663
- });
10664
- _context2.next = 13;
10665
- break;
10666
- case 12:
10667
- sendEmail({
10668
- from: values.email,
10669
- to: mailto,
10670
- subject: subject,
10671
- html: body
10672
- }, emailAPI, function (_ref6) {
10673
- var state = _ref6.state;
10674
- if (state) {
10675
- setSubmitting(false);
10676
- formik.resetForm();
10677
- setOpen(false);
10678
- onNotify({
10679
- message: 'common.action.success'
10680
- });
10681
- } else {
10682
- onNotify({
10683
- type: 'error',
10684
- message: 'common.action.error'
10685
- });
10686
- }
10687
- });
10688
- case 13:
10689
- case "end":
10690
- return _context2.stop();
11870
+ onSubmit: function onSubmit(values) {
11871
+ var title = values.subject === EMAIL_TYPE.PROBLEM ? formatMessage({
11872
+ id: 'common.has.problem'
11873
+ }) : formatMessage({
11874
+ id: 'common.form.dataProvide'
11875
+ });
11876
+ var subject = "".concat(title, "-").concat(formatMessage({
11877
+ id: 'header.title'
11878
+ }), "-").concat(values.name);
11879
+ var body = formType === EMAIL_TYPE.PROBLEM ? problemMail({
11880
+ formatMessage: formatMessage,
11881
+ values: values
11882
+ }) : dataProvideMail({
11883
+ formatMessage: formatMessage,
11884
+ values: values
11885
+ });
11886
+ setSubmitting(true);
11887
+ var fileName = values.files && values.files[0] && values.files[0].name;
11888
+ if (values.files && values.files.length > 0) {
11889
+ toBase64(values.files[0]).then(function (data) {
11890
+ sendEmail({
11891
+ from: values.email,
11892
+ to: mailto,
11893
+ subject: subject,
11894
+ html: body,
11895
+ attachments: [{
11896
+ // stream as an attachment
11897
+ filename: fileName,
11898
+ content: data
11899
+ }]
11900
+ }, emailAPI, function (_ref4) {
11901
+ var state = _ref4.state;
11902
+ if (state) {
11903
+ setSubmitting(false);
11904
+ formik.resetForm();
11905
+ setOpen(false);
11906
+ onNotify({
11907
+ message: 'common.action.success'
11908
+ });
11909
+ } else {
11910
+ onNotify({
11911
+ type: 'error',
11912
+ message: 'common.action.error'
11913
+ });
10691
11914
  }
11915
+ });
11916
+ });
11917
+ } else {
11918
+ sendEmail({
11919
+ from: values.email,
11920
+ to: mailto,
11921
+ subject: subject,
11922
+ html: body
11923
+ }, emailAPI, function (_ref5) {
11924
+ var state = _ref5.state;
11925
+ if (state) {
11926
+ setSubmitting(false);
11927
+ formik.resetForm();
11928
+ setOpen(false);
11929
+ onNotify({
11930
+ message: 'common.action.success'
11931
+ });
11932
+ } else {
11933
+ onNotify({
11934
+ type: 'error',
11935
+ message: 'common.action.error'
11936
+ });
10692
11937
  }
10693
- }, _callee2);
10694
- }));
10695
- function onSubmit(_x) {
10696
- return _onSubmit.apply(this, arguments);
11938
+ });
10697
11939
  }
10698
- return onSubmit;
10699
- }()
11940
+ }
10700
11941
  });
10701
11942
 
10702
11943
  /* 關閉表單 */