diff --git a/.travis.yml b/.travis.yml index 1ffe675aa..f3a0262d1 100755 --- a/.travis.yml +++ b/.travis.yml @@ -16,8 +16,8 @@ env: - GDALBUILD=$HOME/gdalbuild before_install: - travis_wait 30 ./misc/install_gdal.sh - - export PATH=$GDALINST/gdal-2.2.3/bin:$PATH - - export LD_LIBRARY_PATH=$GDALINST/gdal-2.2.3/lib:$LD_LIBRARY_PATH + - export PATH=$GDALINST/gdal-2.4.2/bin:$PATH + - export LD_LIBRARY_PATH=$GDALINST/gdal-2.4.2/lib:$LD_LIBRARY_PATH install: - npm -g install topojson - pip install --upgrade "setuptools>=25.1" pip @@ -25,7 +25,15 @@ install: - python setup.py install - python setup.py build_ext --inplace before_script: - - pushd /tmp && wget https://chromedriver.storage.googleapis.com/77.0.3865.40/chromedriver_linux64.zip && unzip chromedriver_linux64.zip -d ~/bin/ && popd + - mkdir -p ~/bin + - | + if [ ! -e ~/bin/chromedriver ]; then + export CHROMEDRIVER_VERSION=$(curl -q http://chromedriver.storage.googleapis.com/LATEST_RELEASE) + wget -N http://chromedriver.storage.googleapis.com/$CHROMEDRIVER_VERSION/chromedriver_linux64.zip -P ~/ + unzip ~/chromedriver_linux64.zip -d ~/bin + rm ~/chromedriver_linux64.zip + chmod +x ~/bin/chromedriver + fi script: - magrit --help - py.test tests/test.py -p no:flaky diff --git a/CHANGES.rst b/CHANGES.rst index df7dd4380..795b7df50 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -2,14 +2,24 @@ Changes ======= -0.8.12 (2019-xx-xx) +0.8.12 (2020-11-26) ------------------- - Allow more flexibility to customize the set of sample layers to use when deploying Magrit (#45). - Fixe some typos in documentation (#49). -- ... +- Render crisp-edges (ie. disable SVG antialiasing) if the stroke-width or the stroke-opacity of a layer is set to 0 (#61). Note that this has an impact on the quality of the rendering, which is now slightly crenellated. + +- Avoid opening the overlay (dedicated to file upload and triggered by a drag event) when draging html elements (#64). + +- Correctly set the "lang" HTML attribute to avoid having chrome translation poping up when it is not necessary (#65). + +- Improves the retrieval of a useful error message in case of failed conversion of tabular file. + +- Avoid to propose to reuse the style of an existing categorical layer when there is only one. + +- Improves the experience of reordering modalities for categorical layer / harmonize style between the modal window doing this for categorical layer and for picto layer (related to #62). 0.8.11 (2019-03-20) diff --git a/README.md b/README.md index 0453ed0b6..50c7eecd3 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ - We also provide many sample datasets to try out the various representations and become familiar with the application. - It allows to **render and combine a wide variety of maps**: choropleth, proportional symbols, cartogram, discontinuity, etc. - It supports the most popular modern desktop browsers: Chrome, Firefox and Opera (+ Edge and Safari with limitations). -- Server-side, Magrit is backed by a python 3.5+ application (particularly for some geoprocessing tasks relying on GDAL, GEOS and PROJ.4 libraries). +- Server-side, Magrit is backed by a python 3.6+ application (particularly for some geoprocessing tasks relying on GDAL, GEOS and PROJ.4 libraries). - Client-side, Magrit is written in modern JS (ES6) and uses notably the d3.js library. @@ -27,7 +27,7 @@ Most users should go on : ## Examples -

+

More maps are available in the [gallery](http://magrit.hypotheses.org/galerie). diff --git a/client/.babelrc b/client/.babelrc index 1026de247..6dbbd7803 100644 --- a/client/.babelrc +++ b/client/.babelrc @@ -1,4 +1,4 @@ { - "presets": [ "env" ], + "presets": ["@babel/preset-env"], "plugins": ["syntax-dynamic-import"] } diff --git a/client/css/discretization.css b/client/css/discretization.css index 2e08d3a7e..27d5d8716 100755 --- a/client/css/discretization.css +++ b/client/css/discretization.css @@ -142,3 +142,29 @@ label_it_inline { background-image: linear-gradient(to bottom, #edfa3c, #d6d934); text-decoration: none; } + +/* Styles for list of elements in categorical / picto panel */ +li.typo_class:first-child { + border-top-left-radius: 4px; + border-top-right-radius: 4px; +} + +li.typo_class:last-child { + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; +} + +li.typo_class { + border: 1px solid #ddd; + padding: 4px; + cursor: grab; +} + +li.typo_class > p.color_square { + cursor: pointer; +} + +li.typo_class > p.symbol_section { + cursor: pointer; +} +/* End of styles for list of elements in categorical / picto panel */ diff --git a/client/dist/app.bdd2ca.js b/client/dist/app.bdd2ca.js deleted file mode 100644 index 5bbcbf739..000000000 --- a/client/dist/app.bdd2ca.js +++ /dev/null @@ -1,740 +0,0 @@ -/******/ (function(modules) { // webpackBootstrap -/******/ // install a JSONP callback for chunk loading -/******/ function webpackJsonpCallback(data) { -/******/ var chunkIds = data[0]; -/******/ var moreModules = data[1]; -/******/ var executeModules = data[2]; -/******/ -/******/ // add "moreModules" to the modules object, -/******/ // then flag all "chunkIds" as loaded and fire callback -/******/ var moduleId, chunkId, i = 0, resolves = []; -/******/ for(;i < chunkIds.length; i++) { -/******/ chunkId = chunkIds[i]; -/******/ if(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) { -/******/ resolves.push(installedChunks[chunkId][0]); -/******/ } -/******/ installedChunks[chunkId] = 0; -/******/ } -/******/ for(moduleId in moreModules) { -/******/ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) { -/******/ modules[moduleId] = moreModules[moduleId]; -/******/ } -/******/ } -/******/ if(parentJsonpFunction) parentJsonpFunction(data); -/******/ -/******/ while(resolves.length) { -/******/ resolves.shift()(); -/******/ } -/******/ -/******/ // add entry modules from loaded chunk to deferred list -/******/ deferredModules.push.apply(deferredModules, executeModules || []); -/******/ -/******/ // run deferred modules when all chunks ready -/******/ return checkDeferredModules(); -/******/ }; -/******/ function checkDeferredModules() { -/******/ var result; -/******/ for(var i = 0; i < deferredModules.length; i++) { -/******/ var deferredModule = deferredModules[i]; -/******/ var fulfilled = true; -/******/ for(var j = 1; j < deferredModule.length; j++) { -/******/ var depId = deferredModule[j]; -/******/ if(installedChunks[depId] !== 0) fulfilled = false; -/******/ } -/******/ if(fulfilled) { -/******/ deferredModules.splice(i--, 1); -/******/ result = __webpack_require__(__webpack_require__.s = deferredModule[0]); -/******/ } -/******/ } -/******/ -/******/ return result; -/******/ } -/******/ -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // object to store loaded and loading chunks -/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched -/******/ // Promise = chunk loading, 0 = chunk loaded -/******/ var installedChunks = { -/******/ "app": 0 -/******/ }; -/******/ -/******/ var deferredModules = []; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); -/******/ } -/******/ }; -/******/ -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = __webpack_require__(value); -/******/ if(mode & 8) return value; -/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); -/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); -/******/ return ns; -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = "static/dist/"; -/******/ -/******/ var jsonpArray = window["webpackJsonp"] = window["webpackJsonp"] || []; -/******/ var oldJsonpFunction = jsonpArray.push.bind(jsonpArray); -/******/ jsonpArray.push = webpackJsonpCallback; -/******/ jsonpArray = jsonpArray.slice(); -/******/ for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]); -/******/ var parentJsonpFunction = oldJsonpFunction; -/******/ -/******/ -/******/ // add entry module to deferred list -/******/ deferredModules.push(["./js/main.js","vendor"]); -/******/ // run deferred modules when ready -/******/ return checkDeferredModules(); -/******/ }) -/************************************************************************/ -/******/ ({ - -/***/ "./css/context-menu.css": -/*!******************************!*\ - !*** ./css/context-menu.css ***! - \******************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("\nvar content = __webpack_require__(/*! !../node_modules/css-loader/dist/cjs.js!./context-menu.css */ \"./node_modules/css-loader/dist/cjs.js!./css/context-menu.css\");\n\nif(typeof content === 'string') content = [[module.i, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = __webpack_require__(/*! ../node_modules/style-loader/lib/addStyles.js */ \"./node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(false) {}\n\n//# sourceURL=webpack:///./css/context-menu.css?"); - -/***/ }), - -/***/ "./css/discretization.css": -/*!********************************!*\ - !*** ./css/discretization.css ***! - \********************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("\nvar content = __webpack_require__(/*! !../node_modules/css-loader/dist/cjs.js!./discretization.css */ \"./node_modules/css-loader/dist/cjs.js!./css/discretization.css\");\n\nif(typeof content === 'string') content = [[module.i, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = __webpack_require__(/*! ../node_modules/style-loader/lib/addStyles.js */ \"./node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(false) {}\n\n//# sourceURL=webpack:///./css/discretization.css?"); - -/***/ }), - -/***/ "./css/style.css": -/*!***********************!*\ - !*** ./css/style.css ***! - \***********************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("\nvar content = __webpack_require__(/*! !../node_modules/css-loader/dist/cjs.js!./style.css */ \"./node_modules/css-loader/dist/cjs.js!./css/style.css\");\n\nif(typeof content === 'string') content = [[module.i, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = __webpack_require__(/*! ../node_modules/style-loader/lib/addStyles.js */ \"./node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(false) {}\n\n//# sourceURL=webpack:///./css/style.css?"); - -/***/ }), - -/***/ "./js/classification/categorical_panel.js": -/*!************************************************!*\ - !*** ./js/classification/categorical_panel.js ***! - \************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("/* WEBPACK VAR INJECTION */(function(Promise) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.display_categorical_box = display_categorical_box;\n\nvar _sortablejs = __webpack_require__(/*! sortablejs */ \"./node_modules/sortablejs/Sortable.js\");\n\nvar _sortablejs2 = _interopRequireDefault(_sortablejs);\n\nvar _colors_helpers = __webpack_require__(/*! ./../colors_helpers */ \"./js/colors_helpers.js\");\n\nvar _dialogs = __webpack_require__(/*! ./../dialogs */ \"./js/dialogs.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction fetch_categorical_colors() {\n var categ = document.getElementsByClassName('typo_class'),\n color_map = new Map();\n for (var i = 0; i < categ.length; i++) {\n var color = (0, _colors_helpers.rgb2hex)(categ[i].querySelector('.color_square').style.backgroundColor),\n new_name = categ[i].querySelector('.typo_name').value,\n nb_features = categ[i].querySelector('.typo_count_ft').getAttribute('data-count');\n color_map.set(categ[i].__data__.name, [color, new_name, nb_features]);\n }\n return color_map;\n}\n\nfunction display_categorical_box(data_layer, layer_name, field, cats) {\n var is_hex_color = new RegExp(/^#([0-9a-f]{6}|[0-9a-f]{3})$/i);\n var nb_features = data_manager.current_layers[layer_name].n_features;\n var nb_class = cats.length;\n var existing_typo_layer = Object.keys(data_manager.current_layers).filter(function (lyr) {\n return data_manager.current_layers[lyr].renderer === 'Categorical' || data_manager.current_layers[lyr].renderer === 'PropSymbolsTypo';\n });\n var modal_box = (0, _dialogs.make_dialog_container)('categorical_box', _tr('app_page.categorical_box.title', { layer: layer_name, nb_features: nb_features }), 'dialog');\n\n var newbox = d3.select('#categorical_box').select('.modal-body').styles({ 'overflow-y': 'scroll', 'max-height': window.innerHeight - 145 + 'px' });\n\n newbox.append('h3').html('');\n newbox.append('p').html(_tr('app_page.symbol_typo_box.field_categ', { field: field, nb_class: +nb_class, nb_features: +nb_features }));\n\n newbox.append('ul').style('padding', 'unset').attr('id', 'sortable_typo_name').selectAll('li').data(cats).enter().append('li').styles({ margin: 'auto', 'list-style': 'none' }).attr('class', 'typo_class').attr('id', function (_, i) {\n return ['line', i].join('_');\n });\n\n newbox.selectAll('.typo_class').append('input').styles({\n width: '140px',\n height: 'auto',\n display: 'inline-block',\n 'vertical-align': 'middle',\n 'margin-right': '20px'\n }).attrs(function (d) {\n return { class: 'typo_name', id: d.name };\n }).property('value', function (d) {\n return d.display_name;\n });\n\n newbox.selectAll('.typo_class').insert('p').attr('class', 'color_square').style('background-color', function (d) {\n return d.color;\n }).styles({\n width: '22px',\n height: '22px',\n margin: 'auto',\n display: 'inline-block',\n 'vertical-align': 'middle',\n 'border-radius': '10%'\n }).on('click', function () {\n var self = this;\n var this_color = self.style.backgroundColor;\n var input_col = document.createElement('input');\n input_col.setAttribute('type', 'color');\n input_col.setAttribute('value', (0, _colors_helpers.rgb2hex)(this_color));\n input_col.className = 'color_input';\n input_col.onchange = function (change) {\n self.style.backgroundColor = (0, _colors_helpers.hexToRgb)(change.target.value, 'string');\n self.nextSibling.value = change.target.value;\n };\n input_col.dispatchEvent(new MouseEvent('click'));\n });\n\n newbox.selectAll('.typo_class').append('input').attr('class', 'color_hex').styles({ height: '22px', 'vertical-align': 'middle' }).property('value', function (d) {\n return d.color;\n }).style('width', '60px').on('keyup', function () {\n if (is_hex_color.test(this.value)) {\n this.previousSibling.style.backgroundColor = this.value;\n }\n });\n\n newbox.selectAll('.typo_class').insert('span').attrs(function (d) {\n return { class: 'typo_count_ft', 'data-count': d.nb_elem };\n }).html(function (d) {\n return _tr('app_page.symbol_typo_box.count_feature', { count: +d.nb_elem });\n });\n\n newbox.insert('p').insert('button').attr('class', 'button_st3').html(_tr('app_page.categorical_box.new_random_colors')).on('click', function () {\n var lines = document.getElementsByClassName('typo_class');\n for (var i = 0; i < lines.length; ++i) {\n var random_color = (0, _colors_helpers.randomColor)();\n lines[i].querySelector('.color_square').style.backgroundColor = random_color;\n lines[i].querySelector('.color_hex').value = random_color;\n }\n });\n\n // Allow the user to reuse the colors from an existing 'Categorical'\n // (or 'PropSymbolsTypo') layer if any:\n if (existing_typo_layer.length > 0) {\n newbox.insert('p').attr('class', 'button_copy_style').styles({\n margin: '5px',\n cursor: 'pointer',\n 'font-style': 'italic'\n }).html(_tr('app_page.categorical_box.copy_style')).on('click', function () {\n make_box_copy_style_categorical(existing_typo_layer).then(function (result) {\n if (result) {\n // Apply the selected style:\n var ref_map = data_manager.current_layers[result].color_map;\n var selection = newbox.select('#sortable_typo_name').selectAll('li');\n // Change the displayed name of the elements:\n selection.selectAll('input.typo_name').each(function (d) {\n var r = ref_map.get(d.name);\n if (r) {\n d.display_name = r[1];\n this.value = r[1];\n }\n });\n // Change the selected colors:\n selection.selectAll('p').each(function (d) {\n var r = ref_map.get(d.name);\n if (r) {\n d.color = r[0];\n this.style.backgroundColor = r[0];\n this.nextSibling.value = r[0];\n }\n });\n }\n });\n });\n }\n\n new _sortablejs2.default(document.getElementById('sortable_typo_name'));\n var container = document.getElementById('categorical_box');\n\n return new Promise(function (resolve, reject) {\n var _onclose = function _onclose() {\n resolve(false);\n document.removeEventListener('keydown', helper_esc_key_twbs);\n container.remove();\n var p = (0, _dialogs.reOpenParent)();\n if (!p) _dialogs.overlay_under_modal.hide();\n };\n\n container.querySelector('.btn_ok').onclick = function () {\n var color_map = fetch_categorical_colors();\n var colorByFeature = data_layer.map(function (ft) {\n return color_map.get(ft[field])[0];\n });\n resolve([nb_class, color_map, colorByFeature]);\n document.removeEventListener('keydown', helper_esc_key_twbs);\n container.remove();\n var p = (0, _dialogs.reOpenParent)();\n if (!p) _dialogs.overlay_under_modal.hide();\n };\n\n container.querySelector('.btn_cancel').onclick = _onclose;\n container.querySelector('#xclose').onclick = _onclose;\n function helper_esc_key_twbs(evt) {\n var _event = evt || window.event;\n var isEscape = 'key' in _event ? _event.key === 'Escape' || _event.key === 'Esc' : _event.keyCode === 27;\n if (isEscape) {\n _event.stopPropagation();\n _onclose();\n }\n }\n document.addEventListener('keydown', helper_esc_key_twbs);\n _dialogs.overlay_under_modal.display();\n });\n}\n\n/**\n* Create the box allowing to choose the name of the categorical\n* layer whose palette will be used.\n*\n* @param {Array} existing_typo_layer - An array containing the name of any existing\n* 'Categorial' or 'PropSymbolsTypo' layer.\n* @return {Promise} - A promise containing the state of the swal2 alert created.\n*/\nfunction make_box_copy_style_categorical(existing_typo_layer) {\n var selected_layer = existing_typo_layer[0];\n return swal({\n title: _tr('app_page.categorical_box.title_copy_style_box'),\n html: '
',\n showCancelButton: true,\n showConfirmButton: true,\n cancelButtonText: _tr('app_page.common.close'),\n animation: 'slide-from-top',\n onOpen: function onOpen() {\n document.querySelector('.swal2-modal').style.width = '400px';\n var content = d3.select('#copy_style_box_content');\n var select_layer = content.append('select');\n // select_layer.append('option').attr('value', '').html('');\n existing_typo_layer.forEach(function (layer_name) {\n select_layer.append('option').attr('value', layer_name).html(layer_name);\n });\n select_layer.on('change', function () {\n selected_layer = this.value;\n });\n }\n }).then(function () {\n return selected_layer;\n }, function () {\n return null;\n });\n}\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! bluebird */ \"./node_modules/bluebird/js/browser/bluebird.js\")))\n\n//# sourceURL=webpack:///./js/classification/categorical_panel.js?"); - -/***/ }), - -/***/ "./js/classification/common.js": -/*!*************************************!*\ - !*** ./js/classification/common.js ***! - \*************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.prepare_ref_histo = exports.discretiz_geostats_switch = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { 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\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nexports.getOptNbClass = getOptNbClass;\nexports.getBreaksQ6 = getBreaksQ6;\nexports.getBreaksStdDev = getBreaksStdDev;\nexports.discretize_to_size = discretize_to_size;\nexports.discretize_to_colors = discretize_to_colors;\nexports.getBreaks_userDefined = getBreaks_userDefined;\n\nvar _colors_helpers = __webpack_require__(/*! ./../colors_helpers */ \"./js/colors_helpers.js\");\n\nvar _helpers = __webpack_require__(/*! ./../helpers */ \"./js/helpers.js\");\n\nvar _helpers_calc = __webpack_require__(/*! ./../helpers_calc */ \"./js/helpers_calc.js\");\n\nvar _helpers_math = __webpack_require__(/*! ./../helpers_math */ \"./js/helpers_math.js\");\n\nvar floor = Math.floor;\nvar log10 = Math.log10;\n\n// Shortcut to the name of the methods offered by geostats library:\nvar discretiz_geostats_switch = exports.discretiz_geostats_switch = new Map([['jenks', 'getJenks'], ['equal_interval', 'getEqInterval'],\n// ['std_dev', 'getStdDeviation'],\n['quantiles', 'getQuantile'], ['Q6', 'getBreaksQ6'], ['geometric_progression', 'getGeometricProgression']]);\n\n/**\n* Compute the \"optimal\" (cf. xxx) number of class according to the number\n* of features in serie of values.\n*\n* @param {Integer} len_serie - The length of the serie of values.\n* @return {Integer} - The \"optimal\" number of classes to be used to discretize the serie.\n*/\nfunction getOptNbClass(len_serie) {\n return floor(1 + 3.3 * log10(len_serie));\n}\n\n/**\n* Compute breaks according to \"Q6\" method\n* and compute the number of item in each bin.\n*\n* @param {Array} serie - An array of ordered values.\n* @param {Number} precision - An integer value decribing the precision of the serie.\n* @return {Object} - Object containing the breaks and the stock in each class.\n*/\nfunction getBreaksQ6(serie) {\n var precision = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n var len_serie = serie.length;\n var q6_class = [1, 0.05 * len_serie, 0.275 * len_serie, 0.5 * len_serie, 0.725 * len_serie, 0.95 * len_serie, len_serie];\n var breaks = [];\n var tmp = 0;\n var j = void 0;\n var stock_class = [];\n for (var i = 0; i < 7; ++i) {\n j = (0, _helpers_math.Mround)(q6_class[i]) - 1;\n breaks.push(+serie[j]);\n stock_class.push(j - tmp);\n tmp = j;\n }\n stock_class.shift();\n if (breaks[0] === breaks[1]) {\n // breaks[1] = breaks[0] + (breaks[2] - breaks[1]) / 2;\n breaks[1] = (+serie[1] + breaks[0]) / 2;\n }\n if (breaks[6] === breaks[5]) {\n breaks[5] = serie[len_serie - 2];\n // breaks[5] = breaks[4] + (breaks[5] - breaks[4]) / 2;\n }\n if (precision != null) {\n breaks = breaks.map(function (val) {\n return (0, _helpers_calc.round_value)(val, precision);\n });\n }\n return {\n breaks: breaks,\n stock_class: stock_class\n };\n}\n\n/**\n* Compute breaks according to our \"mean and standard deviation\" method\n* and compute the number of item in each bin.\n*\n* @param {Array} serie - An array of ordered values.\n* @param {Number} share - The ratio of stddev to be used a size for each class.\n* @param {String} mean_position - The position of the mean value.\n* @param {Number} precision - An integer value decribing the precision of the serie.\n* @return {Object} - Object containing the breaks and the stock in each class.\n*/\nfunction getBreaksStdDev(serie, share) {\n var mean_position = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'center';\n var precision = arguments[3];\n\n var min = serie.min(),\n max = serie.max(),\n mean = serie.mean(),\n std_dev = serie.stddev(),\n class_size = std_dev * share;\n var breaks = mean_position === 'center' ? [mean - class_size / 2, mean + class_size / 2] : [mean - class_size, mean, mean + class_size];\n\n var _precision = precision || serie.precision;\n\n while (breaks[0] > min) {\n breaks.unshift(breaks[0] - class_size);\n }\n while (breaks[breaks.length - 1] < max) {\n breaks.push(breaks[breaks.length - 1] + class_size);\n }\n var nb_class = breaks.length - 1;\n if (breaks[0] < min) {\n if (breaks[1] < min) {\n console.log('This shouldn\\'t happen (min)');\n }\n breaks[0] = min;\n }\n\n if (breaks[nb_class] > max) {\n if (breaks[nb_class - 1] > max) {\n console.log('This shouldn\\'t happen (max)');\n }\n breaks[nb_class] = max;\n }\n return {\n nb_class: nb_class,\n breaks: breaks.map(function (v) {\n return (0, _helpers_calc.round_value)(v, _precision);\n })\n };\n}\n\nfunction getBreaks(values, type, n_class) {\n // const _values = values.filter(v => v === 0 || (v && !Number.isNaN(+v))),\n var _values = values.filter(function (v) {\n return (0, _helpers.isNumber)(v);\n }),\n no_data = values.length - _values.length,\n nb_class = +n_class || getOptNbClass(_values.length);\n var serie = new geostats(_values); // eslint-disable-line new-cap\n var breaks = void 0;\n if (type === 'Q6') {\n var tmp = getBreaksQ6(serie.sorted(), serie.precision);\n breaks = tmp.breaks;\n breaks[0] = serie.min();\n breaks[nb_class] = serie.max();\n serie.setClassManually(breaks);\n } else {\n var _func = discretiz_geostats_switch.get(type);\n breaks = serie[_func](nb_class);\n if (serie.precision) breaks = breaks.map(function (val) {\n return (0, _helpers_calc.round_value)(val, serie.precision);\n });\n }\n return [serie, breaks, nb_class, no_data];\n}\n\nfunction discretize_to_size(values, type, nb_class, min_size, max_size) {\n var _getBreaks = getBreaks(values, type, nb_class),\n _getBreaks2 = _slicedToArray(_getBreaks, 3),\n serie = _getBreaks2[0],\n breaks = _getBreaks2[1],\n n_class = _getBreaks2[2];\n\n var step = (max_size - min_size) / (n_class - 1),\n class_size = Array(n_class).fill(0).map(function (d, i) {\n return min_size + i * step;\n }),\n breaks_prop = [];\n\n for (var i = 0; i < breaks.length - 1; ++i) {\n breaks_prop.push([[breaks[i], breaks[i + 1]], class_size[i]]);\n }\n return [n_class, type, breaks_prop, serie];\n}\n\nfunction discretize_to_colors(values, type, nb_class, col_ramp_name) {\n var name_col_ramp = col_ramp_name || 'Reds';\n\n var _getBreaks3 = getBreaks(values, type, nb_class),\n _getBreaks4 = _slicedToArray(_getBreaks3, 4),\n serie = _getBreaks4[0],\n breaks = _getBreaks4[1],\n n_class = _getBreaks4[2],\n nb_no_data = _getBreaks4[3],\n color_array = (0, _colors_helpers.getColorBrewerArray)(n_class, name_col_ramp),\n no_data_color = nb_no_data > 0 ? '#e7e7e7' : null,\n colors_map = [];\n\n for (var j = 0; j < values.length; ++j) {\n if ((0, _helpers.isNumber)(values[j])) {\n var idx = serie.getClass(values[j]);\n colors_map.push(color_array[idx]);\n } else {\n colors_map.push(no_data_color);\n }\n }\n return [n_class, type, breaks, color_array, colors_map, no_data_color];\n}\n\n/**\n* Parse a string of comma separated break values\n* to an actual Array of break values.\n* The serie is used to defined if there may be negative values\n* in the defined break values.\n*\n* @param {Array} serie - The serie of values to be discretised with `breaks_list`.\n* @param {String} breaks_list - The user_defined break values as String.\n* @return {Array} - The actual Array of break values.\n*/\nfunction parseUserDefinedBreaks(serie, breaks_list) {\n var separator = (0, _helpers_calc.has_negative)(serie) ? '- ' : '-';\n return breaks_list.split(separator).map(function (el) {\n return +el.trim();\n });\n}\n\n/**\n* Returns the break values and the stock of each class given\n* a list of breaks defined by the user.\n*\n* @param {Array} serie - The serie of values to be discretised\n* @param {Array} breaks - The list of breaks, whether as a String (a typed by the user)\n* or as an Array.\n* @return {Object} - An Object with the stock (number of feature) in each class\n* and the break values (should be unchanged if provided as an Array)\n*/\nfunction getBreaks_userDefined(serie, breaks) {\n var break_values = typeof breaks === 'string' ? parseUserDefinedBreaks(serie, breaks) : breaks;\n var len_break_val = break_values.length,\n stock_class = new Array(len_break_val - 1);\n var j = 0;\n for (var i = 1; i < len_break_val; ++i) {\n var class_max = break_values[i];\n stock_class[i - 1] = 0;\n while (serie[j] <= class_max) {\n stock_class[i - 1] += 1;\n j += 1;\n }\n }\n return {\n breaks: break_values,\n stock_class: stock_class\n };\n}\n\nvar prepare_ref_histo = exports.prepare_ref_histo = function prepare_ref_histo(parent_node, serie, formatCount) {\n var svg_h = h / 7.25 > 80 ? h / 7.25 : 80,\n svg_w = w / 4 > 320 ? 320 : w / 4,\n values = serie.sorted(),\n nb_bins = values.length / 3 > 51 ? 50 : (0, _helpers_math.Mceil)((0, _helpers_math.Msqrt)(values.length)) + 1;\n\n var q5 = serie.getQuantile(4).map(function (v) {\n return +v;\n });\n\n var m_margin = { top: 10, right: 20, bottom: 10, left: 20 },\n m_width = svg_w - m_margin.right - m_margin.left,\n m_height = svg_h - m_margin.top - m_margin.bottom;\n\n var ref_histo = parent_node.select('#ref_histo_box').select('#inner_ref_histo_box');\n\n ref_histo.append('p').attrs({ id: 'ref_histo_title' }).styles({ margin: 'auto', 'text-align': 'center' }).html('' + _tr('disc_box.hist_ref_title') + '');\n\n var c = ref_histo.append('svg').attrs({\n id: 'svg_ref_histo',\n width: svg_w + m_margin.left + m_margin.right,\n height: svg_h + m_margin.top + m_margin.bottom\n });\n\n var x = d3.scaleLinear().domain([serie.min(), serie.max()]).rangeRound([0, m_width]);\n\n var svg_ref_histo = c.append('g').attr('transform', 'translate(' + (m_margin.left + m_margin.right) + ', ' + m_margin.top + ')');\n\n return function (type) {\n svg_ref_histo.remove();\n svg_ref_histo = c.append('g').attr('transform', 'translate(' + (m_margin.left + m_margin.right) + ', ' + m_margin.top + ')');\n if (type === 'histogram') {\n var data = d3.histogram().domain(x.domain()).thresholds(x.ticks(nb_bins))(values);\n\n var y = d3.scaleLinear().domain([0, d3.max(data, function (d) {\n return d.length;\n })]).range([m_height, 0]);\n\n var bar = svg_ref_histo.selectAll('.bar').data(data).enter().append('rect').attrs(function (d) {\n return {\n class: 'bar',\n width: (0, _helpers_math.Mabs)(x(d.x1)) - (0, _helpers_math.Mabs)(x(d.x0)),\n height: m_height - y(d.length),\n x: 0,\n transform: 'translate(' + x(d.x0) + ',' + y(d.length) + ')'\n };\n }).styles({ fill: 'beige', stroke: 'black', 'stroke-width': '0.4px' });\n\n svg_ref_histo.append('g').style('font-size', '10px').attrs({ class: 'x_axis', transform: 'translate(0,' + m_height + ')' }).call(d3.axisBottom().scale(x).ticks(4).tickFormat(formatCount)).selectAll('text').attrs({\n x: -4,\n y: 4,\n dy: '.45em',\n transform: 'rotate(-40)'\n }).style('text-anchor', 'end');\n\n svg_ref_histo.append('g').attr('class', 'y_axis').style('font-size', '10px').call(d3.axisLeft().scale(y).ticks(5).tickFormat(d3.format('.0f')));\n } else if (type === 'box_plot') {\n svg_ref_histo.append('g').style('font-size', '10px').attrs({ class: 'x_axis', transform: 'translate(0,' + m_height + ')' }).call(d3.axisBottom().scale(x).ticks(4).tickFormat(formatCount)).selectAll('text').attrs({\n x: -4,\n y: 4,\n dy: '.45em',\n transform: 'rotate(-40)'\n }).style('text-anchor', 'end');\n\n var y_mid = (m_margin.top + m_height - m_margin.bottom) / 2;\n\n svg_ref_histo.append('g').insert('line').attrs({ x1: x(q5[0]), y1: m_margin.top * 2, x2: x(q5[0]), y2: m_height - m_margin.bottom * 2 }).styles({ 'stroke-width': 1, stroke: 'black', fill: 'none' });\n\n svg_ref_histo.append('g').insert('rect').attrs({ x: x(q5[1]), y: m_margin.top, width: x(q5[2]) - x(q5[1]), height: m_height - m_margin.bottom - m_margin.top }).styles({ 'stroke-width': 1, stroke: 'black', fill: 'lightblue' });\n\n svg_ref_histo.append('g').insert('line').attrs({ x1: x(q5[2]), y1: m_margin.top, x2: x(q5[2]), y2: m_height - m_margin.bottom }).styles({ 'stroke-width': 3, stroke: 'black', fill: 'none' });\n\n svg_ref_histo.append('g').insert('rect').attrs({ x: x(q5[2]), y: m_margin.top, width: x(q5[3]) - x(q5[2]), height: m_height - m_margin.bottom - m_margin.top }).styles({ 'stroke-width': 1, stroke: 'black', fill: 'lightblue' });\n\n svg_ref_histo.append('g').insert('line').attrs({ x1: x(q5[4]), y1: m_margin.top * 2, x2: x(q5[4]), y2: m_height - m_margin.bottom * 2 }).styles({ 'stroke-width': 1, stroke: 'black', fill: 'none' });\n\n svg_ref_histo.append('g').insert('line').attrs({\n x1: x(q5[0]),\n y1: y_mid,\n x2: x(q5[1]),\n y2: y_mid\n }).styles({\n 'stroke-width': 1,\n stroke: 'black',\n fill: 'none',\n 'stroke-dasharray': '3,3'\n });\n\n svg_ref_histo.append('g').insert('line').attrs({\n x1: x(q5[3]),\n y1: y_mid,\n x2: x(q5[4]),\n y2: y_mid\n }).styles({\n 'stroke-width': 1,\n stroke: 'black',\n fill: 'none',\n 'stroke-dasharray': '3,3'\n });\n } else if (type === 'beeswarm') {\n var _data = values.map(function (v) {\n return { value: +v };\n });\n\n var simulation = d3.forceSimulation(_data).force('x', d3.forceX(function (d) {\n return x(d.value);\n }).strength(1)).force('y', d3.forceY(m_height / 2).strength(2)).force('collide', d3.forceCollide(4)).stop();\n\n for (var i = 0; i < 75; ++i) {\n simulation.tick();\n }\n svg_ref_histo.append('g').style('font-size', '10px').attrs({ class: 'x_axis', transform: 'translate(0,' + m_height + ')' }).call(d3.axisBottom().scale(x).ticks(4).tickFormat(formatCount)).selectAll('text').attrs({\n x: -4,\n y: 4,\n dy: '.45em',\n transform: 'rotate(-40)'\n }).style('text-anchor', 'end');\n\n var cell = svg_ref_histo.append('g').attr('class', 'cells').selectAll('g').data(d3.voronoi().extent([[0, 0], [m_width, m_height]]).x(function (d) {\n return d.x;\n }).y(function (d) {\n return d.y;\n }).polygons(_data)).enter().append('g');\n\n cell.append('circle').attrs(function (d) {\n if (d) {\n return {\n r: _data.lenght < 250 ? 2.5 : _data.lenght < 500 ? 1.5 : 1,\n transform: 'translate(' + d.data.x + ',' + d.data.y + ')'\n };\n }\n return undefined;\n });\n\n cell.append('path').attr('d', function (d) {\n if (d) return 'M' + d.join('L') + 'Z';\n return undefined;\n });\n }\n };\n};\n\n//# sourceURL=webpack:///./js/classification/common.js?"); - -/***/ }), - -/***/ "./js/classification/discretization_panel.js": -/*!***************************************************!*\ - !*** ./js/classification/discretization_panel.js ***! - \***************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("/* WEBPACK VAR INJECTION */(function(Promise) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.display_discretization = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { 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\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _colors_helpers = __webpack_require__(/*! ./../colors_helpers */ \"./js/colors_helpers.js\");\n\nvar _dialogs = __webpack_require__(/*! ./../dialogs */ \"./js/dialogs.js\");\n\nvar _helpers = __webpack_require__(/*! ./../helpers */ \"./js/helpers.js\");\n\nvar _interface = __webpack_require__(/*! ./../interface */ \"./js/interface.js\");\n\nvar _helpers_calc = __webpack_require__(/*! ./../helpers_calc */ \"./js/helpers_calc.js\");\n\nvar _helpers_math = __webpack_require__(/*! ./../helpers_math */ \"./js/helpers_math.js\");\n\nvar _common = __webpack_require__(/*! ./common */ \"./js/classification/common.js\");\n\nfunction make_box_custom_palette(nb_class, existing_colors) {\n var is_hex_color = new RegExp(/^#([0-9a-f]{6}|[0-9a-f]{3})$/i);\n var is_ok_name = new RegExp(/^[a-zA-Z0-9_]*$/);\n var existing_palette = Array.from(_app.custom_palettes.keys());\n var pal_name = void 0;\n var ref_colors = void 0;\n if (existing_colors && existing_colors.length === nb_class) {\n ref_colors = existing_colors.slice();\n } else {\n ref_colors = [];\n for (var i = 0; i < nb_class; i++) {\n ref_colors.push((0, _colors_helpers.randomColor)());\n }\n }\n\n var verif_palette_name = function verif_palette_name(name) {\n if (name !== '' && is_ok_name.test(name)) {\n if (existing_palette.indexOf(name) > -1) {\n d3.select('#palette_box_error_zone').html(_tr('app_page.palette_box.error_name_existing'));\n document.querySelector('.swal2-confirm').disabled = true;\n return null;\n }\n d3.select('#palette_box_error_zone').html('');\n document.querySelector('.swal2-confirm').disabled = false;\n return name;\n } else {\n d3.select('#palette_box_error_zone').html(_tr('app_page.palette_box.error_name_invalid'));\n document.querySelector('.swal2-confirm').disabled = true;\n return null;\n }\n };\n\n return swal({\n title: _tr('app_page.palette_box.title'),\n html: '
',\n showCancelButton: true,\n showConfirmButton: true,\n cancelButtonText: _tr('app_page.common.close'),\n animation: 'slide-from-top',\n onOpen: function onOpen() {\n document.querySelector('.swal2-modal').style.width = nb_class * 85 + 'px';\n var colors = d3.select('#palette_box_content');\n var g = colors.selectAll('p').data(ref_colors).enter().append('p');\n\n g.append('input').attr('id', function (_, i) {\n return i;\n }).attr('type', 'color').style('width', '60px').property('value', function (d) {\n return d;\n }).on('change', function (_, i) {\n ref_colors[i] = this.value;\n this.nextSibling.value = this.value;\n });\n\n g.append('input').attr('id', function (_, i) {\n return i;\n }).style('width', '60px').property('value', function (d) {\n return d;\n }).on('keyup', function (_, i) {\n if (is_hex_color.test(this.value)) {\n ref_colors[i] = this.value;\n this.previousSibling.value = this.value;\n }\n });\n var bottom = d3.select('#palette_box_name');\n bottom.append('p').attr('id', 'palette_box_error_zone').style('background', '#e3e3e3');\n bottom.append('span').html(_tr('app_page.palette_box.new_name'));\n bottom.append('input').style('width', '70px').on('keyup', function () {\n if (verif_palette_name(this.value) !== null) pal_name = this.value;\n });\n document.querySelector('.swal2-confirm').disabled = true;\n }\n }).then(function () {\n return [ref_colors, pal_name];\n }, function () {\n return null;\n });\n}\n\nvar display_discretization = exports.display_discretization = function display_discretization(layer_name, field_name, nb_class, options) {\n var make_no_data_section = function make_no_data_section() {\n var section = d3.select('#color_div').append('div').attr('id', 'no_data_section').append('p').html(_tr('disc_box.withnodata', { count: +no_data }));\n\n section.append('input').attrs({ type: 'color', id: 'no_data_color' }).style('margin', '0px 10px').property('value', '#ebebcd');\n };\n\n var make_sequ_button = function make_sequ_button() {\n var col_div = d3.select('#color_div');\n col_div.selectAll('.color_params').remove();\n col_div.selectAll('.color_txt').remove();\n col_div.selectAll('.color_txt2').remove();\n col_div.selectAll('.central_class').remove();\n col_div.selectAll('.central_color').remove();\n col_div.selectAll('#reverse_pal_btn').remove();\n document.getElementById('button_palette_box').style.display = '';\n var sequential_color_select = col_div.insert('p').attr('class', 'color_txt').style('margin-left', '10px').html(_tr('disc_box.color_palette')).insert('select').attr('class', 'color_params').styles({\n width: '116px',\n 'background-image': 'url(static/img/palettes/Blues.png)'\n }).on('change', function () {\n this.style.backgroundImage = 'url(static/img/palettes/' + this.value + '.png)';\n redisplay.draw();\n });\n\n ['Blues', 'BuGn', 'BuPu', 'GnBu', 'OrRd', 'PuBu', 'PuBuGn', 'PuRd', 'RdPu', 'YlGn', 'Greens', 'Greys', 'Oranges', 'Purples', 'Reds'].forEach(function (name) {\n sequential_color_select.append('option').text(name).attrs({ value: name, title: name }).style('background-image', 'url(static/img/palettes/' + name + '.png)');\n });\n\n if (_app.custom_palettes) {\n var additional_colors = Array.from(_app.custom_palettes.entries());\n\n for (var ixp = 0; ixp < additional_colors.length; ixp++) {\n sequential_color_select.append('option').text(additional_colors[ixp][0]).attrs({ value: 'user_' + additional_colors[ixp][0], title: additional_colors[ixp][0], nb_colors: additional_colors[ixp][1].length }).property('disabled', additional_colors[ixp][1].length !== nb_class);\n }\n }\n\n // Button allowing the reverse a color palette:\n d3.select('.color_txt').insert('p').style('text-align', 'center').insert('button').style('margin-top', '10px').attrs({ class: 'button_st3', id: 'reverse_pal_btn' }).html(_tr('disc_box.reverse_palette')).on('click', function () {\n to_reverse = true;\n redisplay.draw();\n });\n };\n\n var make_diverg_button = function make_diverg_button() {\n var col_div = d3.select('#color_div');\n col_div.selectAll('.color_params').remove();\n col_div.selectAll('.color_txt').remove();\n col_div.selectAll('.color_txt2').remove();\n col_div.selectAll('#reverse_pal_btn').remove();\n document.getElementById('button_palette_box').style.display = 'none';\n col_div.insert('p').attr('class', 'central_class').html(_tr('disc_box.break_on')).insert('input').style('width', '50px').attrs({\n type: 'number',\n class: 'central_class',\n id: 'centr_class',\n min: 1,\n max: nb_class - 1,\n step: 1,\n value: (0, _helpers_math.Mround)(nb_class / 2)\n }).on('change', function () {\n redisplay.draw();\n });\n\n var pal_names = ['Blues', 'BuGn', 'BuPu', 'GnBu', 'OrRd', 'PuBu', 'PuBuGn', 'PuRd', 'RdPu', 'YlGn', 'Greens', 'Greys', 'Oranges', 'Purples', 'Reds'];\n var left_color_select = col_div.insert('p').attr('class', 'color_txt').style('display', 'inline').html(_tr('disc_box.left_colramp')).insert('select').styles({ width: '116px', 'margin-left': '4px' }).attr('class', 'color_params_left').on('change', function () {\n this.style.backgroundImage = 'url(static/img/palettes/' + this.value + '.png)';\n redisplay.draw();\n });\n var right_color_select = col_div.insert('p').styles({ display: 'inline', 'margin-left': '70px' }).attr('class', 'color_txt2').html(_tr('disc_box.right_colramp')).insert('select').styles({ width: '116px', 'margin-left': '4px' }).attr('class', 'color_params_right').on('change', function () {\n this.style.backgroundImage = 'url(static/img/palettes/' + this.value + '.png)';\n redisplay.draw();\n });\n pal_names.forEach(function (name) {\n left_color_select.append('option').attrs({ value: name, title: name }).styles({ 'background-image': 'url(static/img/palettes/' + name + '.png)' }).text(name);\n right_color_select.append('option').attrs({ value: name, title: name }).styles({ 'background-image': 'url(static/img/palettes/' + name + '.png)' }).text(name);\n });\n\n // if (_app.custom_palettes) {\n // const additional_colors = Array.from(\n // _app.custom_palettes.entries());\n // for (let ixp = 0; ixp < additional_colors.length; ixp++) {\n // left_color_select.append('option')\n // .text(additional_colors[ixp][0])\n // .attrs({ value: `user_${additional_colors[ixp][0]}`, title: additional_colors[ixp][0], nb_colors: additional_colors[ixp][1].length })\n // .property('disabled', additional_colors[ixp][1].length !== nb_class);\n // right_color_select.append('option')\n // .text(additional_colors[ixp][0])\n // .attrs({ value: `user_${additional_colors[ixp][0]}`, title: additional_colors[ixp][0], nb_colors: additional_colors[ixp][1].length })\n // .property('disabled', additional_colors[ixp][1].length !== nb_class);\n // }\n // }\n\n document.getElementsByClassName('color_params_right')[0].selectedIndex = 14;\n\n var central_color = col_div.insert('p').attr('class', 'central_color').style('padding-top', '15px');\n central_color.insert('input').attrs({ type: 'checkbox', id: 'central_color_chkbx' }).on('change', function () {\n redisplay.draw();\n if (this.checked) {\n col_div.select('#central_color_val').style('display', '');\n } else {\n col_div.select('#central_color_val').style('display', 'none');\n }\n });\n central_color.select('input').node().checked = true;\n central_color.insert('label').attr('for', 'central_color_chkbx').html(_tr('disc_box.colored_central_class'));\n central_color.insert('input').attrs({ type: 'color', id: 'central_color_val', value: '#e5e5e5' }).style('margin', '0px 10px').on('change', redisplay.draw);\n };\n\n var make_box_histo_option = function make_box_histo_option() {\n var histo_options = newBox.append('div').attrs({ id: 'histo_options', class: 'row equal' }).styles({ margin: '5px 5px 10px 15px', width: '100%' });\n var a = histo_options.append('div').attr('class', 'col-xs-6 col-sm-3'),\n b = histo_options.append('div').attr('class', 'col-xs-6 col-sm-3'),\n c = histo_options.append('div').attr('class', 'col-xs-6 col-sm-3'),\n d = histo_options.append('div').attr('class', 'col-xs-6 col-sm-3');\n\n a.insert('button').attrs({ class: 'btn_population' }).html(_tr('disc_box.disp_rug_pop')).on('click', function () {\n if (this.classList.contains('active')) {\n this.classList.remove('active');\n rug_plot.style('display', 'none');\n rug_plot.classed('active', false);\n } else {\n this.classList.add('active');\n rug_plot.style('display', '');\n rug_plot.classed('active', true);\n }\n });\n\n b.insert('button').attrs({ class: 'btn_mean' }).html(_tr('disc_box.disp_mean')).on('click', function () {\n if (this.classList.contains('active')) {\n this.classList.remove('active');\n line_mean.style('stroke-width', 0);\n txt_mean.style('fill', 'none');\n line_mean.classed('active', false);\n } else {\n this.classList.add('active');\n line_mean.style('stroke-width', 2);\n txt_mean.style('fill', 'blue');\n line_mean.classed('active', true);\n }\n });\n\n c.insert('button').attrs({ class: 'btn_median' }).html(_tr('disc_box.disp_median')).on('click', function () {\n if (this.classList.contains('active')) {\n this.classList.remove('active');\n line_median.style('stroke-width', 0).classed('active', false);\n txt_median.style('fill', 'none');\n } else {\n this.classList.add('active');\n line_median.style('stroke-width', 2).classed('active', true);\n txt_median.style('fill', 'darkgreen');\n }\n });\n\n d.insert('button').attrs({ class: 'btn_stddev' }).html(_tr('disc_box.disp_sd')).on('click', function () {\n if (this.classList.contains('active')) {\n this.classList.remove('active');\n line_std_left.style('stroke-width', 0);\n line_std_left.classed('active', false);\n line_std_right.style('stroke-width', 0);\n line_std_right.classed('active', false);\n } else {\n this.classList.add('active');\n line_std_left.style('stroke-width', 2);\n line_std_left.classed('active', true);\n line_std_right.style('stroke-width', 2);\n line_std_right.classed('active', true);\n }\n });\n };\n\n var update_nb_class = function update_nb_class(value) {\n txt_nb_class.node().value = value;\n document.getElementById('nb_class_range').value = value;\n nb_class = value;\n var color_select = document.querySelector('.color_params');\n // Only do stuff related to custom palettes if we are using a \"sequential\" scheme:\n if (!color_select) return;\n var selected_index = color_select.selectedIndex;\n var select_options = color_select.querySelectorAll('option');\n for (var ixc = 0; ixc < select_options.length; ixc++) {\n if (select_options[ixc].value.startsWith('user_')) {\n select_options[ixc].disabled = nb_class !== +select_options[ixc].getAttribute('nb_colors');\n }\n }\n if (select_options[selected_index].value.startsWith('user_') && select_options[selected_index].getAttribute('nb_colors') !== nb_class) {\n (0, _helpers.setSelected)(color_select, 'Blues');\n }\n // const color_select_left = document.querySelectorAll('.color_params_left > option');\n // const color_select_right = document.querySelectorAll('.color_params_right > option');\n // for (let ixc = 0; ixc < color_select_left.length; ixc++) {\n // if (color_select_left[ixc].value.startsWith('user_')) {\n // const is_disabled = (nb_class === +color_select_left[ixc].getAttribute('nb_colors'))\n // ? false : true;\n // color_select_left[ixc].disabled = is_disabled;\n // color_select_right[ixc].disabled = is_disabled;\n // }\n // }\n };\n\n var update_axis = function update_axis(group) {\n group.call(d3.axisBottom().scale(x).tickFormat(formatCount));\n };\n\n var update_overlay_elements = function update_overlay_elements() {\n var x_mean = x(mean_serie),\n x_med = x(serie.median()),\n x_std_left = x(mean_serie - stddev_serie),\n x_std_right = x(mean_serie + stddev_serie);\n line_mean.transition().attrs({ x1: x_mean, x2: x_mean });\n txt_mean.transition().attr('x', x_mean);\n line_median.transition().attrs({ x1: x_med, x2: x_med });\n txt_median.transition().attr('x', x_med);\n line_std_left.transition().attrs({ x1: x_std_left, x2: x_std_left });\n line_std_right.transition().attrs({ x1: x_std_right, x2: x_std_right });\n rug_plot.selectAll('.indiv').attrs(function (d) {\n return { x1: x(d.value), x2: x(d.value) };\n });\n };\n\n var make_overlay_elements = function make_overlay_elements() {\n line_mean = overlay_svg.append('line').attrs({\n class: 'line_mean',\n x1: x(mean_serie),\n y1: 10,\n x2: x(mean_serie),\n y2: svg_h - margin.bottom\n }).styles({ 'stroke-width': 0, stroke: 'blue', fill: 'none' }).classed('active', false);\n\n txt_mean = overlay_svg.append('text').attrs({\n y: 0,\n dy: '0.75em',\n x: x(mean_serie),\n 'text-anchor': 'middle'\n }).style('fill', 'none').text(_tr('disc_box.mean'));\n\n line_median = overlay_svg.append('line').attrs({\n class: 'line_med',\n x1: x(serie.median()),\n y1: 10,\n x2: x(serie.median()),\n y2: svg_h - margin.bottom\n }).styles({ 'stroke-width': 0, stroke: 'darkgreen', fill: 'none' }).classed('active', false);\n\n txt_median = overlay_svg.append('text').attrs({\n y: 0,\n dy: '0.75em',\n x: x(serie.median()),\n 'text-anchor': 'middle'\n }).style('fill', 'none').text(_tr('disc_box.median'));\n\n line_std_left = overlay_svg.append('line').attrs({\n class: 'lines_std',\n x1: x(mean_serie - stddev_serie),\n y1: 10,\n x2: x(mean_serie - stddev_serie),\n y2: svg_h - margin.bottom\n }).styles({ 'stroke-width': 0, stroke: 'grey', fill: 'none' }).classed('active', false);\n\n line_std_right = overlay_svg.append('line').attrs({\n class: 'lines_std',\n x1: x(mean_serie + stddev_serie),\n y1: 10,\n x2: x(mean_serie + stddev_serie),\n y2: svg_h - margin.bottom\n }).styles({ 'stroke-width': 0, stroke: 'grey', fill: 'none' }).classed('active', false);\n\n rug_plot = overlay_svg.append('g').style('display', 'none');\n rug_plot.selectAll('.indiv').data(values.map(function (i) {\n return { value: +i };\n })).enter().insert('line').attrs(function (d) {\n return {\n class: 'indiv',\n x1: x(d.value),\n y1: svg_h - margin.bottom - 10,\n x2: x(d.value),\n y2: svg_h - margin.bottom\n };\n }).styles({ stroke: 'red', fill: 'none', 'stroke-width': 1 });\n };\n\n var make_summary = function make_summary() {\n var content_summary = (0, _helpers.make_content_summary)(serie);\n newBox.append('div').attr('id', 'summary').styles({ 'font-size': '11px', float: 'right', margin: '10px 10px 0px 10px' }).insert('p').html(['', _tr('disc_box.summary'), '
', content_summary].join(''));\n };\n\n var redisplay = {\n compute: function compute() {\n var tmp = void 0;\n serie = new geostats(values);\n breaks = [];\n values = serie.sorted();\n var deferred = Promise.pending();\n return new Promise(function (resolve, reject) {\n if (values.length > 7500 && type === 'jenks') {\n var jenks_worker = new Worker('static/js/webworker_jenks.js');\n _app.webworker_to_cancel = jenks_worker;\n _app.waitingOverlay.display({ zIndex: 5000 });\n jenks_worker.postMessage([values, nb_class]);\n jenks_worker.onmessage = function (e) {\n breaks = e.data;\n serie.setClassManually(breaks);\n serie.doCount();\n stock_class = Array.prototype.slice.call(serie.counter);\n _app.waitingOverlay.hide();\n _app.webworker_to_cancel = undefined;\n bins = [];\n for (var i = 0, len = stock_class.length; i < len; i++) {\n var bin = {};\n bin.val = stock_class[i];\n bin.offset = i === 0 ? 0 : bins[i - 1].width + bins[i - 1].offset;\n bin.width = breaks[i + 1] - breaks[i];\n bin.height = bin.val / bin.width;\n bins[i] = bin;\n }\n resolve(true);\n jenks_worker.terminate();\n };\n }\n\n if (type === 'Q6') {\n tmp = (0, _common.getBreaksQ6)(values, serie.precision);\n // stock_class = tmp.stock_class;\n breaks = tmp.breaks;\n breaks[0] = min_serie;\n breaks[6] = max_serie;\n serie.setClassManually(breaks);\n serie.doCount();\n stock_class = Array.prototype.slice.call(serie.counter);\n } else if (type === 'stddev_f') {\n tmp = (0, _common.getBreaksStdDev)(serie, std_dev_params.share, std_dev_params.role_mean, serie.precision);\n update_nb_class(nb_class = tmp.nb_class);\n breaks = tmp.breaks;\n serie.setClassManually(tmp.breaks);\n serie.doCount();\n stock_class = Array.prototype.slice.call(serie.counter);\n } else if (type === 'user_defined') {\n tmp = (0, _common.getBreaks_userDefined)(serie.sorted(), user_break_list);\n stock_class = tmp.stock_class;\n breaks = tmp.breaks;\n nb_class = tmp.breaks.length - 1;\n update_nb_class(nb_class);\n\n if (breaks[0] > min_serie) breaks[0] = min_serie;\n if (breaks[nb_class] < max_serie) breaks[nb_class] = max_serie;\n\n var breaks_serie = breaks.slice();\n if (breaks_serie[0] < min_serie) {\n breaks_serie[0] = min_serie;\n }\n if (breaks_serie[nb_class] > max_serie) {\n breaks_serie[nb_class] = max_serie;\n }\n serie.setClassManually(breaks_serie);\n } else {\n breaks = serie[_common.discretiz_geostats_switch.get(type)](nb_class);\n // if (serie.precision) breaks = breaks.map(val => round_value(val, serie.precision));\n serie.doCount();\n stock_class = Array.prototype.slice.call(serie.counter);\n }\n // In order to avoid class limit falling out the serie limits with Std class :\n // breaks[0] = breaks[0] < serie.min() ? serie.min() : breaks[0];\n // ^^ well finally not ?\n if (stock_class.length === 0) {\n resolve(false);\n }\n\n bins = [];\n for (var i = 0, len = stock_class.length; i < len; i++) {\n var _stock = stock_class[i];\n var _bin_width = breaks[i + 1] - breaks[i];\n bins.push({\n val: _stock,\n offset: i === 0 ? 0 : bins[i - 1].width + bins[i - 1].offset,\n height: _stock / _bin_width,\n width: _bin_width\n });\n }\n resolve(true);\n });\n },\n draw: function draw(provided_colors) {\n // Clean-up previously made histogram :\n newBox.select('#svg_discretization').selectAll('.bar').remove();\n newBox.select('#svg_discretization').selectAll('.text_bar').remove();\n\n if (!provided_colors) {\n var col_scheme = newBox.select('.color_params_left').node() ? 'diverging' : 'sequential';\n if (col_scheme === 'sequential') {\n if (to_reverse) {\n color_array = color_array.reverse();\n to_reverse = false;\n } else {\n var selected_palette = document.querySelector('.color_params').value;\n if (selected_palette.startsWith('user_')) {\n color_array = _app.custom_palettes.get(selected_palette.slice(5));\n } else {\n color_array = (0, _colors_helpers.getColorBrewerArray)(nb_class, selected_palette);\n color_array = color_array.slice(0, nb_class);\n }\n }\n } else if (col_scheme === 'diverging') {\n var left_palette = document.querySelector('.color_params_left').value,\n right_palette = document.querySelector('.color_params_right').value,\n ctl_class_value = +document.getElementById('centr_class').value,\n ctl_class_color = document.querySelector('.central_color > input').checked ? document.getElementById('central_color_val').value : [];\n\n var class_right = nb_class - ctl_class_value + 1,\n class_left = ctl_class_value - 1,\n max_col_nb = (0, _helpers_math.Mmax)(class_right, class_left);\n\n var right_pal = (0, _colors_helpers.getColorBrewerArray)(max_col_nb, right_palette);\n var left_pal = (0, _colors_helpers.getColorBrewerArray)(max_col_nb, left_palette);\n\n // Below is for the case if we have displayed the custom palette also\n // for a diverging scheme:\n // let right_pal,\n // left_pal;\n // if (right_palette.startsWith('user_')) {\n // right_pal = _app.custom_palettes.get(right_palette.slice(5));\n // } else {\n // right_pal = getColorBrewerArray(max_col_nb, right_palette);\n // }\n // if (left_palette.startsWith('user_')) {\n // left_pal = _app.custom_palettes.get(left_palette.slice(5));\n // } else {\n // left_pal = getColorBrewerArray(max_col_nb, left_palette);\n // }\n right_pal = right_pal.slice(0, class_right);\n left_pal = left_pal.slice(0, class_left).reverse();\n color_array = [].concat(left_pal, ctl_class_color, right_pal);\n }\n } else {\n color_array = provided_colors.slice();\n }\n for (var i = 0, len = bins.length; i < len; ++i) {\n bins[i].color = color_array[i];\n }\n x.domain([breaks[0], breaks[breaks.length - 1]]);\n y.domain([0, d3.max(bins.map(function (d) {\n return d.height + d.height / 3;\n }))]);\n\n svg_histo.select('.x_axis').transition().call(update_axis);\n update_overlay_elements();\n\n var xx = d3.scaleLinear().range([0, svg_w]).domain([0, d3.max(bins.map(function (d) {\n return d.offset + d.width;\n }))]);\n\n svg_histo.selectAll('.bar').data(bins).enter().append('rect').attrs(function (d, i) {\n return {\n class: 'bar',\n id: 'bar_' + i,\n transform: 'translate(0, -7.5)',\n x: xx(d.offset),\n y: y(d.height) - margin.bottom,\n width: xx(d.width),\n height: svg_h - y(d.height)\n };\n }).styles(function (d) {\n return {\n fill: d.color,\n opacity: 0.95,\n 'stroke-opacity': 1\n };\n }).on('mouseover', function () {\n this.parentElement.querySelector('#text_bar_' + this.id.split('_')[1]).style.display = null;\n }).on('mouseout', function () {\n this.parentElement.querySelector('#text_bar_' + this.id.split('_')[1]).style.display = 'none';\n });\n\n svg_histo.selectAll('.txt_bar').data(bins).enter().append('text').attrs(function (d, i) {\n return {\n id: 'text_bar_' + i,\n class: 'text_bar',\n 'text-anchor': 'middle',\n dy: '.75em',\n x: xx(d.offset + d.width / 2),\n y: y(d.height) - margin.top * 2 - margin.bottom - 1.5\n };\n }).styles({ color: 'black', cursor: 'default', display: 'none' }).text(function (d) {\n return formatCount(d.val);\n });\n\n document.getElementById('user_breaks_area').value = breaks.join(' - ');\n return true;\n }\n };\n\n var modal_box = (0, _dialogs.make_dialog_container)('discretiz_charts', [_tr('disc_box.title'), ' - ', layer_name, ' - ', field_name].join(''), 'discretiz_charts_dialog');\n var container = document.getElementById('discretiz_charts');\n var newBox = d3.select(container).select('.modal-body');\n var db_data = void 0;\n if (data_manager.result_data.hasOwnProperty(layer_name)) {\n db_data = data_manager.result_data[layer_name];\n } else if (data_manager.user_data.hasOwnProperty(layer_name)) {\n db_data = data_manager.user_data[layer_name];\n } else {\n var layer = svg_map.querySelector('#' + _app.idLayer.get(layer_name));\n db_data = Array.prototype.map.call(layer.children, function (d) {\n return d.__data__.properties;\n });\n }\n var indexes = [];\n var color_array = [],\n nb_values = db_data.length,\n values = [],\n no_data = void 0;\n\n var type = options.type;\n\n for (var i = 0; i < nb_values; i++) {\n var value = db_data[i][field_name];\n // if (value != null && value !== '' && isFinite(value) && !isNaN(+value)) {\n if ((0, _helpers.isNumber)(value)) {\n values.push(+db_data[i][field_name]);\n indexes.push(i);\n }\n }\n\n if (nb_values === values.length) {\n no_data = 0;\n } else {\n no_data = nb_values - values.length;\n nb_values = values.length;\n }\n\n var max_nb_class = nb_values > 20 ? 20 : nb_values;\n var serie = new geostats(values),\n breaks = [],\n stock_class = [],\n bins = [],\n user_break_list = null,\n std_dev_params = options.extra_options && options.extra_options.role_mean ? options.extra_options : { role_mean: 'center', share: 1 };\n\n if (serie.variance() === 0 && serie.stddev() === 0) {\n serie = new geostats(values);\n }\n\n var min_serie = serie.min();\n var max_serie = serie.max();\n var mean_serie = serie.mean();\n var stddev_serie = serie.stddev();\n\n values = serie.sorted();\n\n var available_functions = [[_tr('app_page.common.equal_interval'), 'equal_interval'], [_tr('app_page.common.quantiles'), 'quantiles'], [_tr('app_page.common.stddev_f'), 'stddev_f'], [_tr('app_page.common.Q6'), 'Q6'], [_tr('app_page.common.jenks'), 'jenks']];\n\n if (!serie._hasZeroValue() && !serie._hasNegativeValue()) {\n available_functions.push([_tr('app_page.common.geometric_progression'), 'geometric_progression']);\n }\n var precision_axis = (0, _helpers_calc.get_precision_axis)(min_serie, max_serie, serie.precision);\n var formatCount = d3.format(precision_axis);\n var discretization_panel = newBox.append('div').attr('id', 'discretization_panel');\n var discretization = discretization_panel.insert('p').insert('select').attr('class', 'params').on('change', function () {\n type = this.value;\n if (type === 'stddev_f') {\n input_section_stddev.style('display', '');\n document.getElementById('nb_class_range').disabled = 'disabled';\n txt_nb_class.style('disabled', 'disabled');\n disc_nb_class.style('display', 'none');\n } else {\n input_section_stddev.style('display', 'none');\n document.getElementById('nb_class_range').disabled = false;\n txt_nb_class.style('disabled', false);\n disc_nb_class.style('display', 'inline');\n }\n if (type === 'Q6') {\n update_nb_class(6);\n }\n redisplay.compute().then(function (v) {\n if (v) redisplay.draw();\n });\n });\n\n available_functions.forEach(function (func) {\n discretization.append('option').text(func[0]).attr('value', func[1]);\n });\n\n var input_section_stddev = discretization_panel.insert('p').styles({ margin: 'auto', display: type === 'stddev_f' ? '' : 'none' });\n input_section_stddev.insert('span').html(_tr('disc_box.stddev_share_txt1'));\n input_section_stddev.insert('input').attrs({\n type: 'number', min: 0.1, max: 10, step: 0.1, class: 'without_spinner', id: 'stddev_share'\n }).styles({\n width: '45px', 'margin-left': '10px', 'margin-right': '10px'\n }).property('value', std_dev_params.share).on('change', function () {\n var val = this.value;\n if (val === 0 || val * stddev_serie > max_serie - min_serie || val * stddev_serie * 21 < max_serie - min_serie) {\n // If the new value is too big or too small:\n this.value = std_dev_params.share;\n return;\n }\n std_dev_params.share = val;\n redisplay.compute().then(function (v) {\n if (v) redisplay.draw();\n });\n });\n input_section_stddev.insert('span').html(_tr('disc_box.stddev_share_txt2'));\n var std_dev_mean_choice = input_section_stddev.insert('p').style('margin', 'auto');\n std_dev_mean_choice.insert('p').style('margin', 'auto').html(_tr('disc_box.stddev_role_mean'));\n\n [[_tr('disc_box.stddev_center_mean'), 'center'], [_tr('disc_box.stddev_break_mean'), 'bound']].forEach(function (el) {\n std_dev_mean_choice.insert('input').attrs({ type: 'radio', name: 'role_mean', id: 'button_stddev_' + el[1] }).property('value', el[1]).on('change', function () {\n std_dev_params.role_mean = this.value;\n redisplay.compute().then(function (v) {\n if (v) redisplay.draw();\n });\n });\n std_dev_mean_choice.insert('label').style('font-weight', '400').attr('for', 'button_stddev_' + el[1]).html(el[0]);\n });\n document.getElementById('button_stddev_' + std_dev_params.role_mean).checked = true;\n var txt_nb_class = discretization_panel.append('input').attrs({\n type: 'number',\n class: 'without_spinner',\n min: 2,\n max: max_nb_class,\n step: 1\n }).styles({\n width: '30px',\n margin: '0 10px',\n 'vertical-align': 'calc(20%)'\n }).property('value', nb_class).on('change', function () {\n var a = disc_nb_class.node();\n a.value = this.value;\n a.dispatchEvent(new Event('change'));\n });\n\n discretization_panel.append('span').html(_tr('disc_box.class'));\n\n var disc_nb_class = discretization_panel.insert('input').attrs({\n id: 'nb_class_range',\n type: 'range',\n min: 2,\n max: max_nb_class,\n step: 1\n }).styles({ display: 'inline', width: '60px', 'vertical-align': 'middle', margin: '10px' }).property('value', nb_class).on('change', function () {\n var _this = this;\n\n type = discretization.node().value;\n var old_nb_class = nb_class;\n if (type === 'Q6') {\n update_nb_class(6);\n } else if (type === 'stddev_f') {\n update_nb_class(nb_class);\n return;\n }\n // nb_class = +this.value;\n // txt_nb_class.node().value = nb_class;\n update_nb_class(+this.value);\n redisplay.compute().then(function (v) {\n if (!v) {\n _this.value = old_nb_class;\n txt_nb_class.node().value = +old_nb_class;\n } else {\n redisplay.draw();\n var ctl_class = document.getElementById('centr_class');\n if (ctl_class) {\n ctl_class.max = nb_class;\n if (ctl_class > nb_class) ctl_class.value = (0, _helpers_math.Mround)(nb_class / 2);\n }\n }\n });\n });\n\n var ref_histo_box = newBox.append('div').attr('id', 'ref_histo_box');\n ref_histo_box.append('div').attr('id', 'inner_ref_histo_box');\n\n discretization.node().value = type;\n make_summary();\n var refDisplay = (0, _common.prepare_ref_histo)(newBox, serie, formatCount);\n refDisplay('histogram');\n\n var svg_h = h / 5 > 100 ? h / 5 : 100,\n svg_w = window.innerWidth - 40 > 760 ? 760 : window.innerWidth - 40,\n margin = { top: 7.5, right: 30, bottom: 7.5, left: 30 },\n height = svg_h - margin.top - margin.bottom;\n\n d3.select(container).select('.modal-dialog').styles({\n width: svg_w + margin.top + margin.bottom + 90 + 'px',\n height: window.innerHeight - 60 + 'px'\n });\n\n if (values.length < 500) {\n // Only allow for beeswarm plot if there isn't too many values\n // as it seems to be costly due to the \"simulation\" + the voronoi\n var current_histo = 'histogram';\n ref_histo_box.append('p').style('text-align', 'center').insert('button').attrs({\n id: 'button_switch_plot', class: 'i18n button_st4', 'data-i18n': '[text]disc_box.switch_ref_histo'\n }).styles({ padding: '3px', 'font-size': '10px' }).html(_tr('disc_box.switch_ref_histo')).on('click', function () {\n var str_tr = void 0;\n if (current_histo === 'histogram') {\n refDisplay('box_plot');\n current_histo = 'box_plot';\n str_tr = '_boxplot';\n } else if (current_histo === 'box_plot') {\n refDisplay('beeswarm');\n current_histo = 'beeswarm';\n str_tr = '_beeswarm';\n } else if (current_histo === 'beeswarm') {\n refDisplay('histogram');\n current_histo = 'histogram';\n str_tr = '';\n }\n document.getElementById('ref_histo_title').innerHTML = '' + _tr('disc_box.hist_ref_title' + str_tr) + '';\n });\n }\n var div_svg = newBox.append('div').append('svg').attrs({\n id: 'svg_discretization',\n width: svg_w + margin.left + margin.right,\n height: svg_h + margin.top + margin.bottom\n });\n\n make_box_histo_option();\n\n var svg_histo = div_svg.append('g').attr('transform', 'translate(' + margin.left + ', ' + margin.top + ')');\n\n var x = d3.scaleLinear().domain([min_serie, max_serie]).range([0, svg_w]);\n\n var y = d3.scaleLinear().range([svg_h, 0]);\n\n var overlay_svg = div_svg.append('g').attr('transform', 'translate(30, 0)'),\n line_mean = void 0,\n line_std_right = void 0,\n line_std_left = void 0,\n line_median = void 0,\n txt_median = void 0,\n txt_mean = void 0,\n rug_plot = void 0;\n\n make_overlay_elements();\n\n svg_histo.append('g').attrs({ class: 'x_axis', transform: 'translate(0,' + height + ')' }).call(d3.axisBottom().scale(x).tickFormat(formatCount));\n\n newBox.append('button').attrs({ class: 'accordion_disc active', id: 'btn_acc_disc_color' }).style('padding', '0 6px').html(_tr('disc_box.title_color_scheme'));\n var accordion_colors = newBox.append('div').attrs({ class: 'panel show', id: 'accordion_colors' }).style('width', '98%');\n var color_scheme = accordion_colors.append('div').attr('id', 'color_div').style('text-align', 'center');\n\n [[_tr('disc_box.sequential'), 'sequential'], [_tr('disc_box.diverging'), 'diverging']].forEach(function (el) {\n color_scheme.insert('label').style('margin', '20px').html(el[0]).insert('input').attrs({ type: 'radio', name: 'color_scheme', id: 'button_' + el[1] }).property('value', el[1]).on('change', function () {\n if (this.value === 'sequential') {\n make_sequ_button();\n } else {\n make_diverg_button();\n }\n redisplay.draw();\n });\n });\n var to_reverse = false;\n document.getElementById('button_sequential').checked = true;\n accordion_colors.append('span').attr('id', 'button_palette_box').styles({\n margin: '5px',\n float: 'right',\n cursor: 'pointer',\n 'font-style': 'italic'\n }).html(_tr('app_page.palette_box.button')).on('click', function () {\n make_box_custom_palette(nb_class).then(function (result) {\n if (result) {\n var _result = _slicedToArray(result, 2),\n colors = _result[0],\n palette_name = _result[1];\n\n var select_palette = document.querySelector('.color_params');\n (0, _colors_helpers.addNewCustomPalette)(palette_name, colors);\n if (select_palette) {\n d3.select(select_palette).append('option').text(palette_name).attrs({ value: 'user_' + palette_name, title: palette_name, nb_colors: colors.length });\n (0, _helpers.setSelected)(select_palette, 'user_' + palette_name);\n }\n // else {\n // d3.select('.color_params_right')\n // .append('option')\n // .text(palette_name)\n // .attrs({ value: `user_${palette_name}`, title: palette_name, nb_colors: colors.length });\n // d3.select('.color_params_left')\n // .append('option')\n // .text(palette_name)\n // .attrs({ value: `user_${palette_name}`, title: palette_name, nb_colors: colors.length });\n // }\n }\n });\n });\n\n newBox.append('button').attrs({ class: 'accordion_disc', id: 'btn_acc_disc_break' }).style('padding', '0 6px').html(_tr('disc_box.title_break_values'));\n var accordion_breaks = newBox.append('div').attrs({ class: 'panel', id: 'accordion_breaks_vals' }).style('width', '98%');\n var user_defined_breaks = accordion_breaks.append('div').attr('id', 'user_breaks');\n\n user_defined_breaks.insert('textarea').attrs({\n id: 'user_breaks_area',\n placeholder: _tr('app_page.common.expected_class')\n }).style('width', '600px');\n\n user_defined_breaks.insert('button').text(_tr('app_page.common.valid')).on('click', function () {\n // const old_nb_class = nb_class;\n user_break_list = document.getElementById('user_breaks_area').value;\n type = 'user_defined';\n // nb_class = user_break_list.split('-').length - 1;\n // txt_nb_class.node().value = +nb_class;\n // txt_nb_class.html(_tr(\"disc_box.class\", {count: +nb_class}));\n // document.getElementById(\"nb_class_range\").value = nb_class;\n redisplay.compute().then(function (v) {\n if (v) redisplay.draw();\n });\n });\n\n (0, _interface.accordionize)('.accordion_disc', container);\n\n if (no_data > 0) {\n make_no_data_section();\n if (options.no_data) {\n document.getElementById('no_data_color').value = options.no_data;\n }\n }\n\n if (!options.schema) {\n make_sequ_button();\n } else if (options.schema.length === 1) {\n make_sequ_button();\n document.querySelector('.color_params').value = options.schema[0];\n document.querySelector('.color_params').style.backgroundImage = 'url(static/img/palettes/' + options.schema[0] + '.png)';\n } else if (options.schema.length > 1) {\n make_diverg_button();\n document.getElementById('button_diverging').checked = true;\n var tmp = 0;\n (0, _helpers.setSelected)(document.querySelector('.color_params_left'), options.schema[0]);\n // document.querySelector(\".color_params_left\").value = options.schema[0];\n if (options.schema.length > 2) {\n var elem = document.getElementById('central_color_val');\n elem.style.display = '';\n elem.value = options.schema[1];\n tmp = 1;\n document.querySelector('.central_color').querySelector('input').checked = true;\n } else {\n document.querySelector('.central_color').querySelector('input').checked = false;\n }\n (0, _helpers.setSelected)(document.querySelector('.color_params_right'), options.schema[1 + tmp]);\n // document.querySelector(\".color_params_right\").value = options.schema[1 + tmp];\n }\n\n if (options.type && options.type === 'user_defined') {\n user_break_list = options.breaks;\n }\n\n redisplay.compute().then(function (v) {\n if (v) redisplay.draw(options.colors);\n });\n\n return new Promise(function (resolve, reject) {\n container.querySelector('.btn_ok').onclick = function () {\n breaks = breaks.map(function (i) {\n return +i;\n });\n var colors_map = [];\n var no_data_color = null;\n if (no_data > 0) {\n no_data_color = document.getElementById('no_data_color').value;\n }\n for (var j = 0; j < db_data.length; ++j) {\n var _value = db_data[j][field_name];\n // if (value !== null && value !== '' && !isNaN(+value)) {\n if ((0, _helpers.isNumber)(_value)) {\n var idx = serie.getClass(+_value);\n colors_map.push(color_array[idx]);\n } else {\n colors_map.push(no_data_color);\n }\n }\n var col_schema = [];\n if (!d3.select('.color_params_left').node()) {\n col_schema.push(document.querySelector('.color_params').value);\n } else {\n col_schema.push(document.querySelector('.color_params_left').value);\n if (document.querySelector('.central_color').querySelector('input').checked) {\n col_schema.push(document.getElementById('central_color_val').value);\n }\n col_schema.push(document.querySelector('.color_params_right').value);\n }\n resolve([nb_class, type, breaks, color_array, colors_map, col_schema, no_data_color, type === 'stddev_f' ? std_dev_params : undefined]);\n document.removeEventListener('keydown', helper_esc_key_twbs);\n container.remove();\n var p = (0, _dialogs.reOpenParent)();\n if (!p) _dialogs.overlay_under_modal.hide();\n };\n\n var _onclose = function _onclose() {\n resolve(false);\n document.removeEventListener('keydown', helper_esc_key_twbs);\n container.remove();\n var p = (0, _dialogs.reOpenParent)();\n if (!p) _dialogs.overlay_under_modal.hide();\n };\n container.querySelector('.btn_cancel').onclick = _onclose;\n container.querySelector('#xclose').onclick = _onclose;\n var helper_esc_key_twbs = function helper_esc_key_twbs(evt) {\n var _event = evt || window.event;\n var isEscape = 'key' in _event ? _event.key === 'Escape' || _event.key === 'Esc' : _event.keyCode === 27;\n if (isEscape) {\n _event.stopPropagation();\n _onclose();\n }\n };\n document.addEventListener('keydown', helper_esc_key_twbs);\n _dialogs.overlay_under_modal.display();\n });\n};\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! bluebird */ \"./node_modules/bluebird/js/browser/bluebird.js\")))\n\n//# sourceURL=webpack:///./js/classification/discretization_panel.js?"); - -/***/ }), - -/***/ "./js/classification/discrtiz_links_discont.js": -/*!*****************************************************!*\ - !*** ./js/classification/discrtiz_links_discont.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("/* WEBPACK VAR INJECTION */(function(Promise) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.display_discretization_links_discont = undefined;\n\nvar _dialogs = __webpack_require__(/*! ./../dialogs */ \"./js/dialogs.js\");\n\nvar _function = __webpack_require__(/*! ./../function */ \"./js/function.js\");\n\nvar _helpers = __webpack_require__(/*! ./../helpers */ \"./js/helpers.js\");\n\nvar _helpers_calc = __webpack_require__(/*! ./../helpers_calc */ \"./js/helpers_calc.js\");\n\nvar _helpers_math = __webpack_require__(/*! ./../helpers_math */ \"./js/helpers_math.js\");\n\nvar _common = __webpack_require__(/*! ./common */ \"./js/classification/common.js\");\n\nvar display_discretization_links_discont = exports.display_discretization_links_discont = function display_discretization_links_discont(layer_name, field_name, nb_class, type) {\n var make_box_histo_option = function make_box_histo_option() {\n var histo_options = newBox.append('div').attrs({ id: 'histo_options', class: 'row equal' }).styles({ margin: '5px 5px 10px 15px', width: '100%' });\n var a = histo_options.append('div').attr('class', 'col-xs-6 col-sm-3'),\n b = histo_options.append('div').attr('class', 'col-xs-6 col-sm-3'),\n c = histo_options.append('div').attr('class', 'col-xs-6 col-sm-3'),\n d = histo_options.append('div').attr('class', 'col-xs-6 col-sm-3');\n\n a.insert('button').attrs({ class: 'btn_population' }).html(_tr('disc_box.disp_rug_pop')).on('click', function () {\n if (this.classList.contains('active')) {\n this.classList.remove('active');\n rug_plot.style('display', 'none');\n rug_plot.classed('active', false);\n } else {\n this.classList.add('active');\n rug_plot.style('display', '');\n rug_plot.classed('active', true);\n }\n });\n\n b.insert('button').attrs({ class: 'btn_mean' }).html(_tr('disc_box.disp_mean')).on('click', function () {\n if (this.classList.contains('active')) {\n this.classList.remove('active');\n line_mean.style('stroke-width', 0);\n txt_mean.style('fill', 'none');\n line_mean.classed('active', false);\n } else {\n this.classList.add('active');\n line_mean.style('stroke-width', 2);\n txt_mean.style('fill', 'blue');\n line_mean.classed('active', true);\n }\n });\n\n c.insert('button').attrs({ class: 'btn_median' }).html(_tr('disc_box.disp_median')).on('click', function () {\n if (this.classList.contains('active')) {\n this.classList.remove('active');\n line_median.style('stroke-width', 0).classed('active', false);\n txt_median.style('fill', 'none');\n } else {\n this.classList.add('active');\n line_median.style('stroke-width', 2).classed('active', true);\n txt_median.style('fill', 'darkgreen');\n }\n });\n\n d.insert('button').attrs({ class: 'btn_stddev' }).html(_tr('disc_box.disp_sd')).on('click', function () {\n if (this.classList.contains('active')) {\n this.classList.remove('active');\n line_std_left.style('stroke-width', 0);\n line_std_left.classed('active', false);\n line_std_right.style('stroke-width', 0);\n line_std_right.classed('active', false);\n } else {\n this.classList.add('active');\n line_std_left.style('stroke-width', 2);\n line_std_left.classed('active', true);\n line_std_right.style('stroke-width', 2);\n line_std_right.classed('active', true);\n }\n });\n };\n\n var make_overlay_elements = function make_overlay_elements() {\n var mean_val = serie.mean(),\n stddev = serie.stddev();\n\n line_mean = overlay_svg.append('line').attrs({\n class: 'line_mean',\n x1: x(mean_val),\n y1: 10,\n x2: x(mean_val),\n y2: svg_h - margin.bottom\n }).styles({ 'stroke-width': 0, stroke: 'blue', fill: 'none' }).classed('active', false);\n\n txt_mean = overlay_svg.append('text').attrs({\n dy: '0.75em',\n x: x(mean_val),\n y: 0,\n 'text-anchor': 'middle'\n }).style('fill', 'none').text(_tr('disc_box.mean'));\n\n line_median = overlay_svg.append('line').attrs({\n class: 'line_med',\n x1: x(serie.median()),\n y1: 10,\n x2: x(serie.median()),\n y2: svg_h - margin.bottom\n }).styles({ 'stroke-width': 0, stroke: 'darkgreen', fill: 'none' }).classed('active', false);\n\n txt_median = overlay_svg.append('text').attrs({\n dy: '0.75em',\n x: x(serie.median()),\n y: 0,\n 'text-anchor': 'middle'\n }).style('fill', 'none').text(_tr('disc_box.median'));\n\n line_std_left = overlay_svg.append('line').attrs({\n class: 'lines_std',\n x1: x(mean_val - stddev),\n y1: 10,\n x2: x(mean_val - stddev),\n y2: svg_h - margin.bottom\n }).styles({ 'stroke-width': 0, stroke: 'grey', fill: 'none' }).classed('active', false);\n\n line_std_right = overlay_svg.append('line').attrs({\n class: 'lines_std',\n x1: x(mean_val + stddev),\n y1: 10,\n x2: x(mean_val + stddev),\n y2: svg_h - margin.bottom\n }).styles({ 'stroke-width': 0, stroke: 'grey', fill: 'none' }).classed('active', false);\n\n rug_plot = overlay_svg.append('g').style('display', 'none');\n rug_plot.selectAll('.indiv').data(values.map(function (i) {\n return { value: +i };\n })).enter().insert('line').attrs(function (d) {\n return {\n class: 'indiv',\n x1: x(d.value),\n y1: svg_h - margin.bottom - 10,\n x2: x(d.value),\n y2: svg_h - margin.bottom\n };\n }).styles({ stroke: 'red', fill: 'none', 'stroke-width': 1 });\n };\n\n var make_summary = function make_summary() {\n var content_summary = (0, _helpers.make_content_summary)(serie);\n newBox.append('div').attr('id', 'summary').styles({\n 'margin-left': '25px',\n 'margin-right': '50px',\n 'font-size': '10px',\n float: 'right'\n }).insert('p').html(['', _tr('disc_box.summary'), '
', content_summary].join(''));\n };\n\n var update_breaks = function update_breaks(user_defined) {\n if (!user_defined) {\n (0, _function.make_min_max_tableau)(values, nb_class, type, last_min, last_max, 'sizes_div', undefined, callback);\n }\n var tmp_breaks = (0, _function.fetch_min_max_table_value)('sizes_div');\n var len_breaks = tmp_breaks.sizes.length;\n breaks_info = [];\n last_min = tmp_breaks.sizes[0];\n last_max = tmp_breaks.sizes[tmp_breaks.sizes.length - 1];\n if ((0, _helpers_math.Mabs)(+serie.min() - +tmp_breaks.mins[0]) > 0.01) {\n nb_class += 1;\n txt_nb_class.node().value = nb_class;\n // txt_nb_class.html(_tr(\"disc_box.class\", {count: nb_class}));\n breaks_info.push([[serie.min(), +tmp_breaks.mins[0]], 0]);\n }\n\n for (var i = 0; i < len_breaks; i++) {\n breaks_info.push([[tmp_breaks.mins[i], tmp_breaks.maxs[i]], tmp_breaks.sizes[i]]);\n }\n breaks = [breaks_info[0][0][0]].concat(breaks_info.map(function (ft) {\n return ft[0][1];\n }));\n if (user_defined) {\n (0, _function.make_min_max_tableau)(null, nb_class, type, last_min, last_max, 'sizes_div', breaks_info, callback);\n }\n };\n\n var redisplay = {\n compute: function compute() {\n bins = [];\n for (var i = 0, len = breaks_info.length; i < len; i++) {\n // const bin = {};\n // bin.offset = i === 0 ? 0 : (bins[i - 1].width + bins[i - 1].offset);\n // bin.width = breaks[i + 1] - breaks[i];\n // bin.height = breaks_info[i][1];\n // bins[i] = bin;\n bins.push({\n offset: i === 0 ? 0 : bins[i - 1].width + bins[i - 1].offset,\n width: breaks[i + 1] - breaks[i],\n height: breaks_info[i][1]\n });\n }\n return true;\n },\n draw: function draw() {\n // Clean-up previously made histogram :\n d3.select('#svg_discretization').selectAll('.bar').remove();\n\n for (var i = 0, len = bins.length; i < len; ++i) {\n bins[i].color = array_color[i];\n }\n\n var x = d3.scaleLinear().domain([serie.min(), serie.max()]).range([0, svg_w]);\n\n var y = d3.scaleLinear().range([svg_h, 0]);\n\n x.domain([0, d3.max(bins.map(function (d) {\n return d.offset + d.width;\n }))]);\n y.domain([0, d3.max(bins.map(function (d) {\n return d.height + d.height / 5;\n }))]);\n\n svg_histo.selectAll('.bar').data(bins).enter().append('rect').attrs(function (d, i) {\n return {\n class: 'bar',\n id: 'bar_' + i,\n transform: 'translate(0, -17.5)',\n x: x(d.offset),\n y: y(d.height) - margin.bottom,\n width: x(d.width),\n height: svg_h - y(d.height)\n };\n }).styles(function (d) {\n return {\n opacity: 0.95,\n 'stroke-opacity': 1,\n fill: d.color\n };\n });\n\n return true;\n }\n };\n\n var title_box = [_tr('disc_box.title'), ' - ', layer_name, ' - ', field_name].join('');\n var modal_box = (0, _dialogs.make_dialog_container)('discretiz_charts', title_box, 'discretiz_charts_dialog');\n var newBox = d3.select('#discretiz_charts').select('.modal-body');\n var db_data = void 0;\n if (data_manager.result_data.hasOwnProperty(layer_name)) {\n db_data = data_manager.result_data[layer_name];\n } else if (data_manager.user_data.hasOwnProperty(layer_name)) {\n db_data = data_manager.user_data[layer_name];\n }\n\n var color_array = [];\n var indexes = [];\n var nb_values = db_data.length;\n var values = [];\n var no_data = void 0;\n\n for (var i = 0; i < nb_values; i++) {\n if (db_data[i][field_name] != null) {\n values.push(+db_data[i][field_name]);\n indexes.push(i);\n }\n }\n\n if (nb_values === values.length) {\n no_data = 0;\n } else {\n no_data = nb_values - values.length;\n nb_values = values.length;\n }\n var max_nb_class = nb_values > 20 ? 20 : nb_values;\n var sizes = data_manager.current_layers[layer_name].breaks.map(function (el) {\n return el[1];\n });\n\n var serie = new geostats(values),\n breaks_info = [].concat(data_manager.current_layers[layer_name].breaks),\n breaks = [+breaks_info[0][0][0]],\n bins = [],\n last_min = (0, _helpers_calc.min_fast)(sizes),\n last_max = (0, _helpers_calc.max_fast)(sizes),\n array_color = d3.schemeSet3.slice();\n\n breaks_info.forEach(function (elem) {\n breaks.push(elem[0][1]);\n });\n\n if (serie.variance() === 0 && serie.stddev() === 0) {\n serie = new geostats(values);\n }\n\n values = serie.sorted();\n // serie.setPrecision(6);\n var available_functions = [[_tr('app_page.common.equal_interval'), 'equal_interval'], [_tr('app_page.common.quantiles'), 'quantiles'], [_tr('app_page.common.user_defined'), 'user_defined'],\n // [_tr(\"app_page.common.std_dev\"), \"std_dev\"],\n [_tr('app_page.common.Q6'), 'Q6'], [_tr('app_page.common.jenks'), 'jenks']];\n\n if (!serie._hasZeroValue() && !serie._hasZeroValue()) {\n available_functions.push([_tr('app_page.common.geometric_progression'), 'geometric_progression']);\n }\n var precisionAxis = (0, _helpers_calc.get_precision_axis)(serie.min(), serie.max(), serie.precision);\n var formatCount = d3.format(precisionAxis);\n\n var discretization_panel = newBox.append('div').attr('id', 'discretization_panel');\n var discretization_choice = discretization_panel.insert('p').html('Type ').insert('select').attr('class', 'params').on('change', function () {\n var old_type = type;\n if (this.value === 'user_defined') {\n this.value = old_type;\n return;\n }\n type = this.value;\n if (type === 'Q6') {\n nb_class = 6;\n txt_nb_class.node().value = nb_class;\n document.getElementById('nb_class_range').value = 6;\n }\n update_breaks();\n redisplay.compute();\n redisplay.draw();\n });\n\n available_functions.forEach(function (func) {\n discretization_choice.append('option').text(func[0]).attr('value', func[1]);\n });\n\n var ref_histo_box = newBox.append('div').attr('id', 'ref_histo_box');\n ref_histo_box.append('div').attr('id', 'inner_ref_histo_box');\n\n discretization_choice.node().value = type;\n\n make_summary();\n\n var refDisplay = (0, _common.prepare_ref_histo)(newBox, serie, formatCount);\n refDisplay('histogram');\n\n if (values.length < 750) {\n // Only allow for beeswarm plot if there isn't too many values\n // as it seems to be costly due to the \"simulation\" + the voronoi\n var choiceHisto = ref_histo_box.append('p').style('text-align', 'center');\n var currentHisto = 'histogram';\n choiceHisto.insert('button').attrs({\n id: 'button_switch_plot',\n class: 'i18n button_st4',\n 'data-i18n': '[text]disc_box.switch_ref_histo'\n }).styles({ padding: '3px', 'font-size': '10px' }).html(_tr('disc_box.switch_ref_histo')).on('click', function () {\n if (currentHisto === 'histogram') {\n refDisplay('box_plot');\n currentHisto = 'box_plot';\n } else if (currentHisto === 'box_plot') {\n refDisplay('beeswarm');\n currentHisto = 'beeswarm';\n } else if (currentHisto === 'beeswarm') {\n refDisplay('histogram');\n currentHisto = 'histogram';\n }\n });\n }\n\n var txt_nb_class = discretization_panel.append('input').attrs({\n type: 'number', class: 'without_spinner', min: 2, max: max_nb_class, step: 1\n }).styles({ width: '30px', margin: '0 10px', 'vertical-align': 'calc(20%)' }).property('value', nb_class).on('change', function () {\n var a = disc_nb_class.node();\n a.value = this.value;\n a.dispatchEvent(new Event('change'));\n });\n\n discretization_panel.append('span').html(_tr('disc_box.class'));\n\n var disc_nb_class = discretization_panel.insert('input').styles({\n display: 'inline', width: '60px', 'vertical-align': 'middle', margin: '10px'\n }).attrs({\n id: 'nb_class_range',\n type: 'range',\n min: 2,\n max: max_nb_class,\n step: 1\n }).property('value', nb_class).on('change', function () {\n type = discretization_choice.node().value;\n if (type === 'user_defined') {\n type = 'equal_interval';\n discretization_choice.node().value = 'equal_interval';\n }\n if (type === 'Q6') {\n this.value = 6;\n return;\n }\n nb_class = +this.value;\n txt_nb_class.node().value = nb_class;\n update_breaks();\n redisplay.compute();\n redisplay.draw();\n });\n\n var svg_h = h / 5 > 90 ? h / 5 : 90,\n svg_w = w - w / 8,\n margin = { top: 17.5, right: 30, bottom: 7.5, left: 30 },\n height = svg_h - margin.top - margin.bottom;\n\n d3.select('#discretiz_charts').select('.modal-dialog').styles({\n width: svg_w + margin.top + margin.bottom + 90 + 'px',\n height: window.innerHeight - 60 + 'px'\n });\n\n var div_svg = newBox.append('div').append('svg').attrs({\n id: 'svg_discretization',\n width: svg_w + margin.left + margin.right,\n height: svg_h + margin.top + margin.bottom\n });\n\n make_box_histo_option();\n\n var svg_histo = div_svg.append('g').attr('transform', 'translate(' + margin.left + ',' + margin.top + ')');\n\n var x = d3.scaleLinear().domain([serie.min(), serie.max()]).range([0, svg_w]);\n\n var overlay_svg = div_svg.append('g').attr('transform', 'translate(30, 0)');\n\n var line_mean = void 0,\n line_std_right = void 0,\n line_std_left = void 0,\n line_median = void 0,\n txt_median = void 0,\n txt_mean = void 0,\n rug_plot = void 0;\n\n make_overlay_elements();\n\n // As the x axis and the mean didn't change, they can be drawn only once :\n svg_histo.append('g').attrs({\n class: 'x axis',\n transform: 'translate(0,' + height + ')'\n }).call(d3.axisBottom().scale(x).tickFormat(formatCount));\n\n var box_content = newBox.append('div').attr('id', 'box_content');\n box_content.append('h3').style('margin', '0').html(_tr('disc_box.line_size'));\n box_content.append('div').attr('id', 'sizes_div');\n var callback = function callback() {\n discretization_choice.node().value = type;\n update_breaks(true);\n redisplay.compute();\n redisplay.draw();\n };\n (0, _function.make_min_max_tableau)(null, nb_class, type, null, null, 'sizes_div', breaks_info, callback);\n\n redisplay.compute();\n redisplay.draw();\n\n var container = document.getElementById('discretiz_charts');\n return new Promise(function (resolve, reject) {\n var _onclose = function _onclose() {\n resolve(false);\n document.removeEventListener('keydown', helper_esc_key_twbs);\n container.remove();\n var p = (0, _dialogs.reOpenParent)('.styleBox');\n if (!p) _dialogs.overlay_under_modal.hide();\n };\n var helper_esc_key_twbs = function helper_esc_key_twbs(evt) {\n var _event = evt || window.event;\n var isEscape = 'key' in _event ? _event.key === 'Escape' || _event.key === 'Esc' : _event.keyCode === 27;\n if (isEscape) {\n _event.preventDefault();\n _onclose();\n }\n };\n container.querySelector('.btn_ok').onclick = function () {\n breaks[0] = serie.min();\n breaks[nb_class] = serie.max();\n resolve([serie, breaks_info, breaks]);\n document.removeEventListener('keydown', helper_esc_key_twbs);\n container.remove();\n var p = (0, _dialogs.reOpenParent)('.styleBox');\n if (!p) _dialogs.overlay_under_modal.hide();\n };\n container.querySelector('.btn_cancel').onclick = _onclose;\n container.querySelector('#xclose').onclick = _onclose;\n document.addEventListener('keydown', helper_esc_key_twbs);\n });\n};\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! bluebird */ \"./node_modules/bluebird/js/browser/bluebird.js\")))\n\n//# sourceURL=webpack:///./js/classification/discrtiz_links_discont.js?"); - -/***/ }), - -/***/ "./js/colors_helpers.js": -/*!******************************!*\ - !*** ./js/colors_helpers.js ***! - \******************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addNewCustomPalette = exports.randomColor = exports.ColorsSelected = exports.Colors = exports.interpolateColor = exports.interp_n = exports.getColorBrewerArray = undefined;\nexports.rgb2hex = rgb2hex;\nexports.hexToRgb = hexToRgb;\n\nvar _colorbrewer = __webpack_require__(/*! colorbrewer */ \"./node_modules/colorbrewer/index.js\");\n\nvar _colorbrewer2 = _interopRequireDefault(_colorbrewer);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n* Convert rgb color to hexcode.\n*\n* @param {string} rgb - The RGB color.\n* @return {string} - The color as an hexcode.\n*\n*/\nfunction rgb2hex(rgb) {\n // Originally from http://jsfiddle.net/mushigh/myoskaos/\n if (typeof rgb === 'string') {\n if (rgb.indexOf('#') > -1 || rgb.indexOf('rgb') < 0) {\n return rgb;\n }\n var _rgb = rgb.match(/^rgba?[\\s+]?\\([\\s+]?(\\d+)[\\s+]?,[\\s+]?(\\d+)[\\s+]?,[\\s+]?(\\d+)[\\s+]?/i);\n return _rgb && _rgb.length === 4 ? '#' + ('0' + parseInt(_rgb[1], 10).toString(16)).slice(-2) + ('0' + parseInt(_rgb[2], 10).toString(16)).slice(-2) + ('0' + parseInt(_rgb[3], 10).toString(16)).slice(-2) : '';\n }\n return rgb && rgb.length === 3 ? '#' + ('0' + parseInt(rgb[0], 10).toString(16)).slice(-2) + ('0' + parseInt(rgb[1], 10).toString(16)).slice(-2) + ('0' + parseInt(rgb[2], 10).toString(16)).slice(-2) : '';\n}\n\n/**\n* Convert color hexcode to RGB code.\n*\n* @param {string} hex - The input hexcode.\n* @param {string} out - The output format between \"string\" and \"array\"\n* @return {string|array} - the rgb color as a string or as an array.\n*\n*/\nfunction hexToRgb(hex, out) {\n // Originally from http://stackoverflow.com/questions/5623838/rgb-to-hex-and-hex-to-rgb\n var res = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n if (out === 'string') {\n return res ? 'rgb(' + parseInt(res[1], 16) + ',' + parseInt(res[2], 16) + ',' + parseInt(res[3], 16) + ')' : null;\n }\n return res ? [parseInt(res[1], 16), parseInt(res[2], 16), parseInt(res[3], 16)] : null;\n}\n\n/**\n* Helper function in order to have a colorbrewer color ramp with\n* non-supported number of value using interpolation between the colorbrewer color\n* to fit the requested number of classes.\n* If the number of class fit the size of a colorbrewer ramp (3 < nb_class < 9)\n* the genuine colorbrewer array is directly returned.\n*\n* @param {interger} nbClass - The number of classes/colors wanted.\n* @param {integer} name - The name of the colorBrewer palette to use\n* @return {array} - An array of color with the desired length\n*/\nvar getColorBrewerArray = exports.getColorBrewerArray = function getColorBrewerArray(nbClass, name) {\n if (nbClass < 10 && nbClass >= 3) {\n var _colors = _colorbrewer2.default[name][nbClass];\n return _colors;\n } else if (nbClass < 3) {\n var _colors2 = _colorbrewer2.default[name][3];\n return [rgb2hex(interpolateColor(hexToRgb(_colors2[0]), hexToRgb(_colors2[1]))), rgb2hex(interpolateColor(hexToRgb(_colors2[1]), hexToRgb(_colors2[2])))];\n } else if (nbClass > 9 && nbClass < 18) {\n var _colors3 = _colorbrewer2.default[name][9];\n var diff = nbClass - 9;\n return interp_n(_colors3, diff, 9);\n } // else if (nbClass >= 18) {\n var colors = _colorbrewer2.default[name][9];\n colors = interp_n(colors, 8, 9);\n return interp_n(colors, nbClass - colors.length, nbClass);\n};\n\n/**\n* Function to make color interpolation from \"colors\" (an array of n colors)\n* to a larger array of \"k\" colors (using same start and stop than the original)\n*\n* @param {array} colors - An array of colors\n* @param {integer} diff -\n* @param {number} k - The length of the targeted color palette\n* @return {array} - An array of k colors.\n*/\nvar interp_n = exports.interp_n = function interp_n(colors, diff, k) {\n var tmp = [];\n var new_colors = [];\n for (var i = 0; i < diff; ++i) {\n tmp.push(rgb2hex(interpolateColor(hexToRgb(colors[i]), hexToRgb(colors[i + 1]))));\n }\n for (var _i = 0; _i < k; ++_i) {\n new_colors.push(colors[_i]);\n if (tmp[_i]) new_colors.push(tmp[_i]);\n }\n return new_colors;\n};\n\n// Return the interpolated value at \"factor\" (0 2 && arguments[2] !== undefined ? arguments[2] : 0.5;\n\n var result = color1.slice();\n for (var i = 0; i < 3; i++) {\n result[i] = Math.round(result[i] + factor * (color2[i] - color1[i]));\n }\n return result;\n};\n\n// Just a \"Colors\" object with a convenience \"random\" method\n// ... when a random color is needed (they aren't specialy pretty colors though!)\nvar Colors = exports.Colors = {\n names: {\n aqua: '#00ffff',\n azure: '#f0ffff',\n beige: '#f5f5dc',\n black: '#000000',\n blue: '#0000ff',\n brown: '#a52a2a',\n cyan: '#00ffff',\n darkblue: '#00008b',\n darkcyan: '#008b8b',\n darkgrey: '#a9a9a9',\n darkgreen: '#006400',\n darkkhaki: '#bdb76b',\n darkmagenta: '#8b008b',\n darkolivegreen: '#556b2f',\n darkorange: '#ff8c00',\n darkorchid: '#9932cc',\n darkred: '#8b0000',\n darksalmon: '#e9967a',\n darkviolet: '#9400d3',\n fuchsia: '#ff00ff',\n gold: '#ffd700',\n green: '#008000',\n indigo: '#4b0082',\n khaki: '#f0e68c',\n lightblue: '#add8e6',\n lightcyan: '#e0ffff',\n lightgreen: '#90ee90',\n lightgrey: '#d3d3d3',\n lightpink: '#ffb6c1',\n lightyellow: '#ffffe0',\n lime: '#00ff00',\n magenta: '#ff00ff',\n maroon: '#800000',\n navy: '#000080',\n olive: '#808000',\n orange: '#ffa500',\n pink: '#ffc0cb',\n purple: '#800080',\n violet: '#800080',\n red: '#ff0000',\n silver: '#c0c0c0',\n white: '#ffffff',\n yellow: '#ffff00'\n },\n random: function random() {\n var keys = Object.keys(this.names);\n var n = keys.length;\n var result = 0;\n var count = 0;\n for (var i = 0; i < n; i++) {\n var prop = keys[i];\n count += 1;\n if (Math.random() < 1 / count) {\n result = prop;\n }\n }\n return result;\n }\n};\n\nvar ColorsSelected = exports.ColorsSelected = {\n // These colors came from \"Pastel1\" and \"Pastel2\" coloramps from ColorBrewer\n colorCodes: ['#b3e2cd', '#fdcdac', '#cbd5e8', '#f4cae4', '#e6f5c9', '#fff2ae', '#f1e2cc', '#cccccc', '#fbb4ae', '#b3cde3', '#ccebc5', '#decbe4', '#fed9a6', '#ffffcc', '#e5d8bd', '#fddaec', '#f2f2f2'],\n // In order to avoid randomly returning the same color\n // as the last one, at least for the first layers\n seen: new Set(),\n random: function random() {\n var to_rgb = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n var nb_color = this.colorCodes.length;\n var seen = this.seen;\n var result_color = this.colorCodes[0],\n attempts = 40; // To avoid a while(true) if it went wrong for any reason\n if (seen.size === nb_color) {\n seen = new Set();\n }\n while (attempts > 0) {\n var ix = Math.round(Math.random() * (nb_color - 1));\n result_color = this.colorCodes[ix];\n if (!seen.has(result_color)) {\n seen.add(result_color);\n break;\n } else {\n attempts -= 1;\n }\n }\n return to_rgb ? hexToRgb(result_color) : result_color;\n }\n};\n\nfunction hue2rgb(p, q, t) {\n if (t < 0) t += 1;\n if (t > 1) t -= 1;\n if (t < 1 / 6) return p + (q - p) * 6 * t;\n if (t < 1 / 2) return q;\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n}\n\n// Copy-paste from https://gist.github.com/jdarling/06019d16cb5fd6795edf\n// itself adapted from http://martin.ankerl.com/2009/12/09/how-to-create-random-colors-programmatically/\nvar randomColor = exports.randomColor = function () {\n var golden_ratio_conjugate = 0.618033988749895;\n var _h = Math.random();\n\n var hslToRgb = function hslToRgb(h, s, l) {\n var r = void 0,\n g = void 0,\n b = void 0;\n\n if (s === 0) {\n r = g = b = l; // achromatic\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n return '#' + Math.round(r * 255).toString(16) + Math.round(g * 255).toString(16) + Math.round(b * 255).toString(16);\n };\n\n return function () {\n _h += golden_ratio_conjugate;\n _h %= 1;\n return hslToRgb(_h, 0.5, 0.60);\n };\n}();\n\nvar addNewCustomPalette = exports.addNewCustomPalette = function addNewCustomPalette(palette_name, colors) {\n _app.custom_palettes.set(palette_name, colors);\n};\n\n//# sourceURL=webpack:///./js/colors_helpers.js?"); - -/***/ }), - -/***/ "./js/context-menu.js": -/*!****************************!*\ - !*** ./js/context-menu.js ***! - \****************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = ContextMenu;\n\n__webpack_require__(/*! ./../css/context-menu.css */ \"./css/context-menu.css\");\n\nfunction ContextMenu() {\n this.items = [];\n\n this.addItem = function addItem(item) {\n this.items.push({\n isSimpleItem: true,\n name: item.name,\n action: item.action\n });\n };\n\n this.addSubMenu = function addSubMenu(item) {\n this.items.push({\n isSimpleItem: false,\n name: item.name,\n menu: new ContextMenu()\n });\n this.items[this.items.length - 1].menu.setItems(item.items);\n };\n\n this.removeItemByName = function removeItemByName(name) {\n for (var i = this.items.length - 1; i > 0; i--) {\n if (this.items[i].name.valueOf() === name.valueOf()) {\n this.items.splice(i, 1);\n break;\n }\n }\n };\n\n this.setItems = function setItems(items) {\n this.items = [];\n for (var i = 0; i < items.length; i++) {\n if (items[i].name) {\n if (items[i].action) {\n this.addItem(items[i]);\n } else if (items[i].items) {\n this.addSubMenu(items[i]);\n }\n }\n }\n };\n\n this.showMenu = function showMenu(event, parent, items) {\n var _this = this;\n\n if (items) {\n this.setItems(items);\n }\n\n if (event.preventDefault) {\n event.preventDefault();\n } else {\n event.returnValue = false; // eslint-disable-line no-param-reassign\n }\n\n if (event.stopPropagation) {\n event.stopPropagation();\n }\n\n this.initMenu(parent);\n var bbox = this.DOMObj.getBoundingClientRect();\n if (event.clientY + window.scrollY + bbox.height < window.innerHeight || event.clientX + bbox.width < window.innerWidth) {\n this.DOMObj.style.top = event.clientY + window.scrollY + 'px';\n this.DOMObj.style.left = event.clientX + 'px';\n } else {\n this.DOMObj.style.top = event.clientY + window.scrollY - bbox.height + 'px';\n this.DOMObj.style.left = event.clientX - bbox.width + 'px';\n }\n\n var hideMenu = function hideMenu() {\n if (_this.DOMObj && _this.DOMObj.parentNode && _this.DOMObj.parentNode.removeChild) {\n _this.DOMObj.parentNode.removeChild(_this.DOMObj);\n }\n _this.onclick = undefined;\n document.removeEventListener('click', hideMenu);\n document.removeEventListener('drag', hideMenu);\n };\n setTimeout(function () {\n document.addEventListener('click', hideMenu);\n document.removeEventListener('drag', hideMenu);\n }, 225);\n };\n\n this.initMenu = function initMenu(parent) {\n if (this.DOMObj && this.DOMObj.parentNode && this.DOMObj.parentNode.removeChild) {\n this.DOMObj.parentNode.removeChild(this.DOMObj);\n }\n var self = this;\n var menu = document.createElement('div');\n menu.className = 'context-menu';\n var list = document.createElement('ul');\n menu.appendChild(list);\n for (var i = 0; i < this.items.length; i++) {\n var item = document.createElement('li');\n list.appendChild(item);\n item.setAttribute('data-index', i);\n var name = document.createElement('span');\n name.className = 'context-menu-item-name';\n name.textContent = this.items[i].name;\n item.appendChild(name);\n if (this.items[i].isSimpleItem) {\n item.onclick = function () {\n var ix = this.getAttribute('data-index');\n self.items[ix].action();\n };\n } else {\n var arrow = document.createElement('span');\n arrow.className = 'arrow';\n arrow.innerHTML = '►';\n name.appendChild(arrow);\n this.items[i].menu.initMenu(item);\n this.items[i].menu.DOMObj.style.display = 'none';\n item.onmouseover = function () {\n var _this2 = this;\n\n setTimeout(function () {\n _this2.querySelectorAll('.context-menu')[0].style.display = '';\n }, 500);\n };\n item.onmouseout = function () {\n var _this3 = this;\n\n setTimeout(function () {\n _this3.querySelectorAll('.context-menu')[0].style.display = 'none';\n }, 500);\n };\n }\n }\n this.DOMObj = menu;\n parent.appendChild(menu);\n };\n}\n\n//# sourceURL=webpack:///./js/context-menu.js?"); - -/***/ }), - -/***/ "./js/dialogs.js": -/*!***********************!*\ - !*** ./js/dialogs.js ***! - \***********************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("/* WEBPACK VAR INJECTION */(function(Promise) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.check_remove_existing_box = check_remove_existing_box;\nexports.make_dialog_container = make_dialog_container;\nexports.reOpenParent = reOpenParent;\nfunction check_remove_existing_box(box_selector) {\n var existing_box = document.querySelector(box_selector);\n if (existing_box) existing_box.remove();\n}\n\nfunction make_dialog_container(id_box, title, class_box) {\n var _id_box = id_box || 'dialog';\n var _title = title || '';\n var _class_box = class_box || 'dialog';\n var container = document.createElement('div');\n container.setAttribute('id', id_box);\n container.setAttribute('class', 'twbs modal fade ' + _class_box);\n container.setAttribute('tabindex', '-1');\n container.setAttribute('role', 'dialog');\n container.setAttribute('aria-labelledby', 'myModalLabel');\n container.setAttribute('aria-hidden', 'true');\n container.innerHTML = '
';\n document.getElementById('twbs').appendChild(container);\n var html_content = '
\\n \\n

' + _title + '

\\n
\\n
\\n
\\n \\n \\n
';\n var modal_box = new Modal(document.getElementById(_id_box), { content: html_content });\n modal_box.show();\n return modal_box;\n}\n\nvar overlay_under_modal = exports.overlay_under_modal = function () {\n var twbs_div = document.querySelector('.twbs');\n var bg = document.createElement('div');\n bg.id = 'overlay_twbs';\n bg.style.width = '100%';\n bg.style.height = '100%';\n bg.style.position = 'fixed';\n bg.style.zIndex = 99;\n bg.style.top = 0;\n bg.style.left = 0;\n bg.style.background = 'rgba(0,0,0,0.4)';\n bg.style.display = 'none';\n twbs_div.insertBefore(bg, twbs_div.childNodes[0]);\n return {\n display: function display() {\n bg.style.display = '';\n },\n hide: function hide() {\n bg.style.display = 'none';\n }\n };\n}();\n\nvar make_confirm_dialog2 = exports.make_confirm_dialog2 = function (class_box, title, options) {\n var get_available_id = function get_available_id() {\n for (var i = 0; i < 50; i++) {\n if (!existing.has(i)) {\n existing.add(i);\n return i;\n }\n }\n };\n var existing = new Set();\n return function (class_box, title, options) {\n class_box = class_box || 'dialog';\n title = title || _tr('app_page.common.ask_confirm');\n options = options || {};\n\n var container = document.createElement('div');\n var new_id = get_available_id();\n\n container.setAttribute('id', 'myModal_' + new_id);\n container.setAttribute('class', 'twbs modal fade ' + class_box);\n container.setAttribute('tabindex', '-1');\n container.setAttribute('role', 'dialog');\n container.setAttribute('aria-labelledby', 'myModalLabel');\n container.setAttribute('aria-hidden', 'true');\n container.innerHTML = options.widthFitContent ? '
' : '
';\n document.getElementById('twbs').appendChild(container);\n\n container = document.getElementById('myModal_' + new_id);\n // const deferred = Promise.pending();\n var text_ok = options.text_ok || _tr('app_page.common.confirm');\n var text_cancel = options.text_cancel || _tr('app_page.common.cancel');\n var html_content = '
\\n \\n

' + title + '

\\n
\\n

' + (options.html_content || '') + '

\\n
\\n \\n \\n
';\n return new Promise(function (resolve, reject) {\n var modal_box = new Modal(container, {\n backdrop: true,\n keyboard: false,\n content: html_content\n });\n modal_box.show();\n container.modal = modal_box;\n overlay_under_modal.display();\n var func_cb = function func_cb(evt) {\n helper_esc_key_twbs_cb(evt, _onclose_false);\n };\n var clean_up_box = function clean_up_box() {\n document.removeEventListener('keydown', func_cb);\n existing.delete(new_id);\n overlay_under_modal.hide();\n container.remove();\n };\n var _onclose_false = function _onclose_false() {\n resolve(false);\n clean_up_box();\n };\n container.querySelector('.btn_cancel').onclick = _onclose_false;\n container.querySelector('#xclose').onclick = _onclose_false;\n container.querySelector('.btn_ok').onclick = function () {\n resolve(true);\n clean_up_box();\n };\n document.addEventListener('keydown', func_cb);\n });\n };\n}();\n\nfunction reOpenParent(css_selector) {\n var parent_style_box = css_selector !== undefined ? document.querySelector(css_selector) : document.querySelector('.styleBox');\n if (parent_style_box && parent_style_box.modal && parent_style_box.modal.show) {\n parent_style_box.modal.show();\n return true;\n }\n return false;\n}\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! bluebird */ \"./node_modules/bluebird/js/browser/bluebird.js\")))\n\n//# sourceURL=webpack:///./js/dialogs.js?"); - -/***/ }), - -/***/ "./js/fonts.js": -/*!*********************!*\ - !*** ./js/fonts.js ***! - \*********************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n// Reference to the available fonts that the user could select :\nvar available_fonts = exports.available_fonts = [['Arial', 'Arial,sans-serif'], ['Arial Black', 'Arial Black,sans-serif'], ['Arimo', 'Arimo,sans-serif'], ['Baloo Bhaina', 'Baloo Bhaina,sans-serif'], ['Bitter', 'Bitter,sans-serif'], ['Dosis', 'Dosis,sans-serif'], ['Impact', 'Impact,Charcoal,sans-serif'], ['Inconsolata', 'Inconsolata,sans-serif'], ['Georgia', 'Georgia,serif'], ['Lobster', 'Lobster,serif'], ['Lucida', 'Lucida Sans Unicode,Lucida Grande,sans-serif'], ['Palatino', 'Palatino Linotype,Book Antiqua,Palatino,serif'], ['Roboto', 'Roboto'], ['Scope One', 'Scope One'], ['Tahoma', 'Tahoma,Geneva,sans-serif'], ['Trebuchet MS', 'Trebuchet MS,elvetica,sans-serif'], ['Verdana', 'verdana']];\n\n// This variable have to be (well, we could easily do this in an other way!) up to date\n// with the style-fonts.css file as we are using their order to lookup for their definition\n// the .css file.\nvar custom_fonts = exports.custom_fonts = ['Arimo', 'Baloo Bhaina', 'Bitter', 'Dosis', 'Inconsolata', 'Lobster', 'Roboto', 'Scope One'];\n\n//# sourceURL=webpack:///./js/fonts.js?"); - -/***/ }), - -/***/ "./js/function.js": -/*!************************!*\ - !*** ./js/function.js ***! - \************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.render_label_graticule = exports.render_label = exports.get_menu_option = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { 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\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nexports.clean_menu_function = clean_menu_function;\nexports.reset_user_values = reset_user_values;\nexports.check_layer_name = check_layer_name;\nexports.make_min_max_tableau = make_min_max_tableau;\nexports.fetch_min_max_table_value = fetch_min_max_table_value;\nexports.render_twostocks_waffle = render_twostocks_waffle;\nexports.make_prop_line = make_prop_line;\nexports.make_prop_symbols = make_prop_symbols;\nexports.render_categorical = render_categorical;\nexports.prepare_categories_array = prepare_categories_array;\n\nvar _contextMenu = __webpack_require__(/*! ./context-menu */ \"./js/context-menu.js\");\n\nvar _contextMenu2 = _interopRequireDefault(_contextMenu);\n\nvar _colors_helpers = __webpack_require__(/*! ./colors_helpers */ \"./js/colors_helpers.js\");\n\nvar _discretization_panel = __webpack_require__(/*! ./classification/discretization_panel */ \"./js/classification/discretization_panel.js\");\n\nvar _categorical_panel = __webpack_require__(/*! ./classification/categorical_panel */ \"./js/classification/categorical_panel.js\");\n\nvar _common = __webpack_require__(/*! ./classification/common */ \"./js/classification/common.js\");\n\nvar _helpers = __webpack_require__(/*! ./helpers */ \"./js/helpers.js\");\n\nvar _helpers_calc = __webpack_require__(/*! ./helpers_calc */ \"./js/helpers_calc.js\");\n\nvar _helpers_math = __webpack_require__(/*! ./helpers_math */ \"./js/helpers_math.js\");\n\nvar _interface = __webpack_require__(/*! ./interface */ \"./js/interface.js\");\n\nvar _layers = __webpack_require__(/*! ./layers */ \"./js/layers.js\");\n\nvar _layers_style_popup = __webpack_require__(/*! ./layers_style_popup */ \"./js/layers_style_popup.js\");\n\nvar _legend = __webpack_require__(/*! ./legend */ \"./js/legend.js\");\n\nvar _map_ctrl = __webpack_require__(/*! ./map_ctrl */ \"./js/map_ctrl.js\");\n\nvar _projections = __webpack_require__(/*! ./projections */ \"./js/projections.js\");\n\nvar _symbols_picto = __webpack_require__(/*! ./symbols_picto */ \"./js/symbols_picto.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar section2 = d3.select('#menu').select('#section2');\n\nvar get_menu_option = exports.get_menu_option = function () {\n var menu_option = {\n smooth: {\n name: 'smooth',\n menu_factory: function menu_factory() {\n return fillMenu_Stewart;\n },\n fields_handler: function fields_handler() {\n return fields_Stewart;\n }\n },\n prop: {\n name: 'prop',\n menu_factory: function menu_factory() {\n return fillMenu_PropSymbol;\n },\n fields_handler: function fields_handler() {\n return fields_PropSymbol;\n }\n },\n choroprop: {\n name: 'choroprop',\n menu_factory: function menu_factory() {\n return fillMenu_PropSymbolChoro;\n },\n fields_handler: function fields_handler() {\n return fields_PropSymbolChoro;\n }\n },\n proptypo: {\n name: 'proptypo',\n menu_factory: function menu_factory() {\n return fillMenu_PropSymbolTypo;\n },\n fields_handler: function fields_handler() {\n return fields_PropSymbolTypo;\n }\n },\n choro: {\n name: 'choro',\n menu_factory: function menu_factory() {\n return fillMenu_Choropleth;\n },\n fields_handler: function fields_handler() {\n return fields_Choropleth;\n }\n },\n cartogram: {\n name: 'cartogram',\n menu_factory: function menu_factory() {\n return fillMenu_Anamorphose;\n },\n fields_handler: function fields_handler() {\n return fields_Anamorphose;\n }\n },\n grid: {\n name: 'grid',\n menu_factory: function menu_factory() {\n return fillMenu_griddedMap;\n },\n fields_handler: function fields_handler() {\n return fields_griddedMap;\n }\n },\n flow: {\n name: 'flow',\n menu_factory: function menu_factory() {\n return fillMenu_FlowMap;\n },\n fields_handler: function fields_handler() {\n return fields_FlowMap;\n }\n },\n discont: {\n name: 'discont',\n menu_factory: function menu_factory() {\n return fillMenu_Discont;\n },\n fields_handler: function fields_handler() {\n return fields_Discont;\n }\n },\n typo: {\n name: 'typo',\n menu_factory: function menu_factory() {\n return fillMenu_Typo;\n },\n fields_handler: function fields_handler() {\n return fields_Typo;\n }\n },\n typosymbol: {\n name: 'typosymbol',\n menu_factory: function menu_factory() {\n return fillMenu_TypoSymbol;\n },\n fields_handler: function fields_handler() {\n return fields_TypoSymbol;\n }\n },\n two_stocks: {\n name: 'two_stocks',\n menu_factory: function menu_factory() {\n return fillMenu_TwoStocks;\n },\n fields_handler: function fields_handler() {\n return fields_TwoStocks;\n }\n }\n };\n return function (func) {\n return menu_option[func.toLowerCase()] || {};\n };\n}();\n\n/**\n* Remove the div on which we are displaying the options related to each\n* kind of rendering.\n* @return {void}\n*\n*/\nfunction clean_menu_function() {\n if (fields_handler && fields_handler.unfill) {\n fields_handler.unfill();\n fields_handler = undefined;\n }\n if (_app.current_functionnality && _app.current_functionnality.name) {\n var previous_button = document.getElementById('button_' + _app.current_functionnality.name);\n if (previous_button.style.filter !== 'grayscale(100%)') {\n previous_button.style.filter = 'invert(0%) saturate(100%)';\n }\n previous_button.classList.remove('active');\n _app.current_functionnality = undefined;\n }\n section2.select('.func-options').remove();\n document.getElementById('accordion2b').style.display = 'none';\n var btn_s2b = document.getElementById('btn_s2b');\n btn_s2b.innerHTML = _tr('app_page.section2_.title_no_choice');\n btn_s2b.setAttribute('data-i18n', 'app_page.section2_.title_no_choice');\n btn_s2b.style.display = 'none';\n}\n\n/**\n* Reset the user choosen values remembered for its ease\n* (like discretization choice, symbols, etc. which are redisplayed as they\n* were selected by the user)\n*\n*/\nfunction reset_user_values() {\n fields_TypoSymbol.box_typo = undefined;\n fields_TypoSymbol.rendering_params = {};\n fields_TypoSymbol.cats = {};\n fields_PropSymbolChoro.rendering_params = {};\n fields_Typo.rendering_params = {};\n fields_Choropleth.rendering_params = {};\n fields_PropSymbolTypo.rendering_params = {};\n}\n/**\n* Function to remove each node (each "))}for(var _i9=0,_len3=ext_dataset_fields.length;_i9<_len3;_i9++){if(ext_dataset_fields[_i9].length>0){options_fields_ext_dataset.push('"))}}var inner_box='

'.concat(_tr("app_page.join_box.select_fields"),'

\n
\n

').concat(_tr("app_page.join_box.geom_layer_field"),"

\n

(").concat(layer,')

\n \n
\n
\n

').concat(_tr("app_page.join_box.ext_dataset_field"),"

\n

(").concat(data_manager.dataset_name,'.csv)

\n \n
\n
\n ').concat(_tr("app_page.join_box.ask_join"),"\n
");Object(_dialogs__WEBPACK_IMPORTED_MODULE_0__["b"])("joinBox",_tr("app_page.join_box.title"),{html_content:inner_box,widthFitContent:true}).then((function(confirmed){if(confirmed){prepare_join_on(layer,lastChoice.field1,lastChoice.field2)}}));d3.select(".joinBox").styles({"text-align":"center","line-height":"0.9em"});d3.select("#button_field1").on("change",(function(){lastChoice.field1=this.value}));d3.select("#button_field2").on("change",(function(){lastChoice.field2=this.value}))};var removeExistingJointure=function removeExistingJointure(layer_name){var user_data=global.data_manager.user_data;if(!user_data[layer_name]||user_data[layer_name].length<1)return;var dataLayer=user_data[layer_name];var original_fields=global.data_manager.current_layers[layer_name];var fieldDifference=Object.getOwnPropertyNames(dataLayer[0]).filter((function(f){return!original_fields.has(f)}));var nbFields=fieldDifference.length;for(var i=0,nbFt=dataLayer.length;i3&&arguments[3]!==undefined?arguments[3]:undefined;var untransformed=arguments.length>4&&arguments[4]!==undefined?arguments[4]:false;_classCallCheck(this,UserArrow);this.parent=parent||svg_map;this.svg_elem=d3.select(this.parent);this.id=id;this.stroke_width=4;this.color="rgb(0, 0, 0)";this.hide_head=undefined;if(!untransformed){var zoom_param=svg_map.__zoom;this.pt1=[(origin_pt[0]-zoom_param.x)/zoom_param.k,(origin_pt[1]-zoom_param.y)/zoom_param.k];this.pt2=[(destination_pt[0]-zoom_param.x)/zoom_param.k,(destination_pt[1]-zoom_param.y)/zoom_param.k]}else{this.pt1=origin_pt;this.pt2=destination_pt}var self=this;this.drag_behavior=d3.drag().subject((function(){var t=d3.select(this.querySelector("line"));return{x:+t.attr("x2")-+t.attr("x1"),y:+t.attr("y2")-+t.attr("y1"),x1:t.attr("x1"),x2:t.attr("x2"),y1:t.attr("y1"),y2:t.attr("y2"),map_locked:!!map_div.select("#hand_button").classed("locked")}})).on("start",(function(){d3.event.sourceEvent.stopPropagation();Object(_interface__WEBPACK_IMPORTED_MODULE_5__["j"])("lock")})).on("end",(function(){if(d3.event.subject&&!d3.event.subject.map_locked){Object(_interface__WEBPACK_IMPORTED_MODULE_5__["j"])("unlock")}})).on("drag",(function(){d3.event.sourceEvent.preventDefault();var _t=this.querySelector("line"),subject=d3.event.subject,tx=(+d3.event.x-+subject.x)/svg_map.__zoom.k,ty=(+d3.event.y-+subject.y)/svg_map.__zoom.k;self.pt1=[+subject.x1+tx,+subject.y1+ty];self.pt2=[+subject.x2+tx,+subject.y2+ty];_t.x1.baseVal.value=self.pt1[0];_t.x2.baseVal.value=self.pt2[0];_t.y1.baseVal.value=self.pt1[1];_t.y2.baseVal.value=self.pt2[1]}));var markers_exists=defs?defs.node().querySelector("marker"):null;if(!markers_exists){this.add_defs_marker()}this.draw()}_createClass(UserArrow,[{key:"add_defs_marker",value:function add_defs_marker(){defs.append("marker").attrs({id:"arrow_head",viewBox:"0 -5 10 10",refX:5,refY:0,orient:"auto",markerWidth:4,markerHeight:4}).style("stroke-width",1).append("path").attrs({d:"M0,-5L10,0L0,5",class:"arrowHead"});if(this.parent.childNodes[0].tagName!=="defs"){this.parent.insertBefore(defs.node(),this.parent.childNodes[0])}}},{key:"draw",value:function draw(){var _this=this;var context_menu=new _context_menu__WEBPACK_IMPORTED_MODULE_1__["a"],getItems=function getItems(){return[{name:_tr("app_page.common.edit_style"),action:function action(){_this.editStyle()}},{name:_tr("app_page.common.up_element"),action:function action(){_this.up_element()}},{name:_tr("app_page.common.down_element"),action:function action(){_this.down_element()}},{name:_tr("app_page.common.delete"),action:function action(){_this.remove()}}]};this.arrow=this.svg_elem.append("g").style("cursor","all-scroll").attrs({class:"arrow legend scalable-legend",id:this.id,transform:svg_map.__zoom.toString()});this.arrow.insert("line").attrs({"marker-end":this.hide_head?null:"url(#arrow_head)",x1:this.pt1[0],y1:this.pt1[1],x2:this.pt2[0],y2:this.pt2[1]}).styles({"stroke-width":this.stroke_width,stroke:"rgb(0, 0, 0)"});this.arrow.call(this.drag_behavior);this.arrow.on("contextmenu",(function(){context_menu.showMenu(d3.event,document.querySelector("body"),getItems())}));this.arrow.on("dblclick",(function(){d3.event.preventDefault();d3.event.stopPropagation();_this.handle_ctrl_pt()}))}},{key:"remove",value:function remove(){this.arrow.remove()}},{key:"up_element",value:function up_element(){Object(_legend__WEBPACK_IMPORTED_MODULE_3__["l"])(this.arrow.node())}},{key:"down_element",value:function down_element(){Object(_legend__WEBPACK_IMPORTED_MODULE_3__["h"])(this.arrow.node())}},{key:"handle_ctrl_pt",value:function handle_ctrl_pt(){var self=this,line=self.arrow.node().querySelector("line"),zoom_params=svg_map.__zoom,map_locked=!!map_div.select("#hand_button").classed("locked"),msg=alertifyjs__WEBPACK_IMPORTED_MODULE_0___default.a.notify(_tr("app_page.notification.instruction_modify_feature"),"warning",0);var cleanup_edit_state=function cleanup_edit_state(){edit_layer.remove();msg.dismiss();self.pt1=[line.x1.baseVal.value,line.y1.baseVal.value];self.pt2=[line.x2.baseVal.value,line.y2.baseVal.value];self.arrow.call(self.drag_behavior);self.arrow.on("dblclick",(function(){d3.event.preventDefault();d3.event.stopPropagation();self.handle_ctrl_pt()}));if(!map_locked){Object(_interface__WEBPACK_IMPORTED_MODULE_5__["j"])("unlock")}document.getElementById("hand_button").onclick=_interface__WEBPACK_IMPORTED_MODULE_5__["j"]};document.getElementById("hand_button").onclick=function(){cleanup_edit_state();Object(_interface__WEBPACK_IMPORTED_MODULE_5__["j"])()};self.arrow.on(".drag",null);Object(_interface__WEBPACK_IMPORTED_MODULE_5__["j"])("lock");var edit_layer=map.insert("g");edit_layer.append("rect").attrs({x:0,y:0,width:w,height:h,class:"edit_rect"}).style("fill","transparent").on("dblclick",(function(){d3.event.stopPropagation();d3.event.preventDefault();cleanup_edit_state()}));edit_layer.append("rect").attrs({x:self.pt1[0]*zoom_params.k+zoom_params.x-3,y:self.pt1[1]*zoom_params.k+zoom_params.y-3,height:6,width:6,id:"arrow_start_pt"}).styles({fill:"red",cursor:"grab"}).call(d3.drag().on("drag",(function(){var t=d3.select(this),nx=d3.event.x,ny=d3.event.y;t.attrs({x:nx-3,y:ny-3});line.x1.baseVal.value=(nx-zoom_params.x)/zoom_params.k;line.y1.baseVal.value=(ny-zoom_params.y)/zoom_params.k})));edit_layer.append("rect").attrs({x:self.pt2[0]*zoom_params.k+zoom_params.x-3,y:self.pt2[1]*zoom_params.k+zoom_params.y-3,height:6,width:6,id:"arrow_end_pt"}).styles({fill:"red",cursor:"grab"}).call(d3.drag().on("drag",(function(){var t=d3.select(this),nx=d3.event.x,ny=d3.event.y;t.attrs({x:nx-3,y:ny-3});line.x2.baseVal.value=(nx-zoom_params.x)/zoom_params.k;line.y2.baseVal.value=(ny-zoom_params.y)/zoom_params.k})));self.arrow.on("dblclick",(function(){d3.event.stopPropagation();d3.event.preventDefault();cleanup_edit_state()}))}},{key:"calcAngle",value:function calcAngle(){var dx=this.pt2[0]-this.pt1[0],dy=this.pt2[1]-this.pt1[1];return atan2(dy,dx)*(180/PI)}},{key:"calcDestFromOAD",value:function calcDestFromOAD(origin,angle,distance){var theta=angle/(180/PI),dx=distance*cos(theta),dy=distance*sin(theta);return[origin[0]+dx,origin[1]+dy]}},{key:"editStyle",value:function editStyle(){var current_options={pt1:this.pt1.slice(),pt2:this.pt2.slice()};var self=this,line=self.arrow.node().querySelector("line"),angle=(-this.calcAngle()).toFixed(0),map_locked=!!map_div.select("#hand_button").classed("locked");if(!map_locked)Object(_interface__WEBPACK_IMPORTED_MODULE_5__["j"])("lock");Object(_dialogs__WEBPACK_IMPORTED_MODULE_2__["a"])(".styleBoxArrow");Object(_dialogs__WEBPACK_IMPORTED_MODULE_2__["b"])("styleBoxArrow",_tr("app_page.arrow_edit_box.title"),{widthFitContent:true}).then((function(confirmed){if(confirmed){self.stroke_width=line.style.strokeWidth;self.color=line.style.stroke;self.pt1=[line.x1.baseVal.value,line.y1.baseVal.value];self.pt2=[line.x2.baseVal.value,line.y2.baseVal.value]}else{line.x1.baseVal.value=current_options.pt1[0];line.y1.baseVal.value=current_options.pt1[1];line.x2.baseVal.value=current_options.pt2[0];line.y2.baseVal.value=current_options.pt2[1];self.pt1=current_options.pt1.slice();self.pt2=current_options.pt2.slice();line.style.strokeWidth=self.stroke_width;line.style.stroke=self.color}map.select("#arrow_start_pt").remove();map.select("#arrow_end_pt").remove();if(!map_locked)Object(_interface__WEBPACK_IMPORTED_MODULE_5__["j"])("unlock")}));var box_content=d3.select(".styleBoxArrow").select(".modal-body").style("width","295px").insert("div").attr("id","styleBoxArrow");var s1=box_content.append("p").attr("class","line_elem2");s1.append("span").html(_tr("app_page.arrow_edit_box.arrowWeight"));s1.insert("span").styles({float:"right",width:"13px"}).html(" px");s1.insert("input").attrs({id:"arrow_weight_text",class:"without_spinner",min:0,max:34,step:.1}).styles({width:"30px","margin-left":"10px",float:"right"}).property("value",self.stroke_width).on("input",(function(){var elem=document.getElementById("arrow_stroke_width");elem.value=this.value;elem.dispatchEvent(new Event("change"))}));s1.append("input").attrs({id:"arrow_stroke_width",min:0,max:34,step:.1,type:"range"}).styles({float:"right","vertical-align":"middle",width:"80px"}).property("value",self.stroke_width).on("change",(function(){line.style.strokeWidth=this.value;document.getElementById("arrow_weight_text").value=+this.value}));var s2=box_content.append("p").attr("class","line_elem2");s2.append("span").html(_tr("app_page.arrow_edit_box.arrowAngle"));s2.insert("span").styles({float:"right",width:"13px"}).html(" °");s2.insert("input").attrs({id:"arrow_angle_text",class:"without_spinner",min:0,max:1,step:1}).styles({width:"30px","margin-left":"10px",float:"right"}).property("value",angle).on("input",(function(){var elem=document.getElementById("arrow_angle");elem.value=this.value;elem.dispatchEvent(new Event("change"))}));s2.insert("input").attrs({id:"arrow_angle",type:"range",min:0,max:360,step:1}).styles({width:"80px","vertical-align":"middle",float:"right"}).property("value",angle).on("change",(function(){var distance=Object(_helpers_math__WEBPACK_IMPORTED_MODULE_4__["g"])((self.pt1[0]-self.pt2[0])*(self.pt1[0]-self.pt2[0])+(self.pt1[1]-self.pt2[1])*(self.pt1[1]-self.pt2[1]));var _angle=-+this.value;var _self$calcDestFromOAD=self.calcDestFromOAD(self.pt1,_angle,distance),_self$calcDestFromOAD2=_slicedToArray(_self$calcDestFromOAD,2),nx=_self$calcDestFromOAD2[0],ny=_self$calcDestFromOAD2[1];line.x2.baseVal.value=nx;line.y2.baseVal.value=ny;document.getElementById("arrow_angle_text").value=+this.value}));var s3=box_content.append("p").attr("class","line_elem2");s3.append("label").attrs({for:"checkbox_head_arrow"}).html(_tr("app_page.arrow_edit_box.arrowHead"));s3.append("input").attrs({type:"checkbox",id:"checkbox_head_arrow"}).styles({"margin-left":"45px","vertical-align":"middle"}).property("checked",self.hide_head===true).on("change",(function(){if(this.checked){self.hide_head=true;self.arrow.select("line").attr("marker-end",null)}else{self.hide_head=false;self.arrow.select("line").attr("marker-end","url(#arrow_head)")}}))}}]);return UserArrow}()},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return UserEllipse}));var alertifyjs__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(17);var alertifyjs__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(alertifyjs__WEBPACK_IMPORTED_MODULE_0__);var _context_menu__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(16);var _dialogs__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(4);var _interface__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(3);var _legend__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(7);function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i2&&arguments[2]!==undefined?arguments[2]:undefined;var untransformed=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;_classCallCheck(this,UserEllipse);this.parent=parent||svg_map;this.svg_elem=d3.select(this.parent);this.id=id;this.stroke_width=4;this.stroke_color="rgb(0, 0, 0)";if(!untransformed){var zoom_param=svg_map.__zoom;this.pt1=[(+origin_pt[0]-zoom_param.x)/zoom_param.k,(+origin_pt[1]-zoom_param.y)/zoom_param.k]}else{this.pt1=[+origin_pt[0],+origin_pt[1]]}var self=this;this.drag_behavior=d3.drag().subject((function(){var t=d3.select(this.querySelector("ellipse"));return{x:+t.attr("cx"),y:+t.attr("cy"),map_locked:!!map_div.select("#hand_button").classed("locked")}})).on("start",(function(){d3.event.sourceEvent.stopPropagation();Object(_interface__WEBPACK_IMPORTED_MODULE_3__["j"])("lock")})).on("end",(function(){if(d3.event.subject&&!d3.event.subject.map_locked){Object(_interface__WEBPACK_IMPORTED_MODULE_3__["j"])("unlock")}})).on("drag",(function(){d3.event.sourceEvent.preventDefault();var _t=this.querySelector("ellipse"),subject=d3.event.subject,tx=(+d3.event.x-+subject.x)/svg_map.__zoom.k,ty=(+d3.event.y-+subject.y)/svg_map.__zoom.k;self.pt1=[+subject.x+tx,+subject.y+ty];_t.cx.baseVal.value=self.pt1[0];_t.cy.baseVal.value=self.pt1[1]}));this.draw();return this}_createClass(UserEllipse,[{key:"draw",value:function draw(){var _this=this;var context_menu=new _context_menu__WEBPACK_IMPORTED_MODULE_1__["a"];var getItems=function getItems(){return[{name:_tr("app_page.common.edit_style"),action:function action(){_this.editStyle()}},{name:_tr("app_page.common.up_element"),action:function action(){_this.up_element()}},{name:_tr("app_page.common.down_element"),action:function action(){_this.down_element()}},{name:_tr("app_page.common.delete"),action:function action(){_this.remove()}}]};this.ellipse=this.svg_elem.append("g").attrs({class:"user_ellipse legend scalable-legend",id:this.id,transform:svg_map.__zoom.toString()});this.ellipse.insert("ellipse").attrs({rx:30,ry:40,cx:this.pt1[0],cy:this.pt1[1]}).styles({fill:"rgb(255, 255, 255)","fill-opacity":0,stroke:this.stroke_color,"stroke-width":this.stroke_width});this.ellipse.on("contextmenu",(function(){context_menu.showMenu(d3.event,document.body,getItems())})).on("dblclick",(function(){d3.event.preventDefault();d3.event.stopPropagation();_this.handle_ctrl_pt()})).call(this.drag_behavior)}},{key:"remove",value:function remove(){this.ellipse.remove()}},{key:"up_element",value:function up_element(){Object(_legend__WEBPACK_IMPORTED_MODULE_4__["l"])(this.ellipse.node())}},{key:"down_element",value:function down_element(){Object(_legend__WEBPACK_IMPORTED_MODULE_4__["h"])(this.ellipse.node())}},{key:"calcAngle",value:function calcAngle(){var ellipse_elem=this.ellipse.node().querySelector("ellipse"),dx=ellipse_elem.rx.baseVal.value-this.pt1[0],dy=ellipse_elem.ry.baseVal.value-this.pt1[1];return atan2(dy,dx)*(180/PI)}},{key:"editStyle",value:function editStyle(){var self=this,ellipse_elem=self.ellipse.node().querySelector("ellipse"),map_locked=!!map_div.select("#hand_button").classed("locked"),current_options={pt1:this.pt1.slice(),rx:ellipse_elem.rx.baseVal.value,ry:ellipse_elem.ry.baseVal.value};if(!map_locked)Object(_interface__WEBPACK_IMPORTED_MODULE_3__["j"])("lock");Object(_dialogs__WEBPACK_IMPORTED_MODULE_2__["b"])("styleBoxEllipse",_tr("app_page.ellipse_edit_box.title"),{widthFitContent:true}).then((function(confirmed){map.selectAll(".ctrl_pt").remove();if(confirmed){self.stroke_width=ellipse_elem.style.strokeWidth;self.stroke_color=ellipse_elem.style.stroke}else{self.pt1=current_options.pt1.slice();ellipse_elem.style.strokeWidth=self.stroke_width;ellipse_elem.style.stroke=self.stroke_color}if(!map_locked)Object(_interface__WEBPACK_IMPORTED_MODULE_3__["j"])("unlock")}));var box_content=d3.select(".styleBoxEllipse").select(".modal-body").style("width","295px").insert("div").attr("id","styleBoxEllipse");var s1=box_content.append("p").attr("class","line_elem2");s1.append("span").style("margin","auto").html(_tr("app_page.ellipse_edit_box.stroke_width"));s1.append("input").attrs({min:0,max:34,step:.1,type:"range"}).styles({width:"80px",float:"right"}).property("value",self.stroke_width).on("change",(function(){ellipse_elem.style.strokeWidth=this.value;txt_line_weight.html("".concat(this.value,"px"))}));var txt_line_weight=s1.append("span").styles({float:"right",margin:"0 5px 0 5px"}).html("".concat(self.stroke_width," px"));var s2=box_content.append("p").attr("class","line_elem2");s2.append("span").style("margin","auto").html(_tr("app_page.ellipse_edit_box.stroke_color"));s2.append("input").style("float","right").attr("type","color").property("value",self.stroke_color).on("change",(function(){ellipse_elem.style.stroke=this.value}))}},{key:"handle_ctrl_pt",value:function handle_ctrl_pt(){var self=this,ellipse_elem=self.ellipse.node().querySelector("ellipse"),zoom_param=svg_map.__zoom,map_locked=!!map_div.select("#hand_button").classed("locked"),msg=alertifyjs__WEBPACK_IMPORTED_MODULE_0___default.a.notify(_tr("app_page.notification.instruction_modify_feature"),"warning",0);var cleanup_edit_state=function cleanup_edit_state(){edit_layer.remove();msg.dismiss();self.ellipse.call(self.drag_behavior);self.ellipse.on("dblclick",(function(){d3.event.preventDefault();d3.event.stopPropagation();self.handle_ctrl_pt()}));if(!map_locked){Object(_interface__WEBPACK_IMPORTED_MODULE_3__["j"])("unlock")}document.getElementById("hand_button").onclick=_interface__WEBPACK_IMPORTED_MODULE_3__["j"]};document.getElementById("hand_button").onclick=function(){cleanup_edit_state();Object(_interface__WEBPACK_IMPORTED_MODULE_3__["j"])()};self.ellipse.on(".drag",null);Object(_interface__WEBPACK_IMPORTED_MODULE_3__["j"])("lock");var edit_layer=map.insert("g");edit_layer.append("rect").attrs({x:0,y:0,width:w,height:h,class:"edit_rect"}).style("fill","transparent").on("dblclick",(function(){d3.event.stopPropagation();d3.event.preventDefault();cleanup_edit_state()}));edit_layer.append("rect").attrs({id:"pt1",class:"ctrl_pt",height:8,width:8,x:(self.pt1[0]-ellipse_elem.rx.baseVal.value)*zoom_param.k+zoom_param.x-4,y:self.pt1[1]*zoom_param.k+zoom_param.y-4}).call(d3.drag().on("drag",(function(){var t=d3.select(this);t.attr("x",d3.event.x-4);var dist=self.pt1[0]-(d3.event.x-zoom_param.x)/zoom_param.k;ellipse_elem.rx.baseVal.value=dist})));edit_layer.append("rect").attrs({class:"ctrl_pt",height:8,width:8,id:"pt2",x:self.pt1[0]*zoom_param.k+zoom_param.x-4,y:(self.pt1[1]-ellipse_elem.ry.baseVal.value)*zoom_param.k+zoom_param.y-4}).call(d3.drag().on("drag",(function(){var t=d3.select(this);t.attr("y",d3.event.y-4);var dist=self.pt1[1]-(d3.event.y-zoom_param.y)/zoom_param.k;ellipse_elem.ry.baseVal.value=dist})));self.ellipse.on("dblclick",(function(){d3.event.stopPropagation();d3.event.preventDefault();cleanup_edit_state()}))}}],[{key:"calcDestFromOAD",value:function calcDestFromOAD(origin,angle,distance){var theta=angle/(180/PI),dx=distance*cos(theta),dy=distance*sin(theta);return[origin[0]+dx,origin[1]+dy]}}]);return UserEllipse}()},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return UserRectangle}));var alertifyjs__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(17);var alertifyjs__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(alertifyjs__WEBPACK_IMPORTED_MODULE_0__);var _context_menu__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(16);var _colors_helpers__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(6);var _helpers_math__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(1);var _interface__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(3);var _dialogs__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(4);var _legend__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(7);function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i2&&arguments[2]!==undefined?arguments[2]:undefined;var untransformed=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;var width=arguments.length>4&&arguments[4]!==undefined?arguments[4]:30;var height=arguments.length>5&&arguments[5]!==undefined?arguments[5]:40;_classCallCheck(this,UserRectangle);this.parent=parent||svg_map;this.svg_elem=d3.select(this.parent);this.id=id;this.stroke_width=4;this.stroke_color="rgb(0, 0, 0)";this.fill_color="rgb(255, 255, 255)";this.fill_opacity=0;this.height=height;this.width=width;var self=this;if(!untransformed){var zoom_param=svg_map.__zoom;this.pt1=[(+origin_pt[0]-zoom_param.x)/zoom_param.k,(+origin_pt[1]-zoom_param.y)/zoom_param.k]}else{this.pt1=[+origin_pt[0],+origin_pt[1]]}this.drag_behavior=d3.drag().subject((function(){var t=d3.select(this.querySelector("rect"));return{x:+t.attr("x"),y:+t.attr("y"),map_locked:!!map_div.select("#hand_button").classed("locked")}})).on("start",(function(){d3.event.sourceEvent.stopPropagation();Object(_interface__WEBPACK_IMPORTED_MODULE_4__["j"])("lock")})).on("end",(function(){if(d3.event.subject&&!d3.event.subject.map_locked){Object(_interface__WEBPACK_IMPORTED_MODULE_4__["j"])("unlock")}})).on("drag",(function(){d3.event.sourceEvent.preventDefault();var _t=this.querySelector("rect"),subject=d3.event.subject,tx=(+d3.event.x-+subject.x)/svg_map.__zoom.k,ty=(+d3.event.y-+subject.y)/svg_map.__zoom.k;self.pt1=[+subject.x+tx,+subject.y+ty];_t.x.baseVal.value=self.pt1[0];_t.y.baseVal.value=self.pt1[1]}));this.draw();return this}_createClass(UserRectangle,[{key:"up_element",value:function up_element(){Object(_legend__WEBPACK_IMPORTED_MODULE_6__["l"])(this.rectangle.node())}},{key:"down_element",value:function down_element(){Object(_legend__WEBPACK_IMPORTED_MODULE_6__["h"])(this.rectangle.node())}},{key:"draw",value:function draw(){var _this=this;var context_menu=new _context_menu__WEBPACK_IMPORTED_MODULE_1__["a"];var getItems=function getItems(){return[{name:_tr("app_page.common.edit_style"),action:function action(){_this.editStyle()}},{name:_tr("app_page.common.up_element"),action:function action(){_this.up_element()}},{name:_tr("app_page.common.down_element"),action:function action(){_this.down_element()}},{name:_tr("app_page.common.delete"),action:function action(){_this.remove()}}]};this.rectangle=this.svg_elem.append("g").attrs({class:"user_rectangle legend scalable-legend",id:this.id,transform:svg_map.__zoom.toString()});this.rectangle.insert("rect").attrs({x:this.pt1[0],y:this.pt1[1],height:this.height,width:this.width}).styles({fill:this.fill_color,"fill-opacity":0,stroke:this.stroke_color,"stroke-width":this.stroke_width});this.rectangle.on("contextmenu",(function(){context_menu.showMenu(d3.event,document.body,getItems())})).on("dblclick",(function(){d3.event.preventDefault();d3.event.stopPropagation();_this.handle_ctrl_pt()})).call(this.drag_behavior)}},{key:"remove",value:function remove(){this.rectangle.remove()}},{key:"handle_ctrl_pt",value:function handle_ctrl_pt(){var self=this,rectangle_elem=self.rectangle.node().querySelector("rect"),zoom_param=svg_map.__zoom,map_locked=!!map_div.select("#hand_button").classed("locked");var center_pt=[self.pt1[0]+rectangle_elem.width.baseVal.value/2,self.pt1[1]+rectangle_elem.height.baseVal.value/2];var bottomright=[self.pt1[0]+rectangle_elem.width.baseVal.value,self.pt1[1]+rectangle_elem.height.baseVal.value];var msg=alertifyjs__WEBPACK_IMPORTED_MODULE_0___default.a.notify(_tr("app_page.notification.instruction_modify_feature"),"warning",0);var topleft=self.pt1.slice();var cleanup_edit_state=function cleanup_edit_state(){edit_layer.remove();msg.dismiss();self.rectangle.call(self.drag_behavior);self.rectangle.on("dblclick",(function(){d3.event.preventDefault();d3.event.stopPropagation();self.handle_ctrl_pt()}));if(!map_locked){Object(_interface__WEBPACK_IMPORTED_MODULE_4__["j"])("unlock")}document.getElementById("hand_button").onclick=_interface__WEBPACK_IMPORTED_MODULE_4__["j"]};document.getElementById("hand_button").onclick=function(){cleanup_edit_state();Object(_interface__WEBPACK_IMPORTED_MODULE_4__["j"])()};self.rectangle.on(".drag",null);Object(_interface__WEBPACK_IMPORTED_MODULE_4__["j"])("lock");var edit_layer=map.insert("g");edit_layer.append("rect").attrs({x:0,y:0,width:w,height:h,class:"edit_rect"}).style("fill","transparent").on("dblclick",(function(){d3.event.stopPropagation();d3.event.preventDefault();cleanup_edit_state()}));edit_layer.append("rect").attrs({class:"ctrl_pt",id:"pt_top",height:8,width:8,x:center_pt[0]*zoom_param.k+zoom_param.x-4,y:(center_pt[1]-rectangle_elem.height.baseVal.value/2)*zoom_param.k+zoom_param.y-4}).call(d3.drag().on("drag",(function(){var dist=(d3.event.y-zoom_param.y)/zoom_param.k;if(self.height-(dist-self.pt1[1])<2){return}d3.select(this).attr("y",d3.event.y-4);var a=self.pt1[1];self.pt1[1]=rectangle_elem.y.baseVal.value=dist;topleft=self.pt1.slice();rectangle_elem.height.baseVal.value=self.height=Object(_helpers_math__WEBPACK_IMPORTED_MODULE_3__["a"])(self.height-(self.pt1[1]-a));map.selectAll("#pt_left,#pt_right").attr("y",(topleft[1]+self.height/2)*zoom_param.k+zoom_param.y)})));edit_layer.append("rect").attrs({class:"ctrl_pt",height:8,width:8,id:"pt_left",x:(center_pt[0]-rectangle_elem.width.baseVal.value/2)*zoom_param.k+zoom_param.x-4,y:center_pt[1]*zoom_param.k+zoom_param.y-4}).call(d3.drag().on("drag",(function(){var dist=(d3.event.x-zoom_param.x)/zoom_param.k;if(self.width+(self.pt1[0]-dist)<2){return}d3.select(this).attr("x",d3.event.x-4);var a=self.pt1[0];self.pt1[0]=rectangle_elem.x.baseVal.value=dist;topleft=self.pt1.slice();rectangle_elem.width.baseVal.value=self.width=Object(_helpers_math__WEBPACK_IMPORTED_MODULE_3__["a"])(self.width+(a-self.pt1[0]));map.selectAll("#pt_top,#pt_bottom").attr("x",(topleft[0]+self.width/2)*zoom_param.k+zoom_param.x)})));edit_layer.append("rect").attrs({class:"ctrl_pt",id:"pt_bottom",x:center_pt[0]*zoom_param.k+zoom_param.x-4,y:bottomright[1]*zoom_param.k+zoom_param.y-4,height:8,width:8}).call(d3.drag().on("drag",(function(){var dist=-(topleft[1]-(d3.event.y-zoom_param.y)/zoom_param.k);if(dist<2){return}d3.select(this).attr("y",d3.event.y-4);self.height=rectangle_elem.height.baseVal.value=dist;map.selectAll("#pt_left,#pt_right").attr("y",(topleft[1]+self.height/2)*zoom_param.k+zoom_param.y)})));edit_layer.append("rect").attrs({class:"ctrl_pt",id:"pt_right",x:bottomright[0]*zoom_param.k+zoom_param.x-4,y:center_pt[1]*zoom_param.k+zoom_param.y-4,height:8,width:8}).call(d3.drag().on("drag",(function(){var dist=-(topleft[0]-(d3.event.x-zoom_param.x)/zoom_param.k);if(dist<2){return}d3.select(this).attr("x",d3.event.x-4);self.width=rectangle_elem.width.baseVal.value=dist;map.selectAll("#pt_top,#pt_bottom").attr("x",(topleft[0]+self.width/2)*zoom_param.k+zoom_param.x)})));self.rectangle.on("dblclick",(function(){d3.event.stopPropagation();d3.event.preventDefault();cleanup_edit_state()}))}},{key:"editStyle",value:function editStyle(){var self=this,rectangle_elem=self.rectangle.node().querySelector("rect"),map_locked=!!map_div.select("#hand_button").classed("locked"),current_options={pt1:this.pt1.slice()};if(!map_locked)Object(_interface__WEBPACK_IMPORTED_MODULE_4__["j"])("lock");Object(_dialogs__WEBPACK_IMPORTED_MODULE_5__["b"])("styleBoxRectangle",_tr("app_page.rectangle_edit_box.title"),{widthFitContent:true}).then((function(confirmed){if(confirmed){self.stroke_width=rectangle_elem.style.strokeWidth;self.stroke_color=rectangle_elem.style.stroke;self.fill_color=rectangle_elem.style.fill;self.fill_opacity=+rectangle_elem.style.fillOpacity}else{self.pt1=current_options.pt1.slice();rectangle_elem.style.strokeWidth=self.stroke_width;rectangle_elem.style.stroke=self.stroke_color;rectangle_elem.style.fill=self.fill_color;rectangle_elem.style.fillOpacity=self.fill_opacity}if(!map_locked)Object(_interface__WEBPACK_IMPORTED_MODULE_4__["j"])("unlock")}));var box_content=d3.select(".styleBoxRectangle").select(".modal-body").style("width","295px").insert("div").attr("id","styleBoxRectangle");var s1=box_content.append("p").attr("class","line_elem2");s1.append("span").style("margin","auto").html(_tr("app_page.rectangle_edit_box.stroke_width"));s1.append("input").attrs({min:0,max:34,step:.1,type:"range"}).styles({width:"55px",float:"right"}).property("value",self.stroke_width).on("change",(function(){rectangle_elem.style.strokeWidth=this.value;txt_line_weight.html("".concat(this.value,"px"))}));var txt_line_weight=s1.append("span").styles({float:"right",margin:"0 5px 0 5px"}).html("".concat(self.stroke_width," px"));var s2=box_content.append("p").attr("class","line_elem2");s2.append("span").style("margin","auto").html(_tr("app_page.rectangle_edit_box.stroke_color"));s2.append("input").style("float","right").attr("type","color").property("value",Object(_colors_helpers__WEBPACK_IMPORTED_MODULE_2__["g"])(self.stroke_color)).on("change",(function(){rectangle_elem.style.stroke=this.value}));var s3=box_content.append("p").attr("class","line_elem2");s3.append("span").style("margin","auto").html(_tr("app_page.rectangle_edit_box.fill_color"));s3.append("input").style("float","right").attr("type","color").property("value",Object(_colors_helpers__WEBPACK_IMPORTED_MODULE_2__["g"])(self.fill_color)).on("change",(function(){rectangle_elem.style.fill=this.value}));var s4=box_content.append("p").attr("class","line_elem2");s4.append("span").style("margin","auto").html(_tr("app_page.rectangle_edit_box.fill_opacity"));s4.append("input").attrs({min:0,max:1,step:.1,type:"range"}).styles({width:"55px",float:"right"}).property("value",rectangle_elem.style.fillOpacity).on("change",(function(){rectangle_elem.style.fillOpacity=this.value;txt_fillop_value.html("".concat(rectangle_elem.style.fillOpacity))}));var txt_fillop_value=s4.append("span").styles({float:"right",margin:"0 5px 0 5px"}).html("".concat(rectangle_elem.style.fillOpacity));var s5=box_content.append("p").attr("class","line_elem2");s5.append("span").style("margin","auto").html(_tr("app_page.rectangle_edit_box.rounded_corner"));s5.append("input").attrs({min:0,max:Math.round(self.width/2),step:1,type:"range"}).styles({width:"55px",float:"right"}).property("value",rectangle_elem.rx.baseVal.value).on("change",(function(){rectangle_elem.rx.baseVal.value=this.value;txt_rx_value.html("".concat(rectangle_elem.rx.baseVal.value))}));var txt_rx_value=s5.append("span").styles({float:"right",margin:"0 5px 0 5px"}).html("".concat(rectangle_elem.rx.baseVal.value))}}]);return UserRectangle}()},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return Textbox}));var _context_menu__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(16);var _colors_helpers__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(6);var _dialogs__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(4);var _fonts__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(23);var _helpers__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(0);var _helpers_math__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(1);var _interface__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(3);var _legend__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(7);var _snap_lines__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(13);function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i2&&arguments[2]!==undefined?arguments[2]:[10,30];_classCallCheck(this,Textbox);var self=this;this.x=position[0];this.y=position[1];this.fontSize=14;var context_menu=new _context_menu__WEBPACK_IMPORTED_MODULE_0__["a"];var getItems=function getItems(){return[{name:_tr("app_page.common.edit_style"),action:function action(){_this.editStyle()}},{name:_tr("app_page.common.up_element"),action:function action(){_this.up_element()}},{name:_tr("app_page.common.down_element"),action:function action(){_this.down_element()}},{name:_tr("app_page.common.delete"),action:function action(){_this.remove()}}]};var drag_txt_annot=d3.drag().subject((function(){var t=d3.select(this).select("text");var snap_lines=Object(_snap_lines__WEBPACK_IMPORTED_MODULE_8__["a"])(this.id);return{x:t.attr("x"),y:t.attr("y"),map_locked:!!map_div.select("#hand_button").classed("locked"),snap_lines}})).on("start",(function(){d3.event.sourceEvent.stopPropagation();Object(_interface__WEBPACK_IMPORTED_MODULE_6__["j"])("lock")})).on("end",(function(){if(d3.event.subject&&!d3.event.subject.map_locked){Object(_interface__WEBPACK_IMPORTED_MODULE_6__["j"])("unlock")}_snap_lines__WEBPACK_IMPORTED_MODULE_8__["c"].set(this.id,get_bounding_rect(this.querySelector("rect")))})).on("drag",(function(){d3.event.sourceEvent.preventDefault();var elem=d3.select(this).select("text").attrs({x:+d3.event.x,y:+d3.event.y});var transform=elem.attr("transform");if(transform){var v=+transform.match(/[-.0-9]+/g)[0];elem.attr("transform","rotate(".concat(v,", ").concat(d3.event.x+self.width,", ").concat(d3.event.y+self.height,")"))}elem.selectAll("tspan").attr("x",+d3.event.x);if(_app.autoalign_features){var bbox=get_bounding_rect(elem.node()),xmin=bbox.x-10,xmax=xmin+bbox.width+20,ymin=bbox.y-10,ymax=ymin+bbox.height+20,snap_lines_x=d3.event.subject.snap_lines.x,snap_lines_y=d3.event.subject.snap_lines.y;for(var i=0;i');var btn_italic=options_format.insert("span").attr("class",current_options.font_style==="italic"?"active button_disc":"button_disc").html('');var btn_underline=options_format.insert("span").attr("class",current_options.text_decoration==="underline"?"active button_disc":"button_disc").html('');var content_modif_zone=box_content.append("p");content_modif_zone.append("span").html(_tr("app_page.text_box_edit_box.content"));var right=content_modif_zone.append("span").attr("class","align-option").styles({"font-size":"11px","font-weight":"","margin-left":"10px",float:"right"}).html("right").on("click",(function(){content_modif_zone.selectAll(".align-option").style("font-weight","");right.style("font-weight","bold").style("font-size","12px");text_elem.style("text-anchor","end");self.anchor="end";self.update_bbox()}));var center=content_modif_zone.append("span").styles({"font-size":"11px","font-weight":"","margin-left":"10px",float:"right"}).attr("class","align-option").html("center").on("click",(function(){content_modif_zone.selectAll(".align-option").style("font-weight","");center.style("font-weight","bold").style("font-size","12px");text_elem.style("text-anchor","middle");self.anchor="middle";self.update_bbox()}));var left=content_modif_zone.append("span").styles({"font-size":"11px","font-weight":"","margin-left":"10px",float:"right"}).attr("class","align-option").html("left").on("click",(function(){content_modif_zone.selectAll(".align-option").style("font-weight","").style("font-size","11px");left.style("font-weight","bold").style("font-size","12px");text_elem.style("text-anchor","start");self.anchor="start";self.update_bbox()}));var selected=self.anchor==="start"?left:self.anchor==="middle"?center:right;selected.style("font-weight","bold").style("font-size","12px");content_modif_zone.append("span").html("
");content_modif_zone.append("textarea").attr("id","annotation_content").styles({margin:"5px 0px 0px",width:"100%"}).on("keyup",(function(){self.update_text(this.value)}));document.getElementById("annotation_content").value=current_options.content;var buffer_text_zone=box_content.append("p");var buffer_txt_chk=buffer_text_zone.append("input").attrs({type:"checkbox",id:"buffer_txt_chk",checked:current_options.buffer!==undefined?true:null}).on("change",(function(){if(this.checked){buffer_color.style("display","");if(self.buffer===undefined){self.buffer={color:"#FFFFFF",size:1}}var color=self.buffer.color,size=self.buffer.size;text_elem.style("text-shadow","-".concat(size,"px 0px 0px ").concat(color,", 0px ").concat(size,"px 0px ").concat(color,", ").concat(size,"px 0px 0px ").concat(color,", 0px -").concat(size,"px 0px ").concat(color))}else{buffer_color.style("display","none");text_elem.style("text-shadow","none")}}));buffer_text_zone.append("label").attrs({for:"buffer_txt_chk"}).text(_tr("app_page.text_box_edit_box.buffer"));var buffer_color=buffer_text_zone.append("input").styles({display:current_options.buffer!==undefined?"":"none",float:"right"}).attr("type","color").property("value",current_options.buffer&¤t_options.buffer.color?current_options.buffer.color:"#FFFFFF").on("change",(function(){self.buffer.color=this.value;var color=self.buffer.color,size=self.buffer.size;text_elem.style("text-shadow","-".concat(size,"px 0px 0px ").concat(color,", 0px ").concat(size,"px 0px ").concat(color,", ").concat(size,"px 0px 0px ").concat(color,", 0px -").concat(size,"px 0px ").concat(color))}));btn_bold.on("click",(function(){if(this.classList.contains("active")){this.classList.remove("active");text_elem.style("font-weight","")}else{this.classList.add("active");text_elem.style("font-weight","bold")}}));btn_italic.on("click",(function(){if(this.classList.contains("active")){this.classList.remove("active");text_elem.style("font-style","")}else{this.classList.add("active");text_elem.style("font-style","italic")}}));btn_underline.on("click",(function(){if(this.classList.contains("active")){this.classList.remove("active");text_elem.style("text-decoration","")}else{this.classList.add("active");text_elem.style("text-decoration","underline")}}))}},{key:"up_element",value:function up_element(){Object(_legend__WEBPACK_IMPORTED_MODULE_7__["l"])(this.group.node())}},{key:"down_element",value:function down_element(){Object(_legend__WEBPACK_IMPORTED_MODULE_7__["h"])(this.group.node())}}]);return Textbox}()},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return bindTooltips}));function parseMatrix(matrixString){var c=matrixString.split(/\s*[(),]\s*/).slice(1,-1);if(c.length===6){return{m11:+c[0],m21:+c[2],m31:0,m41:+c[4],m12:+c[1],m22:+c[3],m32:0,m42:+c[5],m13:0,m23:0,m33:1,m43:0,m14:0,m24:0,m34:0,m44:1}}else if(c.length===16){return{m11:+c[0],m21:+c[4],m31:+c[8],m41:+c[12],m12:+c[1],m22:+c[5],m32:+c[9],m42:+c[13],m13:+c[2],m23:+c[6],m33:+c[10],m43:+c[14],m14:+c[3],m24:+c[7],m34:+c[11],m44:+c[15]}}return{m11:1,m21:0,m31:0,m41:0,m12:0,m22:1,m32:0,m42:0,m13:0,m23:0,m33:1,m43:0,m14:0,m24:0,m34:0,m44:1}}var asin=Math.asin,atan2=Math.atan2,cos=Math.cos;function getTransform(elem){var matrix=parseMatrix(getComputedStyle(elem,null).transform);var rotateY=asin(-matrix.m13);var rotateX;var rotateZ;if(cos(rotateY)!==0){rotateX=atan2(matrix.m23,matrix.m33);rotateZ=atan2(matrix.m12,matrix.m11)}else{rotateX=atan2(-matrix.m31,matrix.m22);rotateZ=0}return{rotate:{x:rotateX,y:rotateY,z:rotateZ},translate:{x:matrix.m41,y:matrix.m42,z:matrix.m43}}}function bindTooltips(){Opentip.defaultStyle="dark";Array.prototype.slice.call(document.querySelectorAll("div.opentip-container")).forEach((function(el){el.remove()}));Opentip.findElements();Opentip.tips.forEach((function(el){if(el.options.target)el.setContent((function(){return el.options.target[0].getAttribute("data-ot")}))}))}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"b",(function(){return makeSection5}));__webpack_require__.d(__webpack_exports__,"a",(function(){return fill_export_png_options}));var _helpers_math__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(1);var _map_export__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(43);function makeSection5(){var section5b=d3.select("#section5");var dv5b=section5b.append("div");var type_export=dv5b.append("p");type_export.append("span").attrs({class:"i18n","data-i18n":"[html]app_page.section5b.type"});var select_type_export=type_export.append("select").attrs({id:"select_export_type",class:"m_elem_right"}).on("change",(function(){var type=this.value,export_filename=document.getElementById("export_filename");if(type==="svg"){document.getElementById("export_options_svg").style.display="";document.getElementById("export_options_geo").style.display="none";document.getElementById("export_options_png").style.display="none";export_filename.value="export.svg";export_filename.style.display="";export_filename.previousSibling.style.display=""}else if(type==="png"){document.getElementById("export_options_svg").style.display="none";document.getElementById("export_options_geo").style.display="none";document.getElementById("export_options_png").style.display="";export_filename.value="export.png";export_filename.style.display="";export_filename.previousSibling.style.display=""}else if(type==="geo"){document.getElementById("export_options_svg").style.display="none";document.getElementById("export_options_png").style.display="none";document.getElementById("export_options_geo").style.display="";export_filename.style.display="none";export_filename.previousSibling.style.display="none"}}));select_type_export.append("option").text("SVG").attr("value","svg");select_type_export.append("option").text("PNG").attr("value","png");select_type_export.append("option").text("GEO").attr("value","geo");var export_svg_options=dv5b.append("p").attr("id","export_options_svg").style("padding-top","10px");export_svg_options.append("label").attrs({class:"i18n","data-i18n":"[html]app_page.section5b.clip_svg_export",for:"clip_svg_export"});export_svg_options.append("input").attrs({id:"clip_svg_export",type:"checkbox"}).styles({float:"right",margin:"auto"}).property("checked",true);var export_png_options=dv5b.append("p").attr("id","export_options_png").style("display","none");export_png_options.append("span").attrs({class:"i18n","data-i18n":"[html]app_page.section5b.format"});var select_size_png=export_png_options.append("select").attrs({id:"select_png_format",class:"m_elem_right"});fill_export_png_options("user_defined");select_size_png.on("change",(function(){var value=this.value,unit=value==="web"?" (px)":" (cm)",in_h=document.getElementById("export_png_height"),in_w=document.getElementById("export_png_width");if(value==="web"){in_h.value=h;in_w.value=w}else if(value==="user_defined"){in_h.value=Object(_helpers_math__WEBPACK_IMPORTED_MODULE_0__["f"])(h/118.11*10)/10;in_w.value=Object(_helpers_math__WEBPACK_IMPORTED_MODULE_0__["f"])(w/118.11*10)/10}else if(value==="A4_landscape"){in_h.value=21;in_w.value=29.7}else if(value==="A4_portrait"){in_h.value=29.7;in_w.value=21}else if(value==="A3_landscape"){in_h.value=42;in_w.value=29.7}else if(value==="A3_portrait"){in_h.value=29.7;in_w.value=42}else if(value==="A5_landscape"){in_h.value=14.8;in_w.value=21}else if(value==="A5_portrait"){in_h.value=21;in_w.value=14.8}document.getElementById("export_png_width_txt").innerHTML=unit;document.getElementById("export_png_height_txt").innerHTML=unit;if(value.indexOf("portrait")>-1||value.indexOf("landscape")>-1){in_h.disabled="disabled";in_w.disabled="disabled"}else{in_h.disabled=undefined;in_w.disabled=undefined}}));var exp_a=export_png_options.append("p").style("margin","20px 0");exp_a.append("span").attrs({class:"i18n","data-i18n":"[html]app_page.section5b.width"});exp_a.append("input").style("width","60px").attrs({id:"export_png_width",class:"m_elem_right",type:"number",step:.1}).property("value",w).on("change",(function(){var ratio=h/w,export_png_height=document.getElementById("export_png_height");export_png_height.value=Object(_helpers_math__WEBPACK_IMPORTED_MODULE_0__["f"])(+this.value*ratio*10)/10}));exp_a.append("span").attr("id","export_png_width_txt").html(" (px)");var exp_b=export_png_options.append("p").style("margin","20px 0");exp_b.append("span").attrs({class:"i18n","data-i18n":"[html]app_page.section5b.height"});exp_b.append("input").style("width","60px").attrs({id:"export_png_height",class:"m_elem_right",type:"number",step:.1}).property("value",h).on("change",(function(){var ratio=h/w,export_png_width=document.getElementById("export_png_width");export_png_width.value=Object(_helpers_math__WEBPACK_IMPORTED_MODULE_0__["f"])(+this.value/ratio*10)/10}));exp_b.append("span").attr("id","export_png_height_txt").html(" (px)");var export_name=dv5b.append("p");export_name.append("span").attrs({class:"i18n","data-i18n":"[html]app_page.section5b.filename"});export_name.append("input").attrs({id:"export_filename",class:"m_elem_right",type:"text"}).property("value","export.svg");var export_geo_options=dv5b.append("p").attr("id","export_options_geo").style("display","none");var geo_a=export_geo_options.append("p").style("margin","5px 5px 40px 0");geo_a.append("span").attrs({class:"i18n","data-i18n":"[html]app_page.export_box.option_layer"});geo_a.insert("select").styles({margin:"20px 0","max-width":"280px"}).attrs({id:"layer_to_export",class:"i18n m_elem_right"});var geo_b=export_geo_options.append("p").styles({clear:"both"});geo_b.append("span").attrs({class:"i18n","data-i18n":"[html]app_page.export_box.option_datatype"});var selec_type=geo_b.insert("select").attrs({id:"datatype_to_use",class:"i18n m_elem_right"}).style("margin-top","5px");export_geo_options.append("p").style("margin","auto").attrs({class:"i18n","data-i18n":"[html]app_page.export_box.option_projection"});var geo_c=export_geo_options.append("p").style("margin","5px 5px 30px 5px");var selec_projection=geo_c.insert("select").styles({float:"right","font-size":"10.5px"}).attrs({id:"projection_to_use",disabled:true,class:"i18n m_elem_right"});var proj4_input=export_geo_options.append("p").style("margin","auto").insert("input").attr("id","proj4str").styles({display:"none",width:"275px",position:"relative",float:"right","margin-right":"5px","font-size":"10.5px"});var ok_button=dv5b.append("p").style("float","left").append("button").attrs({id:"export_button_section5b",class:"i18n button_st4","data-i18n":"[html]app_page.section5b.export_button"});proj4_input.on("keyup",(function(){ok_button.disabled=this.value.length===0?"true":""}));["GeoJSON","TopoJSON","ESRI Shapefile","GML","KML"].forEach((function(name){selec_type.append("option").attr("value",name).text(name)}));[["app_page.section5b.wgs84","epsg:4326"],["app_page.section5b.web_mercator","epsg:3857"],["app_page.section5b.laea_europe","epsg:3035"],["app_page.section5b.usa_albers","+proj=aea +lat_1=29.5 +lat_2=45.5 +lat_0=37.5 +lon_0=-96 +x_0=0 +y_0=0 +datum=NAD83 +units=m +no_defs"],["app_page.section5b.british_national_grid","epsg:27700"],["app_page.section5b.lambert93","epsg:2154"],["app_page.section5b.eckert_4","+proj=eck4 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs "],["app_page.section5b.proj4_prompt","proj4string"]].forEach((function(projection){selec_projection.append("option").attrs({class:"i18n",value:projection[1],"data-i18n":projection[0]}).text(_tr(projection[0]))}));selec_type.on("change",(function(){if(this.value==="TopoJSON"||this.value==="KML"||this.value==="GeoJSON"){selec_projection.node().options.selectedIndex=0;selec_projection.attr("disabled",true);ok_button.disabled=""}else{selec_projection.attr("disabled",null)}}));selec_projection.on("change",(function(){if(this.value==="proj4string"){proj4_input.style("display","initial");if(proj4_input.node().value===""||proj4_input.node().value===undefined){ok_button.disabled="true"}}else{proj4_input.style("display","none");ok_button.disabled=""}}));ok_button.on("click",(function(){var type_exp=document.getElementById("select_export_type").value;var exp_name=document.getElementById("export_filename").value;if(type_exp==="svg"){var clip_svg=!!document.getElementById("clip_svg_export").checked;Object(_map_export__WEBPACK_IMPORTED_MODULE_1__["b"])(exp_name,clip_svg)}else if(type_exp==="geo"){var layer_name=document.getElementById("layer_to_export").value,type=document.getElementById("datatype_to_use").value,proj=document.getElementById("projection_to_use").value,proj4value=document.getElementById("proj4str").value;Object(_map_export__WEBPACK_IMPORTED_MODULE_1__["c"])(layer_name,type,proj,proj4value)}else if(type_exp==="png"){var exp_format=document.getElementById("select_png_format").value;var exp_height=+document.getElementById("export_png_height").value;var ratio;if(exp_format==="web"){ratio=exp_height/+h}else{ratio=exp_height*118.11/+h}Object(_map_export__WEBPACK_IMPORTED_MODULE_1__["a"])(ratio,exp_name)}}))}function fill_export_png_options(displayed_ratio){var select_size_png=d3.select("#select_png_format");select_size_png.selectAll("option").remove();select_size_png.append("option").attrs({value:"web",class:"i18n","data-i18n":"[text]app_page.section5b.web"});select_size_png.append("option").attrs({value:"user_defined",class:"i18n","data-i18n":"[text]app_page.section5b.user_defined"});if(displayed_ratio==="portrait"){select_size_png.append("option").attrs({value:"A5_portrait",class:"i18n","data-i18n":"[text]app_page.section5b.A5_portrait"});select_size_png.append("option").attrs({value:"A4_portrait",class:"i18n","data-i18n":"[text]app_page.section5b.A4_portrait"});select_size_png.append("option").attrs({value:"A3_portrait",class:"i18n","data-i18n":"[text]app_page.section5b.A3_portrait"})}else if(displayed_ratio==="landscape"){select_size_png.append("option").attrs({value:"A5_landscape",class:"i18n","data-i18n":"[text]app_page.section5b.A5_landscape"});select_size_png.append("option").attrs({value:"A4_landscape",class:"i18n","data-i18n":"[text]app_page.section5b.A4_landscape"});select_size_png.append("option").attrs({value:"A3_landscape",class:"i18n","data-i18n":"[text]app_page.section5b.A3_landscape"})}localize("#select_png_format > .i18n")}},function(module,__webpack_exports__,__webpack_require__){"use strict";(function(global){__webpack_require__.d(__webpack_exports__,"b",(function(){return export_compo_svg}));__webpack_require__.d(__webpack_exports__,"a",(function(){return export_compo_png}));__webpack_require__.d(__webpack_exports__,"c",(function(){return export_layer_geo}));var _helpers__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(0);var _helpers_math__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(1);var _fonts__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(23);var _map_ctrl__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(5);function patchSvgForFonts(){function getListUsedFonts(){var elems=[svg_map.getElementsByTagName("text"),svg_map.getElementsByTagName("p")];var needed_definitions=[];elems.map((function(d){return d||[]}));for(var j=0;j<2;j++){var _loop=function _loop(i){var font_elem=elems[j][i].style.fontFamily;_fonts__WEBPACK_IMPORTED_MODULE_2__["b"].forEach((function(font){if(font_elem.indexOf(font)>-1&&needed_definitions.indexOf(font)===-1){needed_definitions.push(font)}}))};for(var i=0;i-1?i:null}))[0].cssRules;var fonts_to_add=needed_definitions.map((function(name){return String(fonts_definitions[_fonts__WEBPACK_IMPORTED_MODULE_2__["b"].indexOf(name)].cssText)}));var style_elem=document.createElement("style");style_elem.innerHTML=fonts_to_add.join(" ");svg_map.querySelector("defs").appendChild(style_elem)}function unpatchSvgForFonts(){var defs_style=svg_map.querySelector("defs").querySelector("style");if(defs_style)defs_style.remove()}function patchSvgForInkscape(){svg_map.setAttribute("xmlns:inkscape","http://www.inkscape.org/namespaces/inkscape");var elems=svg_map.getElementsByTagName("g");for(var i=elems.length-1;i>-1;i--){if(elems[i].id===""){continue}else if(elems[i].classList.contains("layer")){elems[i].setAttribute("inkscape:label",elems[i].id)}else if(elems[i].id.indexOf("legend")>-1){var layer_name=elems[i].className.baseVal.split("lgdf_")[1];elems[i].setAttribute("inkscape:label","legend_".concat(layer_name))}else{elems[i].setAttribute("inkscape:label",elems[i].id)}elems[i].setAttribute("inkscape:groupmode","layer")}}function unpatchSvgForInkscape(){svg_map.removeAttribute("xmlns:inkscape");var elems=svg_map.getElementsByTagName("g");for(var i=elems.length-1;i>-1;i--){if(elems[i].id!==""){elems[i].removeAttribute("inkscape:label");elems[i].removeAttribute("inkscape:groupmode")}}}function patchSvgForForeignObj(){var elems=document.getElementsByTagName("foreignObject");var originals=[];for(var i=0;i-1?name.substring(0,name.lastIndexOf(".")):name;var regexpName=new RegExp(/^[().a-z0-9_-]+$/i);if(regexpName.test(_name)&&_name.length<250){return"".concat(_name,".").concat(extension)}return"export.".concat(extension)}function changeResolution(canvas,scaleFactor){if(!canvas.style.width)canvas.style.width="".concat(canvas.width,"px");if(!canvas.style.height)canvas.style.height="".concat(canvas.height,"px");canvas.width=Object(_helpers_math__WEBPACK_IMPORTED_MODULE_1__["b"])(canvas.width*scaleFactor);canvas.height=Object(_helpers_math__WEBPACK_IMPORTED_MODULE_1__["b"])(canvas.height*scaleFactor);var ctx=canvas.getContext("2d");ctx.scale(scaleFactor,scaleFactor)}function export_compo_svg(output_name,clip_to_viewport){var _finally=function _finally(){if(clip_to_viewport){proj=proj.clipExtent(null);map.selectAll(".layer").selectAll("path").attr("d",path);Object(_map_ctrl__WEBPACK_IMPORTED_MODULE_3__["f"])()}};var zoom_params=svg_map.__zoom;var _output_name=check_output_name(output_name,"svg");patchSvgForInkscape();patchSvgForFonts();patchSvgBackground();if(clip_to_viewport){proj=proj.clipExtent([[0-zoom_params.x/zoom_params.k,0-zoom_params.y/zoom_params.k],[(w-zoom_params.x)/zoom_params.k,(h-zoom_params.y)/zoom_params.k]]);map.selectAll(".layer").selectAll("path").attr("d",path);Object(_map_ctrl__WEBPACK_IMPORTED_MODULE_3__["f"])()}var dimensions_foreign_obj=patchSvgForForeignObj();var targetSvg=document.getElementById("svg_map"),serializer=new XMLSerializer;var source=serializer.serializeToString(targetSvg);if(!source.match(/^]+xmlns="http:\/\/www\.w3\.org\/2000\/svg"/)){source=source.replace(/^]+"http:\/\/www\.w3\.org\/1999\/xlink"/)){source=source.replace(/^\r\n',source].join("");var url="data:image/svg+xml;charset=utf-8,".concat(encodeURIComponent(source));Object(_helpers__WEBPACK_IMPORTED_MODULE_0__["b"])(url,_output_name).then((function(){unpatchSvgForFonts();unpatchSvgForForeignObj(dimensions_foreign_obj);unpatchSvgForInkscape();unpatchSvgBackground();_finally()}))["catch"]((function(err){Object(_helpers__WEBPACK_IMPORTED_MODULE_0__["g"])();console.log(err);_finally()}))}function export_compo_png(){var scalefactor=arguments.length>0&&arguments[0]!==undefined?arguments[0]:1;var output_name=arguments.length>1?arguments[1]:undefined;global._app.waitingOverlay.display();var _output_name=check_output_name(output_name,"png");var dimensions_foreign_obj=patchSvgForForeignObj();patchSvgForFonts();var targetCanvas=d3.select("body").append("canvas").attrs({id:"canvas_map_export",height:h,width:w}).node();var targetSVG=document.querySelector("#svg_map");var mime_type="image/png";var svg_xml,ctx,img;try{svg_xml=(new XMLSerializer).serializeToString(targetSVG);ctx=targetCanvas.getContext("2d");img=new Image}catch(err){global._app.waitingOverlay.hide();targetCanvas.remove();Object(_helpers__WEBPACK_IMPORTED_MODULE_0__["g"])(String(err));return}if(scalefactor!==1){try{changeResolution(targetCanvas,scalefactor)}catch(err){global._app.waitingOverlay.hide();targetCanvas.remove();Object(_helpers__WEBPACK_IMPORTED_MODULE_0__["g"])("".concat(_tr("app_page.common.error_too_high_resolution")," ").concat(String(err)));return}}var imgUrl;img.src="data:image/svg+xml;charset=utf-8,".concat(encodeURIComponent(svg_xml));img.onload=function(){ctx.drawImage(img,0,0);try{imgUrl=targetCanvas.toDataURL(mime_type)}catch(err){global._app.waitingOverlay.hide();targetCanvas.remove();Object(_helpers__WEBPACK_IMPORTED_MODULE_0__["g"])(String(err));return}Object(_helpers__WEBPACK_IMPORTED_MODULE_0__["b"])(imgUrl,_output_name).then((function(){unpatchSvgForFonts();unpatchSvgForForeignObj(dimensions_foreign_obj);global._app.waitingOverlay.hide();targetCanvas.remove()}))["catch"]((function(err){Object(_helpers__WEBPACK_IMPORTED_MODULE_0__["g"])();console.log(err)}))}}function export_layer_geo(layer,type,projec,proj4str){var formToSend=new FormData;formToSend.append("layer",layer);formToSend.append("layer_name",data_manager.current_layers[layer].key_name);formToSend.append("format",type);if(projec==="proj4string"){formToSend.append("projection",JSON.stringify({proj4string:proj4str}))}else{formToSend.append("projection",JSON.stringify({name:projec}))}var extensions=new Map([["GeoJSON","geojson"],["TopoJSON","topojson"],["ESRI Shapefile","zip"],["GML","zip"],["KML","kml"]]);Object(_helpers__WEBPACK_IMPORTED_MODULE_0__["B"])("POST","get_layer2",formToSend,true).then((function(data){if(data.indexOf('{"Error"')===0||data.length===0){var error_message;if(data.indexOf('{"Error"')<5){error_message=_tr(JSON.parse(data).Error)}else{error_message=_tr("app_page.common.error_msg")}swal({title:"Oops...",text:error_message,type:"error",allowOutsideClick:false,allowEscapeKey:false}).then((function(){return null}),(function(){return null}));return}var ext=extensions.get(type),filename=[layer,ext].join(".");var dataStr;if(ext.indexOf("json")>-1){dataStr="data:text/json;charset=utf-8,".concat(encodeURIComponent(data))}else if(ext.indexOf("kml")>-1){dataStr="data:text/xml;charset=utf-8,".concat(encodeURIComponent(data))}else{dataStr="data:application/zip;base64,".concat(data)}Object(_helpers__WEBPACK_IMPORTED_MODULE_0__["b"])(dataStr,filename)}),(function(error){console.log(error)}))}}).call(this,__webpack_require__(19))},,,function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return hatanoRaw}));__webpack_require__.d(__webpack_exports__,"b",(function(){return winkel1Raw}));var sin=Math.sin;var asin=Math.asin;var abs=Math.abs;var cos=Math.cos;var NITER=20;var EPS=1e-7;var ONETOL=1.000001;var CN=2.67595;var CS=2.43763;var RCN=.3736990601468637;var RCS=.4102345310814193;var FYCN=1.75859;var FYCS=1.93052;var RYCN=.5686373742600607;var RYCS=.5179951515653813;var FXC=.85;var RXC=1.1764705882352942;var M_HALFPI=Math.PI/2;function hatanoRaw(lambda,phi){var c=sin(phi)*(phi<0?CS:CN);var y=phi;var th1;var i;for(i=NITER;i;--i){y-=th1=(y+sin(y)-c)/(1+cos(y));if(abs(th1)1){if(abs(th)>ONETOL){console.log("Error");return[NaN,NaN]}th=th>0?M_HALFPI:-M_HALFPI}else{th=asin(th)}xx=RXC*xx/cos(th);th+=th;yy=(th+sin(th))*(yy<0?RCS:RCN);if(abs(yy)>1){if(abs(yy)>ONETOL){console.log("Error");return[NaN,NaN]}yy=yy>0?M_HALFPI:-M_HALFPI}else{yy=asin(yy)}return[xx,yy]};function winkel1Raw(latTrueScale){var cosphi1=cos(latTrueScale);function forward(lambda,phi){var x=lambda;var y=phi;return[.5*x*(cosphi1+cos(phi)),y]}forward.invert=function(x,y){var lambda=x;var phi=y;return[2*lambda/(cosphi1+cos(phi)),phi]};return forward}},function(module,__webpack_exports__,__webpack_require__){"use strict";(function(Promise){__webpack_require__.d(__webpack_exports__,"a",(function(){return display_discretization_links_discont}));var _dialogs__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(4);var _function__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(9);var _helpers__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(0);var _helpers_calc__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(2);var _helpers_math__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(1);var _common__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(10);var display_discretization_links_discont=function display_discretization_links_discont(layer_name,field_name,nb_class,type){var make_box_histo_option=function make_box_histo_option(){var histo_options=newBox.append("div").attrs({id:"histo_options",class:"row equal"}).styles({margin:"5px 5px 10px 15px",width:"100%"});var a=histo_options.append("div").attr("class","col-xs-6 col-sm-3"),b=histo_options.append("div").attr("class","col-xs-6 col-sm-3"),c=histo_options.append("div").attr("class","col-xs-6 col-sm-3"),d=histo_options.append("div").attr("class","col-xs-6 col-sm-3");a.insert("button").attrs({class:"btn_population"}).html(_tr("disc_box.disp_rug_pop")).on("click",(function(){if(this.classList.contains("active")){this.classList.remove("active");rug_plot.style("display","none");rug_plot.classed("active",false)}else{this.classList.add("active");rug_plot.style("display","");rug_plot.classed("active",true)}}));b.insert("button").attrs({class:"btn_mean"}).html(_tr("disc_box.disp_mean")).on("click",(function(){if(this.classList.contains("active")){this.classList.remove("active");line_mean.style("stroke-width",0);txt_mean.style("fill","none");line_mean.classed("active",false)}else{this.classList.add("active");line_mean.style("stroke-width",2);txt_mean.style("fill","blue");line_mean.classed("active",true)}}));c.insert("button").attrs({class:"btn_median"}).html(_tr("disc_box.disp_median")).on("click",(function(){if(this.classList.contains("active")){this.classList.remove("active");line_median.style("stroke-width",0).classed("active",false);txt_median.style("fill","none")}else{this.classList.add("active");line_median.style("stroke-width",2).classed("active",true);txt_median.style("fill","darkgreen")}}));d.insert("button").attrs({class:"btn_stddev"}).html(_tr("disc_box.disp_sd")).on("click",(function(){if(this.classList.contains("active")){this.classList.remove("active");line_std_left.style("stroke-width",0);line_std_left.classed("active",false);line_std_right.style("stroke-width",0);line_std_right.classed("active",false)}else{this.classList.add("active");line_std_left.style("stroke-width",2);line_std_left.classed("active",true);line_std_right.style("stroke-width",2);line_std_right.classed("active",true)}}))};var make_overlay_elements=function make_overlay_elements(){var mean_val=serie.mean(),stddev=serie.stddev();line_mean=overlay_svg.append("line").attrs({class:"line_mean",x1:x(mean_val),y1:10,x2:x(mean_val),y2:svg_h-margin.bottom}).styles({"stroke-width":0,stroke:"blue",fill:"none"}).classed("active",false);txt_mean=overlay_svg.append("text").attrs({dy:"0.75em",x:x(mean_val),y:0,"text-anchor":"middle"}).style("fill","none").text(_tr("disc_box.mean"));line_median=overlay_svg.append("line").attrs({class:"line_med",x1:x(serie.median()),y1:10,x2:x(serie.median()),y2:svg_h-margin.bottom}).styles({"stroke-width":0,stroke:"darkgreen",fill:"none"}).classed("active",false);txt_median=overlay_svg.append("text").attrs({dy:"0.75em",x:x(serie.median()),y:0,"text-anchor":"middle"}).style("fill","none").text(_tr("disc_box.median"));line_std_left=overlay_svg.append("line").attrs({class:"lines_std",x1:x(mean_val-stddev),y1:10,x2:x(mean_val-stddev),y2:svg_h-margin.bottom}).styles({"stroke-width":0,stroke:"grey",fill:"none"}).classed("active",false);line_std_right=overlay_svg.append("line").attrs({class:"lines_std",x1:x(mean_val+stddev),y1:10,x2:x(mean_val+stddev),y2:svg_h-margin.bottom}).styles({"stroke-width":0,stroke:"grey",fill:"none"}).classed("active",false);rug_plot=overlay_svg.append("g").style("display","none");rug_plot.selectAll(".indiv").data(values.map((function(i){return{value:+i}}))).enter().insert("line").attrs((function(d){return{class:"indiv",x1:x(d.value),y1:svg_h-margin.bottom-10,x2:x(d.value),y2:svg_h-margin.bottom}})).styles({stroke:"red",fill:"none","stroke-width":1})};var make_summary=function make_summary(){var content_summary=Object(_helpers__WEBPACK_IMPORTED_MODULE_2__["t"])(serie);newBox.append("div").attr("id","summary").styles({"margin-left":"25px","margin-right":"50px","font-size":"10px",float:"right"}).insert("p").html(["",_tr("disc_box.summary"),"
",content_summary].join(""))};var update_breaks=function update_breaks(user_defined){if(!user_defined){Object(_function__WEBPACK_IMPORTED_MODULE_1__["e"])(values,nb_class,type,last_min,last_max,"sizes_div",undefined,callback)}var tmp_breaks=Object(_function__WEBPACK_IMPORTED_MODULE_1__["c"])("sizes_div");var len_breaks=tmp_breaks.sizes.length;breaks_info=[];last_min=tmp_breaks.sizes[0];last_max=tmp_breaks.sizes[tmp_breaks.sizes.length-1];if(Object(_helpers_math__WEBPACK_IMPORTED_MODULE_4__["a"])(+serie.min()-+tmp_breaks.mins[0])>.01){nb_class+=1;txt_nb_class.node().value=nb_class;breaks_info.push([[serie.min(),+tmp_breaks.mins[0]],0])}for(var i=0;i20?20:nb_values;var sizes=data_manager.current_layers[layer_name].breaks.map((function(el){return el[1]}));var serie=new geostats(values),breaks_info=[].concat(data_manager.current_layers[layer_name].breaks),breaks=[+breaks_info[0][0][0]],bins=[],last_min=Object(_helpers_calc__WEBPACK_IMPORTED_MODULE_3__["l"])(sizes),last_max=Object(_helpers_calc__WEBPACK_IMPORTED_MODULE_3__["k"])(sizes),array_color=d3.schemeSet3.slice();breaks_info.forEach((function(elem){breaks.push(elem[0][1])}));if(serie.variance()===0&&serie.stddev()===0){serie=new geostats(values)}values=serie.sorted();var available_functions=[[_tr("app_page.common.equal_interval"),"equal_interval"],[_tr("app_page.common.quantiles"),"quantiles"],[_tr("app_page.common.user_defined"),"user_defined"],[_tr("app_page.common.Q6"),"Q6"],[_tr("app_page.common.jenks"),"jenks"]];if(!serie._hasZeroValue()&&!serie._hasZeroValue()){available_functions.push([_tr("app_page.common.geometric_progression"),"geometric_progression"])}var precisionAxis=Object(_helpers_calc__WEBPACK_IMPORTED_MODULE_3__["g"])(serie.min(),serie.max(),serie.precision);var formatCount=d3.format(precisionAxis);var discretization_panel=newBox.append("div").attr("id","discretization_panel");var discretization_choice=discretization_panel.insert("p").html("Type ").insert("select").attr("class","params").on("change",(function(){var old_type=type;if(this.value==="user_defined"){this.value=old_type;return}type=this.value;if(type==="Q6"){nb_class=6;txt_nb_class.node().value=nb_class;document.getElementById("nb_class_range").value=6}update_breaks();redisplay.compute();redisplay.draw()}));available_functions.forEach((function(func){discretization_choice.append("option").text(func[0]).attr("value",func[1])}));var ref_histo_box=newBox.append("div").attr("id","ref_histo_box");ref_histo_box.append("div").attr("id","inner_ref_histo_box");discretization_choice.node().value=type;make_summary();var refDisplay=Object(_common__WEBPACK_IMPORTED_MODULE_5__["h"])(newBox,serie,formatCount);refDisplay("histogram");if(values.length<750){var choiceHisto=ref_histo_box.append("p").style("text-align","center");var currentHisto="histogram";choiceHisto.insert("button").attrs({id:"button_switch_plot",class:"i18n button_st4","data-i18n":"[text]disc_box.switch_ref_histo"}).styles({padding:"3px","font-size":"10px"}).html(_tr("disc_box.switch_ref_histo")).on("click",(function(){if(currentHisto==="histogram"){refDisplay("box_plot");currentHisto="box_plot"}else if(currentHisto==="box_plot"){refDisplay("beeswarm");currentHisto="beeswarm"}else if(currentHisto==="beeswarm"){refDisplay("histogram");currentHisto="histogram"}}))}var txt_nb_class=discretization_panel.append("input").attrs({type:"number",class:"without_spinner",min:2,max:max_nb_class,step:1}).styles({width:"30px",margin:"0 10px","vertical-align":"calc(20%)"}).property("value",nb_class).on("change",(function(){var a=disc_nb_class.node();a.value=this.value;a.dispatchEvent(new Event("change"))}));discretization_panel.append("span").html(_tr("disc_box.class"));var disc_nb_class=discretization_panel.insert("input").styles({display:"inline",width:"60px","vertical-align":"middle",margin:"10px"}).attrs({id:"nb_class_range",type:"range",min:2,max:max_nb_class,step:1}).property("value",nb_class).on("change",(function(){type=discretization_choice.node().value;if(type==="user_defined"){type="equal_interval";discretization_choice.node().value="equal_interval"}if(type==="Q6"){this.value=6;return}nb_class=+this.value;txt_nb_class.node().value=nb_class;update_breaks();redisplay.compute();redisplay.draw()}));var svg_h=h/5>90?h/5:90,svg_w=w-w/8,margin={top:17.5,right:30,bottom:7.5,left:30},height=svg_h-margin.top-margin.bottom;d3.select("#discretiz_charts").select(".modal-dialog").styles({width:"".concat(svg_w+margin.top+margin.bottom+90,"px"),height:"".concat(window.innerHeight-60,"px")});var div_svg=newBox.append("div").append("svg").attrs({id:"svg_discretization",width:svg_w+margin.left+margin.right,height:svg_h+margin.top+margin.bottom});make_box_histo_option();var svg_histo=div_svg.append("g").attr("transform","translate(".concat(margin.left,",").concat(margin.top,")"));var x=d3.scaleLinear().domain([serie.min(),serie.max()]).range([0,svg_w]);var overlay_svg=div_svg.append("g").attr("transform","translate(30, 0)");var line_mean,line_std_right,line_std_left,line_median,txt_median,txt_mean,rug_plot;make_overlay_elements();svg_histo.append("g").attrs({class:"x axis",transform:"translate(0,".concat(height,")")}).call(d3.axisBottom().scale(x).tickFormat(formatCount));var box_content=newBox.append("div").attr("id","box_content");box_content.append("h3").style("margin","0").html(_tr("disc_box.line_size"));box_content.append("div").attr("id","sizes_div");var callback=function callback(){discretization_choice.node().value=type;update_breaks(true);redisplay.compute();redisplay.draw()};Object(_function__WEBPACK_IMPORTED_MODULE_1__["e"])(null,nb_class,type,null,null,"sizes_div",breaks_info,callback);redisplay.compute();redisplay.draw();var container=document.getElementById("discretiz_charts");return new Promise((function(resolve,reject){var _onclose=function _onclose(){resolve(false);document.removeEventListener("keydown",helper_esc_key_twbs);container.remove();var p=Object(_dialogs__WEBPACK_IMPORTED_MODULE_0__["e"])(".styleBox");if(!p)_dialogs__WEBPACK_IMPORTED_MODULE_0__["d"].hide()};var helper_esc_key_twbs=function helper_esc_key_twbs(evt){var _event=evt||window.event;var isEscape="key"in _event?_event.key==="Escape"||_event.key==="Esc":_event.keyCode===27;if(isEscape){_event.preventDefault();_onclose()}};container.querySelector(".btn_ok").onclick=function(){breaks[0]=serie.min();breaks[nb_class]=serie.max();resolve([serie,breaks_info,breaks]);document.removeEventListener("keydown",helper_esc_key_twbs);container.remove();var p=Object(_dialogs__WEBPACK_IMPORTED_MODULE_0__["e"])(".styleBox");if(!p)_dialogs__WEBPACK_IMPORTED_MODULE_0__["d"].hide()};container.querySelector(".btn_cancel").onclick=_onclose;container.querySelector("#xclose").onclick=_onclose;document.addEventListener("keydown",helper_esc_key_twbs)}))}}).call(this,__webpack_require__(21))},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return world_topology}));var world_topology={type:"Topology",objects:{World:{type:"GeometryCollection",crs:{type:"name",properties:{name:"urn:ogc:def:crs:OGC:1.3:CRS84"}},geometries:[{type:"Polygon",properties:{id:"1"},arcs:[[0],[1],[2],[3],[4],[5],[6],[7],[8],[9]]},{type:"Polygon",properties:{id:"2"},arcs:[[10]]},{type:"Polygon",properties:{id:"3"},arcs:[[11]]},{type:"Polygon",properties:{id:"4"},arcs:[[12]]},{type:"Polygon",properties:{id:"5"},arcs:[[13]]},{type:"Polygon",properties:{id:"6"},arcs:[[14]]},{type:"Polygon",properties:{id:"7"},arcs:[[15]]},{type:"Polygon",properties:{id:"8"},arcs:[[16]]},{type:"Polygon",properties:{id:"9"},arcs:[[17]]},{type:"Polygon",properties:{id:"10"},arcs:[[18]]},{type:"Polygon",properties:{id:"11"},arcs:[[19]]},{type:"Polygon",properties:{id:"12"},arcs:[[20]]},{type:"Polygon",properties:{id:"13"},arcs:[[21]]},{type:"Polygon",properties:{id:"14"},arcs:[[22]]},{type:"Polygon",properties:{id:"15"},arcs:[[23]]},{type:"Polygon",properties:{id:"16"},arcs:[[24]]},{type:"Polygon",properties:{id:"17"},arcs:[[25]]},{type:"Polygon",properties:{id:"18"},arcs:[[26]]},{type:"Polygon",properties:{id:"19"},arcs:[[27]]},{type:"Polygon",properties:{id:"20"},arcs:[[28]]},{type:"Polygon",properties:{id:"21"},arcs:[[29]]},{type:"Polygon",properties:{id:"22"},arcs:[[30]]},{type:"Polygon",properties:{id:"23"},arcs:[[31]]},{type:"Polygon",properties:{id:"24"},arcs:[[32]]},{type:"Polygon",properties:{id:"25"},arcs:[[33]]},{type:"Polygon",properties:{id:"26"},arcs:[[34]]},{type:"Polygon",properties:{id:"27"},arcs:[[35]]},{type:"Polygon",properties:{id:"28"},arcs:[[36]]},{type:"Polygon",properties:{id:"29"},arcs:[[37]]},{type:"Polygon",properties:{id:"30"},arcs:[[38]]},{type:"Polygon",properties:{id:"31"},arcs:[[39]]},{type:"Polygon",properties:{id:"32"},arcs:[[40]]},{type:"Polygon",properties:{id:"33"},arcs:[[41]]},{type:"Polygon",properties:{id:"34"},arcs:[[42]]},{type:"Polygon",properties:{id:"35"},arcs:[[43]]},{type:"Polygon",properties:{id:"36"},arcs:[[44]]},{type:"Polygon",properties:{id:"37"},arcs:[[45]]},{type:"Polygon",properties:{id:"38"},arcs:[[46]]},{type:"Polygon",properties:{id:"39"},arcs:[[47]]},{type:"Polygon",properties:{id:"40"},arcs:[[48]]},{type:"Polygon",properties:{id:"41"},arcs:[[49],[50],[51],[52],[53],[54]]},{type:"Polygon",properties:{id:"42"},arcs:[[55]]},{type:"Polygon",properties:{id:"43"},arcs:[[56]]},{type:"Polygon",properties:{id:"44"},arcs:[[57]]},{type:"Polygon",properties:{id:"45"},arcs:[[58]]},{type:"Polygon",properties:{id:"46"},arcs:[[59]]},{type:"Polygon",properties:{id:"47"},arcs:[[60]]},{type:"Polygon",properties:{id:"48"},arcs:[[61]]},{type:"Polygon",properties:{id:"49"},arcs:[[62]]},{type:"Polygon",properties:{id:"50"},arcs:[[63]]},{type:"Polygon",properties:{id:"51"},arcs:[[64]]},{type:"Polygon",properties:{id:"52"},arcs:[[65]]},{type:"Polygon",properties:{id:"53"},arcs:[[66]]},{type:"Polygon",properties:{id:"54"},arcs:[[67]]},{type:"Polygon",properties:{id:"55"},arcs:[[68]]},{type:"Polygon",properties:{id:"56"},arcs:[[69]]},{type:"Polygon",properties:{id:"57"},arcs:[[70]]},{type:"Polygon",properties:{id:"58"},arcs:[[71]]},{type:"Polygon",properties:{id:"59"},arcs:[[72]]},{type:"Polygon",properties:{id:"60"},arcs:[[73]]},{type:"Polygon",properties:{id:"61"},arcs:[[74]]},{type:"Polygon",properties:{id:"62"},arcs:[[75]]},{type:"Polygon",properties:{id:"63"},arcs:[[76]]},{type:"Polygon",properties:{id:"64"},arcs:[[77]]},{type:"Polygon",properties:{id:"65"},arcs:[[78]]},{type:"Polygon",properties:{id:"66"},arcs:[[79]]},{type:"Polygon",properties:{id:"67"},arcs:[[80]]},{type:"Polygon",properties:{id:"68"},arcs:[[81]]},{type:"Polygon",properties:{id:"69"},arcs:[[82]]},{type:"Polygon",properties:{id:"70"},arcs:[[83]]},{type:"Polygon",properties:{id:"71"},arcs:[[84]]},{type:"Polygon",properties:{id:"72"},arcs:[[85]]},{type:"Polygon",properties:{id:"73"},arcs:[[86]]},{type:"Polygon",properties:{id:"74"},arcs:[[87]]},{type:"Polygon",properties:{id:"75"},arcs:[[88]]},{type:"Polygon",properties:{id:"76"},arcs:[[89]]},{type:"Polygon",properties:{id:"77"},arcs:[[90]]},{type:"Polygon",properties:{id:"78"},arcs:[[91]]},{type:"Polygon",properties:{id:"79"},arcs:[[92]]},{type:"Polygon",properties:{id:"80"},arcs:[[93]]},{type:"Polygon",properties:{id:"81"},arcs:[[94]]},{type:"Polygon",properties:{id:"82"},arcs:[[95]]},{type:"Polygon",properties:{id:"83"},arcs:[[96]]},{type:"Polygon",properties:{id:"84"},arcs:[[97]]},{type:"Polygon",properties:{id:"85"},arcs:[[98]]},{type:"Polygon",properties:{id:"86"},arcs:[[99]]},{type:"Polygon",properties:{id:"87"},arcs:[[100]]},{type:"Polygon",properties:{id:"88"},arcs:[[101]]},{type:"Polygon",properties:{id:"89"},arcs:[[102]]},{type:"Polygon",properties:{id:"90"},arcs:[[103]]},{type:"Polygon",properties:{id:"91"},arcs:[[104]]},{type:"Polygon",properties:{id:"92"},arcs:[[105]]},{type:"Polygon",properties:{id:"93"},arcs:[[106]]},{type:"Polygon",properties:{id:"94"},arcs:[[107]]},{type:"Polygon",properties:{id:"95"},arcs:[[108]]},{type:"Polygon",properties:{id:"96"},arcs:[[109]]},{type:"Polygon",properties:{id:"97"},arcs:[[110]]},{type:"Polygon",properties:{id:"98"},arcs:[[111]]},{type:"Polygon",properties:{id:"99"},arcs:[[112]]},{type:"Polygon",properties:{id:"100"},arcs:[[113]]},{type:"Polygon",properties:{id:"101"},arcs:[[114]]},{type:"Polygon",properties:{id:"102"},arcs:[[115]]},{type:"Polygon",properties:{id:"103"},arcs:[[116]]},{type:"Polygon",properties:{id:"104"},arcs:[[117]]},{type:"Polygon",properties:{id:"105"},arcs:[[118]]},{type:"Polygon",properties:{id:"106"},arcs:[[119]]},{type:"Polygon",properties:{id:"107"},arcs:[[120]]},{type:"Polygon",properties:{id:"108"},arcs:[[121]]},{type:"Polygon",properties:{id:"109"},arcs:[[122]]},{type:"Polygon",properties:{id:"110"},arcs:[[123]]},{type:"Polygon",properties:{id:"111"},arcs:[[124]]},{type:"Polygon",properties:{id:"112"},arcs:[[125]]},{type:"Polygon",properties:{id:"113"},arcs:[[126]]},{type:"Polygon",properties:{id:"114"},arcs:[[127]]},{type:"Polygon",properties:{id:"115"},arcs:[[128]]},{type:"Polygon",properties:{id:"116"},arcs:[[129]]},{type:"Polygon",properties:{id:"117"},arcs:[[130]]},{type:"Polygon",properties:{id:"118"},arcs:[[131]]},{type:"Polygon",properties:{id:"119"},arcs:[[132]]},{type:"Polygon",properties:{id:"120"},arcs:[[133]]},{type:"Polygon",properties:{id:"121"},arcs:[[134]]},{type:"Polygon",properties:{id:"122"},arcs:[[135]]},{type:"Polygon",properties:{id:"123"},arcs:[[136]]},{type:"Polygon",properties:{id:"124"},arcs:[[137]]},{type:"Polygon",properties:{id:"125"},arcs:[[138]]},{type:"Polygon",properties:{id:"126"},arcs:[[139]]},{type:"Polygon",properties:{id:"127"},arcs:[[140]]},{type:"Polygon",properties:{id:"128"},arcs:[[141]]},{type:"Polygon",properties:{id:"129"},arcs:[[142]]},{type:"Polygon",properties:{id:"130"},arcs:[[143]]},{type:"Polygon",properties:{id:"131"},arcs:[[144]]},{type:"Polygon",properties:{id:"132"},arcs:[[145]]},{type:"Polygon",properties:{id:"133"},arcs:[[146]]},{type:"Polygon",properties:{id:"134"},arcs:[[147]]},{type:"Polygon",properties:{id:"135"},arcs:[[148]]},{type:"Polygon",properties:{id:"136"},arcs:[[149]]},{type:"Polygon",properties:{id:"137"},arcs:[[150]]},{type:"Polygon",properties:{id:"138"},arcs:[[151]]},{type:"Polygon",properties:{id:"139"},arcs:[[152]]},{type:"Polygon",properties:{id:"140"},arcs:[[153]]},{type:"Polygon",properties:{id:"141"},arcs:[[154]]},{type:"Polygon",properties:{id:"142"},arcs:[[155]]},{type:"Polygon",properties:{id:"143"},arcs:[[156]]},{type:"Polygon",properties:{id:"144"},arcs:[[157]]},{type:"Polygon",properties:{id:"145"},arcs:[[158]]},{type:"Polygon",properties:{id:"146"},arcs:[[159]]},{type:"Polygon",properties:{id:"147"},arcs:[[160]]},{type:"Polygon",properties:{id:"148"},arcs:[[161]]},{type:"Polygon",properties:{id:"149"},arcs:[[162]]},{type:"Polygon",properties:{id:"150"},arcs:[[163]]},{type:"Polygon",properties:{id:"151"},arcs:[[164]]},{type:"Polygon",properties:{id:"152"},arcs:[[165]]},{type:"Polygon",properties:{id:"153"},arcs:[[166]]},{type:"Polygon",properties:{id:"154"},arcs:[[167]]},{type:"Polygon",properties:{id:"155"},arcs:[[168]]},{type:"Polygon",properties:{id:"156"},arcs:[[169]]},{type:"Polygon",properties:{id:"157"},arcs:[[170]]},{type:"Polygon",properties:{id:"158"},arcs:[[171]]},{type:"Polygon",properties:{id:"159"},arcs:[[172]]},{type:"Polygon",properties:{id:"160"},arcs:[[173]]},{type:"Polygon",properties:{id:"161"},arcs:[[174]]},{type:"Polygon",properties:{id:"162"},arcs:[[175]]},{type:"Polygon",properties:{id:"163"},arcs:[[176]]},{type:"Polygon",properties:{id:"164"},arcs:[[177]]},{type:"Polygon",properties:{id:"165"},arcs:[[178]]},{type:"Polygon",properties:{id:"166"},arcs:[[179]]},{type:"Polygon",properties:{id:"167"},arcs:[[180]]},{type:"Polygon",properties:{id:"168"},arcs:[[181]]},{type:"Polygon",properties:{id:"169"},arcs:[[182]]},{type:"Polygon",properties:{id:"170"},arcs:[[183]]},{type:"Polygon",properties:{id:"171"},arcs:[[184]]},{type:"Polygon",properties:{id:"172"},arcs:[[185]]},{type:"Polygon",properties:{id:"173"},arcs:[[186]]},{type:"Polygon",properties:{id:"174"},arcs:[[187]]},{type:"Polygon",properties:{id:"175"},arcs:[[188]]},{type:"Polygon",properties:{id:"176"},arcs:[[189]]},{type:"Polygon",properties:{id:"177"},arcs:[[190]]},{type:"Polygon",properties:{id:"178"},arcs:[[191]]},{type:"Polygon",properties:{id:"179"},arcs:[[192]]},{type:"Polygon",properties:{id:"180"},arcs:[[193]]},{type:"Polygon",properties:{id:"181"},arcs:[[194]]},{type:"Polygon",properties:{id:"182"},arcs:[[195]]},{type:"Polygon",properties:{id:"183"},arcs:[[196]]},{type:"Polygon",properties:{id:"184"},arcs:[[197]]},{type:"Polygon",properties:{id:"185"},arcs:[[198]]},{type:"Polygon",properties:{id:"186"},arcs:[[199]]},{type:"Polygon",properties:{id:"187"},arcs:[[200]]}]}},arcs:[[[52723,52414],[-127,105],[126,669],[33,510],[-84,422],[-180,81],[-104,411],[-88,-154],[-268,35],[-312,-188],[-165,204],[-197,789],[-134,203],[-472,6],[-302,-89],[-120,-65],[-910,-786],[-286,204],[1,10],[76,24],[-320,47],[-516,-116],[-469,-390],[-483,457],[-310,594],[-300,427],[-287,271],[-180,450],[-40,502],[-82,422],[-396,687],[-147,441],[-327,345],[-7,422],[53,301],[-171,614],[176,665],[139,1073],[-46,754],[-87,240],[91,471],[-226,565],[14,79],[49,246],[233,1143],[399,1359],[253,339],[172,711],[414,239],[253,382],[256,655],[-54,735],[163,676],[203,399],[475,444],[253,1013],[150,50],[276,-422],[397,102],[9,-30],[192,-117],[908,805],[524,185],[515,50],[125,-141],[596,249],[339,-83],[369,240],[382,-205],[-89,-541],[49,-473],[-288,-526],[57,-359],[326,-300],[235,-201],[278,41],[513,-296],[235,-642],[367,-109],[470,-472],[192,141],[111,406],[-63,289],[178,484],[291,214],[410,-163],[3,-186],[524,-205],[47,-180],[609,-166],[468,-311],[370,392],[433,9],[156,-187],[181,-88],[296,154],[79,155],[173,868],[240,899],[-16,730],[30,581],[-187,-220],[-220,128],[-242,-359],[-244,-67],[-216,297],[-373,201],[-79,-371],[-202,-72],[-204,362],[-352,-54],[59,206],[-172,-30],[-41,469],[-186,198],[-78,260],[149,232],[-175,288],[184,535],[671,17],[22,465],[556,-86],[581,534],[731,-163],[138,-285],[522,-186],[503,3],[383,340],[-6,649],[-420,431],[-280,438],[-685,544],[37,146],[303,-21],[0,787],[423,191],[-290,55],[-643,-260],[-303,-280],[145,-458],[258,5],[-57,-167],[-583,-407],[-303,718],[253,173],[-720,403],[-443,-617],[19,-197],[-283,-512],[-17,-338],[-264,-739],[108,-280],[152,-336],[159,-95],[-2,-124],[-446,-11],[-193,-223],[-170,-113],[-48,192],[-279,154],[-383,-180],[12,-194],[-104,-76],[-141,159],[-70,-258],[215,-503],[-160,-228],[341,-330],[-242,-497],[68,-423],[-48,-105],[-290,339],[-77,-169],[-209,640],[240,330],[-231,-62],[-321,801],[-192,547],[16,696],[-242,325],[-234,273],[-20,30],[-458,423],[-228,338],[-158,536],[-83,48],[-45,-263],[-52,24],[-85,361],[32,60],[-359,-91],[-12,-682],[347,-415],[127,-537],[291,-383],[251,6],[-1,-297],[332,-213],[335,-316],[-54,-215],[-265,187],[-140,-471],[183,-170],[-244,-813],[-128,7],[25,460],[-158,763],[-525,680],[-188,-15],[-542,677],[-274,930],[-384,234],[-340,-363],[-18,-29],[-62,-51],[-377,-351],[-532,281],[-230,-246],[19,-388],[15,-269],[-326,-398],[-297,-135],[-365,-877],[153,-451],[-654,-1151],[-641,-14],[-251,-333],[-153,-56],[-170,532],[-254,134],[-440,-98],[56,770],[-193,201],[232,1317],[-26,561],[-151,550],[392,484],[181,-112],[790,-107],[720,2],[175,802],[15,852],[-245,457],[-481,538],[-292,291],[-10,225],[478,-6],[113,-209],[364,88],[-138,543],[197,38],[262,-225],[493,541],[7,375],[261,126],[237,218],[115,-8],[32,-2],[-124,61],[292,450],[66,363],[551,284],[129,-124],[9,243],[372,-69],[123,199],[-97,578],[-149,954],[198,303],[228,105],[261,283],[-30,-500],[132,-251],[-407,-552],[-17,-391],[453,-421],[398,227],[489,-184],[577,271],[549,123],[276,-144],[172,296],[308,114],[5,445],[179,854],[246,118],[168,-256],[195,-21],[115,339],[-209,298],[-23,476],[626,261],[637,-106],[346,295],[-144,229],[-260,94],[-1267,-364],[-519,418],[-42,1273],[596,601],[550,912],[-331,195],[-641,-166],[-297,-954],[-418,-241],[-492,-715],[-95,-707],[521,-695],[-174,-371],[-452,-307],[-28,-654],[-232,-798],[-324,35],[-90,-359],[-301,-103],[-569,1725],[58,375],[-269,148],[-547,-571],[-547,-79],[-293,366],[215,301],[-297,134],[145,374],[-216,369],[140,798],[553,237],[22,181],[582,570],[438,704],[332,198],[215,780],[321,359],[316,570],[557,389],[323,572],[1212,225],[514,333],[819,66],[920,-519],[-66,-276],[772,-275],[652,-87],[1403,-852],[-21,-549],[-274,-366],[-563,-12],[-1235,370],[282,-354],[77,-899],[699,-425],[221,125],[-457,508],[157,148],[975,-364],[-223,495],[691,651],[546,-372],[-98,744],[83,432],[-219,395],[728,-96],[216,-346],[-333,-205],[91,-347],[520,65],[28,323],[1559,782],[396,-423],[1116,472],[525,487],[933,-172],[1147,-701],[236,314],[-557,469],[-49,925],[431,309],[142,501],[726,468],[343,-465],[-126,-532],[80,-390],[76,-1143],[79,-552],[-473,-807],[-671,-85],[331,-350],[469,127],[639,787],[239,756],[405,-156],[298,142],[-384,351],[-582,-5],[31,596],[-20,990],[332,-158],[79,-381],[291,-47],[91,386],[325,97],[311,187],[652,-395],[525,-51],[-812,538],[36,591],[1653,190],[-212,208],[891,714],[1846,366],[267,-143],[1442,767],[644,-49],[1e3,-230],[887,6],[645,-345],[-161,-665],[-1811,-1036],[1260,283],[721,-101],[1377,45],[3,-219],[716,-133],[929,477],[1001,-193],[405,-255],[-293,-601],[278,-367],[327,-222],[548,531],[308,-258],[649,114],[578,-236],[444,116],[-34,617],[558,160],[1498,-242],[572,-375],[891,-474],[1605,96],[472,-217],[0,-449],[237,-306],[518,183],[1499,56],[396,-452],[280,21],[104,628],[1366,-150],[1228,-512],[-2,-1087],[-3,-1152],[-458,-418],[255,-354],[113,-596],[-186,-195],[-685,-57],[-628,-244],[-712,-561],[-210,-426],[-136,-95],[-321,347],[-1144,-279],[-482,-269],[-88,-351],[-301,-530],[371,-218],[-151,-544],[162,-336],[-340,-30],[3,-736],[-584,-389],[-117,-529],[-273,-206],[-247,-781],[-289,-378],[-169,1180],[-155,1353],[138,853],[395,598],[431,352],[234,418],[1157,1271],[158,764],[-370,-87],[-236,-488],[-629,-633],[54,788],[-610,-71],[-759,-897],[-62,-627],[-485,-190],[-316,220],[-478,351],[-460,-348],[-723,277],[-881,-207],[-627,-560],[-623,-809],[-302,-496],[-654,-704],[462,-174],[-55,-451],[571,292],[534,-42],[240,-615],[-27,-710],[-274,-805],[61,-280],[-138,-927],[-251,-381],[-323,-899],[-614,-1052],[-208,-514],[-551,-472],[-396,279],[-286,-506],[-292,-429],[19,-412],[-610,-627],[-19,-334],[253,-312],[268,-773],[63,-691],[-154,-597],[-328,-236],[-338,-194],[-93,482],[137,470],[-113,482],[139,195],[-52,403],[-553,166],[213,688],[-299,454],[-418,-302],[-280,-406],[-195,-82],[174,371],[-155,91],[300,561],[-313,241],[-205,-419],[-250,-175],[-145,-403],[-349,-44],[-60,-284],[151,-278],[209,8],[37,-502],[130,-92],[361,411],[191,-191],[213,21],[137,-75],[-460,-472],[-384,-579],[-127,-499],[296,-234],[348,-877],[119,-807],[-438,-110],[449,-163],[-359,-370],[192,31],[168,-289],[-127,-315],[28,-422],[-125,-240],[-261,-692],[-109,-235],[-60,-609],[-112,-139],[-160,-375],[-425,-577],[-173,-361],[-475,-72],[-154,-149],[59,-82],[-21,-123],[-71,-47],[-61,49],[7,95],[46,92],[-204,208],[66,-376],[14,-37],[25,-70],[-42,-30],[-165,-121],[-325,-167],[-350,-188],[-5,-400],[-172,-132],[-48,706],[-328,129],[-158,-123],[-335,-272],[-60,-450],[-151,-134],[-114,-576],[227,-504],[56,-377],[594,-1200],[184,-739],[8,-685],[-48,-348],[-76,-549],[-220,-371],[-265,-192],[-106,-17],[-113,-462],[-481,-551],[39,726],[-123,327],[-229,47],[14,324],[-161,-74],[-51,410],[-301,591],[-275,20],[35,440],[-257,-39],[-5,-697],[-239,-1189],[26,-516],[166,35],[116,-563],[37,-448],[165,-393],[158,-14],[141,-331],[291,-505],[91,-337],[-4,-1056],[239,-873],[-258,53],[-578,755],[-157,587],[-103,1235],[-62,247],[-408,1116],[-127,89],[152,1047],[6,812],[-53,821],[-116,290],[-102,686],[-39,956],[-208,481],[-29,-368],[-380,-578],[-338,162],[111,882],[-128,734],[-182,284],[69,347],[-282,198],[-130,462],[-180,851],[-183,21],[-85,162],[-10,-312],[-415,-414],[-242,-22],[-57,178],[-335,-399],[44,-290],[-202,-438],[-259,-193],[-350,-751],[-494,-715],[2,-259],[-294,-150],[-69,-273],[-204,-99],[-58,-380],[81,-959],[-135,-765],[-3,-1002],[-163,-160],[-85,-420],[-199,-178],[-54,-326],[-149,-187],[-270,498],[-280,1586],[-198,673],[-154,1060],[-227,787],[-221,2173],[64,387],[-94,947],[-115,-100],[-7,-448],[-311,-285],[-257,252],[-309,660],[342,154],[-432,363],[-122,375],[-153,-23],[-132,495],[-251,467],[-765,-161],[-531,5],[-468,73],[-716,258],[-83,619],[-187,202],[-431,-406],[-302,122],[-359,540],[-289,198],[-363,1270],[-313,118],[-116,-253],[-162,19],[135,-837],[122,-535],[314,-458],[39,-624],[185,-568],[-10,474],[178,457],[203,-135],[-49,-613],[-209,-253],[98,-213],[109,-136],[600,72],[490,1002],[54,129],[83,-28],[-28,-249],[29,-374],[214,-590],[454,-255],[279,-756],[-354,-1026],[-115,91],[-112,-473],[39,-426],[-257,-118],[-158,-502],[-250,-56],[-116,-478],[-279,-15],[-259,-197],[-222,-218],[-18,-374],[-736,-506],[-249,-399],[-185,8],[-365,-362],[-288,-50],[-218,-353],[-259,-76],[-194,354],[-153,1443],[25,376],[-135,624],[-162,262],[-332,1189],[-244,281],[-157,492],[0,709],[-174,713],[-259,279],[-81,533],[-157,381],[-402,1267],[-158,25],[84,722],[1,119],[-19,-39],[-224,-973],[-233,435],[-186,806],[-65,-205],[148,-588],[178,-357],[140,-776],[416,-1518],[51,-602],[330,-539],[64,-413],[61,-1221],[60,-259],[292,-406],[176,-1092],[134,-486],[400,-359],[144,-404],[401,-710],[72,-405],[-173,-171],[135,-126],[287,-594],[191,-24],[220,263],[193,-103],[255,276],[437,44],[369,196],[147,230],[137,-90],[-32,-731],[-93,-638],[-278,-860],[-223,-1047],[-303,-972],[-533,-1163],[-411,-506],[-300,-541],[-385,-854],[-152,-480],[-378,-614],[-176,-961],[-97,-142],[-115,-780],[191,-476],[-51,-836],[134,-964],[187,-284],[28,-1821],[85,-477],[-71,-583],[-204,-549],[-769,-829],[-168,-407],[-483,-757],[222,-1451],[-121,-1260],[-620,-545],[-99,-234],[104,-516],[-142,-983],[-332,-581],[-220,-741],[-512,-988],[-403,-554],[-395,-156],[-228,-225],[-637,109],[-458,-209],[-267,-259],[-407,545],[-179,604],[119,96],[-28,567],[-247,758],[-221,1022],[-331,720],[-228,1822],[-24,1085],[-278,841],[-64,381],[-363,1159],[-23,512],[-4,838],[145,604],[66,753],[313,688],[32,923],[-210,894],[103,444],[-150,817],[-154,455],[253,146],[-271,56],[-56,429],[-248,623],[-337,712],[-242,808],[79,1108],[136,215]],[[86664,77890],[100,-404],[251,583],[-351,-179]],[[58657,46892],[-162,622],[-5,318],[-227,395],[55,203],[-81,845],[-125,643],[-30,-1001],[112,-942],[190,-383],[107,-489],[166,-211]],[[59464,51233],[50,453],[-71,294],[-202,81],[-375,-299],[-38,-501],[-48,-597],[60,-379],[388,103],[236,845]],[[66682,77670],[-33,299],[139,272],[-2,146],[-70,44],[-122,-261],[-162,-17],[-157,-81],[42,-42],[112,-110],[83,-82],[-70,-230],[48,-270],[152,-26],[40,358]],[[65852,75988],[80,-123],[80,-76],[67,107],[-67,222],[-74,16],[-86,-146]],[[64565,75886],[77,565],[-217,60],[-454,1049],[305,390],[325,39],[173,759],[-549,232],[-551,-457],[-447,-328],[-255,-756],[151,-135],[60,-686],[311,-677],[365,-850],[-126,-168],[-157,-947],[71,-467],[283,-126],[261,-384],[228,-89],[584,137],[-28,301],[18,898],[-114,603],[-230,60],[31,585],[242,-255],[276,282],[-227,555],[-142,-16],[-145,-135],[-16,-392],[-103,353]],[[57678,85247],[20,573],[-123,-116],[18,-376],[85,-81]],[[51407,82322],[21,-127],[68,53],[5,132],[-94,-58]],[[59419,46241],[100,-416],[13,-721],[-80,-285],[82,-696],[74,-103],[74,35],[-45,764],[75,354],[-13,89],[-7,13],[-42,73],[-6,20],[-120,879],[-27,59],[-28,48],[-3,7],[-47,-120]],[[52421,54028],[94,-40],[-100,-355],[-128,113],[134,282]],[[99745,47026],[23,54],[39,-103],[6,-119],[-33,0],[-35,168]],[[99771,47233],[-53,-108],[-47,98],[57,127],[43,-117]],[[70473,54273],[-3,-58],[-29,-44],[-51,1],[-28,47],[6,65],[36,46],[42,-3],[27,-54]],[[70391,54827],[50,30],[55,-44],[3,-86],[-40,-77],[-61,13],[-22,84],[15,80]],[[70380,53869],[65,9],[32,-55],[12,-84],[-24,-48],[-56,-14],[-42,42],[-8,62],[21,88]],[[32840,61703],[29,-39],[-11,-41],[-39,12],[-8,49],[29,19]],[[64004,67159],[152,16],[-63,-409],[-101,68],[12,325]],[[28292,66386],[110,-210],[50,-206],[79,-207],[-6,-103],[-116,0],[-54,221],[-83,121],[-77,111],[61,117],[-31,155],[67,1]],[[28541,66314],[66,44],[97,-28],[7,-89],[-117,-10],[-53,83]],[[33463,59361],[-42,69],[3,75],[32,-20],[21,-55],[20,-13],[37,6],[-24,-55],[-47,-7]],[[62184,44813],[-114,80],[-53,139],[-11,268],[83,16],[97,-332],[-2,-171]],[[43362,60942],[212,-71],[79,-216],[-134,-211],[-208,58],[-56,218],[107,222]],[[32931,60804],[50,-33],[20,-83],[4,-73],[-38,-37],[-26,75],[-38,98],[-10,92],[38,-39]],[[53320,84087],[116,-347],[-37,-270],[-154,-129],[-46,190],[-132,41],[-112,276],[149,222],[216,17]],[[45518,68312],[38,-139],[-21,-127],[-52,-87],[-97,-10],[-74,83],[-11,139],[25,140],[97,54],[95,-53]],[[50890,74810],[105,-121],[-128,-188],[-126,195],[149,114]],[[47940,87630],[228,248],[66,-164],[-118,-498],[-176,414]],[[93905,55860],[39,92],[78,6],[13,-99],[-27,-120],[-75,-28],[-42,66],[14,83]],[[49302,80301],[-68,6],[27,36],[48,30],[-7,-72]],[[32900,58769],[-53,3],[22,115],[51,132],[49,-7],[-25,-147],[-44,-96]],[[48720,82994],[21,159],[61,-46],[-42,-163],[-40,50]],[[54348,73970],[0,-249],[-149,-338],[55,-136],[-67,-293],[-735,662],[92,215],[364,-74],[440,213]],[[52533,75595],[67,18],[129,-435],[-75,-795],[-195,-151],[-134,203],[17,412],[-56,555],[247,193]],[[49410,80211],[48,-21],[-4,-44],[-75,22],[31,43]],[[5845,53105],[71,63],[103,-18],[51,-131],[-52,-125],[-105,-43],[-67,105],[-1,149]],[[32592,61827],[48,-92],[-3,-55],[-33,12],[-15,58],[-44,46],[-12,55],[13,28],[46,-52]],[[33069,59738],[-35,53],[0,121],[56,73],[25,-74],[-5,-149],[-41,-24]],[[97513,55954],[34,-26],[68,2],[17,37],[-17,61],[35,-45],[-4,-44],[-22,-31],[-84,-14],[-55,30],[-15,98],[43,-68]],[[54040,72433],[-90,6],[-34,130],[57,97],[108,-98],[-41,-135]],[[66031,40264],[25,-109],[-37,-112],[-85,12],[-16,115],[47,86],[66,8]],[[96394,51519],[-21,-13],[-19,10],[-8,28],[9,27],[18,8],[19,-10],[5,-25],[-3,-25]],[[87404,56211],[25,121],[47,98],[-9,-152],[-40,-186],[-80,-201],[-45,-29],[36,183],[66,166]],[[78965,52628],[-32,-76],[-74,-21],[-72,42],[-49,100],[227,-45]],[[51857,51880],[-55,27],[-26,94],[15,98],[58,44],[70,-32],[12,-105],[-27,-78],[-47,-48]],[[65412,49233],[40,-73],[15,-203],[-51,43],[-42,135],[38,98]],[[1320,39750],[117,-57],[-87,-159],[-75,148],[45,68]],[[32999,59383],[0,100],[5,59],[29,10],[27,-23],[-14,-142],[-34,-110],[-13,106]],[[2148,44096],[251,-309],[-87,-44],[-243,131],[-64,177],[143,45]],[[34952,54919],[63,229],[264,-166],[277,-464],[87,-353],[98,-74],[66,-308],[174,-899],[155,-87],[5,-287],[-322,-709],[-287,-503],[228,117],[241,382],[228,-2],[285,-162],[-97,-885],[132,143],[107,567],[518,-150],[458,-533],[43,-405],[294,117],[297,-281],[626,-8],[419,-489],[360,-699],[465,-134],[198,-1160],[-4,-431],[-137,-741],[-307,-754],[-137,-156],[-319,-1076],[-187,10],[-88,-428],[-7,-754],[56,-673],[-76,-1057],[-163,-484],[4,-517],[-378,-1213],[29,-245],[-278,-338],[-25,-241],[-502,27],[-232,-116],[-204,-321],[-426,-365],[-238,-343],[-209,-564],[-66,-1576],[-277,-480],[-140,-587],[-592,-1470],[49,200],[288,717],[109,443],[-119,16],[-74,-288],[-118,-319],[-183,-820],[-211,-367],[-107,-375],[-326,-333],[-381,36],[-225,256],[-204,-5],[-148,305],[52,861],[-103,-1061],[396,-689],[-29,-395],[162,-392],[-258,-750],[-408,-311],[-682,-183],[-242,113],[102,-317],[-130,-543],[43,-325],[-401,-165],[-308,261],[-50,-737],[350,-49],[52,-392],[-227,140],[1,-270],[-250,-401],[-74,-781],[-166,20],[-315,-357],[-80,-317],[232,-485],[224,-35],[3,-565],[-441,-558],[-77,-540],[-290,-217],[-81,-373],[200,-788],[-276,54],[-393,-277],[-49,-620],[-601,328],[-215,263],[-196,625],[-107,709],[199,220],[-78,1335],[235,518],[-308,-268],[-150,46],[17,464],[127,549],[138,613],[155,-51],[-38,-692],[-88,-388],[173,42],[94,786],[18,451],[228,1261],[-137,289],[-223,-153],[-52,447],[65,573],[131,281],[-119,1020],[128,322],[156,918],[116,259],[168,907],[59,675],[-62,1228],[97,189],[-66,559],[97,333],[203,1737],[-39,473],[146,1780],[-93,1783],[-276,375],[-35,232],[-608,613],[-413,497],[-306,735],[19,417],[-396,1190],[-372,1771],[-272,823],[-315,412],[-42,1056],[253,487],[107,113],[-7,267],[-95,13],[-117,351],[-48,597],[236,644],[6,453],[293,162],[45,181],[137,698],[155,-40],[207,775],[-112,134],[26,1376],[-154,398],[-161,384],[79,301],[-203,214],[-229,-83],[-201,-248],[132,-413],[-189,-88],[-87,186],[-125,138],[-303,136],[-102,-66],[-234,339],[30,237],[-291,355],[-122,-55],[-210,460],[48,418],[-541,1032],[93,63],[-140,245],[-269,-93],[-363,278],[-340,131],[-258,340],[-459,889],[-265,196],[-162,-262],[-311,-182],[-338,185],[-301,316],[-612,424],[-209,360],[-469,256],[-134,311],[-288,285],[-189,598],[139,625],[-167,660],[-690,1422],[-321,395],[59,312],[-386,851],[-176,138],[-251,539],[-271,1051],[22,199],[-523,433],[76,-994],[504,-1004],[20,-332],[266,-662],[407,-1498],[243,-319],[-117,-395],[-114,384],[-495,710],[-71,809],[-228,352],[-131,-37],[-394,654],[246,52],[35,292],[-459,748],[-103,609],[-294,990],[-268,690],[-335,314],[-327,101],[-48,397],[-178,302],[-310,881],[-75,425],[-293,568],[-35,527],[-154,352],[96,571],[-135,812],[110,597],[70,1651],[-237,819],[706,-105],[-150,579],[-45,0],[-680,894],[-241,-29],[-435,430],[-18,561],[-282,628],[-440,601],[139,533],[-278,5],[-109,342],[-254,330],[-548,1016],[-432,271],[-297,-182],[-395,410],[-566,358],[-687,237],[-311,-67],[-870,584],[-368,-133],[-17,-472],[-265,22],[-492,-455],[-201,333],[88,696],[-413,-740],[-303,-189],[238,-310],[-244,-361],[-515,-369],[-147,-342],[-523,-314],[-78,-278],[-310,-59],[-659,-468],[-315,46],[419,438],[346,63],[799,949],[172,720],[-297,-157],[-496,140],[-395,-114],[-323,771],[-303,-114],[-504,434],[212,157],[-426,442],[-47,865],[618,96],[221,-133],[711,412],[-109,687],[-542,-303],[-849,99],[-525,580],[934,555],[288,-275],[417,-1],[68,388],[-487,203],[-281,396],[-513,328],[86,297],[525,31],[678,802],[1073,297],[341,270],[1343,-494],[692,43],[1361,-311],[358,77],[638,-268],[1427,-429],[806,701],[1425,66],[527,-475],[256,367],[236,-344],[338,222],[423,-41],[941,-428],[835,-86],[313,-274],[-452,-268],[465,-137],[1329,15],[420,-650],[-199,1168],[558,164],[496,-503],[605,-179],[1003,23],[-6,349],[472,-25],[155,-490],[810,628],[-216,512],[-555,287],[-155,612],[647,569],[433,-371],[291,-768],[-78,-313],[495,-352],[417,209],[255,-244],[-63,-595],[485,-229],[329,1422],[751,-116],[375,-580],[-335,-89],[343,-590],[-81,-267],[-601,-459],[-601,-21],[-424,-480],[-641,355],[180,-356],[584,-107],[-290,-548],[-501,34],[-131,-370],[-822,175],[676,-296],[39,-189],[-503,-159],[-425,-769],[-233,-870],[107,-705],[356,12],[204,-801],[-79,-230],[465,178],[598,-233],[361,-468],[824,-462],[656,-73],[-14,-1239],[533,-936],[177,-84],[346,668],[-51,360],[-175,697],[-125,266],[381,216],[482,602],[19,690],[-136,398],[-415,411],[371,766],[-258,497],[172,355],[-169,468],[184,168],[756,-248],[306,187],[638,-768],[455,-201],[-11,-283],[53,-470],[306,-543],[403,-211],[355,244],[467,1063],[412,-1072],[392,-959],[182,-649],[445,-544],[435,-167],[-416,-359],[400,79],[214,-352],[230,-80],[36,-702],[-356,-395],[-413,-63],[-382,-569],[-566,-56],[-1263,19],[-268,-533],[-470,-335],[2,-148],[644,361],[221,165],[187,53],[199,-148],[80,-268],[-69,-245],[-163,-246],[-36,-523],[200,-451],[568,-360],[154,173],[255,-335],[-604,-435],[-315,-7],[-325,-631],[-153,134],[8,505],[459,425],[-114,179],[-320,-241],[-352,-18],[-208,-366],[-371,-34],[-367,-696],[-54,-291],[39,-344],[193,-242],[-19,-100],[-409,-56],[-392,-137],[-211,-143],[-59,-192],[540,211],[76,-175],[-639,-384],[45,-226],[-240,-479],[-173,203],[108,-428],[2,-449],[-150,-239],[-87,352],[-181,481],[75,-565],[43,-363],[69,-190],[-99,-789],[-145,95],[17,-471],[-170,-29],[-249,-455],[-203,-65],[-117,-343],[-319,-402],[-278,-542],[-52,-397],[217,-1429],[195,-900],[-130,-928],[-161,-46],[-176,453],[-94,552],[-216,588],[57,568],[-387,711],[-240,-217],[-410,375],[-693,15],[-173,-189],[-67,-253],[70,-320],[-220,-30],[-296,151],[-144,309],[-120,-171],[-256,138],[-469,-229],[-198,-353],[-234,-96],[-308,-914],[115,-601],[-143,-835],[-66,-1106],[206,-1123],[388,-1083],[357,-358],[843,423],[195,286],[103,936],[159,163],[507,182],[315,-96],[-13,-333],[-241,-714],[86,-71],[-110,-718],[-73,73],[-53,-456],[18,-360],[-133,-641],[132,-67],[138,113],[385,-81],[116,128],[452,-111],[58,-260],[265,-209],[-122,-985],[21,-511],[-104,-590],[62,-259],[298,-777],[91,-324],[261,-134],[353,445],[285,-9],[273,-180],[181,-323],[118,-69],[369,522],[31,653],[185,302],[134,-193],[48,312],[249,-13],[312,475],[29,134],[102,65],[106,-126],[-3,-228],[-176,-149],[98,-505],[-144,-512],[169,-447],[132,410],[-132,604],[397,373],[50,108],[-106,80],[-18,137],[67,76],[104,-79],[8,-294],[235,-31],[256,-568],[469,105],[118,-238],[300,-74],[171,296],[393,80],[113,-179],[-84,-406],[271,89],[237,-322],[-74,-442],[286,-8],[238,-287],[305,-713],[250,-424],[-22,-346],[61,320],[826,-145],[-33,-254]],[[25116,79484],[-397,-290],[-301,-397],[142,-117],[194,212],[125,-226],[596,623],[68,-116],[-16,-260],[264,-268],[611,142],[128,-189],[-98,840],[-282,39],[-160,443],[-510,136],[-364,-572]],[[26637,78534],[-175,-282],[-629,30],[-177,-520],[86,-117],[-161,-885],[24,-569],[147,-375],[176,143],[121,627],[-89,382],[76,611],[284,393],[196,146],[286,-153],[44,-593],[184,-235],[76,-521],[191,210],[125,706],[-91,371],[416,-447],[91,199],[-270,637],[-931,242]],[[27043,76351],[-226,-481],[265,-188],[231,73],[611,510],[168,252],[-16,58],[-676,-171],[-351,-352],[-6,299]],[[28039,76766],[652,35],[256,667],[-346,-302],[-570,-84],[-191,-286],[199,-30]],[[30823,42305],[116,195],[-208,400],[-180,-194],[251,-216],[41,5],[-20,-190]],[[52621,76475],[6,-441],[-23,-331],[-58,-12],[-77,95],[-69,390],[30,166],[115,52],[5,105],[71,-24]],[[32806,61180],[46,92],[72,-80],[46,133],[33,-144],[-8,-124],[-93,47],[-48,-69],[-48,145]],[[33165,60197],[-31,-80],[-78,31],[-30,76],[-15,115],[40,54],[72,-83],[42,-113]],[[65484,39987],[81,-29],[40,-94],[-13,-104],[-99,15],[-51,69],[-10,99],[52,44]],[[89749,83174],[148,-902],[-58,-494],[294,-1550],[-340,61],[-141,-774],[230,-865],[-240,125],[-35,-406],[-137,-91],[-76,403],[103,786],[-32,501],[127,1356],[-119,429],[12,901],[125,91],[46,300],[93,129]],[[12,89353],[3,1217],[1,974],[1517,-1101],[823,-84],[420,-456],[-140,-244],[-409,-122],[-292,-712],[-623,340],[-208,386],[-655,13],[-437,-211]],[[64052,91773],[-307,-404],[-285,-8],[-17,447],[283,370],[283,-92],[43,-313]],[[21,92731],[1,298],[344,35],[403,-224],[-748,-109]],[[89728,94628],[413,-100],[-306,-443],[-810,80],[703,463]],[[90757,95319],[974,-53],[777,-41],[-1350,-300],[-401,394]],[[88641,95670],[627,48],[1115,-385],[-465,-326],[-1212,-149],[-610,257],[-23,341],[568,214]],[[68651,95674],[-1602,-444],[-620,-512],[-186,-152],[-385,-356],[-412,-696],[138,-631],[426,-305],[-688,-102],[-548,161],[-267,491],[390,1195],[1472,1214],[1118,196],[715,216],[312,-31],[137,-244]],[[78591,97501],[521,-346],[-1643,-645],[672,969],[450,22]],[[77159,97993],[700,-292],[-233,-632],[-1274,38],[-442,553],[1249,333]],[[63563,98386],[798,-78],[904,59],[596,97],[644,10],[-1383,-924],[-752,-157],[-510,266],[-297,727]],[[76802,98861],[546,-404],[-1528,-412],[982,816]],[[30936,21519],[49,-379],[547,-673],[369,-100],[-385,-237],[-587,95],[-585,26],[-268,251],[326,226],[37,577],[278,322],[219,-108]],[[99999,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-3,0],[-135,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-123,0],[-16,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-139,0],[-138,0],[-139,0],[-139,0],[-138,0],[-139,0],[0,271],[0,271],[0,271],[0,271],[0,271],[0,271],[0,271],[0,271],[0,272],[0,271],[0,271],[0,271],[1830,-95],[748,760],[3657,-111],[307,1291],[2047,963],[-2069,469],[-586,460],[198,465],[1781,-207],[657,-152],[1056,359],[-792,559],[552,99],[2476,384],[543,396],[410,-212],[1924,145],[1435,-63],[1091,159],[1283,62],[28,-274],[840,190],[131,-400],[884,-43],[875,134],[607,-200],[753,113],[-832,422],[-415,529],[48,338],[1389,-16],[3315,-83],[552,-331],[712,8],[440,398],[668,-445],[1931,299],[773,264],[212,428],[15,813],[-317,601],[275,266],[-41,983],[311,673],[555,722],[435,417],[395,241],[708,365],[357,-14],[-806,-654],[-624,-504],[-61,-217],[-313,-176],[-342,-596],[24,-629],[264,-264],[373,-543],[85,-595],[324,-455],[284,-953],[-216,-767],[-689,-625],[-1926,-729],[-2060,69],[551,-568],[779,-20],[-603,-341],[-757,72],[57,-217],[-801,-246],[-964,506],[-33,-260],[960,-483],[1083,-31],[224,-868],[1278,125],[1653,-524],[923,-1069],[661,-53],[1308,668],[2356,225],[630,-277],[804,671],[1600,351],[1555,254],[-254,338],[-1549,424],[703,888],[1350,551],[809,242],[1965,394],[394,526],[473,-54],[386,330],[-368,139],[341,263],[862,439],[143,468],[386,280],[500,-322],[-57,479],[606,54],[-132,-365],[1773,9],[635,259],[1847,341],[746,-272],[310,423],[244,-174],[1179,-112],[864,-155],[166,332],[423,-331],[119,235],[748,-363],[944,415],[806,172],[-51,666],[733,-252],[12,-254],[707,31],[257,-292],[318,783],[2106,818],[355,-157],[139,497],[489,-201],[-182,446],[948,315],[521,-104],[1084,-910],[307,119],[842,-59],[1313,-226],[327,90],[174,-435],[-132,-480],[-688,-563],[545,-234],[-484,-682],[-125,-581],[731,273],[833,1288],[1448,613],[358,566],[1620,617],[834,176],[669,-29],[441,186],[494,-144],[1330,172],[83,-265],[697,556],[715,-20],[1174,-372],[641,-19],[134,347],[633,167],[716,-589],[-14,-280],[732,131],[145,-215],[1947,641],[224,-311],[655,-189],[463,592],[851,24],[88,-230],[569,149],[1172,-310],[859,-35],[331,-156],[217,-230],[788,-555],[1546,-162],[-3,280],[699,-535],[945,-172],[621,-819],[29,351],[1558,-275],[731,-582],[-195,-715],[-1400,-509],[-667,-842],[231,-936],[852,-895],[-1498,-271],[191,-524],[-348,-723],[2350,-1034],[3169,-780],[0,-271],[0,-271],[0,-271],[0,-272],[0,-271],[0,-271],[0,-271],[0,-271],[0,-271],[0,-271],[0,-271],[0,-271]],[[33312,5936],[-160,-729],[-1680,315],[1217,262],[623,152]],[[5474,6183],[340,-319],[-1844,-177],[932,791],[572,-295]],[[31435,6660],[-975,-726],[-69,468],[1044,258]],[[37402,6513],[448,-62],[58,-806],[-2953,-390],[227,443],[856,329],[330,861],[872,129],[588,-248],[-426,-256]],[[16335,9502],[-142,-508],[-378,409],[520,99]],[[14976,9617],[569,-197],[8,-356],[-906,314],[329,239]],[[29462,10104],[106,-424],[-714,20],[608,404]],[[23128,10579],[340,-443],[-1032,15],[-851,144],[963,211],[580,73]],[[30549,11985],[479,-966],[-165,-696],[-596,-349],[-381,353],[-443,-59],[-376,144],[428,419],[406,-45],[365,164],[90,352],[-336,244],[-24,575],[553,-136]],[[90109,28535],[481,-348],[527,265],[128,-218],[-49,-743],[-96,-548],[-165,-31],[-143,-209],[-231,50],[-210,546],[-242,1236]],[[88211,31313],[78,-352],[-389,41],[-57,380],[368,-69]],[[86176,45448],[285,61],[168,-280],[-245,-209],[-283,72],[75,356]],[[89596,45671],[147,-933],[99,-164],[27,-655],[114,-438],[149,202],[241,-451],[15,-864],[208,-685],[35,-716],[391,-549],[244,-129],[186,-598],[196,-643],[247,-283],[-3,-411],[268,-352],[396,-1101],[0,-640],[111,-1049],[-296,-2059],[-196,-244],[-252,-844],[-46,-489],[-169,-412],[-40,-1039],[-473,-72],[-426,-459],[-96,-297],[-292,349],[-511,-189],[-316,283],[-207,-19],[-359,298],[-172,404],[31,322],[-164,431],[-295,116],[93,536],[-64,322],[-189,-452],[-125,1005],[-275,-321],[-161,-634],[-192,621],[-226,724],[-518,295],[-294,320],[-607,-123],[-473,-335],[-306,23],[-575,-512],[-164,-470],[-554,68],[-425,-61],[-449,-566],[-485,-82],[-422,396],[-37,485],[189,135],[4,944],[-196,826],[1,423],[-226,791],[-43,455],[-88,235],[-143,322],[-99,465],[230,-161],[110,70],[-93,331],[-83,620],[93,309],[-28,538],[101,414],[100,-83],[76,92],[225,190],[379,555],[148,-102],[218,210],[783,420],[241,681],[139,173],[-42,513],[219,392],[165,-541],[85,178],[-89,544],[188,60],[48,368],[150,106],[118,480],[507,463],[276,-574],[399,-141],[-70,308],[214,845],[241,406],[467,57],[-29,375],[146,50],[118,-264],[251,-73],[320,-91],[242,115],[133,-234],[-77,-383],[-197,-140],[-9,-540],[-148,-298],[369,-693],[648,-576],[267,-456],[231,147],[167,800],[45,2037],[161,919],[104,128]],[[81666,54489],[309,224],[204,328],[258,845],[269,-367],[8,-277],[177,-65],[238,-342],[-193,-176],[20,-261],[-299,-163],[-34,-418],[179,-675],[-63,-217],[317,-532],[-331,-87],[-103,-770],[-295,-714],[62,-264],[-177,-798],[-373,-323],[-25,256],[-250,155],[-143,126],[-139,-107],[-221,-70],[-132,289],[-301,23],[-95,1094],[-180,144],[7,498],[-123,473],[67,420],[152,301],[158,-246],[260,155],[81,434],[435,278],[276,829]],[[31432,20057],[-213,-172],[-247,-11],[-131,-232],[-141,-57],[-107,126],[-130,115],[-99,307],[327,-6],[247,-9],[494,-61]],[[29676,21015],[476,-253],[-215,-133],[-261,386]],[[29257,23038],[-134,-153],[-136,581],[13,631],[166,89],[12,-569],[79,-579]],[[29474,27613],[168,73],[-134,-1022],[-195,36],[161,913]],[[29140,63299],[-38,2],[-696,-26],[182,351],[-273,142],[-195,535],[-313,34],[-155,213],[-381,69],[-15,283],[-251,9],[-176,-293],[-307,-230],[123,506],[516,304],[444,-60],[540,-422],[254,-313],[489,-424],[81,-223],[261,-37],[140,-321],[-230,-99]],[[59170,71751],[-120,63],[-56,141],[57,163],[118,13],[20,117],[157,-30],[233,162],[-161,-292],[35,-127],[-104,-78],[-37,-103],[-142,-29]],[[30067,63192],[205,129],[312,-172],[80,-313],[348,-251],[-137,-163],[-515,32],[-198,-475],[-100,250],[-82,114],[-438,13],[-142,230],[285,-97],[103,224],[-112,610],[391,-131]],[[99996,42523],[2,-310],[-315,-200],[-72,228],[385,282]],[[99519,41844],[117,-203],[20,-261],[-105,-144],[-174,21],[-135,161],[-13,272],[97,182],[193,-28]],[[33555,22281],[-414,-543],[123,709],[291,-166]],[[33671,22279],[359,-43],[-95,-255],[-363,-216],[-244,-4],[343,518]],[[47986,83558],[319,82],[157,-319],[-204,-323],[76,-652],[-193,-577],[-557,-223],[-468,174],[80,389],[148,342],[-171,153],[92,527],[382,-30],[53,510],[286,-53]],[[49070,85622],[-203,-409],[644,-270],[-394,-816],[429,-272],[545,-1439],[400,-346],[-220,-381],[105,-399],[-301,-221],[-359,55],[-687,-170],[-42,-186],[-498,-18],[527,694],[-486,298],[304,209],[12,546],[269,86],[108,431],[-660,509],[154,280],[-254,331],[-181,485],[104,537],[228,452],[456,14]],[[56639,72302],[518,-110],[132,-171],[-418,-62],[-339,209],[107,134]],[[56498,74314],[253,-249],[-14,-173],[-314,299],[75,123]],[[35353,92117],[163,-260],[-300,-105],[-423,201],[81,385],[479,-221]],[[42931,92514],[-521,-239],[-125,117],[37,147],[620,199],[228,-55],[63,-228],[-302,59]],[[41053,99999],[3019,-569],[-14,-312],[37,-326],[1042,-75],[476,256],[625,-359],[-624,-463],[-914,-74],[34,-649],[-28,-597],[203,-521],[-938,-549],[490,1],[142,-594],[-651,-454],[341,-570],[-492,-114],[-465,200],[-600,-205],[445,-471],[777,-538],[76,-544],[-519,-60],[-256,369],[-365,61],[-650,-177],[-87,-293],[264,-219],[549,243],[815,-172],[-1087,-818],[-1034,-328],[-552,-43],[-542,-748],[-591,-470],[-569,-69],[-815,-413],[151,-791],[-531,-511],[-198,-1589],[-383,-24],[-310,353],[-393,143],[-443,196],[-671,1120],[-307,618],[-299,823],[-202,802],[375,834],[408,22],[51,703],[-1004,535],[195,156],[404,-123],[-74,378],[-387,167],[-506,-20],[-103,588],[68,319],[-212,474],[-271,455],[-569,597],[-1017,271],[-1376,-172],[-549,414],[-247,518],[-444,263],[85,212],[1479,269],[343,211],[-726,258],[505,193],[1618,779],[1822,508],[1092,-336],[-166,415],[1653,-414],[397,355],[3200,695]],[[83336,46449],[248,-120],[131,-237],[-199,-102],[-203,162],[-275,174],[298,123]],[[84738,46375],[-178,-390],[-350,-214],[-47,343],[180,285],[67,192],[166,81],[110,60],[75,135],[490,295],[237,-105],[-342,-267],[-408,-415]],[[82450,47053],[-65,-308],[-147,56],[51,273],[161,-21]],[[82769,47173],[282,-120],[15,-185],[-199,-20],[-242,-94],[-132,53],[46,253],[230,113]],[[84455,47255],[-1,-122],[-290,-164],[-52,-90],[-376,-216],[-426,66],[-49,259],[131,74],[370,-36],[693,229]],[[82081,47144],[114,-162],[-103,-123],[-127,64],[-92,121],[4,91],[204,9]],[[88478,47142],[-305,-176],[-54,400],[137,277],[227,89],[73,-267],[-78,-323]],[[81944,47870],[-95,-176],[-308,-22],[-141,188],[544,10]],[[79488,48377],[331,-41],[305,-166],[153,-248],[409,-84],[159,218],[433,-194],[172,-408],[346,-126],[-31,-333],[67,-211],[-389,287],[-146,-98],[-610,193],[-340,221],[-257,-51],[-501,234],[4,247],[-301,100],[-32,186],[228,274]],[[87383,48714],[153,78],[18,-490],[-26,-298],[-193,-93],[24,391],[24,412]],[[85297,50004],[48,-242],[-140,-146],[-174,59],[-34,293],[141,136],[159,-100]],[[85861,50194],[555,-304],[-72,-277],[-259,191],[-246,74],[-248,-19],[-94,283],[364,52]],[[79957,50370],[108,-98],[17,-184],[-109,-98],[-129,92],[-3,220],[116,68]],[[84591,50897],[745,16],[-76,-253],[-704,24],[35,213]],[[87632,50923],[-46,267],[219,-101],[249,36],[-4,-250],[-226,-18],[-192,66]],[[79409,50981],[159,-476],[133,-173],[-21,-161],[-147,-97],[-47,191],[-96,309],[-185,57],[-30,260],[88,-2],[146,92]],[[77461,51384],[113,-302],[51,-238],[-88,-48],[-101,170],[-99,277],[25,177],[99,-36]],[[89159,46594],[-290,574],[-304,-17],[71,333],[-283,1233],[-584,519],[-207,33],[-371,378],[-256,-177],[-10,322],[-203,505],[197,183],[-233,146],[-73,337],[-236,43],[79,361],[407,264],[352,-209],[135,-1232],[280,-288],[259,658],[229,84],[157,340],[575,-511],[309,-132],[847,-497],[496,-805],[-23,-323],[478,-311],[113,-420],[-244,-29],[59,-416],[257,-341],[124,-563],[161,34],[24,-295],[230,-132],[-32,-200],[209,-285],[-754,225],[-257,407],[-270,790],[-590,67],[-271,-209],[118,-361],[-209,-212],[-466,129]],[[77059,52830],[146,-423],[-66,-238],[-197,543],[117,118]],[[84739,52803],[90,-153],[-296,-581],[-347,67],[-642,-131],[-85,-366],[61,-604],[229,309],[489,204],[225,-49],[-114,-251],[-358,-164],[-188,-344],[172,-587],[-31,-363],[196,-368],[-395,-265],[40,328],[-204,315],[52,450],[-193,-263],[-18,-1322],[-269,89],[76,600],[-92,510],[-148,194],[159,646],[-2,435],[113,335],[91,793],[78,196],[157,155],[159,-134],[639,-93],[356,412]],[[85602,52942],[-86,-436],[252,278],[93,-145],[-234,-404],[317,-70],[-39,-275],[-285,-34],[111,-418],[-60,-217],[-266,420],[-70,441],[0,436],[124,607],[143,-183]],[[76528,55067],[173,-186],[381,-17],[224,-675],[402,-518],[225,-590],[136,78],[296,-522],[96,-352],[360,-308],[-115,-539],[287,-193],[140,-722],[206,-68],[125,-491],[-81,-1482],[-72,-35],[-113,189],[-159,-162],[-236,513],[-384,553],[-335,809],[-223,1020],[-192,527],[-131,100],[-168,958],[-243,274],[-16,262],[-604,1129],[-95,324],[116,124]],[[75774,59507],[77,368],[75,-234],[-96,-591],[-76,-702],[-44,254],[-5,254],[69,651]],[[45544,90163],[551,-181],[196,-547],[-332,-500],[-459,-356],[-704,-225],[-677,276],[-245,490],[-514,13],[290,288],[-467,149],[9,445],[432,234],[344,-370],[331,-206],[173,324],[538,-116],[534,282]],[[28693,62468],[227,-91],[195,-176],[-87,-110],[-188,29],[-201,-74],[-184,87],[-255,223],[191,90],[302,22]],[[86383,71299],[208,-118],[82,-379],[-191,-893],[-189,-213],[-121,140],[-12,488],[70,165],[-59,261],[-107,-80],[-75,298],[394,331]],[[87266,71631],[200,-128],[-192,-514],[-182,110],[-195,-318],[-125,334],[125,300],[189,-13],[180,229]],[[89242,75658],[221,-1044],[-270,-674],[-16,-572],[-132,-631],[77,-311],[-254,-481],[-41,234],[-435,-346],[-377,15],[-207,-546],[-257,32],[63,410],[-287,104],[-280,-211],[-646,-185],[-7,203],[575,690],[422,77],[333,-120],[255,1009],[158,145],[44,-313],[219,113],[330,568],[171,769],[-53,625],[192,276],[202,164]],[[89448,78021],[260,142],[216,-915],[474,-33],[-21,-435],[-478,-369],[-115,-420],[-429,272],[-239,-116],[56,-299],[-226,-163],[-92,727],[359,275],[235,1334]],[[72335,57431],[266,-707],[143,-665],[-55,-498],[-303,-310],[-203,509],[-64,1337],[216,334]],[[63708,44875],[164,-544],[151,-1387],[-71,-304],[-164,245],[58,-580],[-97,-717],[-444,-2698],[-215,-1413],[-553,-374],[-307,337],[-90,341],[14,549],[-148,702],[79,533],[270,804],[-149,1416],[253,708],[379,299],[209,293],[493,1029],[66,621],[102,140]],[[56347,96975],[270,-168],[-387,-552],[-419,190],[-159,469],[425,204],[270,-143]],[[54672,97846],[1164,-634],[-561,-177],[-606,-1095],[-859,692],[-836,1033],[1067,144],[500,-516],[131,553]],[[56428,98137],[1113,-303],[-860,-384],[-579,-35],[-936,561],[1262,161]],[[98028,28506],[117,-328],[210,74],[59,-449],[-521,-1156],[-298,-312],[-179,-938],[-296,-387],[-338,-13],[-536,457],[189,866],[712,426],[386,560],[273,982],[222,218]],[[98077,32018],[414,-681],[69,-708],[327,-466],[333,-209],[221,260],[159,-100],[-194,-795],[-266,-201],[-20,-421],[-418,-825],[-148,136],[93,482],[-85,365],[-316,243],[247,370],[76,619],[-230,862],[-375,1030],[113,39]],[[84900,57375],[182,-120],[46,-676],[41,-549],[-113,-563],[-82,449],[-145,-179],[89,-356],[-89,-332],[-175,4],[-253,460],[-16,675],[-160,-132],[-185,70],[-169,-267],[98,593],[408,345],[107,-124],[176,320],[208,45],[32,337]],[[84241,58162],[85,-88],[-151,-1031],[-177,462],[134,162],[109,495]],[[84443,58219],[43,-467],[-171,-321],[128,788]],[[83282,58448],[43,-482],[-273,-475],[-106,-348],[-392,-504],[451,1072],[112,215],[165,522]],[[84567,58432],[150,-38],[68,-649],[-125,-59],[-93,746]],[[83971,58613],[263,-59],[-153,-622],[-207,-84],[97,765]],[[84699,59074],[161,-180],[19,-565],[-89,-101],[-270,830],[179,16]],[[83659,59544],[160,-343],[-141,-327],[-246,751],[227,-81]],[[83585,62533],[316,-12],[134,-838],[-83,-445],[-181,-223],[-55,-359],[98,-641],[161,-82],[44,169],[236,-100],[181,-255],[-94,-127],[223,-349],[-242,-50],[-157,345],[-86,-108],[-238,262],[-112,-15],[-223,89],[1,337],[-153,235],[-75,900],[136,-201],[9,886],[160,582]],[[93002,48680],[307,-595],[-55,-205],[-267,533],[15,267]],[[92286,49425],[-37,-729],[-251,-394],[-435,-92],[-346,302],[13,191],[470,-50],[437,410],[-43,370],[192,-8]],[[91956,50277],[303,-193],[252,-570],[-40,-468],[-70,475],[-176,353],[-219,169],[-50,234]],[[31357,62525],[455,-87],[54,-142],[-80,-170],[-435,57],[-42,228],[48,114]],[[94913,46056],[118,-240],[-56,-154],[-125,107],[-44,207],[107,80]],[[94337,46438],[132,85],[193,-217],[38,-229],[-145,-43],[-157,164],[-61,240]],[[94666,47024],[114,-119],[47,-543],[-142,205],[-19,457]],[[94053,47469],[458,-399],[1,-245],[-385,370],[-74,274]],[[33272,58060],[-85,-539],[-204,216],[-37,386],[326,-63]],[[83787,66367],[48,-241],[-68,-941],[-136,-708],[-133,-29],[-149,725],[36,360],[242,734],[160,100]],[[6742,63469],[205,-219],[275,-342],[-175,-159],[-202,235],[-183,213],[-287,313],[367,-41]],[[4512,83553],[108,-171],[-442,-103],[334,274]],[[12908,84435],[313,-255],[234,-352],[-31,-196],[-353,371],[-163,432]],[[12315,84877],[310,-141],[276,-621],[-586,762]],[[7496,85205],[11,-237],[-319,-447],[-168,396],[476,288]],[[12301,85378],[249,-428],[-444,201],[195,227]],[[12379,85439],[298,-197],[322,-587],[-211,25],[-409,759]],[[3863,86662],[217,-346],[-249,-86],[-430,401],[462,31]],[[2313,88585],[873,-293],[3,-393],[-631,335],[-245,351]],[[96374,43185],[132,-419],[104,-261],[-156,31],[-75,263],[-104,114],[-48,360],[147,-88]],[[26712,78420],[548,-134],[-6,-303],[-587,390],[45,47]],[[32128,78941],[294,-276],[362,-69],[-158,-278],[-432,256],[-66,367]],[[33194,78911],[192,-479],[-163,-304],[-142,-68],[-176,297],[289,554]],[[32185,80609],[625,-343],[-101,-165],[-372,186],[-152,322]],[[34527,81397],[132,-264],[-126,-465],[-3,-359],[172,-75],[146,133],[303,-165],[-125,-389],[187,-46],[-9,-310],[80,-169],[10,-498],[-171,-100],[-196,301],[-275,-128],[-194,-8],[54,366],[-932,12],[-80,184],[198,416],[359,1069],[213,292],[257,203]],[[27379,82581],[256,-343],[-153,-81],[-277,222],[174,202]],[[13140,82904],[235,-48],[260,-414],[232,-385],[-328,238],[-166,187],[-233,422]],[[27295,88162],[-285,-458],[-318,129],[304,342],[299,-13]],[[26253,89737],[961,-529],[510,-617],[-230,-206],[-406,136],[-148,291],[-280,-118],[-247,-539],[-196,360],[-299,146],[206,309],[129,767]],[[29045,91417],[131,-317],[-25,-312],[-299,37],[-251,286],[0,376],[113,179],[331,-249]],[[22491,92265],[926,-399],[-482,-331],[-599,55],[155,675]],[[18279,94063],[1005,-215],[1040,213],[65,234],[481,-333],[74,-533],[295,-926],[378,-402],[102,-516],[-428,-124],[-850,229],[-1269,-368],[-658,25],[-290,366],[-439,42],[-408,397],[905,188],[732,-27],[-539,238],[-1138,-44],[-222,240],[634,204],[-819,144],[-22,210],[650,386],[721,372]],[[27482,94373],[764,9],[462,-466],[-394,69],[-565,-177],[-267,565]],[[25956,94378],[446,-108],[-485,-490],[197,-452],[452,736],[787,234],[290,-884],[801,331],[667,-149],[433,-387],[324,-102],[1142,-613],[346,-492],[125,-314],[209,-571],[511,-331],[606,-426],[-195,-700],[-402,-243],[-375,427],[-408,322],[-114,-516],[658,-867],[77,-708],[-498,55],[-486,186],[1009,-915],[-224,-128],[-1011,514],[-793,618],[-379,421],[-447,30],[-352,-39],[-539,140],[-129,455],[291,131],[617,-119],[348,85],[-142,430],[589,560],[-179,643],[-748,605],[-983,628],[-704,-146],[-106,-172],[-1146,166],[-673,203],[-392,836],[292,769],[693,347]],[[22269,94402],[714,-20],[-69,-406],[248,-233],[15,-483],[-599,-370],[-873,647],[503,328],[-438,304],[499,233]],[[24237,94511],[708,-106],[-192,-607],[-520,-214],[-102,-496],[-416,338],[-173,1041],[695,44]],[[16227,94782],[1310,-270],[429,-349],[-1372,-714],[-104,-432],[-685,-234],[-747,498],[560,1046],[-273,336],[882,119]],[[23779,95386],[361,-517],[-359,-44],[-497,293],[-239,579],[734,-311]],[[22664,95998],[286,-569],[-182,-376],[-638,-7],[-639,279],[-179,553],[538,204],[814,-84]],[[19814,96089],[911,-671],[-172,-348],[-782,9],[-1167,-389],[-390,65],[-856,399],[-147,316],[844,385],[558,-84],[484,-433],[366,163],[-125,286],[476,302]],[[23545,96198],[1054,-185],[843,-512],[1298,13],[1135,-206],[71,-341],[-665,-241],[-2267,43],[-547,242],[-297,513],[-760,379],[135,295]],[[17743,96462],[64,-446],[-1102,-483],[-712,42],[871,781],[879,106]],[[19554,96808],[128,-339],[-824,-92],[-314,334],[1010,97]],[[23271,97132],[547,-621],[-972,170],[-288,480],[713,-29]],[[19065,97493],[407,-412],[-848,-168],[441,580]],[[21206,97538],[1139,-427],[150,-406],[-1369,201],[80,632]],[[23681,99139],[1904,-1311],[-434,-968],[-708,28],[-1281,963],[-170,965],[689,323]],[[30642,99713],[1386,-119],[940,-411],[-938,-464],[-2356,-1067],[-555,-75],[17,-595],[-847,-477],[108,-509],[-1914,89],[-210,-287],[-971,52],[-293,440],[848,54],[-159,495],[243,393],[182,322],[-496,668],[-853,687],[2250,380],[316,236],[3302,188]],[[14497,80889],[115,142],[394,-305],[277,-85],[408,-527],[123,-415],[-327,56],[-337,272],[-354,449],[-299,413]],[[95422,40299],[150,-7],[353,-411],[109,-304],[409,-512],[-47,-211],[-624,659],[-350,786]],[[80745,63447],[155,-128],[-135,-346],[-37,-371],[-269,-333],[-267,228],[-19,444],[207,297],[190,117],[175,92]]],bbox:[-179.9999885408,-89.999999,179.9999885408,83.61347077],transform:{scale:[.0036000357711737114,.001736152059220592],translate:[-179.9999885408,-89.999999]}}},,,function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return handleZoomRect}));var _helpers_math__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(1);var _interface__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(3);var _map_ctrl__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(5);var makeZoomRect=function makeZoomRect(){if(!proj.invert)return;var brush=d3.brush().on("end",brushended);var idleDelay=350;var idleTimeout;function idled(){idleTimeout=null}function brushended(){var s=d3.event.selection;if(!s){if(!idleTimeout){idleTimeout=setTimeout(idled,idleDelay);return idleTimeout}}else{var x_min=s[0][0];var x_max=s[1][0];var y_min=s[1][1];var y_max=s[0][1];var transform=d3.zoomTransform(svg_map);var z_trans=[transform.x,transform.y];var z_scale=transform.k;var pt1=proj.invert([(x_min-z_trans[0])/z_scale,(y_min-z_trans[1])/z_scale]);var pt2=proj.invert([(x_max-z_trans[0])/z_scale,(y_max-z_trans[1])/z_scale]);var path_bounds=path.bounds({type:"MultiPoint",coordinates:[pt1,pt2]});map.select(".brush").call(brush.move,null);var zoom_scale=.95/Object(_helpers_math__WEBPACK_IMPORTED_MODULE_0__["c"])((path_bounds[1][0]-path_bounds[0][0])/w,(path_bounds[1][1]-path_bounds[0][1])/h);svg_map.__zoom.k=zoom_scale;svg_map.__zoom.x=(w-zoom_scale*(path_bounds[1][0]+path_bounds[0][0]))/2;svg_map.__zoom.y=(h-zoom_scale*(path_bounds[1][1]+path_bounds[0][1]))/2;Object(_map_ctrl__WEBPACK_IMPORTED_MODULE_2__["j"])()}}map.append("g").attr("class","brush").call(brush)};function handleZoomRect(){var b=map.select(".brush");if(b.node()){d3.select("#brush_zoom_button").classed("active",false);b.remove()}else{if(d3.select("#info_button").classed("active")){Object(_interface__WEBPACK_IMPORTED_MODULE_1__["g"])()}d3.select("#brush_zoom_button").classed("active",true);makeZoomRect()}}},function(module,__webpack_exports__,__webpack_require__){"use strict";(function(global){__webpack_require__.d(__webpack_exports__,"a",(function(){return makeHeader}));var _map_project__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(27);var _projections__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(11);var _tooltips__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(41);function change_lang(){var new_lang=this.name;if(new_lang!==i18next.language){docCookies.setItem("user_lang",new_lang,31536e3,"/");i18next.changeLanguage(new_lang,(function(){localize(".i18n");Object(_tooltips__WEBPACK_IMPORTED_MODULE_2__["a"])()}));document.getElementById("current_app_lang").innerHTML=new_lang;document.querySelector("html").setAttribute("lang",new_lang);var menu=document.getElementById("menu_lang");if(menu)menu.remove()}}function makeHeader(){var proj_options=d3.select(".header_options_projection").append("div").attr("id","const_options_projection").style("display","inline-flex");var proj_select2=proj_options.append("div").attr("class","styled-select").insert("select").attrs({class:"i18n",id:"form_projection2"}).style("width","calc(100% + 20px)").on("change",_projections__WEBPACK_IMPORTED_MODULE_1__["g"]);for(var i=0;i<_projections__WEBPACK_IMPORTED_MODULE_1__["i"].length;i++){var option=_projections__WEBPACK_IMPORTED_MODULE_1__["i"][i];proj_select2.append("option").attrs({class:"i18n",value:option,"data-i18n":"app_page.projection_name.".concat(option)}).text(_tr("app_page.projection_name.".concat(option)))}proj_select2.node().value="NaturalEarth2";var const_options=d3.select(".header_options_right").append("div").attr("id","const_options").style("display","inline");const_options.append("button").attrs({class:"const_buttons i18n tt",id:"new_project","data-i18n":"[data-ot]app_page.tooltips.new_project","data-ot-fixed":true,"data-ot-remove-elements-on-hide":true,"data-ot-target":true}).html('Load project file').on("click",(function(){window.localStorage.removeItem("magrit_project");window.removeEventListener("beforeunload",_map_project__WEBPACK_IMPORTED_MODULE_0__["b"]);location.reload()}));const_options.append("button").attrs({class:"const_buttons i18n tt","data-i18n":"[data-ot]app_page.tooltips.load_project_file","data-ot-fixed":true,"data-ot-remove-elements-on-hide":true,"data-ot-target":true,id:"load_project"}).html('Load project file').on("click",_map_project__WEBPACK_IMPORTED_MODULE_0__["c"]);const_options.append("button").attrs({class:"const_buttons i18n tt","data-i18n":"[data-ot]app_page.tooltips.save_file","data-ot-fixed":true,"data-ot-remove-elements-on-hide":true,"data-ot-target":true,id:"save_file_button"}).html('Save project to disk').on("click",_map_project__WEBPACK_IMPORTED_MODULE_0__["d"]);const_options.append("button").attrs({class:"const_buttons i18n tt","data-i18n":"[data-ot]app_page.tooltips.documentation","data-ot-fixed":true,"data-ot-remove-elements-on-hide":true,"data-ot-target":true,id:"documentation_link"}).html('Documentation').on("click",(function(){window.open("static/book/index.html","DocWindow","toolbar=yes,menubar=yes,resizable=yes,scrollbars=yes,status=yes").focus()}));const_options.append("button").attrs({class:"const_buttons i18n tt","data-i18n":"[data-ot]app_page.help_box.tooltip_btn","data-ot-fixed":true,"data-ot-remove-elements-on-hide":true,"data-ot-target":true,id:"help_btn"}).html('export_load_preferences').on("click",(function(){if(document.getElementById("menu_lang")){document.getElementById("menu_lang").remove()}var box_content='
'+'

'+_tr("app_page.help_box.version",{version:global._app.version})+"

"+"

"+_tr("app_page.help_box.useful_links")+"

"+'

"+'

"+'

"+'

'+_tr("app_page.help_box.credits")+"

";swal({title:_tr("app_page.help_box.title"),html:box_content,showCancelButton:true,showConfirmButton:false,cancelButtonText:_tr("app_page.common.close"),animation:"slide-from-top",onOpen:function onOpen(){var content=document.getElementsByClassName("about_content")[0];var credit_link=content.querySelector("#credit_link");credit_link.style.fontWeight="bold";credit_link.style.cursor="pointer";credit_link.color="#000";credit_link.onclick=function(){window.open("http://riate.cnrs.fr","RiatePage","toolbar=yes,menubar=yes,resizable=yes,scrollbars=yes,status=yes").focus()};content.querySelector(".btn_doc").onclick=function(){window.open("http://magrit.hypotheses.org/","Carnet hypotheses","toolbar=yes,menubar=yes,resizable=yes,scrollbars=yes,status=yes").focus()};content.querySelector(".btn_contact").onclick=function(){window.open("/contact","ContactWindow","toolbar=yes,menubar=yes,resizable=yes,scrollbars=yes,status=yes").focus()};content.querySelector(".btn_gh").onclick=function(){window.open("https://www.github.com/riatelab/magrit","GitHubPage","toolbar=yes,menubar=yes,resizable=yes,scrollbars=yes,status=yes").focus()}}}).then((function(){return null}),(function(){return null}))}));const_options.append("button").attrs({id:"current_app_lang",class:"const_buttons"}).styles({color:"white","font-size":"14px","vertical-align":"super","font-weight":"bold"}).html(i18next.language).on("click",(function(){if(document.getElementById("menu_lang")){document.getElementById("menu_lang").remove()}else{(function(){var current_lang=i18next.language;var other_langs=current_lang==="en"?["es","fr"]:current_lang==="fr"?["en","es"]:["en","fr"];var actions=[{name:current_lang,callback:change_lang},{name:other_langs[0],callback:change_lang},{name:other_langs[1],callback:change_lang}];var menu=document.createElement("div");menu.style.top="40px";menu.style.right="0px";menu.className="context-menu";menu.id="menu_lang";menu.style.minWidth="30px";menu.style.width="50px";menu.style.background="#000";var list_elems=document.createElement("ul");menu.appendChild(list_elems);var _loop=function _loop(_i){var item=document.createElement("li");var name=document.createElement("span");list_elems.appendChild(item);item.setAttribute("data-index",_i);item.style.textAlign="right";item.style.paddingRight="16px";name.className="context-menu-item-name";name.style.color="white";name.textContent=actions[_i].name;item.appendChild(name);item.onclick=function(){actions[_i].callback();menu.remove()}};for(var _i=0;_i'.concat(_tr("app_page.common.representation"),'\n : \n\n').concat(_tr(["app_page.func_title.",global._app.current_functionnality.name].join("")),"");selec_title.style.display="";if(this.style.filter!=="grayscale(100%)"){this.classList.add("active");this.style.filter="invert(100%) saturate(200%)";if(global._app.targeted_layer_added){var target_layer=Object.getOwnPropertyNames(data_manager.user_data)[0];fields_handler.fill(target_layer)}if(func_name==="flow"&&data_manager.joined_dataset){fields_handler.fill()}}Object(_interface__WEBPACK_IMPORTED_MODULE_1__["t"])("btn_s2b")}))};for(var i=0,len_i=list_fun_ico.length;i=diff_w){w=Object(_helpers_calc__WEBPACK_IMPORTED_MODULE_1__["n"])(h*.70707,0)}else{h=Object(_helpers_calc__WEBPACK_IMPORTED_MODULE_1__["n"])(w/.70707,0)}}else if(this.value==="landscape"){if(Object(_helpers_calc__WEBPACK_IMPORTED_MODULE_1__["n"])(h/w,1)===1.4){var _tmp=h;h=w;w=_tmp}else if(diff_h<=diff_w){w=Object(_helpers_calc__WEBPACK_IMPORTED_MODULE_1__["n"])(h/.70707,0)}else{h=Object(_helpers_calc__WEBPACK_IMPORTED_MODULE_1__["n"])(w*.70707,0)}}Object(_map_ctrl__WEBPACK_IMPORTED_MODULE_4__["a"])([w,h]);Object(_section5__WEBPACK_IMPORTED_MODULE_0__["a"])(this.value)}));var d2=dv4.append("li");d2.append("button").styles({margin:0,padding:0}).attrs({id:"resize_fit",class:"m_elem_right list_elem_section4 button_st4 i18n","data-i18n":"[html]app_page.common.ok"}).on("click",(function(){document.getElementById("btn_s4").click();window.scrollTo(0,0);w=Object(_helpers_math__WEBPACK_IMPORTED_MODULE_2__["f"])(window.innerWidth-361);h=window.innerHeight-55;Object(_map_ctrl__WEBPACK_IMPORTED_MODULE_4__["a"])([w,h]);document.getElementById("map_ratio_select").value="ratio_user"}));d2.append("p").attr("class","list_elem_section4 i18n").attr("data-i18n","[html]app_page.section4.resize_fit");var c=dv4.append("li");c.append("p").attrs({class:"list_elem_section4 i18n","data-i18n":"[html]app_page.section4.map_center_menu"}).style("cursor","pointer");c.append("span").attr("id","map_center_menu_ico").styles({display:"inline-table",cursor:"pointer"});c.on("click",(function(){var sections=document.getElementsByClassName("to_hide");var arg;if(sections[0].style.display==="none"){arg="";document.getElementById("map_center_menu_ico").classList.add("active")}else{arg="none";document.getElementById("map_center_menu_ico").classList.remove("active")}sections[0].style.display=arg;sections[1].style.display=arg;sections[2].style.display=arg;sections[3].style.display=arg}));var c1=dv4.append("li").style("display","none").attr("class","to_hide");c1.append("p").attrs({class:"list_elem_section4 i18n","data-i18n":"[html]app_page.section4.map_center_x"});c1.append("input").attrs({id:"input-center-x",class:"m_elem_right",type:"number",step:"any"}).property("value",Object(_helpers_calc__WEBPACK_IMPORTED_MODULE_1__["n"])(zoom_prop.x,2)).on("change",(function(){svg_map.__zoom.x=+this.value;Object(_map_ctrl__WEBPACK_IMPORTED_MODULE_4__["j"])()}));var c2=dv4.append("li").style("display","none").attr("class","to_hide");c2.append("p").attrs({class:"list_elem_section4 i18n","data-i18n":"[html]app_page.section4.map_center_y"});c2.append("input").attrs({id:"input-center-y",class:"list_elem_section4 m_elem_right",type:"number",step:"any"}).property("value",Object(_helpers_calc__WEBPACK_IMPORTED_MODULE_1__["n"])(zoom_prop.y,2)).on("change",(function(){svg_map.__zoom.y=+this.value;Object(_map_ctrl__WEBPACK_IMPORTED_MODULE_4__["j"])()}));var d=dv4.append("li").style("display","none").attr("class","to_hide");d.append("p").attrs({class:"list_elem_section4 i18n","data-i18n":"[html]app_page.section4.map_scale_k"});d.append("input").attrs({id:"input-scale-k",class:"list_elem_section4 m_elem_right",type:"number",step:"any"}).property("value",(function(){var _k=zoom_prop.k*proj.scale();return _k>2||_k<-2?Object(_helpers_calc__WEBPACK_IMPORTED_MODULE_1__["n"])(_k,2):Object(_helpers_calc__WEBPACK_IMPORTED_MODULE_1__["n"])(_k,Math.round(Object(_helpers_calc__WEBPACK_IMPORTED_MODULE_1__["e"])(_k)/2))})).on("change",(function(){svg_map.__zoom.k=+this.value/proj.scale();Object(_map_ctrl__WEBPACK_IMPORTED_MODULE_4__["j"])()}));var g=dv4.append("li").style("display","none").attr("class","to_hide");g.append("p").attrs({class:"list_elem_section4 i18n","data-i18n":"[html]app_page.section4.canvas_rotation"});g.append("span").style("float","right").html("°");g.append("input").attrs({id:"canvas_rotation_value_txt",class:"without_spinner",type:"number",min:0,max:360,step:"any"}).styles({width:"30px","margin-left":"10px",float:"right"}).property("value",0).on("change",(function(){var val=+this.value,old_value=document.getElementById("form_rotate").value;if(isNaN(val)||val<-361){this.value=old_value;return}else if(val<0&&val>-361){this.value=360+val}else if(val>360){this.value=360}else{this.value=+this.value}Object(_map_ctrl__WEBPACK_IMPORTED_MODULE_4__["g"])(this.value);document.getElementById("form_rotate").value=this.value}));g.append("input").attrs({type:"range",id:"form_rotate",min:0,max:360,step:1}).styles({width:"80px",margin:"0px 10px 5px 15px",float:"right"}).property("value",0).on("input",(function(){Object(_map_ctrl__WEBPACK_IMPORTED_MODULE_4__["g"])(this.value);document.getElementById("canvas_rotation_value_txt").value=this.value}));var g2=dv4.append("li");g2.append("input").styles({margin:0,padding:0}).attrs({id:"autoalign_features",type:"checkbox",class:"m_elem_right list_elem_section4 i18n"}).on("change",(function(){_app.autoalign_features=this.checked}));g2.append("p").attr("class","list_elem_section4 i18n").attr("data-i18n","[html]app_page.section4.autoalign_features");var _i=dv4.append("li").styles({"text-align":"center"});_i.insert("p").styles({clear:"both",display:"block",margin:0}).attrs({class:"i18n","data-i18n":"[html]app_page.section4.layout_features"});var p1=_i.insert("p").styles({display:"inline-block",margin:"auto"});p1.insert("span").insert("img").attrs({id:"btn_arrow",src:"static/img/layout_icons/arrow-01.png",class:"layout_ft_ico i18n tt","data-i18n":"[title]app_page.layout_features_box.arrow"}).on("click",(function(){return Object(_layout_features_helpers__WEBPACK_IMPORTED_MODULE_5__["a"])("arrow")}));p1.insert("span").insert("img").attrs({id:"btn_text_annot",src:"static/img/layout_icons/text-01.png",class:"layout_ft_ico i18n tt","data-i18n":"[title]app_page.layout_features_box.text_annot"}).on("click",(function(){return Object(_layout_features_helpers__WEBPACK_IMPORTED_MODULE_5__["a"])("text_annot")}));if(!window.isIE){p1.insert("span").insert("img").attrs({id:"btn_symbol",src:"static/img/layout_icons/symbols-01.png",class:"layout_ft_ico i18n tt","data-i18n":"[title]app_page.layout_features_box.symbol"}).on("click",(function(){return Object(_layout_features_helpers__WEBPACK_IMPORTED_MODULE_5__["a"])("symbol")}))}p1.insert("span").insert("img").attrs({id:"btn_rectangle",src:"static/img/layout_icons/rect-01.png",class:"layout_ft_ico i18n tt","data-i18n":"[title]app_page.layout_features_box.rectangle"}).on("click",(function(){return Object(_layout_features_helpers__WEBPACK_IMPORTED_MODULE_5__["a"])("rectangle")}));p1.insert("span").insert("img").attrs({id:"btn_ellipse",src:"static/img/layout_icons/ellipse-01.png",class:"layout_ft_ico i18n tt","data-i18n":"[title]app_page.layout_features_box.ellipse"}).on("click",(function(){return Object(_layout_features_helpers__WEBPACK_IMPORTED_MODULE_5__["a"])("ellipse")}));var p2=_i.insert("p").styles({display:"inline-block",margin:"auto"});p2.insert("span").insert("img").attrs({id:"btn_graticule",src:"static/img/layout_icons/graticule-01.png",class:"layout_ft_ico i18n tt","data-i18n":"[title]app_page.layout_features_box.graticule"}).on("click",(function(){return Object(_layout_features_helpers__WEBPACK_IMPORTED_MODULE_5__["a"])("graticule")}));p2.insert("span").insert("img").attrs({id:"btn_north",src:"static/img/layout_icons/north-01.png",class:"layout_ft_ico i18n tt","data-i18n":"[title]app_page.layout_features_box.north_arrow"}).on("click",(function(){return Object(_layout_features_helpers__WEBPACK_IMPORTED_MODULE_5__["a"])("north_arrow")}));p2.insert("span").insert("img").attrs({id:"btn_scale",src:"static/img/layout_icons/scale.png",class:"layout_ft_ico i18n tt","data-i18n":"[title]app_page.layout_features_box.scale"}).on("click",(function(){return Object(_layout_features_helpers__WEBPACK_IMPORTED_MODULE_5__["a"])("scale")}));p2.insert("span").insert("img").attrs({id:"btn_sphere",src:"static/img/layout_icons/sphere-01.png",class:"layout_ft_ico i18n tt","data-i18n":"[title]app_page.layout_features_box.sphere"}).on("click",(function(){return Object(_layout_features_helpers__WEBPACK_IMPORTED_MODULE_5__["a"])("sphere")}))}},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);(function(Promise,global){var i18next__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(31);var i18next_xhr_backend__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(44);var i18next_xhr_backend__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__.n(i18next_xhr_backend__WEBPACK_IMPORTED_MODULE_1__);var loc_i18next__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(45);var loc_i18next__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(loc_i18next__WEBPACK_IMPORTED_MODULE_2__);var _css_style_css__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(64);var _css_style_css__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(_css_style_css__WEBPACK_IMPORTED_MODULE_3__);var _css_discretization_css__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(67);var _css_discretization_css__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(_css_discretization_css__WEBPACK_IMPORTED_MODULE_4__);var _node_modules_alertifyjs_build_css_alertify_min_css__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(69);var _node_modules_alertifyjs_build_css_alertify_min_css__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(_node_modules_alertifyjs_build_css_alertify_min_css__WEBPACK_IMPORTED_MODULE_5__);var _node_modules_alertifyjs_build_css_themes_semantic_min_css__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(71);var _node_modules_alertifyjs_build_css_themes_semantic_min_css__WEBPACK_IMPORTED_MODULE_6___default=__webpack_require__.n(_node_modules_alertifyjs_build_css_themes_semantic_min_css__WEBPACK_IMPORTED_MODULE_6__);var _interface__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(3);var _helpers__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(0);var _helpers_math__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(1);var _map_ctrl__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(5);var _tooltips__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(41);function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}function _iterableToArrayLimit(arr,i){if(!(Symbol.iterator in Object(arr)||Object.prototype.toString.call(arr)==="[object Arguments]")){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}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}Promise.config({warnings:true,longStackTraces:true});global.i18next=i18next__WEBPACK_IMPORTED_MODULE_0__["default"];global._tr=function(){return i18next__WEBPACK_IMPORTED_MODULE_0__["default"].t.apply(i18next__WEBPACK_IMPORTED_MODULE_0__["default"],arguments)};global.encodeId=function(layer_name){return layer_name!==""?"L_".concat(layer_name.replace(/[^a-zA-Z0-9_-]/g,(function(match){return"_".concat(match[0].charCodeAt(0).toString(16),"_")}))):"L_"};global._app={current_functionnality:undefined,current_proj_name:"NaturalEarth2",custom_palettes:new Map,default_symbols:[],existing_lang:["en","es","fr"],layer_to_id:new Map([["World",encodeId("World")],["Graticule",encodeId("Graticule")]]),legendRedrawTimeout:null,id_to_layer:new Map([[encodeId("World"),"World"],[encodeId("Graticule"),"Graticule"]]),targeted_layer_added:false,to_cancel:undefined,version:"0.8.12"};global.w=Object(_helpers_math__WEBPACK_IMPORTED_MODULE_9__["f"])(window.innerWidth-361);global.h=window.innerHeight-55;global.proj=d3.geoNaturalEarth2().scale(1).translate([0,0]);global.path=d3.geoPath().projection(proj).pointRadius(4);global.t=proj.translate();global.s=proj.scale();global.data_manager={current_layers:{},dataset_name:null,joined_dataset:[],field_join_map:[],result_data:{},user_data:{}};function parseQuery(search){var args=search.substring(1).split("&");var argsParsed={};var arg,kvp,key,value;for(var i=0;i-1?lang:"en";document.querySelector("html").setAttribute("lang",lang);Promise.all([loadI18next(lang),getEpsgProjection(),getSampleLayers()]).then((function(results){var _results=_slicedToArray(results,3),tr=_results[0],epsg_proj=_results[1],sample_layers=_results[2];global.localize=loc_i18next__WEBPACK_IMPORTED_MODULE_2___default.a.init(i18next__WEBPACK_IMPORTED_MODULE_0__["default"]);_app.epsg_projections=JSON.parse(epsg_proj);_app.sample_layers=JSON.parse(sample_layers);Object(_interface__WEBPACK_IMPORTED_MODULE_7__["s"])(params.reload);localize(".i18n");Object(_tooltips__WEBPACK_IMPORTED_MODULE_11__["a"])()}))["catch"]((function(e){swal({title:_tr("app_page.common.error"),text:_tr("app_page.common.error_loading_page"),type:"error",customClass:"swal2_custom",allowOutsideClick:false,allowEscapeKey:false})}))})();global.get_map_xy0=function(){var bbox=svg_map.getBoundingClientRect();return{x:bbox.left,y:bbox.top}};global.get_bounding_rect=function(elem){var _get_map_xy=get_map_xy0(),x=_get_map_xy.x,y=_get_map_xy.y;var bbox=elem.getBoundingClientRect();var a={x:bbox.left-x,y:bbox.top-y,width:bbox.width?bbox.width:bbox.right-bbox.left,height:bbox.height?bbox.height:bbox.bottom-bbox.top};a.left=a.x;a.top=a.y;return a};global.helper_esc_key_twbs_cb=function helper_esc_key_twbs_cb(_event,callback){var evt=_event||window.event;var isEscape="key"in evt?evt.key==="Escape"||evt.key==="Esc":evt.keyCode===27;if(isEscape){evt.stopPropagation();if(callback){callback()}}}}).call(this,__webpack_require__(21),__webpack_require__(19))},,,,,,,function(module,exports,__webpack_require__){var content=__webpack_require__(65);if(typeof content==="string")content=[[module.i,content,""]];var transform;var insertInto;var options={hmr:true};options.transform=transform;options.insertInto=undefined;var update=__webpack_require__(35)(content,options);if(content.locals)module.exports=content.locals;if(false){}},function(module,exports,__webpack_require__){exports=module.exports=__webpack_require__(34)(false);exports.push([module.i,'body {\n height:100%;\n width:100%;\n margin:0px;\n padding:0px;\n color: black;\n background: #e3e3da;\n -webkit-text-rendering: optimizeLegibility;\n -moz-text-rendering: optimizeLegibility;\n text-rendering: optimizeLegibility;\n}\n\nselect {\n padding: .4em;\n background: #efefef;\n border-radius: 0px;\n border-color: rgb(169,169,169);\n border-width: 1px;\n}\n\n/* Style for sliders */\ninput[type=range] {\n -webkit-appearance: none;\n width: 100%;\n margin: 9px 5px 9px 0;\n}\ninput[type=range]:focus {\n outline: none;\n}\ninput[type=range]::-webkit-slider-runnable-track {\n width: 100%;\n height: 4px;\n cursor: pointer;\n box-shadow: 1px 1px 2px #000000, 0px 0px 1px #0d0d0d;\n background: #3071a9;\n border-radius: 1.4px;\n border: 0.2px solid #010101;\n}\ninput[type=range]::-webkit-slider-thumb {\n box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;\n border: 0.5px solid #000000;\n height: 18px;\n width: 8px;\n border-radius: 3px;\n background: #ffffff;\n cursor: pointer;\n -webkit-appearance: none;\n margin-top: -9.2px;\n}\ninput[type=range]:focus::-webkit-slider-runnable-track {\n background: #367ebd;\n}\ninput[type=range]::-moz-range-track {\n width: 100%;\n height: 4px;\n cursor: pointer;\n box-shadow: 1px 1px 2px #000000, 0px 0px 1px #0d0d0d;\n background: #3071a9;\n border-radius: 1.4px;\n border: 0.2px solid #010101;\n}\ninput[type=range]::-moz-range-thumb {\n box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;\n border: 0.5px solid #000000;\n height: 18px;\n width: 8px;\n border-radius: 3px;\n background: #ffffff;\n cursor: pointer;\n}\ninput[type=range]::-ms-track {\n width: 100%;\n height: 4px;\n cursor: pointer;\n background: transparent;\n border-color: transparent;\n color: transparent;\n}\ninput[type=range]::-ms-fill-lower {\n background: #2a6495;\n border: 0.2px solid #010101;\n border-radius: 2.8px;\n box-shadow: 1px 1px 2px #000000, 0px 0px 1px #0d0d0d;\n}\ninput[type=range]::-ms-fill-upper {\n background: #3071a9;\n border: 0.2px solid #010101;\n border-radius: 2.8px;\n box-shadow: 1px 1px 2px #000000, 0px 0px 1px #0d0d0d;\n}\ninput[type=range]::-ms-thumb {\n box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;\n border: 0.5px solid #000000;\n height: 18px;\n width: 8px;\n border-radius: 3px;\n background: #ffffff;\n cursor: pointer;\n height: 4px;\n}\ninput[type=range]:focus::-ms-fill-lower {\n background: #3071a9;\n}\ninput[type=range]:focus::-ms-fill-upper {\n background: #367ebd;\n}\n/* End of style for sliders */\n\n#header {\n width: 100%;\n height: 40px;\n font-weight: bold;\n color: rgb(0, 0, 0);\n box-sizing: border-box;\n background-color : #000;\n line-height: 30px;\n text-align: left;\n font-family: "Inconsolata", Verdana, Tahoma;\n letter-spacing: 3px;\n}\n\n#menu {\n position: absolute;\n padding: 5px 2.5px 5px 2.5px;\n width: 345px;\n font-size: 12px;\n}\n\n#map {\n padding: 0px;\n left: 355px;\n margin-top: 5px;\n background-color: white;\n position: relative;\n border: 1px solid lightgrey;\n}\n\nh1.menu {\n color:#2e91ce;\n font-size:15px;\n}\n.icon {\n box-sizing: border-box;\n padding:10px;\n box-sizing: border-box;\n text-align:center;\n vertical-align:middle;\n display:inline-block;\n}\n\nh1 {\n font-family: \'Enriqueta\', arial, serif;\n line-height: 1.25;\n margin: 0 0 10px;\n font-size: 40px;\n font-weight: bold;\n}\n\nh2 {\n font-family: \'Enriqueta\', arial, serif;\n font-size: 16px;\n color : #2e91ce;\n font-weight: bold;\n}\n\nh3 {\n font-family: \'Enriqueta\', arial, serif;\n font-size: 13px;\n color : #2e91ce;\n font-weight: bold;\n}\n\n/* a.menu {\n line-height:30px;\n color: white;\n} */\n\n/* Styles for menu located on the left of the interface */\n#section1 {\n padding: 0.9em 0.3em 0.8em 0.2em;\n font-size: 12px !important;\n}\n\n#section2 {\n padding: 2px 8px 10px 8px;\n}\n\n#section2 input[type="text"], #section2 input[type="number"], #section2 input[type="color"] {\n position: absolute;\n right: 33px;\n margin: auto;\n min-width: 40px;\n font-size: 12px;\n}\n\n.params_section2.inactive {\n display: none;\n}\n\np.params_section2 {\n margin: 15px 0;\n clear: both;\n}\n\np.params_section2:first-of-type {\n margin-top: 9px;\n}\n\np.params_section2 > span {\n vertical-align: -moz-middle-with-baseline;\n}\n\np.params_section2 > p {\n margin: auto;\n}\n\np.params_section2 > select {\n position: relative;\n float: right;\n margin-bottom: 7.5px;\n min-width: 40px;\n font-size: 12px;\n right: 20px;\n max-width: 280px;\n}\n\n#section3 {\n padding: 0.8em 0.5em 0.8em 0.5em;\n}\n\n#section4 {\n font-size: 12px;\n padding: 0.8em 1.2em 0.8em 1.2em;\n}\n\nul.config_map_options {\n display: inline-block;\n line-height: 17px;\n list-style: outside none none;\n margin-top: 0px;\n padding: 0px;\n width: 100%;\n}\n\n.config_map_options li {\n margin: 1px;\n padding: 4px;\n\n}\n\nli.to_hide {\n margin-left: 8px;\n}\n\nli.to_hide > input[type="number"] {\n width: 80px;\n}\n\n.list_elem_section4 {\n display: inline-flex;\n margin: 2px;\n}\n\n#section5 {\n padding: 0.8em 1.2em 0.8em 1.2em;\n}\n\n#section5 input[type="text"], #section5 input[type="number"], #section5 select {\n margin-left: 5px;\n}\n/* End of styles for menu located on the left of the interface */\n\n/* Style for the two overlay div */\n#overlay {\n width: 100%;\n height: 100%;\n position: fixed;\n z-index: 0;\n top: 0;\n left: 0;\n background: rgba(227, 227, 218, 0.5);\n font-family: Arimo;\n text-align: center;\n font-size: 20px;\n}\n\n.overlay_drop {\n background: black none repeat scroll 0% 0%;\n font-family: Arimo;\n font-size: 20px;\n font-weight: 800;\n height: 98%;\n width: 99%;\n left: 0;\n top: 0;\n opacity: 0.6;\n padding: 10px;\n position: fixed;\n text-align: center;\n z-index: 0;\n}\n\n.overlay_drop.inner {\n border: 2px dashed white;\n margin: 10px;\n background: rgba(0, 0, 0, 0.33) none repeat scroll 0% 0%;\n border-radius: 1%;\n}\n\n.overlay_drop.inner > p {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translateX(-50%) translateY(-50%);\n font-size: 14px;\n width: auto;\n bottom: 0px;\n opacity: 0.85;\n text-align: center;\n color: white;\n padding: 0.5em;\n}\n/* End of style for the two overlay div */\n\n/* Styles for buttons located on the left of the map */\n.light-menu {\n bottom: 0px;\n position: absolute;\n right: 0px;\n}\n\np.cont_map_btn {\n margin: auto;\n}\n\n.cont_map_btn > button {\n display: block;\n font-size: 1.1em;\n font-weight: bold;\n text-align: center;\n margin: 0 3px 0 0;\n color: #ccc;\n background-color: #555;\n background: -webkit-linear-gradient(#888,#555);\n background: linear-gradient(#888,#555);\n border: 0 none;\n border-radius: 3px;\n text-shadow: 0 -1px 0 #000;\n box-shadow: 1px 0 0 #666,4px 0 0 #444,5px 0 0 rgba(0,0,0,0.6);\n cursor: pointer;\n -webkit-transition: all 150ms ease;\n transition: all 150ms ease;\n width: 30px;\n height: 30px;\n}\n\n.cont_map_btn > button:hover {\n color: #fff; text-shadow: 0 -1px 0 #444, 0 0 5px #ffd, 0 0 8px #fff;\n}\n\n.cont_map_btn > button.active, .cont_map_btn > button:active\n{\n color: #fff;\n text-shadow: 0 -1px 0 #444,0 0 5px #ffd,0 0 8px #fff;\n box-shadow: none;\n -webkit-transform: translateX(5px);\n transform: translateX(2px);\n -webkit-animation: none;\n animation: none;\n background: linear-gradient(#555,#444);\n width: 32px;\n margin: 0;\n}\n/* End of styles for button located on the left of the map */\n\n/* Styles for elements located in the header */\n.header_options_right {\n clear: both;\n float: right;\n display:inline;\n color: #99a8c4;\n font-size:12px;\n margin: auto;\n}\n\n.header_options_projection {\n position: absolute;\n left: 350px;\n top: 0px;\n color: #99a8c4;\n margin: auto;\n}\n\na.logo {\n position: absolute;\n left : 0px;\n top : 0px;\n height:30px;\n padding:0px;\n vertical-align:middle;\n font-weight : bold;\n font-family: \'Helvetica Neue\', sans-serif;\n font-size: 20px;\n margin-left:5px\n}\n\n.const_buttons {\n background: transparent;\n border-color:transparent;\n border-radius: 10%;\n cursor: pointer;\n height: 30px;\n margin-top: 5px;\n}\n\n.styled-select {\n background: url(/static/img/arrow_select.png) no-repeat 100% 0;\n height: 29px;\n overflow: hidden;\n background-color: #000;\n -webkit-border-radius: 20px;\n -moz-border-radius: 20px;\n border-radius: 20px;\n margin-top: 3px;\n letter-spacing: 1.5px;\n}\n\n.styled-select select {\n background: transparent;\n border: none;\n font-size: 14px;\n height: 29px;\n padding: 5px;\n width: 340px;\n color: #fff;\n}\n\n#form_projection2 * {\n background-color: black;\n}\n/* End of styles for elements located in the header */\n\n\n#trash_button,#zoom_fit_button,.style_button,\n.style_target_layer,#legend_button,.active_button,#browse_data_button {\n margin-left: 1.5px;\n float: right;\n}\n\n#replace_button {\n float: left;\n margin-left: 1.5px;\n margin-top: 2px;\n}\n\n.ico_type {\n margin-top: 2px;\n margin-right: 3px;\n float: left;\n}\n\n.popup.active {\n background: rgba(220, 220, 220, 0.94) none repeat scroll 0% 0%;\n border: 3px;\n padding: 20px;\n color: black;\n border-radius: 2%;\n font: 12px "Enriqueta", arial, sans-serif;\n}\n\n#info_features {\n position: absolute;\n cursor: default;\n right: 34px;\n top: 45px;\n border-radius: 9px;\n background-color: rgba(255, 255, 255, 0.5);\n border: 1px solid #999;\n font: 14px \'Source Sans Pro\', Helvetica, sans-serif;\n padding-right:20px;\n padding-left:20px;\n color:black;\n}\n\n#sortable {\n list-style-type:none;\n margin:auto;\n padding:0;\n width:100%;\n border-radius:10%\n}\n\n#sortable li {\n margin: 5px 0 5px 0;\n padding: 5px;\n font-size: 10.5px;\n line-height: 1.75em;\n font-weight: bold;\n background: #ffffff;\n border-radius: 4%;\n border: unset;\n color: black;\n cursor: pointer;\n overflow-y: auto;\n}\n\n#sortable li.sortable_target {\n background: #fff8ac;\n}\n\n#sortable li.sortable_target:hover {\n background: #f3ec9e;\n}\n\n#sortable li:hover{\n background: #e8e8e8;\n}\n\n#table_intro{\n margin: 0 !important;\n text-align: center;\n}\n\n.dataTable-sorter::before, .dataTable-sorter::after {\n position: unset !important;\n}\n\n.dataTable-table > thead > tr > th {\n vertical-align: middle;\n}\n\n.dataTable-table a.dataTable-sorter {\n margin: 3px 5px;\n}\n\n.button_sys_run {\n border-color: transparent;\n color: transparent;\n background-color: transparent;\n}\n\n.noselect {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.zoom_rect{\n fill: transparent;\n stroke: black;\n stroke-width: 0.7px;\n}\n\n.button_disc {\n\tbackground:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #ffffff), color-stop(1, #f6f6f6));\n\tbackground:-moz-linear-gradient(top, #ffffff 5%, #f6f6f6 100%);\n\tbackground:-webkit-linear-gradient(top, #ffffff 5%, #f6f6f6 100%);\n\tbackground:-o-linear-gradient(top, #ffffff 5%, #f6f6f6 100%);\n\tbackground:-ms-linear-gradient(top, #ffffff 5%, #f6f6f6 100%);\n\tbackground:linear-gradient(to bottom, #ffffff 5%, #f6f6f6 100%);\n\tbackground-color:#ffffff;\n\t-moz-border-radius:4px;\n\t-webkit-border-radius:4px;\n\tborder-radius:4px;\n\tborder:1px solid #dcdcdc;\n\tdisplay:inline-block;\n\tcursor:pointer;\n\tcolor:black;\n\tfont-family:Arial;\n\tfont-size:12px;\n\tfont-weight:bold;\n\tpadding:4px 13px;\n\ttext-decoration:none;\n}\n.button_disc:hover {\n\tbackground:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #f6f6f6), color-stop(1, #ffffff));\n\tbackground:-moz-linear-gradient(top, #f6f6f6 5%, #ffffff 100%);\n\tbackground:-webkit-linear-gradient(top, #f6f6f6 5%, #ffffff 100%);\n\tbackground:-o-linear-gradient(top, #f6f6f6 5%, #ffffff 100%);\n\tbackground:-ms-linear-gradient(top, #f6f6f6 5%, #ffffff 100%);\n\tbackground:linear-gradient(to bottom, #f6f6f6 5%, #ffffff 100%);\n\tbackground-color:#f6f6f6;\n}\n\n.button_disc:disabled {\n color: #DDDFE4;\n}\n\n.button_disc.active {\n box-shadow: inset 0 0 6px #000;\n}\n\n.button_st3 {\n\t-moz-box-shadow: 0px 1px 0px 0px #91b8b3;\n\t-webkit-box-shadow: 0px 1px 0px 0px #91b8b3;\n\tbox-shadow: 0px 1px 0px 0px #91b8b3;\n\tbackground:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #768d87), color-stop(1, #6c7c7c));\n\tbackground:-moz-linear-gradient(top, #768d87 5%, #6c7c7c 100%);\n\tbackground:-webkit-linear-gradient(top, #768d87 5%, #6c7c7c 100%);\n\tbackground:-o-linear-gradient(top, #768d87 5%, #6c7c7c 100%);\n\tbackground:-ms-linear-gradient(top, #768d87 5%, #6c7c7c 100%);\n\tbackground:linear-gradient(to bottom, #768d87 5%, #6c7c7c 100%);\n\tbackground-color:#768d87;\n\t-moz-border-radius:4px;\n\t-webkit-border-radius:4px;\n\tborder-radius:4px;\n\tborder:1px solid #566963;\n\tdisplay:inline-block;\n\tcursor:pointer;\n\tcolor:#ffffff;\n\tfont-family:Arial;\n\tfont-size:12px;\n\tpadding:3px 16px;\n\ttext-decoration:none;\n\tmargin: 0px 1px 0px 1px\n}\n.button_st3:hover {\n\tbackground:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #6c7c7c), color-stop(1, #768d87));\n\tbackground:-moz-linear-gradient(top, #6c7c7c 5%, #768d87 100%);\n\tbackground:-webkit-linear-gradient(top, #6c7c7c 5%, #768d87 100%);\n\tbackground:-o-linear-gradient(top, #6c7c7c 5%, #768d87 100%);\n\tbackground:-ms-linear-gradient(top, #6c7c7c 5%, #768d87 100%);\n\tbackground:linear-gradient(to bottom, #6c7c7c 5%, #768d87 100%);\n\tbackground-color:#6c7c7c;\n}\n\n.button_st3:disabled {\n border: 1px solid #DDDFE4;\n background: none;\n background-color: #DDDFE4;\n color: #fff;\n box-shadow: none;\n}\n\n.button_st4 {\n background:linear-gradient(to bottom, #3071a9 5%, #002e56 100%);\n background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #3071a9), color-stop(1, #002e56));\n background:-moz-linear-gradient(top, #3071a9 5%, #002e56 100%);\n background:-webkit-linear-gradient(top, #3071a9 5%, #002e56 100%);\n background:-o-linear-gradient(top, #3071a9 5%, #002e56 100%);\n background:-ms-linear-gradient(top, #3071a9 5%, #002e56 100%);\n background-color:#1d5966;\n border-radius: 6px;\n border: 1px solid #1d5966;\n display: inline-block;\n cursor: pointer;\n color: #FFF !important;\n padding: 4px 9px;\n text-decoration: none;\n}\n\n.button_st4:hover {\n background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #dfdfdf), color-stop(1, #ededed));\n background:-moz-linear-gradient(top, #dfdfdf 5%, #ededed 100%);\n background:-webkit-linear-gradient(top, #dfdfdf 5%, #ededed 100%);\n background:-o-linear-gradient(top, #dfdfdf 5%, #ededed 100%);\n background:-ms-linear-gradient(top, #dfdfdf 5%, #ededed 100%);\n background:linear-gradient(to bottom, #dfdfdf 5%, #ededed 100%);\n background-color:#dfdfdf;\n border: 1px solid #dfdfdf;\n}\n\n.without_spinner {\n -moz-appearance: textfield;\n text-align: right;\n border: none;\n border-bottom-style: dashed;\n border-bottom-width: 0.5px;\n}\n\n.without_spinner::-webkit-inner-spin-button,\n.without_spinner::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0; /* Removes leftover margin */\n}\n\n.mini_button_ok {\n -webkit-border-radius: 12;\n -moz-border-radius: 12;\n border-radius: 12px;\n font-family: Arial;\n color: #ffffff;\n font-size: 20px;\n background: #4bc238;\n padding: 3px 10px 3px 10px;\n margin: 5px;\n text-decoration: none;\n display:inline-block;\n}\n\n.mini_button_ok:hover {\n background: #3dbf26;\n background-image: -webkit-linear-gradient(top, #3dbf26, #519e41);\n background-image: -moz-linear-gradient(top, #3dbf26, #519e41);\n background-image: -ms-linear-gradient(top, #3dbf26, #519e41);\n background-image: -o-linear-gradient(top, #3dbf26, #519e41);\n background-image: linear-gradient(to bottom, #3dbf26, #519e41);\n text-decoration: none;\n}\n\n.mini_button_none {\n -webkit-border-radius: 12;\n -moz-border-radius: 12;\n border-radius: 12px;\n font-family: Arial;\n color: #ffffff;\n font-size: 20px;\n background: #ed2828;\n padding: 3px 10px 3px 10px;\n margin: 5px;\n text-decoration: none;\n display:inline-block;\n}\n\n.mini_button_none:hover {\n background: #eb7373;\n background-image: -webkit-linear-gradient(top, #eb7373, #ad0707);\n background-image: -moz-linear-gradient(top, #eb7373, #ad0707);\n background-image: -ms-linear-gradient(top, #eb7373, #ad0707);\n background-image: -o-linear-gradient(top, #eb7373, #ad0707);\n background-image: linear-gradient(to bottom, #eb7373, #ad0707);\n text-decoration: none;\n}\n\n.mini_button_none_orange {\n -webkit-border-radius: 12;\n -moz-border-radius: 12;\n border-radius: 12px;\n font-family: Arial;\n color: #ffffff;\n font-size: 20px;\n background: #ed8228;\n padding: 3px 10px 3px 10px;\n margin: 5px;\n text-decoration: none;\n display:inline-block;\n}\n\n.mini_button_none_orange:hover {\n background: #eb7373;\n background-image: -webkit-linear-gradient(top, #eca366, #e76e09);\n background-image: -moz-linear-gradient(top, #eca366, #e76e09);\n background-image: -ms-linear-gradient(top, #eca366, #e76e09);\n background-image: -o-linear-gradient(top, #eca366, #e76e09);\n background-image: linear-gradient(to bottom, #eca366, #e76e09);\n text-decoration: none;\n}\n\nbutton.accordion, button.accordion_disc, button.accordion_proj {\n background-color: #595959;\n color: #fff;\n cursor: pointer;\n padding: 4px 5px;\n width: 100%;\n border: none;\n text-align: left;\n outline: none;\n font-size: 1.2em;\n transition: 0.4s;\n font-family: Baloo Bhaina;\n margin: 1px;\n}\n\nbutton.accordion:after, button.accordion_disc:after, button.accordion_projc:after {\n content: \'\\02795\';\n font-size: 13px;\n color: #777;\n float: right;\n margin-left: 5px;\n}\n\nbutton.accordion.active:after, button.accordion_disc.active:after, button.accordion_proj.active:after {\n content: "\\2796";\n}\n\n#map_center_menu_ico:after {\n content: \'\\02795\';\n font-size: 14px;\n color: #777;\n margin-left: 4px;\n}\n\n#map_center_menu_ico.active:after {\n content: "\\2796";\n}\n\ndiv.panel {\n font-family: Verdana,Arial,sans-serif;\n font-size: 1.1em;\n color: #222222;\n background: #ffffff;\n overflow: hidden;\n visibility: hidden;\n width: 335px;\n height: 0;\n /* max-height: 0; */\n border: 1px solid #aaaaaa;\n border-top-color: rgb(170, 170, 170);\n border-top-style: solid;\n border-top-width: 1px;\n border-bottom-right-radius: 8px;\n border-bottom-left-radius: 8px;\n transition: all 350ms ease-in-out;\n /* transform: scaleY(0); */\n}\n\ndiv.panel.show {\n height: auto;\n max-height: 775px;\n width: 335px;\n margin: auto;\n margin-bottom: 5px;\n overflow: auto;\n visibility: visible;\n transition: all 350ms ease-in-out;\n /* transform: scaleY(1); */\n}\n\n.panel > div {\n opacity:0;\n}\n.panel.show > div {\n opacity: 1;\n}\n\n.twbs .panel {\n border: 1px solid #aaaaaa;\n border-top-color: rgb(170, 170, 170);\n border-top-style: solid;\n border-top-width: 1px;\n border-bottom-right-radius: 8px;\n border-bottom-left-radius: 8px;\n}\n\n.twbs h3 {\n font-size: 1.2em;\n font-weight: bold;\n margin-top: 4px;\n}\n\n.twbs .modal {\n position: absolute;\n overflow: visible;\n}\n\n.twbs .modal-title {\n margin: 0;\n line-height: 1.42857143;\n font-weight: bold;\n font-size: 1.3em;\n padding: 4px;\n border-top-right-radius: 8px;\n border-top-left-radius: 8px;\n border-bottom-right-radius: 8px;\n border-bottom-left-radius: 8px;\n overflow-wrap: break-word;\n word-wrap: break-word;\n width: 90%;\n}\n\n.twbs .modal-dialog {\n font-family: arimo,Arial,sans-serif;\n font-size: 11px;\n}\n\n.twbs .modal-body > p > span {\n display: inline-block;\n}\n\n.twbs .modal-body > p > input {\n display: inline-block;\n margin: 0px 0px 0px 15px;\n}\n\n.twbs .modal-footer {\n padding: 6px;\n}\n\n.twbs .modal-header {\n padding: 8px;\n background-color: #595959;\n color: white;\n}\n\n.twbs #xclose {\n padding: 1px 2px;\n font-size: 15px;\n margin-right: 5px;\n margin-top: 2px;\n}\n\n.twbs .help-popover {\n max-width: 500px;\n width: 500px;\n}\n\n.twbs .modal-body > p {\n margin: 11px 0 !important;\n clear: both;\n}\n\n.twbs .modal-body > p.inp_bottom {\n margin: 11px 0px 35px 0px !important;\n}\n\n.fitContent {\n width: intrinsic !important;\n width: -moz-max-content !important;\n width: -webkit-max-content !important;\n}\n\nth {\n border: 1px solid #d3d3d3;\n text-align: center !important;\n font-size: 12px;\n}\n\ntr:nth-child(even) {background: #DBDADA}\ntr:nth-child(odd) {background: ##EFECEC;}\n\n.m_elem_right {\n position: absolute;\n right: 20px;\n width: 60px;\n margin-left: 15px;\n font-size: 12px;\n}\n\nselect.m_elem_right {\n width: auto !important;\n}\n\n#export_filename.m_elem_right {\n width: auto !important;\n}\n\np.line_elem {\n display: inline-table;\n width: 100%;\n}\n\np.line_elem2 {\n display: inline-table;\n width: 100%;\n margin: 5px 0 10px;\n}\n\np.line_elem2 > input[type=range] {\n margin: 2px;\n}\n\n\n.styleBox > p > input {\n float: right;\n}\n\n.three_dots {\n background: url(/static/img/3_dots_ico.png) no-repeat;\n height: 20px;\n float: left;\n width: 10px;\n}\n\n.cells path {\n fill: none;\n pointer-events: all;\n}\n\n.cells :hover circle {\n fill: red;\n}\n\nimg.layout_ft_ico {\n width: 27px;\n height: auto;\n margin: 2px;\n -webkit-filter: grayscale(1); /* Webkit Nightlies & Chrome Canary */\n -webkit-transform: scale(0.9);\n -webkit-transition: all .2s;\n}\n\nimg.layout_ft_ico:hover {\n filter: none;\n -webkit-filter: grayscale(0);\n -webkit-transform: scale(1);\n}\n\n.swal2_blue {\n background-color: rgb(48, 133, 214);\n border-left-color: rgb(48, 133, 214);\n border-right-color: rgb(48, 133, 214);\n}\n\n.swal2_custom {\n overflow-wrap: break-word;\n}\n\n.swal2_large {\n min-width: 380px;\n min-height: 310px;\n}\n\n/*#txtwzr_table > tbody > tr > td, #txtwzr_table > thead > tr > th {\n border-top: 1px solid #999;\n padding: 8px;\n vertical-align: top;\n}*/\n\n#box_projection > p {\n clear: both;\n padding: 8px;\n font-size: 13px;\n}\n\n.ctrl_pt {\n fill: red;\n cursor: grab;\n cursor: -webkit-grab;\n}\n\n.ctrl_pt:active {\n fill: red;\n cursor: grabbing;\n cursor: -webkit-grabbing;\n}\n\n.alertify-notifier .ajs-message.ajs-warning {\n background: rgb(228, 144, 83) !important;\n}\n\n.alertify-notifier .ajs-message {\n font: 13px Roboto !important;\n padding: 12px !important;\n}\n\n.alertify-notifier .ajs-message.ajs-warning {\n background: rgb(228, 144, 83) !important;\n}\n\n.alertify-notifier .ajs-message {\n font: 13px Roboto !important;\n padding: 12px !important;\n}\n\n/*#_m_free_draw_layer > path {\n fill: none;\n stroke: #000;\n stroke-width: 3px;\n stroke-linejoin: round;\n stroke-linecap: round;\n}*/\n\n.switch-field {\n font-family: "Lucida Grande", Tahoma, Verdana, sans-serif;\n padding: 20px;\n\toverflow: hidden;\n}\n\n.switch-title {\n text-align: left;\n margin-bottom: 6px;\n}\n\n.switch-field input {\n position: absolute !important;\n clip: rect(0, 0, 0, 0);\n height: 1px;\n width: 1px;\n border: 0;\n overflow: hidden;\n}\n\n.switch-field label {\n float: left;\n}\n\n.switch-field label {\n display: inline-block;\n background-color: #e4e4e4;\n color: rgba(0, 0, 0, 0.6);\n font-size: 13px;\n font-weight: normal;\n text-align: center;\n text-shadow: none;\n padding: 5px 12px;\n border: 1px solid rgba(0, 0, 0, 0.2);\n -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.3), 0 1px rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.3), 0 1px rgba(255, 255, 255, 0.1);\n -webkit-transition: all 0.1s ease-in-out;\n -moz-transition: all 0.1s ease-in-out;\n -ms-transition: all 0.1s ease-in-out;\n -o-transition: all 0.1s ease-in-out;\n transition: all 0.1s ease-in-out;\n margin: 2px;\n}\n\n.switch-field label:hover {\n\tcursor: pointer;\n}\n\n.switch-field input:checked + label {\n background-color: #A5DC86;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n/*\n.switch-field label:first-of-type {\n border-radius: 4px 0 0 4px;\n}\n\n.switch-field label:last-of-type {\n border-radius: 0 4px 4px 0;\n}\n*/\n\n.custom_tooltip {\n position: absolute;\n background: #595959;\n border-radius:4px;\n padding: 6px 12px;\n font-family: arial;\n font-size: 12px;\n text-shadow: 0px 1px 1px #000;\n color: #ffc64a;\n z-index: 1001;\n overflow-wrap: break-word;\n}\n/*\nSpinner adapted from https://github.com/tobiasahlin/SpinKit\nCopyright (c) 2015 Tobias Ahlin (license MIT)\n*/\n.spinner {\n margin: 30px auto;\n width: 50px;\n height: 50px;\n text-align: center;\n font-size: 10px;\n}\n\n.spinner > div {\n background-color: #005327;\n height: 100%;\n width: 6px;\n display: inline-block;\n\n -webkit-animation: sk-stretchdelay 1.2s infinite ease-in-out;\n animation: sk-stretchdelay 1.2s infinite ease-in-out;\n}\n\n.spinner .rect2 {\n -webkit-animation-delay: -1.1s;\n animation-delay: -1.1s;\n}\n\n.spinner .rect3 {\n -webkit-animation-delay: -1.0s;\n animation-delay: -1.0s;\n}\n\n.spinner .rect4 {\n -webkit-animation-delay: -0.9s;\n animation-delay: -0.9s;\n}\n\n.spinner .rect5 {\n -webkit-animation-delay: -0.8s;\n animation-delay: -0.8s;\n}\n\n@-webkit-keyframes sk-stretchdelay {\n 0%, 40%, 100% { -webkit-transform: scaleY(0.4) }\n 20% { -webkit-transform: scaleY(1.0) }\n}\n\n@keyframes sk-stretchdelay {\n 0%, 40%, 100% {\n transform: scaleY(0.4);\n -webkit-transform: scaleY(0.4);\n } 20% {\n transform: scaleY(1.0);\n -webkit-transform: scaleY(1.0);\n }\n}\n\n.opts_lgd_layout {\n margin: 2px;\n cursor: pointer;\n}\n\n.opts_lgd_layout.selected:before {\n content: "\\2713 ";\n font-weight: 800;\n font-size: 1.75em;\n}\n\np.breaks_vals > input[type="number"] {\n width: 70px !important;\n margin: 1px !important;\n height: 1em !important;\n}\n\np.breaks_vals > input[type="number"].size_class {\n width: 60px !important;\n}\n\n#sizes_div > div > p.breaks_vals > input[type="number"] {\n width: 70px !important;\n margin: 1px !important;\n height: 2.5em !important;\n}\n\n\n/* Styles for modal box allowing to choose the type of each field */\n#fields_select {\n display: grid;\n}\n\n#fields_select > li {\n background: transparent;\n /* background: aliceblue; */\n padding: 5px;\n line-height: 2em;\n}\n\n#fields_select > li:nth-child(odd) {\n background: lightgray;\n}\n\n#fields_select > li:first-child {\n border-top-left-radius: 3px 3px;\n border-top-right-radius: 3px 3px;\n}\n\n#fields_select > li:last-child {\n border-bottom-left-radius: 3px 3px;\n border-bottom-right-radius: 3px 3px;\n}\n/* End of styles for modal box allowing to choose the type of each field */\n\n/* Style for left menu section 1 */\nimg#remove_target, img#downgrade_target, img#table_layer_s1, img#remove_dataset, img#table_dataset_s1 {\n margin: 10px 5px 0 0;\n float: right;\n opacity: 1;\n}\n\nimg#remove_target, img#remove_dataset {\n opacity: 0.5;\n}\n\nimg#remove_target:hover, img#remove_dataset:hover {\n opacity: 1;\n}\n\n#join_button {\n border-color: transparent;\n background-color: transparent;\n}\n/* End of style for left menu section 1 */\n',""])},,function(module,exports,__webpack_require__){var content=__webpack_require__(68);if(typeof content==="string")content=[[module.i,content,""]];var transform;var insertInto;var options={hmr:true};options.transform=transform;options.insertInto=undefined;var update=__webpack_require__(35)(content,options);if(content.locals)module.exports=content.locals;if(false){}},function(module,exports,__webpack_require__){exports=module.exports=__webpack_require__(34)(false);exports.push([module.i,"#discretization_panel {\n float: left;\n font-size: 11px;\n margin: 15px 0 0 27.5px;\n}\n\n#ref_histo_box {\n float: right;\n margin-top: 11px;\n font-size: 10.5px;\n}\n\nlabel_it_inline {\n font-size: 10px;\n display: inline;\n}\n\n#svg_discretization .y_axis, #svg_discretization .x_axis {\n stroke-width: 0.2;\n}\n\n.btn_mean {\n background: #3498db;\n background-image: -webkit-linear-gradient(top, #3498db, #2980b9);\n background-image: -moz-linear-gradient(top, #3498db, #2980b9);\n background-image: -ms-linear-gradient(top, #3498db, #2980b9);\n background-image: -o-linear-gradient(top, #3498db, #2980b9);\n background-image: linear-gradient(to bottom, #3498db, #2980b9);\n -webkit-border-radius: 28;\n -moz-border-radius: 28;\n border-radius: 28px;\n font-family: Arial;\n color: #ffffff !important;\n font-size: 14px;\n padding: 10px 17px 10px 17px;\n text-decoration: none;\n}\n\n.btn_mean.active {\n border: solid #1f628d 3px;\n}\n\n.btn_mean:hover {\n background: #3cb0fd;\n background-image: -webkit-linear-gradient(top, #3cb0fd, #3498db);\n background-image: -moz-linear-gradient(top, #3cb0fd, #3498db);\n background-image: -ms-linear-gradient(top, #3cb0fd, #3498db);\n background-image: -o-linear-gradient(top, #3cb0fd, #3498db);\n background-image: linear-gradient(to bottom, #3cb0fd, #3498db);\n text-decoration: none;\n}\n\n.btn_median {\n background: #64d95e;\n background-image: -webkit-linear-gradient(top, #64d95e, #53ba4e);\n background-image: -moz-linear-gradient(top, #64d95e, #53ba4e);\n background-image: -ms-linear-gradient(top, #64d95e, #53ba4e);\n background-image: -o-linear-gradient(top, #64d95e, #53ba4e);\n background-image: linear-gradient(to bottom, #64d95e, #53ba4e);\n -webkit-border-radius: 28;\n -moz-border-radius: 28;\n border-radius: 28px;\n font-family: Arial;\n color: #ffffff !important;\n font-size: 14px;\n padding: 10px 17px 10px 17px;\n text-decoration: none;\n}\n\n.btn_median.active {\n border: solid #43963f 3px;\n}\n\n.btn_median:hover {\n background: #7afc74;\n background-image: -webkit-linear-gradient(top, #7afc74, #62db5c);\n background-image: -moz-linear-gradient(top, #7afc74, #62db5c);\n background-image: -ms-linear-gradient(top, #7afc74, #62db5c);\n background-image: -o-linear-gradient(top, #7afc74, #62db5c);\n background-image: linear-gradient(to bottom, #7afc74, #62db5c);\n text-decoration: none;\n}\n\n.btn_population {\n background: #d93434;\n background-image: -webkit-linear-gradient(top, #d93434, #b82b2b);\n background-image: -moz-linear-gradient(top, #d93434, #b82b2b);\n background-image: -ms-linear-gradient(top, #d93434, #b82b2b);\n background-image: -o-linear-gradient(top, #d93434, #b82b2b);\n background-image: linear-gradient(to bottom, #d93434, #b82b2b);\n -webkit-border-radius: 28;\n -moz-border-radius: 28;\n border-radius: 28px;\n font-family: Arial;\n color: #ffffff !important;\n font-size: 14px;\n padding: 10px 17px 10px 17px;\n text-decoration: none;\n}\n\n.btn_population.active {\n border: solid #8c1f1f 3px;\n}\n\n.btn_population:hover {\n background: #fc3c3c;\n background-image: -webkit-linear-gradient(top, #fc3c3c, #d9343c);\n background-image: -moz-linear-gradient(top, #fc3c3c, #d9343c);\n background-image: -ms-linear-gradient(top, #fc3c3c, #d9343c);\n background-image: -o-linear-gradient(top, #fc3c3c, #d9343c);\n background-image: linear-gradient(to bottom, #fc3c3c, #d9343c);\n text-decoration: none;\n}\n\n.btn_stddev {\n background: #d6d934;\n background-image: -webkit-linear-gradient(top, #d6d934, #afb82c);\n background-image: -moz-linear-gradient(top, #d6d934, #afb82c);\n background-image: -ms-linear-gradient(top, #d6d934, #afb82c);\n background-image: -o-linear-gradient(top, #d6d934, #afb82c);\n background-image: linear-gradient(to bottom, #d6d934, #afb82c);\n -webkit-border-radius: 28;\n -moz-border-radius: 28;\n border-radius: 28px;\n font-family: Arial;\n color: #ffffff !important;\n font-size: 14px;\n padding: 10px 17px 10px 17px;\n text-decoration: none;\n}\n\n.btn_stddev.active {\n border: solid #838a20 3px;\n}\n\n.btn_stddev:hover {\n background: #edfa3c;\n background-image: -webkit-linear-gradient(top, #edfa3c, #d6d934);\n background-image: -moz-linear-gradient(top, #edfa3c, #d6d934);\n background-image: -ms-linear-gradient(top, #edfa3c, #d6d934);\n background-image: -o-linear-gradient(top, #edfa3c, #d6d934);\n background-image: linear-gradient(to bottom, #edfa3c, #d6d934);\n text-decoration: none;\n}\n\n/* Styles for list of elements in categorical / picto panel */\nli.typo_class:first-child {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n}\n\nli.typo_class:last-child {\n border-bottom-left-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n\nli.typo_class {\n border: 1px solid #ddd;\n padding: 4px;\n cursor: grab;\n}\n\nli.typo_class > p.color_square {\n cursor: pointer;\n}\n\nli.typo_class > p.symbol_section {\n cursor: pointer;\n}\n/* End of styles for list of elements in categorical / picto panel */\n",""])},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(module,exports,__webpack_require__){var content=__webpack_require__(112);if(typeof content==="string")content=[[module.i,content,""]];var transform;var insertInto;var options={hmr:true};options.transform=transform;options.insertInto=undefined;var update=__webpack_require__(35)(content,options);if(content.locals)module.exports=content.locals;if(false){}},function(module,exports,__webpack_require__){exports=module.exports=__webpack_require__(34)(false);exports.push([module.i,".context-menu {\n\tfont-family: Arial, sans;\n\tposition: absolute;\n\tbackground: white;\n\tborder: 1px solid #c3c3c3;\n\tborder-radius: 5px;\n\tbox-shadow: 0 5px 5px #c3c3c3;\n\tpadding-top: 5px;\n\tpadding-bottom: 5px;\n\tmin-width: 200px;\n\tfont-size: 12pt;\n}\n\n.context-menu ul {\n\tlist-style: none;\n\tpadding-left: 0;\n\tmargin: 0;\n}\n\n.context-menu li {\n\tposition: relative;\n\tpadding-left: 20px;\n\tpadding-right: 30px;\n\tcursor: default;\n}\n\n.context-menu li:hover {\n\t//background: #b1b1ff;\n background: rgba(145, 209, 230, 0.52);\n color: rgb(0,0,0);\n}\n\n.context-menu li span.arrow {\n\tposition: absolute;\n\tfont-size: 0.8em;\n\tright: 10px;\n}\n\n.context-menu li div.context-menu {\n\tleft: 100%;\n\ttop: -5px;\n}",""])}]); \ No newline at end of file diff --git a/client/dist/d3-custom.min.js b/client/dist/d3-custom.min.js index 7b78ec513..9c53f802a 100644 --- a/client/dist/d3-custom.min.js +++ b/client/dist/d3-custom.min.js @@ -1 +1 @@ -var d3=function(modules){var installedModules={};function __webpack_require__(moduleId){if(installedModules[moduleId]){return installedModules[moduleId].exports}var module=installedModules[moduleId]={i:moduleId,l:false,exports:{}};modules[moduleId].call(module.exports,module,module.exports,__webpack_require__);module.l=true;return module.exports}__webpack_require__.m=modules;__webpack_require__.c=installedModules;__webpack_require__.d=function(exports,name,getter){if(!__webpack_require__.o(exports,name)){Object.defineProperty(exports,name,{enumerable:true,get:getter})}};__webpack_require__.r=function(exports){if(typeof Symbol!=="undefined"&&Symbol.toStringTag){Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"})}Object.defineProperty(exports,"__esModule",{value:true})};__webpack_require__.t=function(value,mode){if(mode&1)value=__webpack_require__(value);if(mode&8)return value;if(mode&4&&typeof value==="object"&&value&&value.__esModule)return value;var ns=Object.create(null);__webpack_require__.r(ns);Object.defineProperty(ns,"default",{enumerable:true,value});if(mode&2&&typeof value!="string")for(var key in value)__webpack_require__.d(ns,key,function(key){return value[key]}.bind(null,key));return ns};__webpack_require__.n=function(module){var getter=module&&module.__esModule?function getDefault(){return module["default"]}:function getModuleExports(){return module};__webpack_require__.d(getter,"a",getter);return getter};__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property)};__webpack_require__.p="";return __webpack_require__(__webpack_require__.s=13)}([function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);var adder=function(){return new Adder};function Adder(){this.reset()}Adder.prototype={constructor:Adder,reset:function(){this.s=this.t=0},add:function(y){add(temp,y,this.t);add(this,temp.s,this.s);if(this.s)this.t+=temp.t;else this.s=temp.t},valueOf:function(){return this.s}};var temp=new Adder;function add(adder,a,b){var x=adder.s=a+b,bv=x-a,av=x-bv;adder.t=a-av+(b-bv)}var epsilon=1e-6;var epsilon2=1e-12;var pi=Math.PI;var halfPi=pi/2;var quarterPi=pi/4;var tau=pi*2;var degrees=180/pi;var radians=pi/180;var abs=Math.abs;var atan=Math.atan;var atan2=Math.atan2;var cos=Math.cos;var ceil=Math.ceil;var exp=Math.exp;var floor=Math.floor;var log=Math.log;var pow=Math.pow;var sin=Math.sin;var math_sign=Math.sign||function(x){return x>0?1:x<0?-1:0};var sqrt=Math.sqrt;var tan=Math.tan;function acos(x){return x>1?0:x<-1?pi:Math.acos(x)}function asin(x){return x>1?halfPi:x<-1?-halfPi:Math.asin(x)}function haversin(x){return(x=sin(x/2))*x}function noop(){}function streamGeometry(geometry,stream){if(geometry&&streamGeometryType.hasOwnProperty(geometry.type)){streamGeometryType[geometry.type](geometry,stream)}}var streamObjectType={Feature:function(object,stream){streamGeometry(object.geometry,stream)},FeatureCollection:function(object,stream){var features=object.features,i=-1,n=features.length;while(++i=0?1:-1,adLambda=sdLambda*dLambda,cosPhi=cos(phi),sinPhi=sin(phi),k=area_sinPhi0*sinPhi,u=area_cosPhi0*cosPhi+k*cos(adLambda),v=k*sdLambda*sin(adLambda);areaRingSum.add(atan2(v,u));area_lambda0=lambda,area_cosPhi0=cosPhi,area_sinPhi0=sinPhi}var src_area=function(object){areaSum.reset();src_stream(object,areaStream);return areaSum*2};function cartesian_spherical(cartesian){return[atan2(cartesian[1],cartesian[0]),asin(cartesian[2])]}function cartesian_cartesian(spherical){var lambda=spherical[0],phi=spherical[1],cosPhi=cos(phi);return[cosPhi*cos(lambda),cosPhi*sin(lambda),sin(phi)]}function cartesianDot(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]}function cartesianCross(a,b){return[a[1]*b[2]-a[2]*b[1],a[2]*b[0]-a[0]*b[2],a[0]*b[1]-a[1]*b[0]]}function cartesianAddInPlace(a,b){a[0]+=b[0],a[1]+=b[1],a[2]+=b[2]}function cartesianScale(vector,k){return[vector[0]*k,vector[1]*k,vector[2]*k]}function cartesianNormalizeInPlace(d){var l=sqrt(d[0]*d[0]+d[1]*d[1]+d[2]*d[2]);d[0]/=l,d[1]/=l,d[2]/=l}var bounds_lambda0,bounds_phi0,bounds_lambda1,bounds_phi1,bounds_lambda2,bounds_lambda00,bounds_phi00,bounds_p0,deltaSum=adder(),ranges,range;var boundsStream={point:boundsPoint,lineStart:boundsLineStart,lineEnd:boundsLineEnd,polygonStart:function(){boundsStream.point=boundsRingPoint;boundsStream.lineStart=boundsRingStart;boundsStream.lineEnd=boundsRingEnd;deltaSum.reset();areaStream.polygonStart()},polygonEnd:function(){areaStream.polygonEnd();boundsStream.point=boundsPoint;boundsStream.lineStart=boundsLineStart;boundsStream.lineEnd=boundsLineEnd;if(areaRingSum<0)bounds_lambda0=-(bounds_lambda1=180),bounds_phi0=-(bounds_phi1=90);else if(deltaSum>epsilon)bounds_phi1=90;else if(deltaSum<-epsilon)bounds_phi0=-90;range[0]=bounds_lambda0,range[1]=bounds_lambda1},sphere:function(){bounds_lambda0=-(bounds_lambda1=180),bounds_phi0=-(bounds_phi1=90)}};function boundsPoint(lambda,phi){ranges.push(range=[bounds_lambda0=lambda,bounds_lambda1=lambda]);if(phibounds_phi1)bounds_phi1=phi}function bounds_linePoint(lambda,phi){var p=cartesian_cartesian([lambda*radians,phi*radians]);if(bounds_p0){var normal=cartesianCross(bounds_p0,p),equatorial=[normal[1],-normal[0],0],inflection=cartesianCross(equatorial,normal);cartesianNormalizeInPlace(inflection);inflection=cartesian_spherical(inflection);var delta=lambda-bounds_lambda2,sign=delta>0?1:-1,lambdai=inflection[0]*degrees*sign,phii,antimeridian=abs(delta)>180;if(antimeridian^(sign*bounds_lambda2bounds_phi1)bounds_phi1=phii}else if(lambdai=(lambdai+360)%360-180,antimeridian^(sign*bounds_lambda2bounds_phi1)bounds_phi1=phi}if(antimeridian){if(lambdabounds_angle(bounds_lambda0,bounds_lambda1))bounds_lambda1=lambda}else{if(bounds_angle(lambda,bounds_lambda1)>bounds_angle(bounds_lambda0,bounds_lambda1))bounds_lambda0=lambda}}else{if(bounds_lambda1>=bounds_lambda0){if(lambdabounds_lambda1)bounds_lambda1=lambda}else{if(lambda>bounds_lambda2){if(bounds_angle(bounds_lambda0,lambda)>bounds_angle(bounds_lambda0,bounds_lambda1))bounds_lambda1=lambda}else{if(bounds_angle(lambda,bounds_lambda1)>bounds_angle(bounds_lambda0,bounds_lambda1))bounds_lambda0=lambda}}}}else{ranges.push(range=[bounds_lambda0=lambda,bounds_lambda1=lambda])}if(phibounds_phi1)bounds_phi1=phi;bounds_p0=p,bounds_lambda2=lambda}function boundsLineStart(){boundsStream.point=bounds_linePoint}function boundsLineEnd(){range[0]=bounds_lambda0,range[1]=bounds_lambda1;boundsStream.point=boundsPoint;bounds_p0=null}function boundsRingPoint(lambda,phi){if(bounds_p0){var delta=lambda-bounds_lambda2;deltaSum.add(abs(delta)>180?delta+(delta>0?360:-360):delta)}else{bounds_lambda00=lambda,bounds_phi00=phi}areaStream.point(lambda,phi);bounds_linePoint(lambda,phi)}function boundsRingStart(){areaStream.lineStart()}function boundsRingEnd(){boundsRingPoint(bounds_lambda00,bounds_phi00);areaStream.lineEnd();if(abs(deltaSum)>epsilon)bounds_lambda0=-(bounds_lambda1=180);range[0]=bounds_lambda0,range[1]=bounds_lambda1;bounds_p0=null}function bounds_angle(lambda0,lambda1){return(lambda1-=lambda0)<0?lambda1+360:lambda1}function rangeCompare(a,b){return a[0]-b[0]}function rangeContains(range,x){return range[0]<=range[1]?range[0]<=x&&x<=range[1]:xbounds_angle(a[0],a[1]))a[1]=b[1];if(bounds_angle(b[0],a[1])>bounds_angle(a[0],a[1]))a[0]=b[0]}else{merged.push(a=b)}}for(deltaMax=-Infinity,n=merged.length-1,i=0,a=merged[n];i<=n;a=b,++i){b=merged[i];if((delta=bounds_angle(a[1],b[0]))>deltaMax)deltaMax=delta,bounds_lambda0=b[0],bounds_lambda1=a[1]}}ranges=range=null;return bounds_lambda0===Infinity||bounds_phi0===Infinity?[[NaN,NaN],[NaN,NaN]]:[[bounds_lambda0,bounds_phi0],[bounds_lambda1,bounds_phi1]]};var W0,W1,centroid_X0,centroid_Y0,Z0,centroid_X1,centroid_Y1,Z1,X2,Y2,Z2,centroid_lambda00,centroid_phi00,centroid_x0,centroid_y0,z0;var centroidStream={sphere:noop,point:centroidPoint,lineStart:centroidLineStart,lineEnd:centroidLineEnd,polygonStart:function(){centroidStream.lineStart=centroidRingStart;centroidStream.lineEnd=centroidRingEnd},polygonEnd:function(){centroidStream.lineStart=centroidLineStart;centroidStream.lineEnd=centroidLineEnd}};function centroidPoint(lambda,phi){lambda*=radians,phi*=radians;var cosPhi=cos(phi);centroidPointCartesian(cosPhi*cos(lambda),cosPhi*sin(lambda),sin(phi))}function centroidPointCartesian(x,y,z){++W0;centroid_X0+=(x-centroid_X0)/W0;centroid_Y0+=(y-centroid_Y0)/W0;Z0+=(z-Z0)/W0}function centroidLineStart(){centroidStream.point=centroidLinePointFirst}function centroidLinePointFirst(lambda,phi){lambda*=radians,phi*=radians;var cosPhi=cos(phi);centroid_x0=cosPhi*cos(lambda);centroid_y0=cosPhi*sin(lambda);z0=sin(phi);centroidStream.point=centroidLinePoint;centroidPointCartesian(centroid_x0,centroid_y0,z0)}function centroidLinePoint(lambda,phi){lambda*=radians,phi*=radians;var cosPhi=cos(phi),x=cosPhi*cos(lambda),y=cosPhi*sin(lambda),z=sin(phi),w=atan2(sqrt((w=centroid_y0*z-z0*y)*w+(w=z0*x-centroid_x0*z)*w+(w=centroid_x0*y-centroid_y0*x)*w),centroid_x0*x+centroid_y0*y+z0*z);W1+=w;centroid_X1+=w*(centroid_x0+(centroid_x0=x));centroid_Y1+=w*(centroid_y0+(centroid_y0=y));Z1+=w*(z0+(z0=z));centroidPointCartesian(centroid_x0,centroid_y0,z0)}function centroidLineEnd(){centroidStream.point=centroidPoint}function centroidRingStart(){centroidStream.point=centroidRingPointFirst}function centroidRingEnd(){centroidRingPoint(centroid_lambda00,centroid_phi00);centroidStream.point=centroidPoint}function centroidRingPointFirst(lambda,phi){centroid_lambda00=lambda,centroid_phi00=phi;lambda*=radians,phi*=radians;centroidStream.point=centroidRingPoint;var cosPhi=cos(phi);centroid_x0=cosPhi*cos(lambda);centroid_y0=cosPhi*sin(lambda);z0=sin(phi);centroidPointCartesian(centroid_x0,centroid_y0,z0)}function centroidRingPoint(lambda,phi){lambda*=radians,phi*=radians;var cosPhi=cos(phi),x=cosPhi*cos(lambda),y=cosPhi*sin(lambda),z=sin(phi),cx=centroid_y0*z-z0*y,cy=z0*x-centroid_x0*z,cz=centroid_x0*y-centroid_y0*x,m=sqrt(cx*cx+cy*cy+cz*cz),w=asin(m),v=m&&-w/m;X2+=v*cx;Y2+=v*cy;Z2+=v*cz;W1+=w;centroid_X1+=w*(centroid_x0+(centroid_x0=x));centroid_Y1+=w*(centroid_y0+(centroid_y0=y));Z1+=w*(z0+(z0=z));centroidPointCartesian(centroid_x0,centroid_y0,z0)}var centroid=function(object){W0=W1=centroid_X0=centroid_Y0=Z0=centroid_X1=centroid_Y1=Z1=X2=Y2=Z2=0;src_stream(object,centroidStream);var x=X2,y=Y2,z=Z2,m=x*x+y*y+z*z;if(mpi?lambda+Math.round(-lambda/tau)*tau:lambda,phi]}rotationIdentity.invert=rotationIdentity;function rotateRadians(deltaLambda,deltaPhi,deltaGamma){return(deltaLambda%=tau)?deltaPhi||deltaGamma?compose(rotationLambda(deltaLambda),rotationPhiGamma(deltaPhi,deltaGamma)):rotationLambda(deltaLambda):deltaPhi||deltaGamma?rotationPhiGamma(deltaPhi,deltaGamma):rotationIdentity}function forwardRotationLambda(deltaLambda){return function(lambda,phi){return lambda+=deltaLambda,[lambda>pi?lambda-tau:lambda<-pi?lambda+tau:lambda,phi]}}function rotationLambda(deltaLambda){var rotation=forwardRotationLambda(deltaLambda);rotation.invert=forwardRotationLambda(-deltaLambda);return rotation}function rotationPhiGamma(deltaPhi,deltaGamma){var cosDeltaPhi=cos(deltaPhi),sinDeltaPhi=sin(deltaPhi),cosDeltaGamma=cos(deltaGamma),sinDeltaGamma=sin(deltaGamma);function rotation(lambda,phi){var cosPhi=cos(phi),x=cos(lambda)*cosPhi,y=sin(lambda)*cosPhi,z=sin(phi),k=z*cosDeltaPhi+x*sinDeltaPhi;return[atan2(y*cosDeltaGamma-k*sinDeltaGamma,x*cosDeltaPhi-z*sinDeltaPhi),asin(k*cosDeltaGamma+y*sinDeltaGamma)]}rotation.invert=function(lambda,phi){var cosPhi=cos(phi),x=cos(lambda)*cosPhi,y=sin(lambda)*cosPhi,z=sin(phi),k=z*cosDeltaGamma-y*sinDeltaGamma;return[atan2(y*cosDeltaGamma+z*sinDeltaGamma,x*cosDeltaPhi+k*sinDeltaPhi),asin(k*cosDeltaPhi-x*sinDeltaPhi)]};return rotation}var src_rotation=function(rotate){rotate=rotateRadians(rotate[0]*radians,rotate[1]*radians,rotate.length>2?rotate[2]*radians:0);function forward(coordinates){coordinates=rotate(coordinates[0]*radians,coordinates[1]*radians);return coordinates[0]*=degrees,coordinates[1]*=degrees,coordinates}forward.invert=function(coordinates){coordinates=rotate.invert(coordinates[0]*radians,coordinates[1]*radians);return coordinates[0]*=degrees,coordinates[1]*=degrees,coordinates};return forward};function circleStream(stream,radius,delta,direction,t0,t1){if(!delta)return;var cosRadius=cos(radius),sinRadius=sin(radius),step=direction*delta;if(t0==null){t0=radius+direction*tau;t1=radius-step/2}else{t0=circleRadius(cosRadius,t0);t1=circleRadius(cosRadius,t1);if(direction>0?t0t1)t0+=direction*tau}for(var point,t=t0;direction>0?t>t1:t1)lines.push(lines.pop().concat(lines.shift()))},result:function(){var result=lines;lines=[];line=null;return result}}};var pointEqual=function(a,b){return abs(a[0]-b[0])=0;--i)stream.point((point=points[i])[0],point[1])}else{interpolate(current.x,current.p.x,-1,stream)}current=current.p}current=current.o;points=current.z;isSubject=!isSubject}while(!current.v);stream.lineEnd()}};function rejoin_link(array){if(!(n=array.length))return;var n,i=0,a=array[0],b;while(++i=0?1:-1,absDelta=sign*delta,antimeridian=absDelta>pi,k=sinPhi0*sinPhi1;sum.add(atan2(k*sign*sin(absDelta),cosPhi0*cosPhi1+k*cos(absDelta)));angle+=antimeridian?delta+sign*tau:delta;if(antimeridian^lambda0>=lambda^lambda1>=lambda){var arc=cartesianCross(cartesian_cartesian(point0),cartesian_cartesian(point1));cartesianNormalizeInPlace(arc);var intersection=cartesianCross(normal,arc);cartesianNormalizeInPlace(intersection);var phiArc=(antimeridian^delta>=0?-1:1)*asin(intersection[2]);if(phi>phiArc||phi===phiArc&&(arc[0]||arc[1])){winding+=antimeridian^delta>=0?1:-1}}}}return(angle<-epsilon||angle0){if(!polygonStarted)sink.polygonStart(),polygonStarted=true;sink.lineStart();for(i=0;i1&&clean&2)ringSegments.push(ringSegments.pop().concat(ringSegments.shift()));segments.push(ringSegments.filter(validSegment))}return clip}};function validSegment(segment){return segment.length>1}function clip_compareIntersection(a,b){return((a=a.x)[0]<0?a[1]-halfPi-epsilon:halfPi-a[1])-((b=b.x)[0]<0?b[1]-halfPi-epsilon:halfPi-b[1])}var clip_antimeridian=src_clip(function(){return true},clipAntimeridianLine,clipAntimeridianInterpolate,[-pi,-halfPi]);function clipAntimeridianLine(stream){var lambda0=NaN,phi0=NaN,sign0=NaN,clean;return{lineStart:function(){stream.lineStart();clean=1},point:function(lambda1,phi1){var sign1=lambda1>0?pi:-pi,delta=abs(lambda1-lambda0);if(abs(delta-pi)0?halfPi:-halfPi);stream.point(sign0,phi0);stream.lineEnd();stream.lineStart();stream.point(sign1,phi0);stream.point(lambda1,phi0);clean=0}else if(sign0!==sign1&&delta>=pi){if(abs(lambda0-sign0)epsilon?atan((sin(phi0)*(cosPhi1=cos(phi1))*sin(lambda1)-sin(phi1)*(cosPhi0=cos(phi0))*sin(lambda0))/(cosPhi0*cosPhi1*sinLambda0Lambda1)):(phi0+phi1)/2}function clipAntimeridianInterpolate(from,to,direction,stream){var phi;if(from==null){phi=direction*halfPi;stream.point(-pi,phi);stream.point(0,phi);stream.point(pi,phi);stream.point(pi,0);stream.point(pi,-phi);stream.point(0,-phi);stream.point(-pi,-phi);stream.point(-pi,0);stream.point(-pi,phi)}else if(abs(from[0]-to[0])>epsilon){var lambda=from[0]0,notHemisphere=abs(cr)>epsilon;function interpolate(from,to,direction,stream){circleStream(stream,radius,delta,direction,from,to)}function visible(lambda,phi){return cos(lambda)*cos(phi)>cr}function clipLine(stream){var point0,c0,v0,v00,clean;return{lineStart:function(){v00=v0=false;clean=1},point:function(lambda,phi){var point1=[lambda,phi],point2,v=visible(lambda,phi),c=smallRadius?v?0:code(lambda,phi):v?code(lambda+(lambda<0?pi:-pi),phi):0;if(!point0&&(v00=v0=v))stream.lineStart();if(v!==v0){point2=intersect(point0,point1);if(!point2||pointEqual(point0,point2)||pointEqual(point1,point2)){point1[0]+=epsilon;point1[1]+=epsilon;v=visible(point1[0],point1[1])}}if(v!==v0){clean=0;if(v){stream.lineStart();point2=intersect(point1,point0);stream.point(point2[0],point2[1])}else{point2=intersect(point0,point1);stream.point(point2[0],point2[1]);stream.lineEnd()}point0=point2}else if(notHemisphere&&point0&&smallRadius^v){var t;if(!(c&c0)&&(t=intersect(point1,point0,true))){clean=0;if(smallRadius){stream.lineStart();stream.point(t[0][0],t[0][1]);stream.point(t[1][0],t[1][1]);stream.lineEnd()}else{stream.point(t[1][0],t[1][1]);stream.lineEnd();stream.lineStart();stream.point(t[0][0],t[0][1])}}}if(v&&(!point0||!pointEqual(point0,point1))){stream.point(point1[0],point1[1])}point0=point1,v0=v,c0=c},lineEnd:function(){if(v0)stream.lineEnd();point0=null},clean:function(){return clean|(v00&&v0)<<1}}}function intersect(a,b,two){var pa=cartesian_cartesian(a),pb=cartesian_cartesian(b);var n1=[1,0,0],n2=cartesianCross(pa,pb),n2n2=cartesianDot(n2,n2),n1n2=n2[0],determinant=n2n2-n1n2*n1n2;if(!determinant)return!two&&a;var c1=cr*n2n2/determinant,c2=-cr*n1n2/determinant,n1xn2=cartesianCross(n1,n2),A=cartesianScale(n1,c1),B=cartesianScale(n2,c2);cartesianAddInPlace(A,B);var u=n1xn2,w=cartesianDot(A,u),uu=cartesianDot(u,u),t2=w*w-uu*(cartesianDot(A,A)-1);if(t2<0)return;var t=sqrt(t2),q=cartesianScale(u,(-w-t)/uu);cartesianAddInPlace(q,A);q=cartesian_spherical(q);if(!two)return q;var lambda0=a[0],lambda1=b[0],phi0=a[1],phi1=b[1],z;if(lambda10^q[1]<(abs(q[0]-lambda0)pi^(lambda0<=q[0]&&q[0]<=lambda1)){var q1=cartesianScale(u,(-w+t)/uu);cartesianAddInPlace(q1,A);return[q,cartesian_spherical(q1)]}}function code(lambda,phi){var r=smallRadius?radius:pi-radius,code=0;if(lambda<-r)code|=1;else if(lambda>r)code|=2;if(phi<-r)code|=4;else if(phi>r)code|=8;return code}return src_clip(visible,clipLine,interpolate,smallRadius?[0,-radius]:[-pi,radius-pi])};var clip_line=function(a,b,x0,y0,x1,y1){var ax=a[0],ay=a[1],bx=b[0],by=b[1],t0=0,t1=1,dx=bx-ax,dy=by-ay,r;r=x0-ax;if(!dx&&r>0)return;r/=dx;if(dx<0){if(r0){if(r>t1)return;if(r>t0)t0=r}r=x1-ax;if(!dx&&r<0)return;r/=dx;if(dx<0){if(r>t1)return;if(r>t0)t0=r}else if(dx>0){if(r0)return;r/=dy;if(dy<0){if(r0){if(r>t1)return;if(r>t0)t0=r}r=y1-ay;if(!dy&&r<0)return;r/=dy;if(dy<0){if(r>t1)return;if(r>t0)t0=r}else if(dy>0){if(r0)a[0]=ax+t0*dx,a[1]=ay+t0*dy;if(t1<1)b[0]=ax+t1*dx,b[1]=ay+t1*dy;return true};var clipMax=1e9,clipMin=-clipMax;function clipRectangle(x0,y0,x1,y1){function visible(x,y){return x0<=x&&x<=x1&&y0<=y&&y<=y1}function interpolate(from,to,direction,stream){var a=0,a1=0;if(from==null||(a=corner(from,direction))!==(a1=corner(to,direction))||comparePoint(from,to)<0^direction>0){do{stream.point(a===0||a===3?x0:x1,a>1?y1:y0)}while((a=(a+direction+4)%4)!==a1)}else{stream.point(to[0],to[1])}}function corner(p,direction){return abs(p[0]-x0)0?0:3:abs(p[0]-x1)0?2:1:abs(p[1]-y0)0?1:0:direction>0?3:2}function compareIntersection(a,b){return comparePoint(a.x,b.x)}function comparePoint(a,b){var ca=corner(a,1),cb=corner(b,1);return ca!==cb?ca-cb:ca===0?b[1]-a[1]:ca===1?a[0]-b[0]:ca===2?a[1]-b[1]:b[0]-a[0]}return function(stream){var activeStream=stream,bufferStream=buffer(),segments,polygon,ring,x__,y__,v__,x_,y_,v_,first,clean;var clipStream={point,lineStart,lineEnd,polygonStart,polygonEnd};function point(x,y){if(visible(x,y))activeStream.point(x,y)}function polygonInside(){var winding=0;for(var i=0,n=polygon.length;iy1&&(b0-a0)*(y1-a1)>(b1-a1)*(x0-a0))++winding}else{if(b1<=y1&&(b0-a0)*(y1-a1)<(b1-a1)*(x0-a0))--winding}}}return winding}function polygonStart(){activeStream=bufferStream,segments=[],polygon=[],clean=true}function polygonEnd(){var startInside=polygonInside(),cleanInside=clean&&startInside,visible=(segments=Object(src["merge"])(segments)).length;if(cleanInside||visible){stream.polygonStart();if(cleanInside){stream.lineStart();interpolate(null,null,1,stream);stream.lineEnd()}if(visible){rejoin(segments,compareIntersection,startInside,interpolate,stream)}stream.polygonEnd()}activeStream=stream,segments=polygon=ring=null}function lineStart(){clipStream.point=linePoint;if(polygon)polygon.push(ring=[]);first=true;v_=false;x_=y_=NaN}function lineEnd(){if(segments){linePoint(x__,y__);if(v__&&v_)bufferStream.rejoin();segments.push(bufferStream.result())}clipStream.point=point;if(v_)activeStream.lineEnd()}function linePoint(x,y){var v=visible(x,y);if(polygon)ring.push([x,y]);if(first){x__=x,y__=y,v__=v;first=false;if(v){activeStream.lineStart();activeStream.point(x,y)}}else{if(v&&v_)activeStream.point(x,y);else{var a=[x_=Math.max(clipMin,Math.min(clipMax,x_)),y_=Math.max(clipMin,Math.min(clipMax,y_))],b=[x=Math.max(clipMin,Math.min(clipMax,x)),y=Math.max(clipMin,Math.min(clipMax,y))];if(clip_line(a,b,x0,y0,x1,y1)){if(!v_){activeStream.lineStart();activeStream.point(a[0],a[1])}activeStream.point(b[0],b[1]);if(!v)activeStream.lineEnd();clean=false}else if(v){activeStream.lineStart();activeStream.point(x,y);clean=false}}}x_=x,y_=y,v_=v}return clipStream}}var clip_extent=function(){var x0=0,y0=0,x1=960,y1=500,cache,cacheStream,clip;return clip={stream:function(stream){return cache&&cacheStream===stream?cache:cache=clipRectangle(x0,y0,x1,y1)(cacheStream=stream)},extent:function(_){return arguments.length?(x0=+_[0][0],y0=+_[0][1],x1=+_[1][0],y1=+_[1][1],cache=cacheStream=null,clip):[[x0,y0],[x1,y1]]}}};var lengthSum=adder(),length_lambda0,length_sinPhi0,length_cosPhi0;var lengthStream={sphere:noop,point:noop,lineStart:lengthLineStart,lineEnd:noop,polygonStart:noop,polygonEnd:noop};function lengthLineStart(){lengthStream.point=lengthPointFirst;lengthStream.lineEnd=lengthLineEnd}function lengthLineEnd(){lengthStream.point=lengthStream.lineEnd=noop}function lengthPointFirst(lambda,phi){lambda*=radians,phi*=radians;length_lambda0=lambda,length_sinPhi0=sin(phi),length_cosPhi0=cos(phi);lengthStream.point=lengthPoint}function lengthPoint(lambda,phi){lambda*=radians,phi*=radians;var sinPhi=sin(phi),cosPhi=cos(phi),delta=abs(lambda-length_lambda0),cosDelta=cos(delta),sinDelta=sin(delta),x=cosPhi*sinDelta,y=length_cosPhi0*sinPhi-length_sinPhi0*cosPhi*cosDelta,z=length_sinPhi0*sinPhi+length_cosPhi0*cosPhi*cosDelta;lengthSum.add(atan2(sqrt(x*x+y*y),z));length_lambda0=lambda,length_sinPhi0=sinPhi,length_cosPhi0=cosPhi}var src_length=function(object){lengthSum.reset();src_stream(object,lengthStream);return+lengthSum};var distance_coordinates=[null,null],distance_object={type:"LineString",coordinates:distance_coordinates};var distance=function(a,b){distance_coordinates[0]=a;distance_coordinates[1]=b;return src_length(distance_object)};var containsObjectType={Feature:function(object,point){return containsGeometry(object.geometry,point)},FeatureCollection:function(object,point){var features=object.features,i=-1,n=features.length;while(++i0){ab=distance(coordinates[i],coordinates[i-1]);if(ab>0&&ao<=ab&&bo<=ab&&(ao+bo-ab)*(1-Math.pow((ao-bo)/ab,2))epsilon}).map(x)).concat(Object(src["range"])(ceil(y0/dy)*dy,y1,dy).filter(function(y){return abs(y%DY)>epsilon}).map(y))}graticule.lines=function(){return lines().map(function(coordinates){return{type:"LineString",coordinates}})};graticule.outline=function(){return{type:"Polygon",coordinates:[X(X0).concat(Y(Y1).slice(1),X(X1).reverse().slice(1),Y(Y0).reverse().slice(1))]}};graticule.extent=function(_){if(!arguments.length)return graticule.extentMinor();return graticule.extentMajor(_).extentMinor(_)};graticule.extentMajor=function(_){if(!arguments.length)return[[X0,Y0],[X1,Y1]];X0=+_[0][0],X1=+_[1][0];Y0=+_[0][1],Y1=+_[1][1];if(X0>X1)_=X0,X0=X1,X1=_;if(Y0>Y1)_=Y0,Y0=Y1,Y1=_;return graticule.precision(precision)};graticule.extentMinor=function(_){if(!arguments.length)return[[x0,y0],[x1,y1]];x0=+_[0][0],x1=+_[1][0];y0=+_[0][1],y1=+_[1][1];if(x0>x1)_=x0,x0=x1,x1=_;if(y0>y1)_=y0,y0=y1,y1=_;return graticule.precision(precision)};graticule.step=function(_){if(!arguments.length)return graticule.stepMinor();return graticule.stepMajor(_).stepMinor(_)};graticule.stepMajor=function(_){if(!arguments.length)return[DX,DY];DX=+_[0],DY=+_[1];return graticule};graticule.stepMinor=function(_){if(!arguments.length)return[dx,dy];dx=+_[0],dy=+_[1];return graticule};graticule.precision=function(_){if(!arguments.length)return precision;precision=+_;x=graticuleX(y0,y1,90);y=graticuleY(x0,x1,precision);X=graticuleX(Y0,Y1,90);Y=graticuleY(X0,X1,precision);return graticule};return graticule.extentMajor([[-180,-90+epsilon],[180,90-epsilon]]).extentMinor([[-180,-80-epsilon],[180,80+epsilon]])}function graticule10(){return graticule_graticule()()}var src_interpolate=function(a,b){var x0=a[0]*radians,y0=a[1]*radians,x1=b[0]*radians,y1=b[1]*radians,cy0=cos(y0),sy0=sin(y0),cy1=cos(y1),sy1=sin(y1),kx0=cy0*cos(x0),ky0=cy0*sin(x0),kx1=cy1*cos(x1),ky1=cy1*sin(x1),d=2*asin(sqrt(haversin(y1-y0)+cy0*cy1*haversin(x1-x0))),k=sin(d);var interpolate=d?function(t){var B=sin(t*=d)/k,A=sin(d-t)/k,x=A*kx0+B*kx1,y=A*ky0+B*ky1,z=A*sy0+B*sy1;return[atan2(y,x)*degrees,atan2(z,sqrt(x*x+y*y))*degrees]}:function(){return[x0*degrees,y0*degrees]};interpolate.distance=d;return interpolate};var identity=function(x){return x};var area_areaSum=adder(),area_areaRingSum=adder(),area_x00,area_y00,area_x0,area_y0;var area_areaStream={point:noop,lineStart:noop,lineEnd:noop,polygonStart:function(){area_areaStream.lineStart=area_areaRingStart;area_areaStream.lineEnd=area_areaRingEnd},polygonEnd:function(){area_areaStream.lineStart=area_areaStream.lineEnd=area_areaStream.point=noop;area_areaSum.add(abs(area_areaRingSum));area_areaRingSum.reset()},result:function(){var area=area_areaSum/2;area_areaSum.reset();return area}};function area_areaRingStart(){area_areaStream.point=area_areaPointFirst}function area_areaPointFirst(x,y){area_areaStream.point=area_areaPoint;area_x00=area_x0=x,area_y00=area_y0=y}function area_areaPoint(x,y){area_areaRingSum.add(area_y0*x-area_x0*y);area_x0=x,area_y0=y}function area_areaRingEnd(){area_areaPoint(area_x00,area_y00)}var path_area=area_areaStream;var bounds_x0=Infinity,bounds_y0=bounds_x0,bounds_x1=-bounds_x0,bounds_y1=bounds_x1;var bounds_boundsStream={point:bounds_boundsPoint,lineStart:noop,lineEnd:noop,polygonStart:noop,polygonEnd:noop,result:function(){var bounds=[[bounds_x0,bounds_y0],[bounds_x1,bounds_y1]];bounds_x1=bounds_y1=-(bounds_y0=bounds_x0=Infinity);return bounds}};function bounds_boundsPoint(x,y){if(xbounds_x1)bounds_x1=x;if(ybounds_y1)bounds_y1=y}var path_bounds=bounds_boundsStream;var path_centroid_X0=0,path_centroid_Y0=0,centroid_Z0=0,path_centroid_X1=0,path_centroid_Y1=0,centroid_Z1=0,centroid_X2=0,centroid_Y2=0,centroid_Z2=0,centroid_x00,centroid_y00,path_centroid_x0,path_centroid_y0;var centroid_centroidStream={point:centroid_centroidPoint,lineStart:centroid_centroidLineStart,lineEnd:centroid_centroidLineEnd,polygonStart:function(){centroid_centroidStream.lineStart=centroid_centroidRingStart;centroid_centroidStream.lineEnd=centroid_centroidRingEnd},polygonEnd:function(){centroid_centroidStream.point=centroid_centroidPoint;centroid_centroidStream.lineStart=centroid_centroidLineStart;centroid_centroidStream.lineEnd=centroid_centroidLineEnd},result:function(){var centroid=centroid_Z2?[centroid_X2/centroid_Z2,centroid_Y2/centroid_Z2]:centroid_Z1?[path_centroid_X1/centroid_Z1,path_centroid_Y1/centroid_Z1]:centroid_Z0?[path_centroid_X0/centroid_Z0,path_centroid_Y0/centroid_Z0]:[NaN,NaN];path_centroid_X0=path_centroid_Y0=centroid_Z0=path_centroid_X1=path_centroid_Y1=centroid_Z1=centroid_X2=centroid_Y2=centroid_Z2=0;return centroid}};function centroid_centroidPoint(x,y){path_centroid_X0+=x;path_centroid_Y0+=y;++centroid_Z0}function centroid_centroidLineStart(){centroid_centroidStream.point=centroidPointFirstLine}function centroidPointFirstLine(x,y){centroid_centroidStream.point=centroidPointLine;centroid_centroidPoint(path_centroid_x0=x,path_centroid_y0=y)}function centroidPointLine(x,y){var dx=x-path_centroid_x0,dy=y-path_centroid_y0,z=sqrt(dx*dx+dy*dy);path_centroid_X1+=z*(path_centroid_x0+x)/2;path_centroid_Y1+=z*(path_centroid_y0+y)/2;centroid_Z1+=z;centroid_centroidPoint(path_centroid_x0=x,path_centroid_y0=y)}function centroid_centroidLineEnd(){centroid_centroidStream.point=centroid_centroidPoint}function centroid_centroidRingStart(){centroid_centroidStream.point=centroidPointFirstRing}function centroid_centroidRingEnd(){centroidPointRing(centroid_x00,centroid_y00)}function centroidPointFirstRing(x,y){centroid_centroidStream.point=centroidPointRing;centroid_centroidPoint(centroid_x00=path_centroid_x0=x,centroid_y00=path_centroid_y0=y)}function centroidPointRing(x,y){var dx=x-path_centroid_x0,dy=y-path_centroid_y0,z=sqrt(dx*dx+dy*dy);path_centroid_X1+=z*(path_centroid_x0+x)/2;path_centroid_Y1+=z*(path_centroid_y0+y)/2;centroid_Z1+=z;z=path_centroid_y0*x-path_centroid_x0*y;centroid_X2+=z*(path_centroid_x0+x);centroid_Y2+=z*(path_centroid_y0+y);centroid_Z2+=z*3;centroid_centroidPoint(path_centroid_x0=x,path_centroid_y0=y)}var path_centroid=centroid_centroidStream;function PathContext(context){this._context=context}PathContext.prototype={_radius:4.5,pointRadius:function(_){return this._radius=_,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){if(this._line===0)this._context.closePath();this._point=NaN},point:function(x,y){switch(this._point){case 0:{this._context.moveTo(x,y);this._point=1;break}case 1:{this._context.lineTo(x,y);break}default:{this._context.moveTo(x+this._radius,y);this._context.arc(x,y,this._radius,0,tau);break}}},result:noop};var measure_lengthSum=adder(),lengthRing,measure_x00,measure_y00,measure_x0,measure_y0;var measure_lengthStream={point:noop,lineStart:function(){measure_lengthStream.point=measure_lengthPointFirst},lineEnd:function(){if(lengthRing)measure_lengthPoint(measure_x00,measure_y00);measure_lengthStream.point=noop},polygonStart:function(){lengthRing=true},polygonEnd:function(){lengthRing=null},result:function(){var length=+measure_lengthSum;measure_lengthSum.reset();return length}};function measure_lengthPointFirst(x,y){measure_lengthStream.point=measure_lengthPoint;measure_x00=measure_x0=x,measure_y00=measure_y0=y}function measure_lengthPoint(x,y){measure_x0-=x,measure_y0-=y;measure_lengthSum.add(sqrt(measure_x0*measure_x0+measure_y0*measure_y0));measure_x0=x,measure_y0=y}var measure=measure_lengthStream;function PathString(){this._string=[]}PathString.prototype={_radius:4.5,_circle:string_circle(4.5),pointRadius:function(_){if((_=+_)!==this._radius)this._radius=_,this._circle=null;return this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){if(this._line===0)this._string.push("Z");this._point=NaN},point:function(x,y){switch(this._point){case 0:{this._string.push("M",x,",",y);this._point=1;break}case 1:{this._string.push("L",x,",",y);break}default:{if(this._circle==null)this._circle=string_circle(this._radius);this._string.push("M",x,",",y,this._circle);break}}},result:function(){if(this._string.length){var result=this._string.join("");this._string=[];return result}else{return null}}};function string_circle(radius){return"m0,"+radius+"a"+radius+","+radius+" 0 1,1 0,"+-2*radius+"a"+radius+","+radius+" 0 1,1 0,"+2*radius+"z"}var src_path=function(projection,context){var pointRadius=4.5,projectionStream,contextStream;function path(object){if(object){if(typeof pointRadius==="function")contextStream.pointRadius(+pointRadius.apply(this,arguments));src_stream(object,projectionStream(contextStream))}return contextStream.result()}path.area=function(object){src_stream(object,projectionStream(path_area));return path_area.result()};path.measure=function(object){src_stream(object,projectionStream(measure));return measure.result()};path.bounds=function(object){src_stream(object,projectionStream(path_bounds));return path_bounds.result()};path.centroid=function(object){src_stream(object,projectionStream(path_centroid));return path_centroid.result()};path.projection=function(_){return arguments.length?(projectionStream=_==null?(projection=null,identity):(projection=_).stream,path):projection};path.context=function(_){if(!arguments.length)return context;contextStream=_==null?(context=null,new PathString):new PathContext(context=_);if(typeof pointRadius!=="function")contextStream.pointRadius(pointRadius);return path};path.pointRadius=function(_){if(!arguments.length)return pointRadius;pointRadius=typeof _==="function"?_:(contextStream.pointRadius(+_),+_);return path};return path.projection(projection).context(context)};var src_transform=function(methods){return{stream:transformer(methods)}};function transformer(methods){return function(stream){var s=new TransformStream;for(var key in methods)s[key]=methods[key];s.stream=stream;return s}}function TransformStream(){}TransformStream.prototype={constructor:TransformStream,point:function(x,y){this.stream.point(x,y)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function fit(projection,fitBounds,object){var clip=projection.clipExtent&&projection.clipExtent();projection.scale(150).translate([0,0]);if(clip!=null)projection.clipExtent(null);src_stream(object,projection.stream(path_bounds));fitBounds(path_bounds.result());if(clip!=null)projection.clipExtent(clip);return projection}function fitExtent(projection,extent,object){return fit(projection,function(b){var w=extent[1][0]-extent[0][0],h=extent[1][1]-extent[0][1],k=Math.min(w/(b[1][0]-b[0][0]),h/(b[1][1]-b[0][1])),x=+extent[0][0]+(w-k*(b[1][0]+b[0][0]))/2,y=+extent[0][1]+(h-k*(b[1][1]+b[0][1]))/2;projection.scale(150*k).translate([x,y])},object)}function fitSize(projection,size,object){return fitExtent(projection,[[0,0],size],object)}function fitWidth(projection,width,object){return fit(projection,function(b){var w=+width,k=w/(b[1][0]-b[0][0]),x=(w-k*(b[1][0]+b[0][0]))/2,y=-k*b[0][1];projection.scale(150*k).translate([x,y])},object)}function fitHeight(projection,height,object){return fit(projection,function(b){var h=+height,k=h/(b[1][1]-b[0][1]),x=-k*b[0][0],y=(h-k*(b[1][1]+b[0][1]))/2;projection.scale(150*k).translate([x,y])},object)}var maxDepth=16,cosMinDistance=cos(30*radians);var resample=function(project,delta2){return+delta2?resample_resample(project,delta2):resampleNone(project)};function resampleNone(project){return transformer({point:function(x,y){x=project(x,y);this.stream.point(x[0],x[1])}})}function resample_resample(project,delta2){function resampleLineTo(x0,y0,lambda0,a0,b0,c0,x1,y1,lambda1,a1,b1,c1,depth,stream){var dx=x1-x0,dy=y1-y0,d2=dx*dx+dy*dy;if(d2>4*delta2&&depth--){var a=a0+a1,b=b0+b1,c=c0+c1,m=sqrt(a*a+b*b+c*c),phi2=asin(c/=m),lambda2=abs(abs(c)-1)delta2||abs((dx*dx2+dy*dy2)/d2-.5)>.3||a0*a1+b0*b1+c0*c12?_[2]%360*radians:0,recenter()):[deltaLambda*degrees,deltaPhi*degrees,deltaGamma*degrees]};projection.angle=function(_){return arguments.length?(alpha=_%360*radians,recenter()):alpha*degrees};projection.precision=function(_){return arguments.length?(projectResample=resample(projectTransform,delta2=_*_),reset()):sqrt(delta2)};projection.fitExtent=function(extent,object){return fitExtent(projection,extent,object)};projection.fitSize=function(size,object){return fitSize(projection,size,object)};projection.fitWidth=function(width,object){return fitWidth(projection,width,object)};projection.fitHeight=function(height,object){return fitHeight(projection,height,object)};function recenter(){var center=scaleTranslateRotate(k,0,0,alpha).apply(null,project(lambda,phi)),transform=(alpha?scaleTranslateRotate:scaleTranslate)(k,x-center[0],y-center[1],alpha);rotate=rotateRadians(deltaLambda,deltaPhi,deltaGamma);projectTransform=compose(project,transform);projectRotateTransform=compose(rotate,projectTransform);projectResample=resample(projectTransform,delta2);return reset()}function reset(){cache=cacheStream=null;return projection}return function(){project=projectAt.apply(this,arguments);projection.invert=project.invert&&invert;return recenter()}}function conicProjection(projectAt){var phi0=0,phi1=pi/3,m=projectionMutator(projectAt),p=m(phi0,phi1);p.parallels=function(_){return arguments.length?m(phi0=_[0]*radians,phi1=_[1]*radians):[phi0*degrees,phi1*degrees]};return p}function cylindricalEqualAreaRaw(phi0){var cosPhi0=cos(phi0);function forward(lambda,phi){return[lambda*cosPhi0,sin(phi)/cosPhi0]}forward.invert=function(x,y){return[x/cosPhi0,asin(y*cosPhi0)]};return forward}function conicEqualAreaRaw(y0,y1){var sy0=sin(y0),n=(sy0+sin(y1))/2;if(abs(n)=.12&&y<.234&&x>=-.425&&x<-.214?alaska:y>=.166&&y<.234&&x>=-.214&&x<-.115?hawaii:lower48).invert(coordinates)};albersUsa.stream=function(stream){return cache&&cacheStream===stream?cache:cache=multiplex([lower48.stream(cacheStream=stream),alaska.stream(stream),hawaii.stream(stream)])};albersUsa.precision=function(_){if(!arguments.length)return lower48.precision();lower48.precision(_),alaska.precision(_),hawaii.precision(_);return reset()};albersUsa.scale=function(_){if(!arguments.length)return lower48.scale();lower48.scale(_),alaska.scale(_*.35),hawaii.scale(_);return albersUsa.translate(lower48.translate())};albersUsa.translate=function(_){if(!arguments.length)return lower48.translate();var k=lower48.scale(),x=+_[0],y=+_[1];lower48Point=lower48.translate(_).clipExtent([[x-.455*k,y-.238*k],[x+.455*k,y+.238*k]]).stream(pointStream);alaskaPoint=alaska.translate([x-.307*k,y+.201*k]).clipExtent([[x-.425*k+epsilon,y+.12*k+epsilon],[x-.214*k-epsilon,y+.234*k-epsilon]]).stream(pointStream);hawaiiPoint=hawaii.translate([x-.205*k,y+.212*k]).clipExtent([[x-.214*k+epsilon,y+.166*k+epsilon],[x-.115*k-epsilon,y+.234*k-epsilon]]).stream(pointStream);return reset()};albersUsa.fitExtent=function(extent,object){return fitExtent(albersUsa,extent,object)};albersUsa.fitSize=function(size,object){return fitSize(albersUsa,size,object)};albersUsa.fitWidth=function(width,object){return fitWidth(albersUsa,width,object)};albersUsa.fitHeight=function(height,object){return fitHeight(albersUsa,height,object)};function reset(){cache=cacheStream=null;return albersUsa}return albersUsa.scale(1070)};function azimuthalRaw(scale){return function(x,y){var cx=cos(x),cy=cos(y),k=scale(cx*cy);return[k*cy*sin(x),k*sin(y)]}}function azimuthalInvert(angle){return function(x,y){var z=sqrt(x*x+y*y),c=angle(z),sc=sin(c),cc=cos(c);return[atan2(x*sc,z*cc),asin(z&&y*sc/z)]}}var azimuthalEqualAreaRaw=azimuthalRaw(function(cxcy){return sqrt(2/(1+cxcy))});azimuthalEqualAreaRaw.invert=azimuthalInvert(function(z){return 2*asin(z/2)});var azimuthalEqualArea=function(){return projection_projection(azimuthalEqualAreaRaw).scale(124.75).clipAngle(180-.001)};var azimuthalEquidistantRaw=azimuthalRaw(function(c){return(c=acos(c))&&c/sin(c)});azimuthalEquidistantRaw.invert=azimuthalInvert(function(z){return z});var azimuthalEquidistant=function(){return projection_projection(azimuthalEquidistantRaw).scale(79.4188).clipAngle(180-.001)};function mercatorRaw(lambda,phi){return[lambda,log(tan((halfPi+phi)/2))]}mercatorRaw.invert=function(x,y){return[x,2*atan(exp(y))-halfPi]};var mercator=function(){return mercatorProjection(mercatorRaw).scale(961/tau)};function mercatorProjection(project){var m=projection_projection(project),center=m.center,scale=m.scale,translate=m.translate,clipExtent=m.clipExtent,x0=null,y0,x1,y1;m.scale=function(_){return arguments.length?(scale(_),reclip()):scale()};m.translate=function(_){return arguments.length?(translate(_),reclip()):translate()};m.center=function(_){return arguments.length?(center(_),reclip()):center()};m.clipExtent=function(_){return arguments.length?(_==null?x0=y0=x1=y1=null:(x0=+_[0][0],y0=+_[0][1],x1=+_[1][0],y1=+_[1][1]),reclip()):x0==null?null:[[x0,y0],[x1,y1]]};function reclip(){var k=pi*scale(),t=m(src_rotation(m.rotate()).invert([0,0]));return clipExtent(x0==null?[[t[0]-k,t[1]-k],[t[0]+k,t[1]+k]]:project===mercatorRaw?[[Math.max(t[0]-k,x0),y0],[Math.min(t[0]+k,x1),y1]]:[[x0,Math.max(t[1]-k,y0)],[x1,Math.min(t[1]+k,y1)]])}return reclip()}function tany(y){return tan((halfPi+y)/2)}function conicConformalRaw(y0,y1){var cy0=cos(y0),n=y0===y1?sin(y0):log(cy0/cos(y1))/log(tany(y1)/tany(y0)),f=cy0*pow(tany(y0),n)/n;if(!n)return mercatorRaw;function project(x,y){if(f>0){if(y<-halfPi+epsilon)y=-halfPi+epsilon}else{if(y>halfPi-epsilon)y=halfPi-epsilon}var r=f/pow(tany(y),n);return[r*sin(n*x),f-r*cos(n*x)]}project.invert=function(x,y){var fy=f-y,r=math_sign(n)*sqrt(x*x+fy*fy);return[atan2(x,abs(fy))/n*math_sign(fy),2*atan(pow(f/r,1/n))-halfPi]};return project}var conicConformal=function(){return conicProjection(conicConformalRaw).scale(109.5).parallels([30,30])};function equirectangularRaw(lambda,phi){return[lambda,phi]}equirectangularRaw.invert=equirectangularRaw;var equirectangular=function(){return projection_projection(equirectangularRaw).scale(152.63)};function conicEquidistantRaw(y0,y1){var cy0=cos(y0),n=y0===y1?sin(y0):(cy0-cos(y1))/(y1-y0),g=cy0/n+y0;if(abs(n)epsilon&&--i>0);return[x/(.8707+(phi2=phi*phi)*(-.131979+phi2*(-.013791+phi2*phi2*phi2*(.003971-.001529*phi2)))),phi]};var naturalEarth1=function(){return projection_projection(naturalEarth1Raw).scale(175.295)};function orthographicRaw(x,y){return[cos(y)*sin(x),sin(y)]}orthographicRaw.invert=azimuthalInvert(asin);var orthographic=function(){return projection_projection(orthographicRaw).scale(249.5).clipAngle(90+epsilon)};function stereographicRaw(x,y){var cy=cos(y),k=1+cos(x)*cy;return[cy*sin(x)/k,sin(y)/k]}stereographicRaw.invert=azimuthalInvert(function(z){return 2*atan(z)});var stereographic=function(){return projection_projection(stereographicRaw).scale(250).clipAngle(142)};function transverseMercatorRaw(lambda,phi){return[log(tan((halfPi+phi)/2)),-lambda]}transverseMercatorRaw.invert=function(x,y){return[-y,2*atan(exp(x))-halfPi]};var transverseMercator=function(){var m=mercatorProjection(transverseMercatorRaw),center=m.center,rotate=m.rotate;m.center=function(_){return arguments.length?center([-_[1],_[0]]):(_=center(),[_[1],-_[0]])};m.rotate=function(_){return arguments.length?rotate([_[0],_[1],_.length>2?_[2]+90:90]):(_=rotate(),[_[0],_[1],_[2]-90])};return rotate([0,0,90]).scale(159.155)};__webpack_require__.d(__webpack_exports__,"geoArea",function(){return src_area});__webpack_require__.d(__webpack_exports__,"geoBounds",function(){return bounds});__webpack_require__.d(__webpack_exports__,"geoCentroid",function(){return centroid});__webpack_require__.d(__webpack_exports__,"geoCircle",function(){return src_circle});__webpack_require__.d(__webpack_exports__,"geoClipAntimeridian",function(){return clip_antimeridian});__webpack_require__.d(__webpack_exports__,"geoClipCircle",function(){return clip_circle});__webpack_require__.d(__webpack_exports__,"geoClipExtent",function(){return clip_extent});__webpack_require__.d(__webpack_exports__,"geoClipRectangle",function(){return clipRectangle});__webpack_require__.d(__webpack_exports__,"geoContains",function(){return contains});__webpack_require__.d(__webpack_exports__,"geoDistance",function(){return distance});__webpack_require__.d(__webpack_exports__,"geoGraticule",function(){return graticule_graticule});__webpack_require__.d(__webpack_exports__,"geoGraticule10",function(){return graticule10});__webpack_require__.d(__webpack_exports__,"geoInterpolate",function(){return src_interpolate});__webpack_require__.d(__webpack_exports__,"geoLength",function(){return src_length});__webpack_require__.d(__webpack_exports__,"geoPath",function(){return src_path});__webpack_require__.d(__webpack_exports__,"geoAlbers",function(){return albers});__webpack_require__.d(__webpack_exports__,"geoAlbersUsa",function(){return projection_albersUsa});__webpack_require__.d(__webpack_exports__,"geoAzimuthalEqualArea",function(){return azimuthalEqualArea});__webpack_require__.d(__webpack_exports__,"geoAzimuthalEqualAreaRaw",function(){return azimuthalEqualAreaRaw});__webpack_require__.d(__webpack_exports__,"geoAzimuthalEquidistant",function(){return azimuthalEquidistant});__webpack_require__.d(__webpack_exports__,"geoAzimuthalEquidistantRaw",function(){return azimuthalEquidistantRaw});__webpack_require__.d(__webpack_exports__,"geoConicConformal",function(){return conicConformal});__webpack_require__.d(__webpack_exports__,"geoConicConformalRaw",function(){return conicConformalRaw});__webpack_require__.d(__webpack_exports__,"geoConicEqualArea",function(){return conicEqualArea});__webpack_require__.d(__webpack_exports__,"geoConicEqualAreaRaw",function(){return conicEqualAreaRaw});__webpack_require__.d(__webpack_exports__,"geoConicEquidistant",function(){return conicEquidistant});__webpack_require__.d(__webpack_exports__,"geoConicEquidistantRaw",function(){return conicEquidistantRaw});__webpack_require__.d(__webpack_exports__,"geoEqualEarth",function(){return equalEarth});__webpack_require__.d(__webpack_exports__,"geoEqualEarthRaw",function(){return equalEarthRaw});__webpack_require__.d(__webpack_exports__,"geoEquirectangular",function(){return equirectangular});__webpack_require__.d(__webpack_exports__,"geoEquirectangularRaw",function(){return equirectangularRaw});__webpack_require__.d(__webpack_exports__,"geoGnomonic",function(){return gnomonic});__webpack_require__.d(__webpack_exports__,"geoGnomonicRaw",function(){return gnomonicRaw});__webpack_require__.d(__webpack_exports__,"geoIdentity",function(){return projection_identity});__webpack_require__.d(__webpack_exports__,"geoProjection",function(){return projection_projection});__webpack_require__.d(__webpack_exports__,"geoProjectionMutator",function(){return projectionMutator});__webpack_require__.d(__webpack_exports__,"geoMercator",function(){return mercator});__webpack_require__.d(__webpack_exports__,"geoMercatorRaw",function(){return mercatorRaw});__webpack_require__.d(__webpack_exports__,"geoNaturalEarth1",function(){return naturalEarth1});__webpack_require__.d(__webpack_exports__,"geoNaturalEarth1Raw",function(){return naturalEarth1Raw});__webpack_require__.d(__webpack_exports__,"geoOrthographic",function(){return orthographic});__webpack_require__.d(__webpack_exports__,"geoOrthographicRaw",function(){return orthographicRaw});__webpack_require__.d(__webpack_exports__,"geoStereographic",function(){return stereographic});__webpack_require__.d(__webpack_exports__,"geoStereographicRaw",function(){return stereographicRaw});__webpack_require__.d(__webpack_exports__,"geoTransverseMercator",function(){return transverseMercator});__webpack_require__.d(__webpack_exports__,"geoTransverseMercatorRaw",function(){return transverseMercatorRaw});__webpack_require__.d(__webpack_exports__,"geoRotation",function(){return src_rotation});__webpack_require__.d(__webpack_exports__,"geoStream",function(){return src_stream});__webpack_require__.d(__webpack_exports__,"geoTransform",function(){return src_transform})},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);var xhtml="http://www.w3.org/1999/xhtml";var namespaces={svg:"http://www.w3.org/2000/svg",xhtml,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};var namespace=function(name){var prefix=name+="",i=prefix.indexOf(":");if(i>=0&&(prefix=name.slice(0,i))!=="xmlns")name=name.slice(i+1);return namespaces.hasOwnProperty(prefix)?{space:namespaces[prefix],local:name}:name};function creatorInherit(name){return function(){var document=this.ownerDocument,uri=this.namespaceURI;return uri===xhtml&&document.documentElement.namespaceURI===xhtml?document.createElement(name):document.createElementNS(uri,name)}}function creatorFixed(fullname){return function(){return this.ownerDocument.createElementNS(fullname.space,fullname.local)}}var creator=function(name){var fullname=namespace(name);return(fullname.local?creatorFixed:creatorInherit)(fullname)};function none(){}var src_selector=function(selector){return selector==null?none:function(){return this.querySelector(selector)}};var selection_select=function(select){if(typeof select!=="function")select=src_selector(select);for(var groups=this._groups,m=groups.length,subgroups=new Array(m),j=0;j=i1)i1=i0+1;while(!(next=updateGroup[i1])&&++i1=0;){if(node=group[i]){if(next&&node.compareDocumentPosition(next)^4)next.parentNode.insertBefore(node,next);next=node}}}return this};var sort=function(compare){if(!compare)compare=ascending;function compareNode(a,b){return a&&b?compare(a.__data__,b.__data__):!a-!b}for(var groups=this._groups,m=groups.length,sortgroups=new Array(m),j=0;jb?1:a>=b?0:NaN}var call=function(){var callback=arguments[0];arguments[0]=this;callback.apply(null,arguments);return this};var nodes=function(){var nodes=new Array(this.size()),i=-1;this.each(function(){nodes[++i]=this});return nodes};var selection_node=function(){for(var groups=this._groups,j=0,m=groups.length;j1?this.each((value==null?styleRemove:typeof value==="function"?styleFunction:styleConstant)(name,value,priority==null?"":priority)):styleValue(this.node(),name)};function styleValue(node,name){return node.style.getPropertyValue(name)||src_window(node).getComputedStyle(node,null).getPropertyValue(name)}function propertyRemove(name){return function(){delete this[name]}}function propertyConstant(name,value){return function(){this[name]=value}}function propertyFunction(name,value){return function(){var v=value.apply(this,arguments);if(v==null)delete this[name];else this[name]=v}}var property=function(name,value){return arguments.length>1?this.each((value==null?propertyRemove:typeof value==="function"?propertyFunction:propertyConstant)(name,value)):this.node()[name]};function classArray(string){return string.trim().split(/^|\s+/)}function classList(node){return node.classList||new ClassList(node)}function ClassList(node){this._node=node;this._names=classArray(node.getAttribute("class")||"")}ClassList.prototype={add:function(name){var i=this._names.indexOf(name);if(i<0){this._names.push(name);this._node.setAttribute("class",this._names.join(" "))}},remove:function(name){var i=this._names.indexOf(name);if(i>=0){this._names.splice(i,1);this._node.setAttribute("class",this._names.join(" "))}},contains:function(name){return this._names.indexOf(name)>=0}};function classedAdd(node,names){var list=classList(node),i=-1,n=names.length;while(++i=0)name=t.slice(i+1),t=t.slice(0,i);return{type:t,name}})}function onRemove(typename){return function(){var on=this.__on;if(!on)return;for(var j=0,i=-1,m=on.length,o;jb?1:a>=b?0:NaN};var bisector=function(compare){if(compare.length===1)compare=ascendingComparator(compare);return{left:function(a,x,lo,hi){if(lo==null)lo=0;if(hi==null)hi=a.length;while(lo>>1;if(compare(a[mid],x)<0)lo=mid+1;else hi=mid}return lo},right:function(a,x,lo,hi){if(lo==null)lo=0;if(hi==null)hi=a.length;while(lo>>1;if(compare(a[mid],x)>0)hi=mid;else lo=mid+1}return lo}}};function ascendingComparator(f){return function(d,x){return ascending(f(d),x)}}var ascendingBisect=bisector(ascending);var bisectRight=ascendingBisect.right;var bisectLeft=ascendingBisect.left;var bisect=bisectRight;var pairs=function(array,f){if(f==null)f=pair;var i=0,n=array.length-1,p=array[0],pairs=new Array(n<0?0:n);while(ia?1:b>=a?0:NaN};var number=function(x){return x===null?NaN:+x};var variance=function(values,valueof){var n=values.length,m=0,i=-1,mean=0,value,delta,sum=0;if(valueof==null){while(++i1)return sum/(m-1)};var deviation=function(array,f){var v=variance(array,f);return v?Math.sqrt(v):v};var extent=function(values,valueof){var n=values.length,i=-1,value,min,max;if(valueof==null){while(++i=value){min=max=value;while(++ivalue)min=value;if(max=value){min=max=value;while(++ivalue)min=value;if(max0)return[start];if(reverse=stop0){start=Math.ceil(start/step);stop=Math.floor(stop/step);ticks=new Array(n=Math.ceil(stop-start+1));while(++i=0?(error>=e10?10:error>=e5?5:error>=e2?2:1)*Math.pow(10,power):-Math.pow(10,-power)/(error>=e10?10:error>=e5?5:error>=e2?2:1)}function tickStep(start,stop,count){var step0=Math.abs(stop-start)/Math.max(0,count),step1=Math.pow(10,Math.floor(Math.log(step0)/Math.LN10)),error=step0/step1;if(error>=e10)step1*=10;else if(error>=e5)step1*=5;else if(error>=e2)step1*=2;return stopx1)tz.pop(),--m;var bins=new Array(m+1),bin;for(i=0;i<=m;++i){bin=bins[i]=[];bin.x0=i>0?tz[i-1]:x0;bin.x1=i=1)return+valueof(values[n-1],n-1,values);var n,i=(n-1)*p,i0=Math.floor(i),value0=+valueof(values[i0],i0,values),value1=+valueof(values[i0+1],i0+1,values);return value0+(value1-value0)*(i-i0)};var freedmanDiaconis=function(values,min,max){values=map.call(values,number).sort(ascending);return Math.ceil((max-min)/(2*(quantile(values,.75)-quantile(values,.25))*Math.pow(values.length,-1/3)))};var scott=function(values,min,max){return Math.ceil((max-min)/(3.5*deviation(values)*Math.pow(values.length,-1/3)))};var src_max=function(values,valueof){var n=values.length,i=-1,value,max;if(valueof==null){while(++i=value){max=value;while(++imax){max=value}}}}}else{while(++i=value){max=value;while(++imax){max=value}}}}}return max};var src_mean=function(values,valueof){var n=values.length,m=n,i=-1,value,sum=0;if(valueof==null){while(++i=0){array=arrays[n];m=array.length;while(--m>=0){merged[--j]=array[m]}}return merged};var src_min=function(values,valueof){var n=values.length,i=-1,value,min;if(valueof==null){while(++i=value){min=value;while(++ivalue){min=value}}}}}else{while(++i=value){min=value;while(++ivalue){min=value}}}}}return min};var permute=function(array,indexes){var i=indexes.length,permutes=new Array(i);while(i--)permutes[i]=array[indexes[i]];return permutes};var scan=function(values,compare){if(!(n=values.length))return;var n,i=0,j=0,xi,xj=values[j];if(compare==null)compare=ascending;while(++i>8&15|m>>4&240,m>>4&15|m&240,(m&15)<<4|m&15,1)):(m=reHex6.exec(format))?rgbn(parseInt(m[1],16)):(m=reRgbInteger.exec(format))?new Rgb(m[1],m[2],m[3],1):(m=reRgbPercent.exec(format))?new Rgb(m[1]*255/100,m[2]*255/100,m[3]*255/100,1):(m=reRgbaInteger.exec(format))?rgba(m[1],m[2],m[3],m[4]):(m=reRgbaPercent.exec(format))?rgba(m[1]*255/100,m[2]*255/100,m[3]*255/100,m[4]):(m=reHslPercent.exec(format))?hsla(m[1],m[2]/100,m[3]/100,1):(m=reHslaPercent.exec(format))?hsla(m[1],m[2]/100,m[3]/100,m[4]):named.hasOwnProperty(format)?rgbn(named[format]):format==="transparent"?new Rgb(NaN,NaN,NaN,0):null}function rgbn(n){return new Rgb(n>>16&255,n>>8&255,n&255,1)}function rgba(r,g,b,a){if(a<=0)r=g=b=NaN;return new Rgb(r,g,b,a)}function rgbConvert(o){if(!(o instanceof Color))o=color(o);if(!o)return new Rgb;o=o.rgb();return new Rgb(o.r,o.g,o.b,o.opacity)}function rgb(r,g,b,opacity){return arguments.length===1?rgbConvert(r):new Rgb(r,g,b,opacity==null?1:opacity)}function Rgb(r,g,b,opacity){this.r=+r;this.g=+g;this.b=+b;this.opacity=+opacity}define(Rgb,rgb,extend(Color,{brighter:function(k){k=k==null?brighter:Math.pow(brighter,k);return new Rgb(this.r*k,this.g*k,this.b*k,this.opacity)},darker:function(k){k=k==null?darker:Math.pow(darker,k);return new Rgb(this.r*k,this.g*k,this.b*k,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&(0<=this.g&&this.g<=255)&&(0<=this.b&&this.b<=255)&&(0<=this.opacity&&this.opacity<=1)},hex:function(){return"#"+hex(this.r)+hex(this.g)+hex(this.b)},toString:function(){var a=this.opacity;a=isNaN(a)?1:Math.max(0,Math.min(1,a));return(a===1?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(a===1?")":", "+a+")")}}));function hex(value){value=Math.max(0,Math.min(255,Math.round(value)||0));return(value<16?"0":"")+value.toString(16)}function hsla(h,s,l,a){if(a<=0)h=s=l=NaN;else if(l<=0||l>=1)h=s=NaN;else if(s<=0)h=NaN;return new Hsl(h,s,l,a)}function hslConvert(o){if(o instanceof Hsl)return new Hsl(o.h,o.s,o.l,o.opacity);if(!(o instanceof Color))o=color(o);if(!o)return new Hsl;if(o instanceof Hsl)return o;o=o.rgb();var r=o.r/255,g=o.g/255,b=o.b/255,min=Math.min(r,g,b),max=Math.max(r,g,b),h=NaN,s=max-min,l=(max+min)/2;if(s){if(r===max)h=(g-b)/s+(g0&&l<1?0:h}return new Hsl(h,s,l,o.opacity)}function hsl(h,s,l,opacity){return arguments.length===1?hslConvert(h):new Hsl(h,s,l,opacity==null?1:opacity)}function Hsl(h,s,l,opacity){this.h=+h;this.s=+s;this.l=+l;this.opacity=+opacity}define(Hsl,hsl,extend(Color,{brighter:function(k){k=k==null?brighter:Math.pow(brighter,k);return new Hsl(this.h,this.s,this.l*k,this.opacity)},darker:function(k){k=k==null?darker:Math.pow(darker,k);return new Hsl(this.h,this.s,this.l*k,this.opacity)},rgb:function(){var h=this.h%360+(this.h<0)*360,s=isNaN(h)||isNaN(this.s)?0:this.s,l=this.l,m2=l+(l<.5?l:1-l)*s,m1=2*l-m2;return new Rgb(hsl2rgb(h>=240?h-240:h+120,m1,m2),hsl2rgb(h,m1,m2),hsl2rgb(h<120?h+240:h-120,m1,m2),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&(0<=this.l&&this.l<=1)&&(0<=this.opacity&&this.opacity<=1)}}));function hsl2rgb(h,m1,m2){return(h<60?m1+(m2-m1)*h/60:h<180?m2:h<240?m1+(m2-m1)*(240-h)/60:m1)*255}var deg2rad=Math.PI/180;var rad2deg=180/Math.PI;var K=18,Xn=.96422,Yn=1,Zn=.82521,t0=4/29,t1=6/29,t2=3*t1*t1,t3=t1*t1*t1;function labConvert(o){if(o instanceof Lab)return new Lab(o.l,o.a,o.b,o.opacity);if(o instanceof Hcl){if(isNaN(o.h))return new Lab(o.l,0,0,o.opacity);var h=o.h*deg2rad;return new Lab(o.l,Math.cos(h)*o.c,Math.sin(h)*o.c,o.opacity)}if(!(o instanceof Rgb))o=rgbConvert(o);var r=rgb2lrgb(o.r),g=rgb2lrgb(o.g),b=rgb2lrgb(o.b),y=xyz2lab((.2225045*r+.7168786*g+.0606169*b)/Yn),x,z;if(r===g&&g===b)x=z=y;else{x=xyz2lab((.4360747*r+.3850649*g+.1430804*b)/Xn);z=xyz2lab((.0139322*r+.0971045*g+.7141733*b)/Zn)}return new Lab(116*y-16,500*(x-y),200*(y-z),o.opacity)}function gray(l,opacity){return new Lab(l,0,0,opacity==null?1:opacity)}function lab(l,a,b,opacity){return arguments.length===1?labConvert(l):new Lab(l,a,b,opacity==null?1:opacity)}function Lab(l,a,b,opacity){this.l=+l;this.a=+a;this.b=+b;this.opacity=+opacity}define(Lab,lab,extend(Color,{brighter:function(k){return new Lab(this.l+K*(k==null?1:k),this.a,this.b,this.opacity)},darker:function(k){return new Lab(this.l-K*(k==null?1:k),this.a,this.b,this.opacity)},rgb:function(){var y=(this.l+16)/116,x=isNaN(this.a)?y:y+this.a/500,z=isNaN(this.b)?y:y-this.b/200;x=Xn*lab2xyz(x);y=Yn*lab2xyz(y);z=Zn*lab2xyz(z);return new Rgb(lrgb2rgb(3.1338561*x-1.6168667*y-.4906146*z),lrgb2rgb(-.9787684*x+1.9161415*y+.033454*z),lrgb2rgb(.0719453*x-.2289914*y+1.4052427*z),this.opacity)}}));function xyz2lab(t){return t>t3?Math.pow(t,1/3):t/t2+t0}function lab2xyz(t){return t>t1?t*t*t:t2*(t-t0)}function lrgb2rgb(x){return 255*(x<=.0031308?12.92*x:1.055*Math.pow(x,1/2.4)-.055)}function rgb2lrgb(x){return(x/=255)<=.04045?x/12.92:Math.pow((x+.055)/1.055,2.4)}function hclConvert(o){if(o instanceof Hcl)return new Hcl(o.h,o.c,o.l,o.opacity);if(!(o instanceof Lab))o=labConvert(o);if(o.a===0&&o.b===0)return new Hcl(NaN,0,o.l,o.opacity);var h=Math.atan2(o.b,o.a)*rad2deg;return new Hcl(h<0?h+360:h,Math.sqrt(o.a*o.a+o.b*o.b),o.l,o.opacity)}function lch(l,c,h,opacity){return arguments.length===1?hclConvert(l):new Hcl(h,c,l,opacity==null?1:opacity)}function hcl(h,c,l,opacity){return arguments.length===1?hclConvert(h):new Hcl(h,c,l,opacity==null?1:opacity)}function Hcl(h,c,l,opacity){this.h=+h;this.c=+c;this.l=+l;this.opacity=+opacity}define(Hcl,hcl,extend(Color,{brighter:function(k){return new Hcl(this.h,this.c,this.l+K*(k==null?1:k),this.opacity)},darker:function(k){return new Hcl(this.h,this.c,this.l-K*(k==null?1:k),this.opacity)},rgb:function(){return labConvert(this).rgb()}}));var A=-.14861,B=+1.78277,C=-.29227,D=-.90649,E=+1.97294,ED=E*D,EB=E*B,BC_DA=B*C-D*A;function cubehelixConvert(o){if(o instanceof Cubehelix)return new Cubehelix(o.h,o.s,o.l,o.opacity);if(!(o instanceof Rgb))o=rgbConvert(o);var r=o.r/255,g=o.g/255,b=o.b/255,l=(BC_DA*b+ED*r-EB*g)/(BC_DA+ED-EB),bl=b-l,k=(E*(g-l)-C*bl)/D,s=Math.sqrt(k*k+bl*bl)/(E*l*(1-l)),h=s?Math.atan2(k,bl)*rad2deg-120:NaN;return new Cubehelix(h<0?h+360:h,s,l,o.opacity)}function cubehelix(h,s,l,opacity){return arguments.length===1?cubehelixConvert(h):new Cubehelix(h,s,l,opacity==null?1:opacity)}function Cubehelix(h,s,l,opacity){this.h=+h;this.s=+s;this.l=+l;this.opacity=+opacity}define(Cubehelix,cubehelix,extend(Color,{brighter:function(k){k=k==null?brighter:Math.pow(brighter,k);return new Cubehelix(this.h,this.s,this.l*k,this.opacity)},darker:function(k){k=k==null?darker:Math.pow(darker,k);return new Cubehelix(this.h,this.s,this.l*k,this.opacity)},rgb:function(){var h=isNaN(this.h)?0:(this.h+120)*deg2rad,l=+this.l,a=isNaN(this.s)?0:this.s*l*(1-l),cosh=Math.cos(h),sinh=Math.sin(h);return new Rgb(255*(l+a*(A*cosh+B*sinh)),255*(l+a*(C*cosh+D*sinh)),255*(l+a*(E*cosh)),this.opacity)}}));__webpack_require__.d(__webpack_exports__,"a",function(){return color});__webpack_require__.d(__webpack_exports__,"f",function(){return rgb});__webpack_require__.d(__webpack_exports__,"d",function(){return hsl});__webpack_require__.d(__webpack_exports__,"e",function(){return lab});__webpack_require__.d(__webpack_exports__,"c",function(){return hcl});__webpack_require__.d(__webpack_exports__,"b",function(){return cubehelix})},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);var src=__webpack_require__(3);function basis(t1,v0,v1,v2,v3){var t2=t1*t1,t3=t2*t1;return((1-3*t1+3*t2-t3)*v0+(4-6*t2+3*t3)*v1+(1+3*t1+3*t2-3*t3)*v2+t3*v3)/6}var src_basis=function(values){var n=values.length-1;return function(t){var i=t<=0?t=0:t>=1?(t=1,n-1):Math.floor(t*n),v1=values[i],v2=values[i+1],v0=i>0?values[i-1]:2*v1-v2,v3=i180||d<-180?d-360*Math.round(d/360):d):constant(isNaN(a)?b:a)}function gamma(y){return(y=+y)===1?nogamma:function(a,b){return b-a?exponential(a,b,y):constant(isNaN(a)?b:a)}}function nogamma(a,b){var d=b-a;return d?linear(a,d):constant(isNaN(a)?b:a)}var src_rgb=function rgbGamma(y){var color=gamma(y);function rgb(start,end){var r=color((start=Object(src["f"])(start)).r,(end=Object(src["f"])(end)).r),g=color(start.g,end.g),b=color(start.b,end.b),opacity=nogamma(start.opacity,end.opacity);return function(t){start.r=r(t);start.g=g(t);start.b=b(t);start.opacity=opacity(t);return start+""}}rgb.gamma=rgbGamma;return rgb}(1);function rgbSpline(spline){return function(colors){var n=colors.length,r=new Array(n),g=new Array(n),b=new Array(n),i,color;for(i=0;ibi){bs=b.slice(bi,bs);if(s[i])s[i]+=bs;else s[++i]=bs}if((am=am[0])===(bm=bm[0])){if(s[i])s[i]+=bm;else s[++i]=bm}else{s[++i]=null;q.push({i,x:number(am,bm)})}bi=reB.lastIndex}if(bi180)b+=360;else if(b-a>180)a+=360;q.push({i:s.push(pop(s)+"rotate(",null,degParen)-2,x:number(a,b)})}else if(b){s.push(pop(s)+"rotate("+b+degParen)}}function skewX(a,b,s,q){if(a!==b){q.push({i:s.push(pop(s)+"skewX(",null,degParen)-2,x:number(a,b)})}else if(b){s.push(pop(s)+"skewX("+b+degParen)}}function scale(xa,ya,xb,yb,s,q){if(xa!==xb||ya!==yb){var i=s.push(pop(s)+"scale(",null,",",null,")");q.push({i:i-4,x:number(xa,xb)},{i:i-2,x:number(ya,yb)})}else if(xb!==1||yb!==1){s.push(pop(s)+"scale("+xb+","+yb+")")}}return function(a,b){var s=[],q=[];a=parse(a),b=parse(b);translate(a.translateX,a.translateY,b.translateX,b.translateY,s,q);rotate(a.rotate,b.rotate,s,q);skewX(a.skewX,b.skewX,s,q);scale(a.scaleX,a.scaleY,b.scaleX,b.scaleY,s,q);a=b=null;return function(t){var i=-1,n=q.length,o;while(++i=0)name=t.slice(i+1),t=t.slice(0,i);if(t&&!types.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name}})}Dispatch.prototype=dispatch.prototype={constructor:Dispatch,on:function(typename,callback){var _=this._,T=parseTypenames(typename+"",_),t,i=-1,n=T.length;if(arguments.length<2){while(++i0)for(var args=new Array(n),i=0,n,t;iepsilon));else if(!(Math.abs(y01*x21-y21*x01)>epsilon)||!r){this._+="L"+(this._x1=x1)+","+(this._y1=y1)}else{var x20=x2-x0,y20=y2-y0,l21_2=x21*x21+y21*y21,l20_2=x20*x20+y20*y20,l21=Math.sqrt(l21_2),l01=Math.sqrt(l01_2),l=r*Math.tan((pi-Math.acos((l21_2+l01_2-l20_2)/(2*l21*l01)))/2),t01=l/l01,t21=l/l21;if(Math.abs(t01-1)>epsilon){this._+="L"+(x1+t01*x01)+","+(y1+t01*y01)}this._+="A"+r+","+r+",0,0,"+ +(y01*x20>x01*y20)+","+(this._x1=x1+t21*x21)+","+(this._y1=y1+t21*y21)}},arc:function(x,y,r,a0,a1,ccw){x=+x,y=+y,r=+r,ccw=!!ccw;var dx=r*Math.cos(a0),dy=r*Math.sin(a0),x0=x+dx,y0=y+dy,cw=1^ccw,da=ccw?a0-a1:a1-a0;if(r<0)throw new Error("negative radius: "+r);if(this._x1===null){this._+="M"+x0+","+y0}else if(Math.abs(this._x1-x0)>epsilon||Math.abs(this._y1-y0)>epsilon){this._+="L"+x0+","+y0}if(!r)return;if(da<0)da=da%tau+tau;if(da>tauEpsilon){this._+="A"+r+","+r+",0,1,"+cw+","+(x-dx)+","+(y-dy)+"A"+r+","+r+",0,1,"+cw+","+(this._x1=x0)+","+(this._y1=y0)}else if(da>epsilon){this._+="A"+r+","+r+",0,"+ +(da>=pi)+","+cw+","+(this._x1=x+r*Math.cos(a1))+","+(this._y1=y+r*Math.sin(a1))}},rect:function(x,y,w,h){this._+="M"+(this._x0=this._x1=+x)+","+(this._y0=this._y1=+y)+"h"+ +w+"v"+ +h+"h"+-w+"Z"},toString:function(){return this._}};var src_path=path;__webpack_require__.d(__webpack_exports__,"path",function(){return src_path})},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);var src=__webpack_require__(1);var d3_dispatch_src=__webpack_require__(5);var d3_timer_src=__webpack_require__(10);var emptyOn=Object(d3_dispatch_src["a"])("start","end","cancel","interrupt");var emptyTween=[];var CREATED=0;var SCHEDULED=1;var STARTING=2;var STARTED=3;var RUNNING=4;var ENDING=5;var ENDED=6;var transition_schedule=function(node,name,id,index,group,timing){var schedules=node.__transition;if(!schedules)node.__transition={};else if(id in schedules)return;create(node,id,{name,index,group,on:emptyOn,tween:emptyTween,time:timing.time,delay:timing.delay,duration:timing.duration,ease:timing.ease,timer:null,state:CREATED})};function init(node,id){var schedule=get(node,id);if(schedule.state>CREATED)throw new Error("too late; already scheduled");return schedule}function set(node,id){var schedule=get(node,id);if(schedule.state>STARTED)throw new Error("too late; already running");return schedule}function get(node,id){var schedule=node.__transition;if(!schedule||!(schedule=schedule[id]))throw new Error("transition not found");return schedule}function create(node,id,self){var schedules=node.__transition,tween;schedules[id]=self;self.timer=Object(d3_timer_src["c"])(schedule,0,self.time);function schedule(elapsed){self.state=SCHEDULED;self.timer.restart(start,self.delay,self.time);if(self.delay<=elapsed)start(elapsed-self.delay)}function start(elapsed){var i,j,n,o;if(self.state!==SCHEDULED)return stop();for(i in schedules){o=schedules[i];if(o.name!==self.name)continue;if(o.state===STARTED)return Object(d3_timer_src["b"])(start);if(o.state===RUNNING){o.state=ENDED;o.timer.stop();o.on.call("interrupt",node,node.__data__,o.index,o.group);delete schedules[i]}else if(+iSTARTING&&schedule.state=0)t=t.slice(0,i);return!t||t==="start"})}function onFunction(id,name,listener){var on0,on1,sit=on_start(name)?init:set;return function(){var schedule=sit(this,id),on=schedule.on;if(on!==on0)(on1=(on0=on).copy()).on(name,listener);schedule.on=on1}}var transition_on=function(name,listener){var id=this._id;return arguments.length<2?get(this.node(),id).on.on(name):this.each(onFunction(id,name,listener))};function removeFunction(id){return function(){var parent=this.parentNode;for(var i in this.__transition)if(+i!==id)return;if(parent)parent.removeChild(this)}}var transition_remove=function(){return this.on("end.remove",removeFunction(this._id))};var transition_select=function(select){var name=this._name,id=this._id;if(typeof select!=="function")select=Object(src["selector"])(select);for(var groups=this._groups,m=groups.length,subgroups=new Array(m),j=0;jSCHEDULED&&schedule.name===name){return new Transition([[node]],root,name,+i)}}}return null};__webpack_require__.d(__webpack_exports__,"transition",function(){return src_transition_transition});__webpack_require__.d(__webpack_exports__,"active",function(){return src_active});__webpack_require__.d(__webpack_exports__,"interrupt",function(){return interrupt})},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);var formatDecimal=function(x,p){if((i=(x=p?x.toExponential(p-1):x.toExponential()).indexOf("e"))<0)return null;var i,coefficient=x.slice(0,i);return[coefficient.length>1?coefficient[0]+coefficient.slice(2):coefficient,+x.slice(i+1)]};var src_exponent=function(x){return x=formatDecimal(Math.abs(x)),x?x[1]:NaN};var formatGroup=function(grouping,thousands){return function(value,width){var i=value.length,t=[],j=0,g=grouping[0],length=0;while(i>0&&g>0){if(length+g+1>width)g=Math.max(1,width-length);t.push(value.substring(i-=g,i+g));if((length+=g+1)>width)break;g=grouping[j=(j+1)%grouping.length]}return t.reverse().join(thousands)}};var formatNumerals=function(numerals){return function(value){return value.replace(/[0-9]/g,function(i){return numerals[+i]})}};var re=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function formatSpecifier(specifier){return new FormatSpecifier(specifier)}formatSpecifier.prototype=FormatSpecifier.prototype;function FormatSpecifier(specifier){if(!(match=re.exec(specifier)))throw new Error("invalid format: "+specifier);var match;this.fill=match[1]||" ";this.align=match[2]||">";this.sign=match[3]||"-";this.symbol=match[4]||"";this.zero=!!match[5];this.width=match[6]&&+match[6];this.comma=!!match[7];this.precision=match[8]&&+match[8].slice(1);this.trim=!!match[9];this.type=match[10]||""}FormatSpecifier.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width==null?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision==null?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};var formatTrim=function(s){out:for(var n=s.length,i=1,i0=-1,i1;i0){if(!+s[i])break out;i0=0}break}}return i0>0?s.slice(0,i0)+s.slice(i1+1):s};var prefixExponent;var formatPrefixAuto=function(x,p){var d=formatDecimal(x,p);if(!d)return x+"";var coefficient=d[0],exponent=d[1],i=exponent-(prefixExponent=Math.max(-8,Math.min(8,Math.floor(exponent/3)))*3)+1,n=coefficient.length;return i===n?coefficient:i>n?coefficient+new Array(i-n+1).join("0"):i>0?coefficient.slice(0,i)+"."+coefficient.slice(i):"0."+new Array(1-i).join("0")+formatDecimal(x,Math.max(0,p+i-1))[0]};var formatRounded=function(x,p){var d=formatDecimal(x,p);if(!d)return x+"";var coefficient=d[0],exponent=d[1];return exponent<0?"0."+new Array(-exponent).join("0")+coefficient:coefficient.length>exponent+1?coefficient.slice(0,exponent+1)+"."+coefficient.slice(exponent+1):coefficient+new Array(exponent-coefficient.length+2).join("0")};var formatTypes={"%":function(x,p){return(x*100).toFixed(p)},b:function(x){return Math.round(x).toString(2)},c:function(x){return x+""},d:function(x){return Math.round(x).toString(10)},e:function(x,p){return x.toExponential(p)},f:function(x,p){return x.toFixed(p)},g:function(x,p){return x.toPrecision(p)},o:function(x){return Math.round(x).toString(8)},p:function(x,p){return formatRounded(x*100,p)},r:formatRounded,s:formatPrefixAuto,X:function(x){return Math.round(x).toString(16).toUpperCase()},x:function(x){return Math.round(x).toString(16)}};var identity=function(x){return x};var prefixes=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];var src_locale=function(locale){var group=locale.grouping&&locale.thousands?formatGroup(locale.grouping,locale.thousands):identity,currency=locale.currency,decimal=locale.decimal,numerals=locale.numerals?formatNumerals(locale.numerals):identity,percent=locale.percent||"%";function newFormat(specifier){specifier=formatSpecifier(specifier);var fill=specifier.fill,align=specifier.align,sign=specifier.sign,symbol=specifier.symbol,zero=specifier.zero,width=specifier.width,comma=specifier.comma,precision=specifier.precision,trim=specifier.trim,type=specifier.type;if(type==="n")comma=true,type="g";else if(!formatTypes[type])precision==null&&(precision=12),trim=true,type="g";if(zero||fill==="0"&&align==="=")zero=true,fill="0",align="=";var prefix=symbol==="$"?currency[0]:symbol==="#"&&/[boxX]/.test(type)?"0"+type.toLowerCase():"",suffix=symbol==="$"?currency[1]:/[%p]/.test(type)?percent:"";var formatType=formatTypes[type],maybeSuffix=/[defgprs%]/.test(type);precision=precision==null?6:/[gprs]/.test(type)?Math.max(1,Math.min(21,precision)):Math.max(0,Math.min(20,precision));function format(value){var valuePrefix=prefix,valueSuffix=suffix,i,n,c;if(type==="c"){valueSuffix=formatType(value)+valueSuffix;value=""}else{value=+value;var valueNegative=value<0;value=formatType(Math.abs(value),precision);if(trim)value=formatTrim(value);if(valueNegative&&+value===0)valueNegative=false;valuePrefix=(valueNegative?sign==="("?sign:"-":sign==="-"||sign==="("?"":sign)+valuePrefix;valueSuffix=(type==="s"?prefixes[8+prefixExponent/3]:"")+valueSuffix+(valueNegative&&sign==="("?")":"");if(maybeSuffix){i=-1,n=value.length;while(++ic||c>57){valueSuffix=(c===46?decimal+value.slice(i+1):value.slice(i))+valueSuffix;value=value.slice(0,i);break}}}}if(comma&&!zero)value=group(value,Infinity);var length=valuePrefix.length+value.length+valueSuffix.length,padding=length>1)+valuePrefix+value+valueSuffix+padding.slice(length);break;default:value=padding+valuePrefix+value+valueSuffix;break}return numerals(value)}format.toString=function(){return specifier+""};return format}function formatPrefix(specifier,value){var f=newFormat((specifier=formatSpecifier(specifier),specifier.type="f",specifier)),e=Math.max(-8,Math.min(8,Math.floor(src_exponent(value)/3)))*3,k=Math.pow(10,-e),prefix=prefixes[8+e/3];return function(value){return f(k*value)+prefix}}return{format:newFormat,formatPrefix}};var defaultLocale_locale;var defaultLocale_format;var defaultLocale_formatPrefix;defaultLocale({decimal:".",thousands:",",grouping:[3],currency:["$",""]});function defaultLocale(definition){defaultLocale_locale=src_locale(definition);defaultLocale_format=defaultLocale_locale.format;defaultLocale_formatPrefix=defaultLocale_locale.formatPrefix;return defaultLocale_locale}var precisionFixed=function(step){return Math.max(0,-src_exponent(Math.abs(step)))};var precisionPrefix=function(step,value){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(src_exponent(value)/3)))*3-src_exponent(Math.abs(step)))};var precisionRound=function(step,max){step=Math.abs(step),max=Math.abs(max)-step;return Math.max(0,src_exponent(max)-src_exponent(step))+1};__webpack_require__.d(__webpack_exports__,"formatDefaultLocale",function(){return defaultLocale});__webpack_require__.d(__webpack_exports__,"format",function(){return defaultLocale_format});__webpack_require__.d(__webpack_exports__,"formatPrefix",function(){return defaultLocale_formatPrefix});__webpack_require__.d(__webpack_exports__,"formatLocale",function(){return src_locale});__webpack_require__.d(__webpack_exports__,"formatSpecifier",function(){return formatSpecifier});__webpack_require__.d(__webpack_exports__,"precisionFixed",function(){return precisionFixed});__webpack_require__.d(__webpack_exports__,"precisionPrefix",function(){return precisionPrefix});__webpack_require__.d(__webpack_exports__,"precisionRound",function(){return precisionRound})},function(module,__webpack_exports__,__webpack_require__){"use strict";var prefix="$";function Map(){}Map.prototype=map.prototype={constructor:Map,has:function(key){return prefix+key in this},get:function(key){return this[prefix+key]},set:function(key,value){this[prefix+key]=value;return this},remove:function(key){var property=prefix+key;return property in this&&delete this[property]},clear:function(){for(var property in this)if(property[0]===prefix)delete this[property]},keys:function(){var keys=[];for(var property in this)if(property[0]===prefix)keys.push(property.slice(1));return keys},values:function(){var values=[];for(var property in this)if(property[0]===prefix)values.push(this[property]);return values},entries:function(){var entries=[];for(var property in this)if(property[0]===prefix)entries.push({key:property.slice(1),value:this[property]});return entries},size:function(){var size=0;for(var property in this)if(property[0]===prefix)++size;return size},empty:function(){for(var property in this)if(property[0]===prefix)return false;return true},each:function(f){for(var property in this)if(property[0]===prefix)f(this[property],property.slice(1),this)}};function map(object,f){var map=new Map;if(object instanceof Map)object.each(function(value,key){map.set(key,value)});else if(Array.isArray(object)){var i=-1,n=object.length,o;if(f==null)while(++i=keys.length){if(sortValues!=null)array.sort(sortValues);return rollup!=null?rollup(array):array}var i=-1,n=array.length,key=keys[depth++],keyValue,value,valuesByKey=src_map(),values,result=createResult();while(++ikeys.length)return map;var array,sortKey=sortKeys[depth-1];if(rollup!=null&&depth>=keys.length)array=map.entries();else array=[],map.each(function(v,k){array.push({key:k,values:entries(v,depth)})});return sortKey!=null?array.sort(function(a,b){return sortKey(a.key,b.key)}):array}return nest={object:function(array){return apply(array,0,createObject,setObject)},map:function(array){return apply(array,0,createMap,setMap)},entries:function(array){return entries(apply(array,0,createMap,setMap),0)},key:function(d){keys.push(d);return nest},sortKeys:function(order){sortKeys[keys.length-1]=order;return nest},sortValues:function(order){sortValues=order;return nest},rollup:function(f){rollup=f;return nest}}};function createObject(){return{}}function setObject(object,key,value){object[key]=value}function createMap(){return src_map()}function setMap(map,key,value){map.set(key,value)}function Set(){}var proto=src_map.prototype;Set.prototype=set.prototype={constructor:Set,has:proto.has,add:function(value){value+="";this[prefix+value]=value;return this},remove:proto.remove,clear:proto.clear,values:proto.keys,size:proto.size,empty:proto.empty,each:proto.each};function set(object,f){var set=new Set;if(object instanceof Set)object.each(function(value){set.add(value)});else if(object){var i=-1,n=object.length;if(f==null)while(++i=0)t._call.call(null,e);t=t._next}--timer_frame}function wake(){clockNow=(clockLast=clock.now())+clockSkew;timer_frame=timeout=0;try{timerFlush()}finally{timer_frame=0;nap();clockNow=0}}function poke(){var now=clock.now(),delay=now-clockLast;if(delay>pokeDelay)clockSkew-=delay,clockLast=now}function nap(){var t0,t1=taskHead,t2,time=Infinity;while(t1){if(t1._call){if(time>t1._time)time=t1._time;t0=t1,t1=t1._next}else{t2=t1._next,t1._next=null;t1=t0?t0._next=t2:taskHead=t2}}taskTail=t0;sleep(time)}function sleep(time){if(timer_frame)return;if(timeout)timeout=clearTimeout(timeout);var delay=time-clockNow;if(delay>24){if(timeclickDistance2}gestures.mouse("drag")}function mouseupped(){Object(d3_selection_src["select"])(d3_selection_src["event"].view).on("mousemove.drag mouseup.drag",null);yesdrag(d3_selection_src["event"].view,mousemoving);noevent();gestures.mouse("end")}function touchstarted(){if(!filter.apply(this,arguments))return;var touches=d3_selection_src["event"].changedTouches,c=container.apply(this,arguments),n=touches.length,i,gesture;for(i=0;i9999?"+"+pad(year,6):pad(year,4)}function formatDate(date){var hours=date.getUTCHours(),minutes=date.getUTCMinutes(),seconds=date.getUTCSeconds(),milliseconds=date.getUTCMilliseconds();return isNaN(date)?"Invalid Date":formatYear(date.getUTCFullYear(),4)+"-"+pad(date.getUTCMonth()+1,2)+"-"+pad(date.getUTCDate(),2)+(milliseconds?"T"+pad(hours,2)+":"+pad(minutes,2)+":"+pad(seconds,2)+"."+pad(milliseconds,3)+"Z":seconds?"T"+pad(hours,2)+":"+pad(minutes,2)+":"+pad(seconds,2)+"Z":minutes||hours?"T"+pad(hours,2)+":"+pad(minutes,2)+"Z":"")}var dsv=function(delimiter){var reFormat=new RegExp('["'+delimiter+"\n\r]"),DELIMITER=delimiter.charCodeAt(0);function parse(text,f){var convert,columns,rows=parseRows(text,function(row,i){if(convert)return convert(row,i-1);columns=row,convert=f?customConverter(row,f):objectConverter(row)});rows.columns=columns||[];return rows}function parseRows(text,f){var rows=[],N=text.length,I=0,n=0,t,eof=N<=0,eol=false;if(text.charCodeAt(N-1)===NEWLINE)--N;if(text.charCodeAt(N-1)===RETURN)--N;function token(){if(eof)return EOF;if(eol)return eol=false,EOL;var i,j=I,c;if(text.charCodeAt(j)===QUOTE){while(I++=N)eof=true;else if((c=text.charCodeAt(I++))===NEWLINE)eol=true;else if(c===RETURN){eol=true;if(text.charCodeAt(I)===NEWLINE)++I}return text.slice(j+1,i-1).replace(/""/g,'"')}while(I0?1:x<0?-1:0};var sin=Math.sin;var tan=Math.tan;var math_epsilon=1e-6;var epsilon2=1e-12;var pi=Math.PI;var halfPi=pi/2;var quarterPi=pi/4;var sqrt1_2=Math.SQRT1_2;var sqrt2=sqrt(2);var sqrtPi=sqrt(pi);var tau=pi*2;var degrees=180/pi;var radians=pi/180;function sinci(x){return x?x/Math.sin(x):1}function asin(x){return x>1?halfPi:x<-1?-halfPi:Math.asin(x)}function acos(x){return x>1?0:x<-1?pi:Math.acos(x)}function sqrt(x){return x>0?Math.sqrt(x):0}function tanh(x){x=exp(2*x);return(x-1)/(x+1)}function sinh(x){return(exp(x)-exp(-x))/2}function cosh(x){return(exp(x)+exp(-x))/2}function arsinh(x){return log(x+sqrt(x*x+1))}function arcosh(x){return log(x+sqrt(x*x-1))}function airyRaw(beta){var tanBeta_2=tan(beta/2),b=2*log(cos(beta/2))/(tanBeta_2*tanBeta_2);function forward(x,y){var cosx=cos(x),cosy=cos(y),siny=sin(y),cosz=cosy*cosx,k=-((1-cosz?log((1+cosz)/2)/(1-cosz):-.5)+b/(1+cosz));return[k*cosy*sin(x),k*siny]}forward.invert=function(x,y){var r=sqrt(x*x+y*y),z=-beta/2,i=50,delta;if(!r)return[0,0];do{var z_2=z/2,cosz_2=cos(z_2),sinz_2=sin(z_2),tanz_2=tan(z_2),lnsecz_2=log(1/cosz_2);z-=delta=(2/tanz_2*lnsecz_2-b*tanz_2-r)/(-lnsecz_2/(sinz_2*sinz_2)+1-b/(2*cosz_2*cosz_2))}while(abs(delta)>math_epsilon&&--i>0);var sinz=sin(z);return[atan2(x*sinz,r*cos(z)),asin(y*sinz/r)]};return forward}var airy=function(){var beta=halfPi,m=Object(src["geoProjectionMutator"])(airyRaw),p=m(beta);p.radius=function(_){return arguments.length?m(beta=_*radians):beta*degrees};return p.scale(179.976).clipAngle(147)};function aitoffRaw(x,y){var cosy=cos(y),sincia=sinci(acos(cosy*cos(x/=2)));return[2*cosy*sin(x)*sincia,sin(y)*sincia]}aitoffRaw.invert=function(x,y){if(x*x+4*y*y>pi*pi+math_epsilon)return;var x1=x,y1=y,i=25;do{var sinx=sin(x1),sinx_2=sin(x1/2),cosx_2=cos(x1/2),siny=sin(y1),cosy=cos(y1),sin_2y=sin(2*y1),sin2y=siny*siny,cos2y=cosy*cosy,sin2x_2=sinx_2*sinx_2,c=1-cos2y*cosx_2*cosx_2,e=c?acos(cosy*cosx_2)*sqrt(f=1/c):f=0,f,fx=2*e*cosy*sinx_2-x,fy=e*siny-y,dxdx=f*(cos2y*sin2x_2+e*cosy*cosx_2*sin2y),dxdy=f*(.5*sinx*sin_2y-e*2*siny*sinx_2),dydx=f*.25*(sin_2y*sinx_2-e*siny*cos2y*sinx),dydy=f*(sin2y*cosx_2+e*sin2x_2*cosy),z=dxdy*dydx-dydy*dxdx;if(!z)break;var dx=(fy*dxdy-fx*dydy)/z,dy=(fx*dydx-fy*dxdx)/z;x1-=dx,y1-=dy}while((abs(dx)>math_epsilon||abs(dy)>math_epsilon)&&--i>0);return[x1,y1]};var aitoff=function(){return Object(src["geoProjection"])(aitoffRaw).scale(152.63)};function armadilloRaw(phi0){var sinPhi0=sin(phi0),cosPhi0=cos(phi0),sPhi0=phi0>=0?1:-1,tanPhi0=tan(sPhi0*phi0),k=(1+sinPhi0-cosPhi0)/2;function forward(lambda,phi){var cosPhi=cos(phi),cosLambda=cos(lambda/=2);return[(1+cosPhi)*sin(lambda),(sPhi0*phi>-atan2(cosLambda,tanPhi0)-.001?0:-sPhi0*10)+k+sin(phi)*cosPhi0-(1+cosPhi)*sinPhi0*cosLambda]}forward.invert=function(x,y){var lambda=0,phi=0,i=50;do{var cosLambda=cos(lambda),sinLambda=sin(lambda),cosPhi=cos(phi),sinPhi=sin(phi),A=1+cosPhi,fx=A*sinLambda-x,fy=k+sinPhi*cosPhi0-A*sinPhi0*cosLambda-y,dxdLambda=A*cosLambda/2,dxdPhi=-sinLambda*sinPhi,dydLambda=sinPhi0*A*sinLambda/2,dydPhi=cosPhi0*cosPhi+sinPhi0*cosLambda*sinPhi,denominator=dxdPhi*dydLambda-dydPhi*dxdLambda,dLambda=(fy*dxdPhi-fx*dydPhi)/denominator/2,dPhi=(fx*dydLambda-fy*dxdLambda)/denominator;lambda-=dLambda,phi-=dPhi}while((abs(dLambda)>math_epsilon||abs(dPhi)>math_epsilon)&&--i>0);return sPhi0*phi>-atan2(cos(lambda),tanPhi0)-.001?[lambda*2,phi]:null};return forward}var armadillo=function(){var phi0=20*radians,sPhi0=phi0>=0?1:-1,tanPhi0=tan(sPhi0*phi0),m=Object(src["geoProjectionMutator"])(armadilloRaw),p=m(phi0),stream_=p.stream;p.parallel=function(_){if(!arguments.length)return phi0*degrees;tanPhi0=tan((sPhi0=(phi0=_*radians)>=0?1:-1)*phi0);return m(phi0)};p.stream=function(stream){var rotate=p.rotate(),rotateStream=stream_(stream),sphereStream=(p.rotate([0,0]),stream_(stream)),precision=p.precision();p.rotate(rotate);rotateStream.sphere=function(){sphereStream.polygonStart(),sphereStream.lineStart();for(var lambda=sPhi0*-180;sPhi0*lambda<180;lambda+=sPhi0*90)sphereStream.point(lambda,sPhi0*90);if(phi0)while(sPhi0*(lambda-=3*sPhi0*precision)>=-180){sphereStream.point(lambda,sPhi0*-atan2(cos(lambda*radians/2),tanPhi0)*degrees)}sphereStream.lineEnd(),sphereStream.polygonEnd()};return rotateStream};return p.scale(218.695).center([0,28.0974])};function augustRaw(lambda,phi){var tanPhi=tan(phi/2),k=sqrt(1-tanPhi*tanPhi),c=1+k*cos(lambda/=2),x=sin(lambda)*k/c,y=tanPhi/c,x2=x*x,y2=y*y;return[4/3*x*(3+x2-3*y2),4/3*y*(3+3*x2-y2)]}augustRaw.invert=function(x,y){x*=3/8,y*=3/8;if(!x&&abs(y)>1)return null;var x2=x*x,y2=y*y,s=1+x2+y2,sin3Eta=sqrt((s-sqrt(s*s-4*y*y))/2),eta=asin(sin3Eta)/3,xi=sin3Eta?arcosh(abs(y/sin3Eta))/3:arsinh(abs(x))/3,cosEta=cos(eta),coshXi=cosh(xi),d=coshXi*coshXi-cosEta*cosEta;return[sign(x)*2*atan2(sinh(xi)*cosEta,.25-d),sign(y)*2*atan2(coshXi*sin(eta),.25+d)]};var august=function(){return Object(src["geoProjection"])(augustRaw).scale(66.1603)};var sqrt8=sqrt(8),baker_phi0=log(1+sqrt2);function bakerRaw(lambda,phi){var phi0=abs(phi);return phi0epsilon2&&--i>0);return[x/(cos(phi)*(sqrt8-1/sin(phi))),sign(y)*phi]};var baker=function(){return Object(src["geoProjection"])(bakerRaw).scale(112.314)};function berghausRaw(lobes){var k=2*pi/lobes;function forward(lambda,phi){var p=Object(src["geoAzimuthalEquidistantRaw"])(lambda,phi);if(abs(lambda)>halfPi){var theta=atan2(p[1],p[0]),r=sqrt(p[0]*p[0]+p[1]*p[1]),theta0=k*round((theta-halfPi)/k)+halfPi,alpha=atan2(sin(theta-=theta0),2-cos(theta));theta=theta0+asin(pi/r*sin(alpha))-alpha;p[0]=r*cos(theta);p[1]=r*sin(theta)}return p}forward.invert=function(x,y){var r=sqrt(x*x+y*y);if(r>halfPi){var theta=atan2(y,x),theta0=k*round((theta-halfPi)/k)+halfPi,s=theta>theta0?-1:1,A=r*cos(theta0-theta),cotAlpha=1/tan(s*acos((A-pi)/sqrt(pi*(pi-2*A)+r*r)));theta=theta0+2*atan((cotAlpha+s*sqrt(cotAlpha*cotAlpha-3))/3);x=r*cos(theta),y=r*sin(theta)}return src["geoAzimuthalEquidistantRaw"].invert(x,y)};return forward}var berghaus=function(){var lobes=5,m=Object(src["geoProjectionMutator"])(berghausRaw),p=m(lobes),projectionStream=p.stream,epsilon=.01,cr=-cos(epsilon*radians),sr=sin(epsilon*radians);p.lobes=function(_){return arguments.length?m(lobes=+_):lobes};p.stream=function(stream){var rotate=p.rotate(),rotateStream=projectionStream(stream),sphereStream=(p.rotate([0,0]),projectionStream(stream));p.rotate(rotate);rotateStream.sphere=function(){sphereStream.polygonStart(),sphereStream.lineStart();for(var i=0,delta=360/lobes,delta0=2*pi/lobes,phi=90-180/lobes,phi0=halfPi;i0){r[1]*=1+d/1.5*r[0]*r[0]}return r}}var bertin=function(){var p=Object(src["geoProjection"])(bertin1953Raw());p.rotate([-16.5,-42]);delete p.rotate;return p.scale(176.57).center([7.93,.09])};function mollweideBromleyTheta(cp,phi){var cpsinPhi=cp*sin(phi),i=30,delta;do{phi-=delta=(phi+sin(phi)-cpsinPhi)/(1+cos(phi))}while(abs(delta)>math_epsilon&&--i>0);return phi/2}function mollweideBromleyRaw(cx,cy,cp){function forward(lambda,phi){return[cx*lambda*cos(phi=mollweideBromleyTheta(cp,phi)),cy*sin(phi)]}forward.invert=function(x,y){return y=asin(y/cy),[x/(cx*cos(y)),asin((2*y+sin(2*y))/cp)]};return forward}var mollweideRaw=mollweideBromleyRaw(sqrt2/halfPi,sqrt2,pi);var mollweide=function(){return Object(src["geoProjection"])(mollweideRaw).scale(169.529)};var boggs_k=2.00276,boggs_w=1.11072;function boggsRaw(lambda,phi){var theta=mollweideBromleyTheta(pi,phi);return[boggs_k*lambda/(1/cos(phi)+boggs_w/cos(theta)),(phi+sqrt2*sin(theta))/boggs_k]}boggsRaw.invert=function(x,y){var ky=boggs_k*y,theta=y<0?-quarterPi:quarterPi,i=25,delta,phi;do{phi=ky-sqrt2*sin(theta);theta-=delta=(sin(2*theta)+2*theta-pi*sin(phi))/(2*cos(2*theta)+2+pi*cos(phi)*sqrt2*cos(theta))}while(abs(delta)>math_epsilon&&--i>0);phi=ky-sqrt2*sin(theta);return[x*(1/cos(phi)+boggs_w/cos(theta))/boggs_k,phi]};var boggs=function(){return Object(src["geoProjection"])(boggsRaw).scale(160.857)};var parallel1=function(projectAt){var phi0=0,m=Object(src["geoProjectionMutator"])(projectAt),p=m(phi0);p.parallel=function(_){return arguments.length?m(phi0=_*radians):phi0*degrees};return p};function sinusoidalRaw(lambda,phi){return[lambda*cos(phi),phi]}sinusoidalRaw.invert=function(x,y){return[x/cos(y),y]};var sinusoidal=function(){return Object(src["geoProjection"])(sinusoidalRaw).scale(152.63)};function bonneRaw(phi0){if(!phi0)return sinusoidalRaw;var cotPhi0=1/tan(phi0);function forward(lambda,phi){var rho=cotPhi0+phi0-phi,e=rho?lambda*cos(phi)/rho:rho;return[rho*sin(e),cotPhi0-rho*cos(e)]}forward.invert=function(x,y){var rho=sqrt(x*x+(y=cotPhi0-y)*y),phi=cotPhi0+phi0-rho;return[rho/cos(phi)*atan2(x,y),phi]};return forward}var bonne=function(){return parallel1(bonneRaw).scale(123.082).center([0,26.1441]).parallel(45)};function bottomleyRaw(sinPsi){function forward(lambda,phi){var rho=halfPi-phi,eta=rho?lambda*sinPsi*sin(rho)/rho:rho;return[rho*sin(eta)/sinPsi,halfPi-rho*cos(eta)]}forward.invert=function(x,y){var x1=x*sinPsi,y1=halfPi-y,rho=sqrt(x1*x1+y1*y1),eta=atan2(x1,y1);return[(rho?rho/sin(rho):1)*eta/sinPsi,halfPi-rho]};return forward}var bottomley=function(){var sinPsi=.5,m=Object(src["geoProjectionMutator"])(bottomleyRaw),p=m(sinPsi);p.fraction=function(_){return arguments.length?m(sinPsi=+_):sinPsi};return p.scale(158.837)};var bromleyRaw=mollweideBromleyRaw(1,4/pi,pi);var bromley=function(){return Object(src["geoProjection"])(bromleyRaw).scale(152.63)};function chamberlin_distance(dPhi,c1,s1,c2,s2,dLambda){var cosdLambda=cos(dLambda),r;if(abs(dPhi)>1||abs(dLambda)>1){r=acos(s1*s2+c1*c2*cosdLambda)}else{var sindPhi=sin(dPhi/2),sindLambda=sin(dLambda/2);r=2*asin(sqrt(sindPhi*sindPhi+c1*c2*sindLambda*sindLambda))}return abs(r)>math_epsilon?[r,atan2(c2*sin(dLambda),c1*s2-s1*c2*cosdLambda)]:[0,0]}function angle(b,c,a){return acos((b*b+c*c-a*a)/(2*b*c))}function longitude(lambda){return lambda-2*pi*floor((lambda+pi)/(2*pi))}function chamberlinRaw(p0,p1,p2){var points=[[p0[0],p0[1],sin(p0[1]),cos(p0[1])],[p1[0],p1[1],sin(p1[1]),cos(p1[1])],[p2[0],p2[1],sin(p2[1]),cos(p2[1])]];for(var a=points[2],b,i=0;i<3;++i,a=b){b=points[i];a.v=chamberlin_distance(b[1]-a[1],a[3],a[2],b[3],b[2],b[0]-a[0]);a.point=[0,0]}var beta0=angle(points[0].v[0],points[2].v[0],points[1].v[0]),beta1=angle(points[0].v[0],points[1].v[0],points[2].v[0]),beta2=pi-beta0;points[2].point[1]=0;points[0].point[0]=-(points[1].point[0]=points[0].v[0]/2);var mean=[points[2].point[0]=points[0].point[0]+points[2].v[0]*cos(beta0),2*(points[0].point[1]=points[1].point[1]=points[2].v[0]*sin(beta0))];function forward(lambda,phi){var sinPhi=sin(phi),cosPhi=cos(phi),v=new Array(3),i;for(i=0;i<3;++i){var p=points[i];v[i]=chamberlin_distance(phi-p[1],p[3],p[2],cosPhi,sinPhi,lambda-p[0]);if(!v[i][0])return p.point;v[i][1]=longitude(v[i][1]-p.v[1])}var point=mean.slice();for(i=0;i<3;++i){var j=i==2?0:i+1;var a=angle(points[i].v[0],v[i][0],v[j][0]);if(v[i][1]<0)a=-a;if(!i){point[0]+=v[i][0]*cos(a);point[1]-=v[i][0]*sin(a)}else if(i==1){a=beta1-a;point[0]-=v[i][0]*cos(a);point[1]-=v[i][0]*sin(a)}else{a=beta2-a;point[0]+=v[i][0]*cos(a);point[1]+=v[i][0]*sin(a)}}point[0]/=3,point[1]/=3;return point}return forward}function pointRadians(p){return p[0]*=radians,p[1]*=radians,p}function chamberlinAfrica(){return chamberlin([0,22],[45,22],[22.5,-22]).scale(380).center([22.5,2])}function chamberlin(p0,p1,p2){var c=Object(src["geoCentroid"])({type:"MultiPoint",coordinates:[p0,p1,p2]}),R=[-c[0],-c[1]],r=Object(src["geoRotation"])(R),p=Object(src["geoProjection"])(chamberlinRaw(pointRadians(r(p0)),pointRadians(r(p1)),pointRadians(r(p2)))).rotate(R),center=p.center;delete p.rotate;p.center=function(_){return arguments.length?center(r(_)):r.invert(center())};return p.clipAngle(90)}function collignonRaw(lambda,phi){var alpha=sqrt(1-sin(phi));return[2/sqrtPi*lambda*alpha,sqrtPi*(1-alpha)]}collignonRaw.invert=function(x,y){var lambda=(lambda=y/sqrtPi-1)*lambda;return[lambda>0?x*sqrt(pi/lambda)/2:0,asin(1-lambda)]};var collignon=function(){return Object(src["geoProjection"])(collignonRaw).scale(95.6464).center([0,30])};function craigRaw(phi0){var tanPhi0=tan(phi0);function forward(lambda,phi){return[lambda,(lambda?lambda/sin(lambda):1)*(sin(phi)*cos(lambda)-tanPhi0*cos(phi))]}forward.invert=tanPhi0?function(x,y){if(x)y*=sin(x)/x;var cosLambda=cos(x);return[x,2*atan2(sqrt(cosLambda*cosLambda+tanPhi0*tanPhi0-y*y)-cosLambda,tanPhi0-y)]}:function(x,y){return[x,asin(x?y*tan(x)/x:y)]};return forward}var craig=function(){return parallel1(craigRaw).scale(249.828).clipAngle(90)};var sqrt3=sqrt(3);function crasterRaw(lambda,phi){return[sqrt3*lambda*(2*cos(2*phi/3)-1)/sqrtPi,sqrt3*sqrtPi*sin(phi/3)]}crasterRaw.invert=function(x,y){var phi=3*asin(y/(sqrt3*sqrtPi));return[sqrtPi*x/(sqrt3*(2*cos(2*phi/3)-1)),phi]};var craster=function(){return Object(src["geoProjection"])(crasterRaw).scale(156.19)};function cylindricalEqualAreaRaw(phi0){var cosPhi0=cos(phi0);function forward(lambda,phi){return[lambda*cosPhi0,sin(phi)/cosPhi0]}forward.invert=function(x,y){return[x/cosPhi0,asin(y*cosPhi0)]};return forward}var cylindricalEqualArea=function(){return parallel1(cylindricalEqualAreaRaw).parallel(38.58).scale(195.044)};function cylindricalStereographicRaw(phi0){var cosPhi0=cos(phi0);function forward(lambda,phi){return[lambda*cosPhi0,(1+cosPhi0)*tan(phi/2)]}forward.invert=function(x,y){return[x/cosPhi0,atan(y/(1+cosPhi0))*2]};return forward}var cylindricalStereographic=function(){return parallel1(cylindricalStereographicRaw).scale(124.75)};function eckert1Raw(lambda,phi){var alpha=sqrt(8/(3*pi));return[alpha*lambda*(1-abs(phi)/pi),alpha*phi]}eckert1Raw.invert=function(x,y){var alpha=sqrt(8/(3*pi)),phi=y/alpha;return[x/(alpha*(1-abs(phi)/pi)),phi]};var eckert1=function(){return Object(src["geoProjection"])(eckert1Raw).scale(165.664)};function eckert2Raw(lambda,phi){var alpha=sqrt(4-3*sin(abs(phi)));return[2/sqrt(6*pi)*lambda*alpha,sign(phi)*sqrt(2*pi/3)*(2-alpha)]}eckert2Raw.invert=function(x,y){var alpha=2-abs(y)/sqrt(2*pi/3);return[x*sqrt(6*pi)/(2*alpha),sign(y)*asin((4-alpha*alpha)/3)]};var eckert2=function(){return Object(src["geoProjection"])(eckert2Raw).scale(165.664)};function eckert3Raw(lambda,phi){var k=sqrt(pi*(4+pi));return[2/k*lambda*(1+sqrt(1-4*phi*phi/(pi*pi))),4/k*phi]}eckert3Raw.invert=function(x,y){var k=sqrt(pi*(4+pi))/2;return[x*k/(1+sqrt(1-y*y*(4+pi)/(4*pi))),y*k/2]};var eckert3=function(){return Object(src["geoProjection"])(eckert3Raw).scale(180.739)};function eckert4Raw(lambda,phi){var k=(2+halfPi)*sin(phi);phi/=2;for(var i=0,delta=Infinity;i<10&&abs(delta)>math_epsilon;i++){var cosPhi=cos(phi);phi-=delta=(phi+sin(phi)*(cosPhi+2)-k)/(2*cosPhi*(1+cosPhi))}return[2/sqrt(pi*(4+pi))*lambda*(1+cos(phi)),2*sqrt(pi/(4+pi))*sin(phi)]}eckert4Raw.invert=function(x,y){var A=y*sqrt((4+pi)/pi)/2,k=asin(A),c=cos(k);return[x/(2/sqrt(pi*(4+pi))*(1+c)),asin((k+A*(c+2))/(2+halfPi))]};var eckert4=function(){return Object(src["geoProjection"])(eckert4Raw).scale(180.739)};function eckert5Raw(lambda,phi){return[lambda*(1+cos(phi))/sqrt(2+pi),2*phi/sqrt(2+pi)]}eckert5Raw.invert=function(x,y){var k=sqrt(2+pi),phi=y*k/2;return[k*x/(1+cos(phi)),phi]};var eckert5=function(){return Object(src["geoProjection"])(eckert5Raw).scale(173.044)};function eckert6Raw(lambda,phi){var k=(1+halfPi)*sin(phi);for(var i=0,delta=Infinity;i<10&&abs(delta)>math_epsilon;i++){phi-=delta=(phi+sin(phi)-k)/(1+cos(phi))}k=sqrt(2+pi);return[lambda*(1+cos(phi))/k,2*phi/k]}eckert6Raw.invert=function(x,y){var j=1+halfPi,k=sqrt(j/2);return[x*2*k/(1+cos(y*=k)),asin((y+sin(y))/j)]};var eckert6=function(){return Object(src["geoProjection"])(eckert6Raw).scale(173.044)};var eisenlohrK=3+2*sqrt2;function eisenlohrRaw(lambda,phi){var s0=sin(lambda/=2),c0=cos(lambda),k=sqrt(cos(phi)),c1=cos(phi/=2),t=sin(phi)/(c1+sqrt2*c0*k),c=sqrt(2/(1+t*t)),v=sqrt((sqrt2*c1+(c0+s0)*k)/(sqrt2*c1+(c0-s0)*k));return[eisenlohrK*(c*(v-1/v)-2*log(v)),eisenlohrK*(c*t*(v+1/v)-2*atan(t))]}eisenlohrRaw.invert=function(x,y){if(!(p=augustRaw.invert(x/1.2,y*1.065)))return null;var lambda=p[0],phi=p[1],i=20,p;x/=eisenlohrK,y/=eisenlohrK;do{var _0=lambda/2,_1=phi/2,s0=sin(_0),c0=cos(_0),s1=sin(_1),c1=cos(_1),cos1=cos(phi),k=sqrt(cos1),t=s1/(c1+sqrt2*c0*k),t2=t*t,c=sqrt(2/(1+t2)),v0=sqrt2*c1+(c0+s0)*k,v1=sqrt2*c1+(c0-s0)*k,v2=v0/v1,v=sqrt(v2),vm1v=v-1/v,vp1v=v+1/v,fx=c*vm1v-2*log(v)-x,fy=c*t*vp1v-2*atan(t)-y,deltatDeltaLambda=s1&&sqrt1_2*k*s0*t2/s1,deltatDeltaPhi=(sqrt2*c0*c1+k)/(2*(c1+sqrt2*c0*k)*(c1+sqrt2*c0*k)*k),deltacDeltat=-.5*t*c*c*c,deltacDeltaLambda=deltacDeltat*deltatDeltaLambda,deltacDeltaPhi=deltacDeltat*deltatDeltaPhi,A=(A=2*c1+sqrt2*k*(c0-s0))*A*v,deltavDeltaLambda=(sqrt2*c0*c1*k+cos1)/A,deltavDeltaPhi=-(sqrt2*s0*s1)/(k*A),deltaxDeltaLambda=vm1v*deltacDeltaLambda-2*deltavDeltaLambda/v+c*(deltavDeltaLambda+deltavDeltaLambda/v2),deltaxDeltaPhi=vm1v*deltacDeltaPhi-2*deltavDeltaPhi/v+c*(deltavDeltaPhi+deltavDeltaPhi/v2),deltayDeltaLambda=t*vp1v*deltacDeltaLambda-2*deltatDeltaLambda/(1+t2)+c*vp1v*deltatDeltaLambda+c*t*(deltavDeltaLambda-deltavDeltaLambda/v2),deltayDeltaPhi=t*vp1v*deltacDeltaPhi-2*deltatDeltaPhi/(1+t2)+c*vp1v*deltatDeltaPhi+c*t*(deltavDeltaPhi-deltavDeltaPhi/v2),denominator=deltaxDeltaPhi*deltayDeltaLambda-deltayDeltaPhi*deltaxDeltaLambda;if(!denominator)break;var deltaLambda=(fy*deltaxDeltaPhi-fx*deltayDeltaPhi)/denominator,deltaPhi=(fx*deltayDeltaLambda-fy*deltaxDeltaLambda)/denominator;lambda-=deltaLambda;phi=max(-halfPi,min(halfPi,phi-deltaPhi))}while((abs(deltaLambda)>math_epsilon||abs(deltaPhi)>math_epsilon)&&--i>0);return abs(abs(phi)-halfPi)0&&abs(delta)>math_epsilon);return steps<0?NaN:x}function foucautSinusoidalRaw(alpha){var beta=1-alpha,equatorial=raw(pi,0)[0]-raw(-pi,0)[0],polar=raw(0,halfPi)[1]-raw(0,-halfPi)[1],ratio=sqrt(2*polar/equatorial);function raw(lambda,phi){var cosphi=cos(phi),sinphi=sin(phi);return[cosphi/(beta+alpha*cosphi)*lambda,beta*phi+alpha*sinphi]}function forward(lambda,phi){var p=raw(lambda,phi);return[p[0]*ratio,p[1]/ratio]}function forwardMeridian(phi){return forward(0,phi)[1]}forward.invert=function(x,y){var phi=solve(forwardMeridian,y),lambda=x/ratio*(alpha+beta/cos(phi));return[lambda,phi]};return forward}var foucautSinusoidal=function(){var alpha=.5,m=Object(src["geoProjectionMutator"])(foucautSinusoidalRaw),p=m(alpha);p.alpha=function(_){return arguments.length?m(alpha=+_):alpha};return p.scale(168.725)};function gilbertForward(point){return[point[0]/2,asin(tan(point[1]/2*radians))*degrees]}function gilbertInvert(point){return[point[0]*2,2*atan(sin(point[1]*radians))*degrees]}var src_gilbert=function(projectionType){if(projectionType==null)projectionType=src["geoOrthographic"];var projection=projectionType(),equirectangular=Object(src["geoEquirectangular"])().scale(degrees).precision(0).clipAngle(null).translate([0,0]);function gilbert(point){return projection(gilbertForward(point))}if(projection.invert)gilbert.invert=function(point){return gilbertInvert(projection.invert(point))};gilbert.stream=function(stream){var s1=projection.stream(stream),s0=equirectangular.stream({point:function(lambda,phi){s1.point(lambda/2,asin(tan(-phi/2*radians))*degrees)},lineStart:function(){s1.lineStart()},lineEnd:function(){s1.lineEnd()},polygonStart:function(){s1.polygonStart()},polygonEnd:function(){s1.polygonEnd()}});s0.sphere=s1.sphere;return s0};function property(name){gilbert[name]=function(){return arguments.length?(projection[name].apply(projection,arguments),gilbert):projection[name]()}}gilbert.rotate=function(_){return arguments.length?(equirectangular.rotate(_),gilbert):equirectangular.rotate()};gilbert.center=function(_){return arguments.length?(projection.center(gilbertForward(_)),gilbert):gilbertInvert(projection.center())};property("angle");property("clipAngle");property("clipExtent");property("fitExtent");property("fitHeight");property("fitSize");property("fitWidth");property("scale");property("translate");property("precision");return gilbert.scale(249.5)};function gingeryRaw(rho,n){var k=2*pi/n,rho2=rho*rho;function forward(lambda,phi){var p=Object(src["geoAzimuthalEquidistantRaw"])(lambda,phi),x=p[0],y=p[1],r2=x*x+y*y;if(r2>rho2){var r=sqrt(r2),theta=atan2(y,x),theta0=k*round(theta/k),alpha=theta-theta0,rhoCosAlpha=rho*cos(alpha),k_=(rho*sin(alpha)-alpha*sin(rhoCosAlpha))/(halfPi-rhoCosAlpha),s_=gingeryLength(alpha,k_),e=(pi-rho)/gingeryIntegrate(s_,rhoCosAlpha,pi);x=r;var i=50,delta;do{x-=delta=(rho+gingeryIntegrate(s_,rhoCosAlpha,x)*e-r)/(s_(x)*e)}while(abs(delta)>math_epsilon&&--i>0);y=alpha*sin(x);if(xrho2){var r=sqrt(r2),theta=atan2(y,x),theta0=k*round(theta/k),dTheta=theta-theta0;x=r*cos(dTheta);y=r*sin(dTheta);var x_halfPi=x-halfPi,sinx=sin(x),alpha=y/sinx,delta=xmath_epsilon||abs(deltaPhi)>math_epsilon)&&--i>0);return[lambda,phi]};return forward};var ginzburg4Raw=ginzburgPolyconic(2.8284,-1.6988,.75432,-.18071,1.76003,-.38914,.042555);var ginzburg4=function(){return Object(src["geoProjection"])(ginzburg4Raw).scale(149.995)};var ginzburg5Raw=ginzburgPolyconic(2.583819,-.835827,.170354,-.038094,1.543313,-.411435,.082742);var ginzburg5=function(){return Object(src["geoProjection"])(ginzburg5Raw).scale(153.93)};var ginzburg6Raw=ginzburgPolyconic(5/6*pi,-.62636,-.0344,0,1.3493,-.05524,0,.045);var ginzburg6=function(){return Object(src["geoProjection"])(ginzburg6Raw).scale(130.945)};function ginzburg8Raw(lambda,phi){var lambda2=lambda*lambda,phi2=phi*phi;return[lambda*(1-.162388*phi2)*(.87-952426e-9*lambda2*lambda2),phi*(1+phi2/12)]}ginzburg8Raw.invert=function(x,y){var lambda=x,phi=y,i=50,delta;do{var phi2=phi*phi;phi-=delta=(phi*(1+phi2/12)-y)/(1+phi2/4)}while(abs(delta)>math_epsilon&&--i>0);i=50;x/=1-.162388*phi2;do{var lambda4=(lambda4=lambda*lambda)*lambda4;lambda-=delta=(lambda*(.87-952426e-9*lambda4)-x)/(.87-.00476213*lambda4)}while(abs(delta)>math_epsilon&&--i>0);return[lambda,phi]};var ginzburg8=function(){return Object(src["geoProjection"])(ginzburg8Raw).scale(131.747)};var ginzburg9Raw=ginzburgPolyconic(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);var ginzburg9=function(){return Object(src["geoProjection"])(ginzburg9Raw).scale(131.087)};var square=function(project){var dx=project(halfPi,0)[0]-project(-halfPi,0)[0];function projectSquare(lambda,phi){var s=lambda>0?-.5:.5,point=project(lambda+s*pi,phi);point[0]-=s*dx;return point}if(project.invert)projectSquare.invert=function(x,y){var s=x>0?-.5:.5,location=project.invert(x+s*dx,y),lambda=location[0]-s*pi;if(lambda<-pi)lambda+=2*pi;else if(lambda>pi)lambda-=2*pi;location[0]=lambda;return location};return projectSquare};function gringortenRaw(lambda,phi){var sLambda=sign(lambda),sPhi=sign(phi),cosPhi=cos(phi),x=cos(lambda)*cosPhi,y=sin(lambda)*cosPhi,z=sin(sPhi*phi);lambda=abs(atan2(y,z));phi=asin(x);if(abs(lambda-halfPi)>math_epsilon)lambda%=halfPi;var point=gringortenHexadecant(lambda>pi/4?halfPi-lambda:lambda,phi);if(lambda>pi/4)z=point[0],point[0]=-point[1],point[1]=-z;return point[0]*=sLambda,point[1]*=-sPhi,point}gringortenRaw.invert=function(x,y){if(abs(x)>1)x=sign(x)*2-x;if(abs(y)>1)y=sign(y)*2-y;var sx=sign(x),sy=sign(y),x0=-sx*x,y0=-sy*y,t=y0/x0<1,p=gringortenHexadecantInvert(t?y0:x0,t?x0:y0),lambda=p[0],phi=p[1],cosPhi=cos(phi);if(t)lambda=-halfPi-lambda;return[sx*(atan2(sin(lambda)*cosPhi,-sin(phi))+pi),sy*asin(cos(lambda)*cosPhi)]};function gringortenHexadecant(lambda,phi){if(phi===halfPi)return[0,0];var sinPhi=sin(phi),r=sinPhi*sinPhi,r2=r*r,j=1+r2,k=1+3*r2,q=1-r2,z=asin(1/sqrt(j)),v=q+r*j*z,p2=(1-sinPhi)/v,p=sqrt(p2),a2=p2*j,a=sqrt(a2),h=p*q,x,i;if(lambda===0)return[0,-(h+r*a)];var cosPhi=cos(phi),secPhi=1/cosPhi,drdPhi=2*sinPhi*cosPhi,dvdPhi=(-3*r+z*k)*drdPhi,dp2dPhi=(-v*cosPhi-(1-sinPhi)*dvdPhi)/(v*v),dpdPhi=.5*dp2dPhi/p,dhdPhi=q*dpdPhi-2*r*p*drdPhi,dra2dPhi=r*j*dp2dPhi+p2*k*drdPhi,mu=-secPhi*drdPhi,nu=-secPhi*dra2dPhi,zeta=-2*secPhi*dhdPhi,lambda1=4*lambda/pi,delta;if(lambda>.222*pi||phi.175*pi){x=(h+r*sqrt(a2*(1+r2)-h*h))/(1+r2);if(lambda>pi/4)return[x,x];var x1=x,x0=.5*x;x=.5*(x0+x1),i=50;do{var g=sqrt(a2-x*x),f=x*(zeta+mu*g)+nu*asin(x/a)-lambda1;if(!f)break;if(f<0)x0=x;else x1=x;x=.5*(x0+x1)}while(abs(x1-x0)>math_epsilon&&--i>0)}else{x=math_epsilon,i=25;do{var x2=x*x,g2=sqrt(a2-x2),zetaMug=zeta+mu*g2,f2=x*zetaMug+nu*asin(x/a)-lambda1,df=zetaMug+(nu-mu*x2)/g2;x-=delta=g2?f2/df:0}while(abs(delta)>math_epsilon&&--i>0)}return[x,-h-r*sqrt(a2-x*x)]}function gringortenHexadecantInvert(x,y){var x0=0,x1=1,r=.5,i=50;while(true){var r2=r*r,sinPhi=sqrt(r),z=asin(1/sqrt(1+r2)),v=1-r2+r*(1+r2)*z,p2=(1-sinPhi)/v,p=sqrt(p2),a2=p2*(1+r2),h=p*(1-r2),g2=a2-x*x,g=sqrt(g2),y0=y+h+r*g;if(abs(x1-x0)0)x0=r;else x1=r;r=.5*(x0+x1)}if(!i)return null;var phi=asin(sinPhi),cosPhi=cos(phi),secPhi=1/cosPhi,drdPhi=2*sinPhi*cosPhi,dvdPhi=(-3*r+z*(1+3*r2))*drdPhi,dp2dPhi=(-v*cosPhi-(1-sinPhi)*dvdPhi)/(v*v),dpdPhi=.5*dp2dPhi/p,dhdPhi=(1-r2)*dpdPhi-2*r*p*drdPhi,zeta=-2*secPhi*dhdPhi,mu=-secPhi*drdPhi,nu=-secPhi*(r*(1+r2)*dp2dPhi+p2*(1+3*r2)*drdPhi);return[pi/4*(x*(zeta+mu*g)+nu*asin(x/sqrt(a2))),phi]}var gringorten=function(){return Object(src["geoProjection"])(square(gringortenRaw)).scale(239.75)};function ellipticJi(u,v,m){var a,b,c;if(!u){b=ellipticJ(v,1-m);return[[0,b[0]/b[1]],[1/b[1],0],[b[2]/b[1],0]]}a=ellipticJ(u,m);if(!v)return[[a[0],0],[a[1],0],[a[2],0]];b=ellipticJ(v,1-m);c=b[1]*b[1]+m*a[0]*a[0]*b[0]*b[0];return[[a[0]*b[2]/c,a[1]*a[2]*b[0]*b[1]/c],[a[1]*b[1]/c,-a[0]*a[2]*b[0]*b[2]/c],[a[2]*b[1]*b[2]/c,-m*a[0]*a[1]*b[0]/c]]}function ellipticJ(u,m){var ai,b,phi,t,twon;if(m=1-math_epsilon){ai=(1-m)/4;b=cosh(u);t=tanh(u);phi=1/b;twon=b*sinh(u);return[t+ai*(twon-u)/(b*b),phi-ai*t*phi*(twon-u),phi+ai*t*phi*(twon+u),2*atan(exp(u))-halfPi+ai*(twon-u)/b]}var a=[1,0,0,0,0,0,0,0,0],c=[sqrt(m),0,0,0,0,0,0,0,0],i=0;b=sqrt(1-m);twon=1;while(abs(c[i]/a[i])>math_epsilon&&i<8){ai=a[i++];c[i]=(ai-b)/2;a[i]=(ai+b)/2;b=sqrt(ai*b);twon*=2}phi=twon*a[i]*u;do{t=c[i]*sin(b=phi)/a[i];phi=(asin(t)+phi)/2}while(--i);return[sin(phi),t=cos(phi),t/cos(phi-b),phi]}function ellipticFi(phi,psi,m){var r=abs(phi),i=abs(psi),sinhPsi=sinh(i);if(r){var cscPhi=1/sin(r),cotPhi2=1/(tan(r)*tan(r)),b=-(cotPhi2+m*(sinhPsi*sinhPsi*cscPhi*cscPhi)-1+m),c=(m-1)*cotPhi2,cotLambda2=(-b+sqrt(b*b-4*c))/2;return[ellipticF(atan(1/sqrt(cotLambda2)),m)*sign(phi),ellipticF(atan(sqrt((cotLambda2/cotPhi2-1)/m)),1-m)*sign(psi)]}return[0,ellipticF(atan(sinhPsi),1-m)*sign(psi)]}function ellipticF(phi,m){if(!m)return phi;if(m===1)return log(tan(phi/2+quarterPi));var a=1,b=sqrt(1-m),c=sqrt(m);for(var i=0;abs(c)>math_epsilon;i++){if(phi%pi){var dPhi=atan(b*tan(phi)/a);if(dPhi<0)dPhi+=pi;phi+=dPhi+~~(phi/pi)*pi}else phi+=phi;c=(a+b)/2;b=sqrt(a*b);c=((a=c)-b)/2}return phi/(pow(2,i)*a)}function guyouRaw(lambda,phi){var k_=(sqrt2-1)/(sqrt2+1),k=sqrt(1-k_*k_),K=ellipticF(halfPi,k*k),f=-1,psi=log(tan(pi/4+abs(phi)/2)),r=exp(f*psi)/sqrt(k_),at=guyouComplexAtan(r*cos(f*lambda),r*sin(f*lambda)),t=ellipticFi(at[0],at[1],k*k);return[-t[1],(phi>=0?1:-1)*(.5*K-t[0])]}function guyouComplexAtan(x,y){var x2=x*x,y_1=y+1,t=1-x2-y*y;return[.5*((x>=0?halfPi:-halfPi)-atan2(t,2*x)),-.25*log(t*t+4*x2)+.5*log(y_1*y_1+x2)]}function guyouComplexDivide(a,b){var denominator=b[0]*b[0]+b[1]*b[1];return[(a[0]*b[0]+a[1]*b[1])/denominator,(a[1]*b[0]-a[0]*b[1])/denominator]}guyouRaw.invert=function(x,y){var k_=(sqrt2-1)/(sqrt2+1),k=sqrt(1-k_*k_),K=ellipticF(halfPi,k*k),f=-1,j=ellipticJi(.5*K-y,-x,k*k),tn=guyouComplexDivide(j[0],j[1]),lambda=atan2(tn[1],tn[0])/f;return[lambda,2*atan(exp(.5/f*log(k_*tn[0]*tn[0]+k_*tn[1]*tn[1])))-halfPi]};var guyou=function(){return Object(src["geoProjection"])(square(guyouRaw)).scale(151.496)};function hammerRetroazimuthalRaw(phi0){var sinPhi0=sin(phi0),cosPhi0=cos(phi0),rotate=hammerRetroazimuthalRotation(phi0);rotate.invert=hammerRetroazimuthalRotation(-phi0);function forward(lambda,phi){var p=rotate(lambda,phi);lambda=p[0],phi=p[1];var sinPhi=sin(phi),cosPhi=cos(phi),cosLambda=cos(lambda),z=acos(sinPhi0*sinPhi+cosPhi0*cosPhi*cosLambda),sinz=sin(z),K=abs(sinz)>math_epsilon?z/sinz:1;return[K*cosPhi0*sin(lambda),(abs(lambda)>halfPi?K:-K)*(sinPhi0*cosPhi-cosPhi0*sinPhi*cosLambda)]}forward.invert=function(x,y){var rho=sqrt(x*x+y*y),sinz=-sin(rho),cosz=cos(rho),a=rho*cosz,b=-y*sinz,c=rho*sinPhi0,d=sqrt(a*a+b*b-c*c),phi=atan2(a*c+b*d,b*c-a*d),lambda=(rho>halfPi?-1:1)*atan2(x*sinz,rho*cos(phi)*cosz+y*sin(phi)*sinz);return rotate.invert(lambda,phi)};return forward}function hammerRetroazimuthalRotation(phi0){var sinPhi0=sin(phi0),cosPhi0=cos(phi0);return function(lambda,phi){var cosPhi=cos(phi),x=cos(lambda)*cosPhi,y=sin(lambda)*cosPhi,z=sin(phi);return[atan2(y,x*cosPhi0-z*sinPhi0),asin(z*cosPhi0+x*sinPhi0)]}}var hammerRetroazimuthal=function(){var phi0=0,m=Object(src["geoProjectionMutator"])(hammerRetroazimuthalRaw),p=m(phi0),rotate_=p.rotate,stream_=p.stream,circle=Object(src["geoCircle"])();p.parallel=function(_){if(!arguments.length)return phi0*degrees;var r=p.rotate();return m(phi0=_*radians).rotate(r)};p.rotate=function(_){if(!arguments.length)return _=rotate_.call(p),_[1]+=phi0*degrees,_;rotate_.call(p,[_[0],_[1]-phi0*degrees]);circle.center([-_[0],-_[1]]);return p};p.stream=function(stream){stream=stream_(stream);stream.sphere=function(){stream.polygonStart();var epsilon=.01,ring=circle.radius(90-epsilon)().coordinates[0],n=ring.length-1,i=-1,p;stream.lineStart();while(++i=0)stream.point((p=ring[i])[0],p[1]);stream.lineEnd();stream.polygonEnd()};return stream};return p.scale(79.4187).parallel(45).clipAngle(180-.001)};var d3_array_src=__webpack_require__(2);var healpixParallel=41+48/36+37/3600,healpixLambert=cylindricalEqualAreaRaw(0);function healpixRaw(H){var phi0=healpixParallel*radians,dx=collignonRaw(pi,phi0)[0]-collignonRaw(-pi,phi0)[0],y0=healpixLambert(0,phi0)[1],y1=collignonRaw(0,phi0)[1],dy1=sqrtPi-y1,k=tau/H,w=4/tau,h=y0+dy1*dy1*4/tau;function forward(lambda,phi){var point,phi2=abs(phi);if(phi2>phi0){var i=min(H-1,max(0,floor((lambda+pi)/k)));lambda+=pi*(H-1)/H-i*k;point=collignonRaw(lambda,phi2);point[0]=point[0]*tau/dx-tau*(H-1)/(2*H)+i*tau/H;point[1]=y0+(point[1]-y1)*4*dy1/tau;if(phi<0)point[1]=-point[1]}else{point=healpixLambert(lambda,phi)}point[0]*=w,point[1]/=h;return point}forward.invert=function(x,y){x/=w,y*=h;var y2=abs(y);if(y2>y0){var i=min(H-1,max(0,floor((x+pi)/k)));x=(x+pi*(H-1)/H-i*k)*dx/tau;var point=collignonRaw.invert(x,.25*(y2-y0)*tau/dy1+y1);point[0]-=pi*(H-1)/H-i*k;if(y<0)point[1]=-point[1];return point}return healpixLambert.invert(x,y)};return forward}function sphereTop(x,i){return[x,i&1?90-math_epsilon:healpixParallel]}function sphereBottom(x,i){return[x,i&1?-90+math_epsilon:-healpixParallel]}function sphereNudge(d){return[d[0]*(1-math_epsilon),d[1]]}function healpix_sphere(step){var c=[].concat(Object(d3_array_src["range"])(-180,180+step/2,step).map(sphereTop),Object(d3_array_src["range"])(180,-180-step/2,-step).map(sphereBottom));return{type:"Polygon",coordinates:[step===180?c.map(sphereNudge):c]}}var healpix=function(){var H=4,m=Object(src["geoProjectionMutator"])(healpixRaw),p=m(H),stream_=p.stream;p.lobes=function(_){return arguments.length?m(H=+_):H};p.stream=function(stream){var rotate=p.rotate(),rotateStream=stream_(stream),sphereStream=(p.rotate([0,0]),stream_(stream));p.rotate(rotate);rotateStream.sphere=function(){Object(src["geoStream"])(healpix_sphere(180/H),sphereStream)};return rotateStream};return p.scale(239.75)};function hillRaw(K){var L=1+K,sinBt=sin(1/L),Bt=asin(sinBt),A=2*sqrt(pi/(B=pi+4*Bt*L)),B,rho0=.5*A*(L+sqrt(K*(2+K))),K2=K*K,L2=L*L;function forward(lambda,phi){var t=1-sin(phi),rho,omega;if(t&&t<2){var theta=halfPi-phi,i=25,delta;do{var sinTheta=sin(theta),cosTheta=cos(theta),Bt_Bt1=Bt+atan2(sinTheta,L-cosTheta),C=1+L2-2*L*cosTheta;theta-=delta=(theta-K2*Bt-L*sinTheta+C*Bt_Bt1-.5*t*B)/(2*L*sinTheta*Bt_Bt1)}while(abs(delta)>epsilon2&&--i>0);rho=A*sqrt(C);omega=lambda*Bt_Bt1/pi}else{rho=A*(K+t);omega=lambda*Bt/pi}return[rho*sin(omega),rho0-rho*cos(omega)]}forward.invert=function(x,y){var rho2=x*x+(y-=rho0)*y,cosTheta=(1+L2-rho2/(A*A))/(2*L),theta=acos(cosTheta),sinTheta=sin(theta),Bt_Bt1=Bt+atan2(sinTheta,L-cosTheta);return[asin(x/sqrt(rho2))*pi/Bt_Bt1,asin(1-2*(theta-K2*Bt-L*sinTheta+(1+L2-2*L*cosTheta)*Bt_Bt1)/B)]};return forward}var hill=function(){var K=1,m=Object(src["geoProjectionMutator"])(hillRaw),p=m(K);p.ratio=function(_){return arguments.length?m(K=+_):K};return p.scale(167.774).center([0,18.67])};var sinuMollweidePhi=.7109889596207567;var sinuMollweideY=.0528035274542;function sinuMollweideRaw(lambda,phi){return phi>-sinuMollweidePhi?(lambda=mollweideRaw(lambda,phi),lambda[1]+=sinuMollweideY,lambda):sinusoidalRaw(lambda,phi)}sinuMollweideRaw.invert=function(x,y){return y>-sinuMollweidePhi?mollweideRaw.invert(x,y-sinuMollweideY):sinusoidalRaw.invert(x,y)};var sinuMollweide=function(){return Object(src["geoProjection"])(sinuMollweideRaw).rotate([-20,-55]).scale(164.263).center([0,-5.4036])};function homolosineRaw(lambda,phi){return abs(phi)>sinuMollweidePhi?(lambda=mollweideRaw(lambda,phi),lambda[1]-=phi>0?sinuMollweideY:-sinuMollweideY,lambda):sinusoidalRaw(lambda,phi)}homolosineRaw.invert=function(x,y){return abs(y)>sinuMollweidePhi?mollweideRaw.invert(x,y+(y>0?sinuMollweideY:-sinuMollweideY)):sinusoidalRaw.invert(x,y)};var homolosine=function(){return Object(src["geoProjection"])(homolosineRaw).scale(152.63)};function hufnagelRaw(a,b,psiMax,ratio){var k=sqrt(4*pi/(2*psiMax+(1+a-b/2)*sin(2*psiMax)+(a+b)/2*sin(4*psiMax)+b/2*sin(6*psiMax))),c=sqrt(ratio*sin(psiMax)*sqrt((1+a*cos(2*psiMax)+b*cos(4*psiMax))/(1+a+b))),M=psiMax*mapping(1);function radius(psi){return sqrt(1+a*cos(2*psi)+b*cos(4*psi))}function mapping(t){var psi=t*psiMax;return(2*psi+(1+a-b/2)*sin(2*psi)+(a+b)/2*sin(4*psi)+b/2*sin(6*psi))/psiMax}function inversemapping(psi){return radius(psi)*sin(psi)}var forward=function(lambda,phi){var psi=psiMax*solve(mapping,M*sin(phi)/psiMax,phi/pi);if(isNaN(psi))psi=psiMax*sign(phi);var kr=k*radius(psi);return[kr*c*lambda/pi*cos(psi),kr/c*sin(psi)]};forward.invert=function(x,y){var psi=solve(inversemapping,y*c/k);return[x*pi/(cos(psi)*k*c*radius(psi)),asin(psiMax*mapping(psi/psiMax)/M)]};if(psiMax===0){k=sqrt(ratio/pi);forward=function(lambda,phi){return[lambda*k,sin(phi)/k]};forward.invert=function(x,y){return[x/k,asin(y*k)]}}return forward}var hufnagel=function(){var a=1,b=0,psiMax=45*radians,ratio=2,mutate=Object(src["geoProjectionMutator"])(hufnagelRaw),projection=mutate(a,b,psiMax,ratio);projection.a=function(_){return arguments.length?mutate(a=+_,b,psiMax,ratio):a};projection.b=function(_){return arguments.length?mutate(a,b=+_,psiMax,ratio):b};projection.psiMax=function(_){return arguments.length?mutate(a,b,psiMax=+_*radians,ratio):psiMax*degrees};projection.ratio=function(_){return arguments.length?mutate(a,b,psiMax,ratio=+_):ratio};return projection.scale(180.739)};function adsimp(f,a,b,fa,fm,fb,V0,tol,maxdepth,depth,state){if(state.nanEncountered){return NaN}var h,f1,f2,sl,sr,s2,m,V1,V2,err;h=b-a;f1=f(a+h*.25);f2=f(b-h*.25);if(isNaN(f1)){state.nanEncountered=true;return}if(isNaN(f2)){state.nanEncountered=true;return}sl=h*(fa+4*f1+fm)/12;sr=h*(fm+4*f2+fb)/12;s2=sl+sr;err=(s2-V0)/15;if(depth>maxdepth){state.maxDepthCount++;return s2+err}else if(Math.abs(err)>1;do{if(approx[r]>sinphi)rmax=r;else rmin=r;r=rmin+rmax>>1}while(r>rmin);var u=approx[r+1]-approx[r];if(u)u=(sinphi-approx[r+1])/u;return(r+1+u)/n}var ratio=2*Y(1)/pi*G/gamma;var forward=function(lambda,phi){var y=Y(abs(sin(phi))),x=elliptic(y)*lambda;y/=ratio;return[x,phi>=0?y:-y]};forward.invert=function(x,y){var phi;y*=ratio;if(abs(y)<1)phi=sign(y)*asin(z(abs(y))*G);return[x/elliptic(abs(y)),phi]};return forward}var hyperelliptical=function(){var alpha=0,k=2.5,gamma=1.183136,m=Object(src["geoProjectionMutator"])(hyperellipticalRaw),p=m(alpha,k,gamma);p.alpha=function(_){return arguments.length?m(alpha=+_,k,gamma):alpha};p.k=function(_){return arguments.length?m(alpha,k=+_,gamma):k};p.gamma=function(_){return arguments.length?m(alpha,k,gamma=+_):gamma};return p.scale(152.63)};function pointEqual(a,b){return abs(a[0]-b[0])=0;--i){lobe=lobes[1][i];lambda0=lobe[0][0],phi0=lobe[0][1],phi1=lobe[1][1];lambda2=lobe[2][0],phi2=lobe[2][1];coordinates.push(interpolateLine([[lambda2-math_epsilon,phi2-math_epsilon],[lambda2-math_epsilon,phi1+math_epsilon],[lambda0+math_epsilon,phi1+math_epsilon],[lambda0+math_epsilon,phi0-math_epsilon]],30))}return{type:"Polygon",coordinates:[Object(d3_array_src["merge"])(coordinates)]}}var interrupted=function(project,lobes){var sphere,bounds;function forward(lambda,phi){var sign=phi<0?-1:+1,lobe=lobes[+(phi<0)];for(var i=0,n=lobe.length-1;ilobe[i][2][0];++i);var p=project(lambda-lobe[i][1][0],phi);p[0]+=project(lobe[i][1][0],sign*phi>sign*lobe[i][0][1]?lobe[i][0][1]:phi)[0];return p}if(project.invert)forward.invert=function(x,y){var bound=bounds[+(y<0)],lobe=lobes[+(y<0)];for(var i=0,n=bound.length;iy1)t=y0,y0=y1,y1=t;return[[x0,y0],[x1,y1]]})});return p};if(lobes!=null)p.lobes(lobes);return p};var boggs_lobes=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];var interrupted_boggs=function(){return interrupted(boggsRaw,boggs_lobes).scale(160.857)};var homolosine_lobes=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];var interrupted_homolosine=function(){return interrupted(homolosineRaw,homolosine_lobes).scale(152.63)};var mollweide_lobes=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];var interrupted_mollweide=function(){return interrupted(mollweideRaw,mollweide_lobes).scale(169.529)};var mollweideHemispheres_lobes=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];var mollweideHemispheres=function(){return interrupted(mollweideRaw,mollweideHemispheres_lobes).scale(169.529).rotate([20,0])};var sinuMollweide_lobes=[[[[-180,35],[-30,90],[0,35]],[[0,35],[30,90],[180,35]]],[[[-180,-10],[-102,-90],[-65,-10]],[[-65,-10],[5,-90],[77,-10]],[[77,-10],[103,-90],[180,-10]]]];var interrupted_sinuMollweide=function(){return interrupted(sinuMollweideRaw,sinuMollweide_lobes).rotate([-20,-55]).scale(164.263).center([0,-5.4036])};var sinusoidal_lobes=[[[[-180,0],[-110,90],[-40,0]],[[-40,0],[0,90],[40,0]],[[40,0],[110,90],[180,0]]],[[[-180,0],[-110,-90],[-40,0]],[[-40,0],[0,-90],[40,0]],[[40,0],[110,-90],[180,0]]]];var interrupted_sinusoidal=function(){return interrupted(sinusoidalRaw,sinusoidal_lobes).scale(152.63).rotate([-20,0])};function kavrayskiy7Raw(lambda,phi){return[3/tau*lambda*sqrt(pi*pi/3-phi*phi),phi]}kavrayskiy7Raw.invert=function(x,y){return[tau/3*x/sqrt(pi*pi/3-y*y),y]};var kavrayskiy7=function(){return Object(src["geoProjection"])(kavrayskiy7Raw).scale(158.837)};function lagrangeRaw(n){function forward(lambda,phi){if(abs(abs(phi)-halfPi)2)return null;x/=2,y/=2;var x2=x*x,y2=y*y,t=2*y/(1+x2+y2);t=pow((1+t)/(1-t),1/n);return[atan2(2*x,1-x2-y2)/n,asin((t-1)/(t+1))]};return forward}var lagrange=function(){var n=.5,m=Object(src["geoProjectionMutator"])(lagrangeRaw),p=m(n);p.spacing=function(_){return arguments.length?m(n=+_):n};return p.scale(124.75)};var pi_sqrt2=pi/sqrt2;function larriveeRaw(lambda,phi){return[lambda*(1+sqrt(cos(phi)))/2,phi/(cos(phi/2)*cos(lambda/6))]}larriveeRaw.invert=function(x,y){var x0=abs(x),y0=abs(y),lambda=math_epsilon,phi=halfPi;if(y0math_epsilon||abs(deltaPhi)>math_epsilon)&&--i>0);return i&&[lambda,phi]};var laskowski=function(){return Object(src["geoProjection"])(laskowskiRaw).scale(139.98)};function littrowRaw(lambda,phi){return[sin(lambda)/cos(phi),tan(phi)*cos(lambda)]}littrowRaw.invert=function(x,y){var x2=x*x,y2=y*y,y2_1=y2+1,x2_y2_1=x2+y2_1,cosPhi=x?sqrt1_2*sqrt((x2_y2_1-sqrt(x2_y2_1*x2_y2_1-4*x2))/x2):1/sqrt(y2_1);return[asin(x*cosPhi),sign(y)*acos(cosPhi)]};var littrow=function(){return Object(src["geoProjection"])(littrowRaw).scale(144.049).clipAngle(90-.001)};function loximuthalRaw(phi0){var cosPhi0=cos(phi0),tanPhi0=tan(quarterPi+phi0/2);function forward(lambda,phi){var y=phi-phi0,x=abs(y)=0){w=C[i];ar=w[0]+zr*(t=ar)-zi*ai;ai=w[1]+zr*ai+zi*t}ar=zr*(t=ar)-zi*ai;ai=zr*ai+zi*t;return[ar,ai]}forward.invert=function(x,y){var i=20,zr=x,zi=y;do{var j=m,w=C[j],ar=w[0],ai=w[1],br=0,bi=0,t;while(--j>=0){w=C[j];br=ar+zr*(t=br)-zi*bi;bi=ai+zr*bi+zi*t;ar=w[0]+zr*(t=ar)-zi*ai;ai=w[1]+zr*ai+zi*t}br=ar+zr*(t=br)-zi*bi;bi=ai+zr*bi+zi*t;ar=zr*(t=ar)-zi*ai-x;ai=zr*ai+zi*t-y;var denominator=br*br+bi*bi,deltar,deltai;zr-=deltar=(ar*br+ai*bi)/denominator;zi-=deltai=(ai*br-ar*bi)/denominator}while(abs(deltar)+abs(deltai)>math_epsilon*math_epsilon&&--i>0);if(i){var rho=sqrt(zr*zr+zi*zi),c=2*atan(rho*.5),sinc=sin(c);return[atan2(zr*sinc,rho*cos(c)),rho?asin(zi*sinc/rho):0]}};return forward}var alaska=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],gs48=[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],gs50=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],modifiedStereographic_miller=[[.9245,0],[0,0],[.01943,0]],lee=[[.721316,0],[0,0],[-.00881625,-.00617325]];function modifiedStereographicAlaska(){return modifiedStereographic(alaska,[152,-64]).scale(1500).center([-160.908,62.4864]).clipAngle(25)}function modifiedStereographicGs48(){return modifiedStereographic(gs48,[95,-38]).scale(1e3).clipAngle(55).center([-96.5563,38.8675])}function modifiedStereographicGs50(){return modifiedStereographic(gs50,[120,-45]).scale(359.513).clipAngle(55).center([-117.474,53.0628])}function modifiedStereographicMiller(){return modifiedStereographic(modifiedStereographic_miller,[-20,-18]).scale(209.091).center([20,16.7214]).clipAngle(82)}function modifiedStereographicLee(){return modifiedStereographic(lee,[165,10]).scale(250).clipAngle(130).center([-165,-10])}function modifiedStereographic(coefficients,rotate){var p=Object(src["geoProjection"])(modifiedStereographicRaw(coefficients)).rotate(rotate).clipAngle(90),r=Object(src["geoRotation"])(rotate),center=p.center;delete p.rotate;p.center=function(_){return arguments.length?center(r(_)):r.invert(center())};return p}var sqrt6=sqrt(6),sqrt7=sqrt(7);function mtFlatPolarParabolicRaw(lambda,phi){var theta=asin(7*sin(phi)/(3*sqrt6));return[sqrt6*lambda*(2*cos(2*theta/3)-1)/sqrt7,9*sin(theta/3)/sqrt7]}mtFlatPolarParabolicRaw.invert=function(x,y){var theta=3*asin(y*sqrt7/9);return[x*sqrt7/(sqrt6*(2*cos(2*theta/3)-1)),asin(sin(theta)*3*sqrt6/7)]};var mtFlatPolarParabolic=function(){return Object(src["geoProjection"])(mtFlatPolarParabolicRaw).scale(164.859)};function mtFlatPolarQuarticRaw(lambda,phi){var k=(1+sqrt1_2)*sin(phi),theta=phi;for(var i=0,delta;i<25;i++){theta-=delta=(sin(theta/2)+sin(theta)-k)/(.5*cos(theta/2)+cos(theta));if(abs(delta)epsilon2&&--i>0);phi2=phi*phi;phi4=phi2*phi2;phi6=phi2*phi4;return[x/(.84719-.13063*phi2+phi6*phi6*(-.04515+.05494*phi2-.02326*phi4+.00331*phi6)),phi]};var naturalEarth2=function(){return Object(src["geoProjection"])(naturalEarth2Raw).scale(175.295)};function nellHammerRaw(lambda,phi){return[lambda*(1+cos(phi))/2,2*(phi-tan(phi/2))]}nellHammerRaw.invert=function(x,y){var p=y/2;for(var i=0,delta=Infinity;i<10&&abs(delta)>math_epsilon;++i){var c=cos(y/2);y-=delta=(y-tan(y/2)-p)/(1-.5/(c*c))}return[2*x/(1+cos(y)),y]};var nellHammer=function(){return Object(src["geoProjection"])(nellHammerRaw).scale(152.63)};var quarticAuthalic_lobes=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];var quarticAuthalic=function(){return interrupted(hammerRaw(Infinity),quarticAuthalic_lobes).rotate([20,0]).scale(152.63)};function nicolosiRaw(lambda,phi){var sinPhi=sin(phi),q=cos(phi),s=sign(lambda);if(lambda===0||abs(phi)===halfPi)return[0,phi];else if(phi===0)return[lambda,0];else if(abs(lambda)===halfPi)return[lambda*q,halfPi*sinPhi];var b=pi/(2*lambda)-2*lambda/pi,c=2*phi/pi,d=(1-c*c)/(sinPhi-c);var b2=b*b,d2=d*d,b2d2=1+b2/d2,d2b2=1+d2/b2;var M=(b*sinPhi/d-b/2)/b2d2,N=(d2*sinPhi/b2+d/2)/d2b2,m=M*M+q*q/b2d2,n=N*N-(d2*sinPhi*sinPhi/b2+d*sinPhi-1)/d2b2;return[halfPi*(M+sqrt(m)*s),halfPi*(N+sqrt(n<0?0:n)*sign(-phi*b)*s)]}nicolosiRaw.invert=function(x,y){x/=halfPi;y/=halfPi;var x2=x*x,y2=y*y,x2y2=x2+y2,pi2=pi*pi;return[x?(x2y2-1+sqrt((1-x2y2)*(1-x2y2)+4*x2))/(2*x)*halfPi:0,solve(function(phi){return x2y2*(pi*sin(phi)-2*phi)*pi+4*phi*phi*(y-sin(phi))+2*pi*phi-pi2*y},0)]};var nicolosi=function(){return Object(src["geoProjection"])(nicolosiRaw).scale(127.267)};var pattersonK1=1.0148,pattersonK2=.23185,pattersonK3=-.14499,pattersonK4=.02406,pattersonC1=pattersonK1,pattersonC2=5*pattersonK2,pattersonC3=7*pattersonK3,pattersonC4=9*pattersonK4,pattersonYmax=1.790857183;function pattersonRaw(lambda,phi){var phi2=phi*phi;return[lambda,phi*(pattersonK1+phi2*phi2*(pattersonK2+phi2*(pattersonK3+pattersonK4*phi2)))]}pattersonRaw.invert=function(x,y){if(y>pattersonYmax)y=pattersonYmax;else if(y<-pattersonYmax)y=-pattersonYmax;var yc=y,delta;do{var y2=yc*yc;yc-=delta=(yc*(pattersonK1+y2*y2*(pattersonK2+y2*(pattersonK3+pattersonK4*y2)))-y)/(pattersonC1+y2*y2*(pattersonC2+y2*(pattersonC3+pattersonC4*y2)))}while(abs(delta)>math_epsilon);return[x,yc]};var patterson=function(){return Object(src["geoProjection"])(pattersonRaw).scale(139.319)};function polyconicRaw(lambda,phi){if(abs(phi)math_epsilon&&--i>0);tanPhi=tan(phi);return[(abs(y)=0;){y=b[j];if(x[0]===y[0]&&x[1]===y[1]){if(found)return[found,x];found=x}}}}function faceEdges(face){var n=face.length,edges=[];for(var a=face[n-1],i=0;i0?[-c[0],0]:[180-c[0],180])};var faces=polyhedral_octahedron.map(function(face){return{face,project:faceProjection(face)}});[-1,0,0,1,0,1,4,5].forEach(function(d,i){var node=faces[d];node&&(node.children||(node.children=[])).push(faces[i])});return polyhedral(faces[0],function(lambda,phi){return faces[lambda<-pi/2?phi<0?6:4:lambda<0?phi<0?2:0:lambday^yj>y&&x<(xj-xi)*(y-yi)/(yj-yi)+xi)contains=!contains}return contains};var src_project=function(object,projection){var stream=projection.stream,project;if(!stream)throw new Error("invalid projection");switch(object&&object.type){case"Feature":project=projectFeature;break;case"FeatureCollection":project=projectFeatureCollection;break;default:project=projectGeometry;break}return project(object,stream)};function projectFeatureCollection(o,stream){return{type:"FeatureCollection",features:o.features.map(function(f){return projectFeature(f,stream)})}}function projectFeature(o,stream){return{type:"Feature",id:o.id,properties:o.properties,geometry:projectGeometry(o.geometry,stream)}}function projectGeometryCollection(o,stream){return{type:"GeometryCollection",geometries:o.geometries.map(function(o){return projectGeometry(o,stream)})}}function projectGeometry(o,stream){if(!o)return null;if(o.type==="GeometryCollection")return projectGeometryCollection(o,stream);var sink;switch(o.type){case"Point":sink=sinkPoint;break;case"MultiPoint":sink=sinkPoint;break;case"LineString":sink=sinkLine;break;case"MultiLineString":sink=sinkLine;break;case"Polygon":sink=sinkPolygon;break;case"MultiPolygon":sink=sinkPolygon;break;case"Sphere":sink=sinkPolygon;break;default:return null}Object(src["geoStream"])(o,stream(sink));return sink.result()}var project_points=[],lines=[];var sinkPoint={point:function(x,y){project_points.push([x,y])},result:function(){var result=!project_points.length?null:project_points.length<2?{type:"Point",coordinates:project_points[0]}:{type:"MultiPoint",coordinates:project_points};project_points=[];return result}};var sinkLine={lineStart:noop,point:function(x,y){project_points.push([x,y])},lineEnd:function(){if(project_points.length)lines.push(project_points),project_points=[]},result:function(){var result=!lines.length?null:lines.length<2?{type:"LineString",coordinates:lines[0]}:{type:"MultiLineString",coordinates:lines};lines=[];return result}};var sinkPolygon={polygonStart:noop,lineStart:noop,point:function(x,y){project_points.push([x,y])},lineEnd:function(){var n=project_points.length;if(n){do{project_points.push(project_points[0].slice())}while(++n<4);lines.push(project_points),project_points=[]}},polygonEnd:noop,result:function(){if(!lines.length)return null;var polygons=[],holes=[];lines.forEach(function(ring){if(clockwise(ring))polygons.push([ring]);else holes.push(ring)});holes.forEach(function(hole){var point=hole[0];polygons.some(function(polygon){if(contains(polygon[0],point)){polygon.push(hole);return true}})||polygons.push([hole])});lines=[];return!polygons.length?null:polygons.length>1?{type:"MultiPolygon",coordinates:polygons}:{type:"Polygon",coordinates:polygons[0]}}};var quincuncial=function(project){var dx=project(halfPi,0)[0]-project(-halfPi,0)[0];function projectQuincuncial(lambda,phi){var t=abs(lambda)0?lambda-pi:lambda+pi,phi),x=(p[0]-p[1])*sqrt1_2,y=(p[0]+p[1])*sqrt1_2;if(t)return[x,y];var d=dx*sqrt1_2,s=x>0^y>0?-1:1;return[s*x-sign(y)*d,s*y-sign(x)*d]}if(project.invert)projectQuincuncial.invert=function(x0,y0){var x=(x0+y0)*sqrt1_2,y=(y0-x0)*sqrt1_2,t=abs(x)<.5*dx&&abs(y)<.5*dx;if(!t){var d=dx*sqrt1_2,s=x>0^y>0?-1:1,x1=-s*x0+(y>0?1:-1)*d,y1=-s*y0+(x>0?1:-1)*d;x=(-x1-y1)*sqrt1_2;y=(x1-y1)*sqrt1_2}var p=project.invert(x,y);if(!t)p[0]+=x>0?pi:-pi;return p};return Object(src["geoProjection"])(projectQuincuncial).rotate([-90,-90,45]).clipAngle(180-.001)};var quincuncial_gringorten=function(){return quincuncial(gringortenRaw).scale(176.423)};var peirce=function(){return quincuncial(guyouRaw).scale(111.48)};var quantize=function(input,digits){if(!(0<=(digits=+digits)&&digits<=20))throw new Error("invalid digits");function quantizePoint(input){var n=input.length,i=2,output=new Array(n);output[0]=+input[0].toFixed(digits);output[1]=+input[1].toFixed(digits);while(i2||point[0]!=point0[0]||point[1]!=point0[1]){output.push(point);point0=point}}if(output.length===1&&input.length>1){output.push(quantizePoint(input[input.length-1]))}return output}function quantizePolygon(input){return input.map(quantizePointsNoDuplicates)}function quantizeGeometry(input){if(input==null)return input;var output;switch(input.type){case"GeometryCollection":output={type:"GeometryCollection",geometries:input.geometries.map(quantizeGeometry)};break;case"Point":output={type:"Point",coordinates:quantizePoint(input.coordinates)};break;case"MultiPoint":output={type:input.type,coordinates:quantizePoints(input.coordinates)};break;case"LineString":output={type:input.type,coordinates:quantizePointsNoDuplicates(input.coordinates)};break;case"MultiLineString":case"Polygon":output={type:input.type,coordinates:quantizePolygon(input.coordinates)};break;case"MultiPolygon":output={type:"MultiPolygon",coordinates:input.coordinates.map(quantizePolygon)};break;default:return input}if(input.bbox!=null)output.bbox=input.bbox;return output}function quantizeFeature(input){var output={type:"Feature",properties:input.properties,geometry:quantizeGeometry(input.geometry)};if(input.id!=null)output.id=input.id;if(input.bbox!=null)output.bbox=input.bbox;return output}if(input!=null)switch(input.type){case"Feature":return quantizeFeature(input);case"FeatureCollection":{var output={type:"FeatureCollection",features:input.features.map(quantizeFeature)};if(input.bbox!=null)output.bbox=input.bbox;return output}default:return quantizeGeometry(input)}return input};function rectangularPolyconicRaw(phi0){var sinPhi0=sin(phi0);function forward(lambda,phi){var A=sinPhi0?tan(lambda*sinPhi0/2)/sinPhi0:lambda/2;if(!phi)return[2*A,-phi0];var E=2*atan(A*sin(phi)),cotPhi=1/tan(phi);return[sin(E)*cotPhi,phi+(1-cos(E))*cotPhi-phi0]}forward.invert=function(x,y){if(abs(y+=phi0)math_epsilon&&--i>0);var E=x*(tanPhi=tan(phi)),A=tan(abs(y)0?halfPi:-halfPi)*(by+di*(cy-ay)/2+di*di*(cy-2*by+ay)/2)]}robinsonRaw.invert=function(x,y){var yy=y/halfPi,phi=yy*90,i=min(18,abs(phi/5)),i0=max(0,floor(i));do{var ay=robinson_K[i0][1],by=robinson_K[i0+1][1],cy=robinson_K[min(19,i0+2)][1],u=cy-ay,v=cy-2*by+ay,t=2*(abs(yy)-by)/u,c=v/u,di=t*(1-c*t*(1-2*c*t));if(di>=0||i0===1){phi=(y>=0?5:-5)*(di+i);var j=50,delta;do{i=min(18,abs(phi)/5);i0=floor(i);di=i-i0;ay=robinson_K[i0][1];by=robinson_K[i0+1][1];cy=robinson_K[min(19,i0+2)][1];phi-=(delta=(y>=0?halfPi:-halfPi)*(by+di*(cy-ay)/2+di*di*(cy-2*by+ay)/2)-y)*degrees}while(abs(delta)>epsilon2&&--j>0);break}}while(--i0>=0);var ax=robinson_K[i0][0],bx=robinson_K[i0+1][0],cx=robinson_K[min(19,i0+2)][0];return[x/(bx+di*(cx-ax)/2+di*di*(cx-2*bx+ax)/2),phi*radians]};var robinson=function(){return Object(src["geoProjection"])(robinsonRaw).scale(152.63)};function satelliteVerticalRaw(P){function forward(lambda,phi){var cosPhi=cos(phi),k=(P-1)/(P-cosPhi*cos(lambda));return[k*cosPhi*sin(lambda),k*sin(phi)]}forward.invert=function(x,y){var rho2=x*x+y*y,rho=sqrt(rho2),sinc=(P-sqrt(1-rho2*(P+1)/(P-1)))/((P-1)/rho+rho/(P-1));return[atan2(x*sinc,rho*sqrt(1-sinc*sinc)),rho?asin(y*sinc/rho):0]};return forward}function satelliteRaw(P,omega){var vertical=satelliteVerticalRaw(P);if(!omega)return vertical;var cosOmega=cos(omega),sinOmega=sin(omega);function forward(lambda,phi){var coordinates=vertical(lambda,phi),y=coordinates[1],A=y*sinOmega/(P-1)+cosOmega;return[coordinates[0]*cosOmega/A,y/A]}forward.invert=function(x,y){var k=(P-1)/(P-1-y*sinOmega);return vertical.invert(k*x,k*y*cosOmega)};return forward}var satellite=function(){var distance=2,omega=0,m=Object(src["geoProjectionMutator"])(satelliteRaw),p=m(distance,omega);p.distance=function(_){if(!arguments.length)return distance;return m(distance=+_,omega)};p.tilt=function(_){if(!arguments.length)return omega*degrees;return m(distance,omega=_*radians)};return p.scale(432.147).clipAngle(acos(1/distance)*degrees-1e-6)};var stitch_epsilon=1e-4,epsilonInverse=1e4,stitch_x0=-180,x0e=stitch_x0+stitch_epsilon,stitch_x1=180,x1e=stitch_x1-stitch_epsilon,stitch_y0=-90,y0e=stitch_y0+stitch_epsilon,stitch_y1=90,y1e=stitch_y1-stitch_epsilon;function nonempty(coordinates){return coordinates.length>0}function stitch_quantize(x){return Math.floor(x*epsilonInverse)/epsilonInverse}function normalizePoint(y){return y===stitch_y0||y===stitch_y1?[0,y]:[stitch_x0,stitch_quantize(y)]}function clampPoint(p){var x=p[0],y=p[1],clamped=false;if(x<=x0e)x=stitch_x0,clamped=true;else if(x>=x1e)x=stitch_x1,clamped=true;if(y<=y0e)y=stitch_y0,clamped=true;else if(y>=y1e)y=stitch_y1,clamped=true;return clamped?[x,y]:p}function clampPoints(points){return points.map(clampPoint)}function extractFragments(rings,polygon,fragments){for(var j=0,m=rings.length;j=x1e||y<=y0e||y>=y1e){ring[i]=clampPoint(point);for(var k=i+1;kx0e&&xky0e&&yk=n)break;fragments.push({index:-1,polygon,ring:ring=ring.slice(k-1)});ring[0]=normalizePoint(ring[0][1]);i=-1;n=ring.length}}}}function stitchFragments(fragments){var i,n=fragments.length;var fragmentByStart={},fragmentByEnd={},fragment,start,startFragment,end,endFragment;for(i=0;i0?pi-y:y)*degrees],p=Object(src["geoProjection"])(raw(b)).rotate(R),r=Object(src["geoRotation"])(R),center=p.center;delete p.rotate;p.center=function(_){return arguments.length?center(r(_)):r.invert(center())};return p.clipAngle(90)};function twoPointAzimuthalRaw(d){var cosd=cos(d);function forward(lambda,phi){var coordinates=Object(src["geoGnomonicRaw"])(lambda,phi);coordinates[0]*=cosd;return coordinates}forward.invert=function(x,y){return src["geoGnomonicRaw"].invert(x/cosd,y)};return forward}function twoPointAzimuthalUsa(){return twoPointAzimuthal([-158,21.5],[-77,39]).clipAngle(60).scale(400)}function twoPointAzimuthal(p0,p1){return twoPoint(twoPointAzimuthalRaw,p0,p1)}function twoPointEquidistantRaw(z0){if(!(z0*=2))return src["geoAzimuthalEquidistantRaw"];var lambdaa=-z0/2,lambdab=-lambdaa,z02=z0*z0,tanLambda0=tan(lambdab),S=.5/sin(lambdab);function forward(lambda,phi){var za=acos(cos(phi)*cos(lambda-lambdaa)),zb=acos(cos(phi)*cos(lambda-lambdab)),ys=phi<0?-1:1;za*=za,zb*=zb;return[(za-zb)/(2*z0),ys*sqrt(4*z02*zb-(z02-za+zb)*(z02-za+zb))/(2*z0)]}forward.invert=function(x,y){var y2=y*y,cosza=cos(sqrt(y2+(t=x+lambdaa)*t)),coszb=cos(sqrt(y2+(t=x+lambdab)*t)),t,d;return[atan2(d=cosza-coszb,t=(cosza+coszb)*tanLambda0),(y<0?-1:1)*acos(sqrt(t*t+d*d)*S)]};return forward}function twoPointEquidistantUsa(){return twoPointEquidistant([-158,21.5],[-77,39]).clipAngle(130).scale(122.571)}function twoPointEquidistant(p0,p1){return twoPoint(twoPointEquidistantRaw,p0,p1)}function vanDerGrintenRaw(lambda,phi){if(abs(phi)math_epsilon&&--i>0);return[sign(x)*(sqrt(D*D+4)+D)*pi/4,halfPi*B]};var vanDerGrinten4=function(){return Object(src["geoProjection"])(vanDerGrinten4Raw).scale(127.16)};function wagnerFormula(cx,cy,m1,m2,n){function forward(lambda,phi){var s=m1*sin(m2*phi),c0=sqrt(1-s*s),c1=sqrt(2/(1+c0*cos(lambda*=n)));return[cx*c0*c1*sin(lambda),cy*s*c1]}forward.invert=function(x,y){var t1=x/cx,t2=y/cy,p=sqrt(t1*t1+t2*t2),c=2*asin(p/2);return[atan2(x*tan(c),cx*p)/n,p&&asin(y*sin(c)/(cy*m1*p))/m2]};return forward}function wagnerRaw(poleline,parallels,inflation,ratio){var phi1=pi/3;poleline=max(poleline,math_epsilon);parallels=max(parallels,math_epsilon);poleline=min(poleline,halfPi);parallels=min(parallels,pi-math_epsilon);inflation=max(inflation,0);inflation=min(inflation,100-math_epsilon);ratio=max(ratio,math_epsilon);var vinflation=inflation/100+1;var vratio=ratio/100;var m2=acos(vinflation*cos(phi1))/phi1,m1=sin(poleline)/sin(m2*halfPi),n=parallels/pi,k=sqrt(vratio*sin(poleline/2)/sin(parallels/2)),cx=k/sqrt(n*m1*m2),cy=1/(k*sqrt(n*m1*m2));return wagnerFormula(cx,cy,m1,m2,n)}var wagner=function(){var poleline=65*radians,parallels=60*radians,inflation=20,ratio=200,mutate=Object(src["geoProjectionMutator"])(wagnerRaw),projection=mutate(poleline,parallels,inflation,ratio);projection.poleline=function(_){return arguments.length?mutate(poleline=+_*radians,parallels,inflation,ratio):poleline*degrees};projection.parallels=function(_){return arguments.length?mutate(poleline,parallels=+_*radians,inflation,ratio):parallels*degrees};projection.inflation=function(_){return arguments.length?mutate(poleline,parallels,inflation=+_,ratio):inflation};projection.ratio=function(_){return arguments.length?mutate(poleline,parallels,inflation,ratio=+_):ratio};return projection.scale(163.775)};var wagner4_A=4*pi+3*sqrt(3),wagner4_B=2*sqrt(2*pi*sqrt(3)/wagner4_A);var wagner4Raw=mollweideBromleyRaw(wagner4_B*sqrt(3)/pi,wagner4_B,wagner4_A/6);var wagner4=function(){return Object(src["geoProjection"])(wagner4Raw).scale(176.84)};function wagner6Raw(lambda,phi){return[lambda*sqrt(1-3*phi*phi/(pi*pi)),phi]}wagner6Raw.invert=function(x,y){return[x/sqrt(1-3*y*y/(pi*pi)),y]};var wagner6=function(){return Object(src["geoProjection"])(wagner6Raw).scale(152.63)};function wagner7Raw(lambda,phi){var s=.90631*sin(phi),c0=sqrt(1-s*s),c1=sqrt(2/(1+c0*cos(lambda/=3)));return[2.66723*c0*c1*sin(lambda),1.24104*s*c1]}wagner7Raw.invert=function(x,y){var t1=x/2.66723,t2=y/1.24104,p=sqrt(t1*t1+t2*t2),c=2*asin(p/2);return[3*atan2(x*tan(c),2.66723*p),p&&asin(y*sin(c)/(1.24104*.90631*p))]};var wagner7=function(){return Object(src["geoProjection"])(wagner7Raw).scale(172.632)};function wiechelRaw(lambda,phi){var cosPhi=cos(phi),sinPhi=cos(lambda)*cosPhi,sin1_Phi=1-sinPhi,cosLambda=cos(lambda=atan2(sin(lambda)*cosPhi,-sin(phi))),sinLambda=sin(lambda);cosPhi=sqrt(1-sinPhi*sinPhi);return[sinLambda*cosPhi-cosLambda*sin1_Phi,-cosLambda*cosPhi-sinLambda*sin1_Phi]}wiechelRaw.invert=function(x,y){var w=(x*x+y*y)/-2,k=sqrt(-w*(2+w)),b=y*w+x*k,a=x*w-y*k,D=sqrt(a*a+b*b);return[atan2(k*b,D*(1+w)),D?-asin(k*a/D):0]};var wiechel=function(){return Object(src["geoProjection"])(wiechelRaw).rotate([0,-90,45]).scale(124.75).clipAngle(180-.001)};function winkel3Raw(lambda,phi){var coordinates=aitoffRaw(lambda,phi);return[(coordinates[0]+lambda/halfPi)/2,(coordinates[1]+phi)/2]}winkel3Raw.invert=function(x,y){var lambda=x,phi=y,i=25;do{var cosphi=cos(phi),sinphi=sin(phi),sin_2phi=sin(2*phi),sin2phi=sinphi*sinphi,cos2phi=cosphi*cosphi,sinlambda=sin(lambda),coslambda_2=cos(lambda/2),sinlambda_2=sin(lambda/2),sin2lambda_2=sinlambda_2*sinlambda_2,C=1-cos2phi*coslambda_2*coslambda_2,E=C?acos(cosphi*coslambda_2)*sqrt(F=1/C):F=0,F,fx=.5*(2*E*cosphi*sinlambda_2+lambda/halfPi)-x,fy=.5*(E*sinphi+phi)-y,dxdlambda=.5*F*(cos2phi*sin2lambda_2+E*cosphi*coslambda_2*sin2phi)+.5/halfPi,dxdphi=F*(sinlambda*sin_2phi/4-E*sinphi*sinlambda_2),dydlambda=.125*F*(sin_2phi*sinlambda_2-E*sinphi*cos2phi*sinlambda),dydphi=.5*F*(sin2phi*coslambda_2+E*sin2lambda_2*cosphi)+.5,denominator=dxdphi*dydlambda-dydphi*dxdlambda,dlambda=(fy*dxdphi-fx*dydphi)/denominator,dphi=(fx*dydlambda-fy*dxdlambda)/denominator;lambda-=dlambda,phi-=dphi}while((abs(dlambda)>math_epsilon||abs(dphi)>math_epsilon)&&--i>0);return[lambda,phi]};var winkel3=function(){return Object(src["geoProjection"])(winkel3Raw).scale(158.837)};__webpack_require__.d(__webpack_exports__,"geoAiry",function(){return airy});__webpack_require__.d(__webpack_exports__,"geoAiryRaw",function(){return airyRaw});__webpack_require__.d(__webpack_exports__,"geoAitoff",function(){return aitoff});__webpack_require__.d(__webpack_exports__,"geoAitoffRaw",function(){return aitoffRaw});__webpack_require__.d(__webpack_exports__,"geoArmadillo",function(){return armadillo});__webpack_require__.d(__webpack_exports__,"geoArmadilloRaw",function(){return armadilloRaw});__webpack_require__.d(__webpack_exports__,"geoAugust",function(){return august});__webpack_require__.d(__webpack_exports__,"geoAugustRaw",function(){return augustRaw});__webpack_require__.d(__webpack_exports__,"geoBaker",function(){return baker});__webpack_require__.d(__webpack_exports__,"geoBakerRaw",function(){return bakerRaw});__webpack_require__.d(__webpack_exports__,"geoBerghaus",function(){return berghaus});__webpack_require__.d(__webpack_exports__,"geoBerghausRaw",function(){return berghausRaw});__webpack_require__.d(__webpack_exports__,"geoBertin1953",function(){return bertin});__webpack_require__.d(__webpack_exports__,"geoBertin1953Raw",function(){return bertin1953Raw});__webpack_require__.d(__webpack_exports__,"geoBoggs",function(){return boggs});__webpack_require__.d(__webpack_exports__,"geoBoggsRaw",function(){return boggsRaw});__webpack_require__.d(__webpack_exports__,"geoBonne",function(){return bonne});__webpack_require__.d(__webpack_exports__,"geoBonneRaw",function(){return bonneRaw});__webpack_require__.d(__webpack_exports__,"geoBottomley",function(){return bottomley});__webpack_require__.d(__webpack_exports__,"geoBottomleyRaw",function(){return bottomleyRaw});__webpack_require__.d(__webpack_exports__,"geoBromley",function(){return bromley});__webpack_require__.d(__webpack_exports__,"geoBromleyRaw",function(){return bromleyRaw});__webpack_require__.d(__webpack_exports__,"geoChamberlin",function(){return chamberlin});__webpack_require__.d(__webpack_exports__,"geoChamberlinRaw",function(){return chamberlinRaw});__webpack_require__.d(__webpack_exports__,"geoChamberlinAfrica",function(){return chamberlinAfrica});__webpack_require__.d(__webpack_exports__,"geoCollignon",function(){return collignon});__webpack_require__.d(__webpack_exports__,"geoCollignonRaw",function(){return collignonRaw});__webpack_require__.d(__webpack_exports__,"geoCraig",function(){return craig});__webpack_require__.d(__webpack_exports__,"geoCraigRaw",function(){return craigRaw});__webpack_require__.d(__webpack_exports__,"geoCraster",function(){return craster});__webpack_require__.d(__webpack_exports__,"geoCrasterRaw",function(){return crasterRaw});__webpack_require__.d(__webpack_exports__,"geoCylindricalEqualArea",function(){return cylindricalEqualArea});__webpack_require__.d(__webpack_exports__,"geoCylindricalEqualAreaRaw",function(){return cylindricalEqualAreaRaw});__webpack_require__.d(__webpack_exports__,"geoCylindricalStereographic",function(){return cylindricalStereographic});__webpack_require__.d(__webpack_exports__,"geoCylindricalStereographicRaw",function(){return cylindricalStereographicRaw});__webpack_require__.d(__webpack_exports__,"geoEckert1",function(){return eckert1});__webpack_require__.d(__webpack_exports__,"geoEckert1Raw",function(){return eckert1Raw});__webpack_require__.d(__webpack_exports__,"geoEckert2",function(){return eckert2});__webpack_require__.d(__webpack_exports__,"geoEckert2Raw",function(){return eckert2Raw});__webpack_require__.d(__webpack_exports__,"geoEckert3",function(){return eckert3});__webpack_require__.d(__webpack_exports__,"geoEckert3Raw",function(){return eckert3Raw});__webpack_require__.d(__webpack_exports__,"geoEckert4",function(){return eckert4});__webpack_require__.d(__webpack_exports__,"geoEckert4Raw",function(){return eckert4Raw});__webpack_require__.d(__webpack_exports__,"geoEckert5",function(){return eckert5});__webpack_require__.d(__webpack_exports__,"geoEckert5Raw",function(){return eckert5Raw});__webpack_require__.d(__webpack_exports__,"geoEckert6",function(){return eckert6});__webpack_require__.d(__webpack_exports__,"geoEckert6Raw",function(){return eckert6Raw});__webpack_require__.d(__webpack_exports__,"geoEisenlohr",function(){return eisenlohr});__webpack_require__.d(__webpack_exports__,"geoEisenlohrRaw",function(){return eisenlohrRaw});__webpack_require__.d(__webpack_exports__,"geoFahey",function(){return fahey});__webpack_require__.d(__webpack_exports__,"geoFaheyRaw",function(){return faheyRaw});__webpack_require__.d(__webpack_exports__,"geoFoucaut",function(){return foucaut});__webpack_require__.d(__webpack_exports__,"geoFoucautRaw",function(){return foucautRaw});__webpack_require__.d(__webpack_exports__,"geoFoucautSinusoidal",function(){return foucautSinusoidal});__webpack_require__.d(__webpack_exports__,"geoFoucautSinusoidalRaw",function(){return foucautSinusoidalRaw});__webpack_require__.d(__webpack_exports__,"geoGilbert",function(){return src_gilbert});__webpack_require__.d(__webpack_exports__,"geoGingery",function(){return gingery});__webpack_require__.d(__webpack_exports__,"geoGingeryRaw",function(){return gingeryRaw});__webpack_require__.d(__webpack_exports__,"geoGinzburg4",function(){return ginzburg4});__webpack_require__.d(__webpack_exports__,"geoGinzburg4Raw",function(){return ginzburg4Raw});__webpack_require__.d(__webpack_exports__,"geoGinzburg5",function(){return ginzburg5});__webpack_require__.d(__webpack_exports__,"geoGinzburg5Raw",function(){return ginzburg5Raw});__webpack_require__.d(__webpack_exports__,"geoGinzburg6",function(){return ginzburg6});__webpack_require__.d(__webpack_exports__,"geoGinzburg6Raw",function(){return ginzburg6Raw});__webpack_require__.d(__webpack_exports__,"geoGinzburg8",function(){return ginzburg8});__webpack_require__.d(__webpack_exports__,"geoGinzburg8Raw",function(){return ginzburg8Raw});__webpack_require__.d(__webpack_exports__,"geoGinzburg9",function(){return ginzburg9});__webpack_require__.d(__webpack_exports__,"geoGinzburg9Raw",function(){return ginzburg9Raw});__webpack_require__.d(__webpack_exports__,"geoGringorten",function(){return gringorten});__webpack_require__.d(__webpack_exports__,"geoGringortenRaw",function(){return gringortenRaw});__webpack_require__.d(__webpack_exports__,"geoGuyou",function(){return guyou});__webpack_require__.d(__webpack_exports__,"geoGuyouRaw",function(){return guyouRaw});__webpack_require__.d(__webpack_exports__,"geoHammer",function(){return src_hammer});__webpack_require__.d(__webpack_exports__,"geoHammerRaw",function(){return hammerRaw});__webpack_require__.d(__webpack_exports__,"geoHammerRetroazimuthal",function(){return hammerRetroazimuthal});__webpack_require__.d(__webpack_exports__,"geoHammerRetroazimuthalRaw",function(){return hammerRetroazimuthalRaw});__webpack_require__.d(__webpack_exports__,"geoHealpix",function(){return healpix});__webpack_require__.d(__webpack_exports__,"geoHealpixRaw",function(){return healpixRaw});__webpack_require__.d(__webpack_exports__,"geoHill",function(){return hill});__webpack_require__.d(__webpack_exports__,"geoHillRaw",function(){return hillRaw});__webpack_require__.d(__webpack_exports__,"geoHomolosine",function(){return homolosine});__webpack_require__.d(__webpack_exports__,"geoHomolosineRaw",function(){return homolosineRaw});__webpack_require__.d(__webpack_exports__,"geoHufnagel",function(){return hufnagel});__webpack_require__.d(__webpack_exports__,"geoHufnagelRaw",function(){return hufnagelRaw});__webpack_require__.d(__webpack_exports__,"geoHyperelliptical",function(){return hyperelliptical});__webpack_require__.d(__webpack_exports__,"geoHyperellipticalRaw",function(){return hyperellipticalRaw});__webpack_require__.d(__webpack_exports__,"geoInterrupt",function(){return interrupted});__webpack_require__.d(__webpack_exports__,"geoInterruptedBoggs",function(){return interrupted_boggs});__webpack_require__.d(__webpack_exports__,"geoInterruptedHomolosine",function(){return interrupted_homolosine});__webpack_require__.d(__webpack_exports__,"geoInterruptedMollweide",function(){return interrupted_mollweide});__webpack_require__.d(__webpack_exports__,"geoInterruptedMollweideHemispheres",function(){return mollweideHemispheres});__webpack_require__.d(__webpack_exports__,"geoInterruptedSinuMollweide",function(){return interrupted_sinuMollweide});__webpack_require__.d(__webpack_exports__,"geoInterruptedSinusoidal",function(){return interrupted_sinusoidal});__webpack_require__.d(__webpack_exports__,"geoKavrayskiy7",function(){return kavrayskiy7});__webpack_require__.d(__webpack_exports__,"geoKavrayskiy7Raw",function(){return kavrayskiy7Raw});__webpack_require__.d(__webpack_exports__,"geoLagrange",function(){return lagrange});__webpack_require__.d(__webpack_exports__,"geoLagrangeRaw",function(){return lagrangeRaw});__webpack_require__.d(__webpack_exports__,"geoLarrivee",function(){return larrivee});__webpack_require__.d(__webpack_exports__,"geoLarriveeRaw",function(){return larriveeRaw});__webpack_require__.d(__webpack_exports__,"geoLaskowski",function(){return laskowski});__webpack_require__.d(__webpack_exports__,"geoLaskowskiRaw",function(){return laskowskiRaw});__webpack_require__.d(__webpack_exports__,"geoLittrow",function(){return littrow});__webpack_require__.d(__webpack_exports__,"geoLittrowRaw",function(){return littrowRaw});__webpack_require__.d(__webpack_exports__,"geoLoximuthal",function(){return loximuthal});__webpack_require__.d(__webpack_exports__,"geoLoximuthalRaw",function(){return loximuthalRaw});__webpack_require__.d(__webpack_exports__,"geoMiller",function(){return miller});__webpack_require__.d(__webpack_exports__,"geoMillerRaw",function(){return millerRaw});__webpack_require__.d(__webpack_exports__,"geoModifiedStereographic",function(){return modifiedStereographic});__webpack_require__.d(__webpack_exports__,"geoModifiedStereographicRaw",function(){return modifiedStereographicRaw});__webpack_require__.d(__webpack_exports__,"geoModifiedStereographicAlaska",function(){return modifiedStereographicAlaska});__webpack_require__.d(__webpack_exports__,"geoModifiedStereographicGs48",function(){return modifiedStereographicGs48});__webpack_require__.d(__webpack_exports__,"geoModifiedStereographicGs50",function(){return modifiedStereographicGs50});__webpack_require__.d(__webpack_exports__,"geoModifiedStereographicMiller",function(){return modifiedStereographicMiller});__webpack_require__.d(__webpack_exports__,"geoModifiedStereographicLee",function(){return modifiedStereographicLee});__webpack_require__.d(__webpack_exports__,"geoMollweide",function(){return mollweide});__webpack_require__.d(__webpack_exports__,"geoMollweideRaw",function(){return mollweideRaw});__webpack_require__.d(__webpack_exports__,"geoMtFlatPolarParabolic",function(){return mtFlatPolarParabolic});__webpack_require__.d(__webpack_exports__,"geoMtFlatPolarParabolicRaw",function(){return mtFlatPolarParabolicRaw});__webpack_require__.d(__webpack_exports__,"geoMtFlatPolarQuartic",function(){return mtFlatPolarQuartic});__webpack_require__.d(__webpack_exports__,"geoMtFlatPolarQuarticRaw",function(){return mtFlatPolarQuarticRaw});__webpack_require__.d(__webpack_exports__,"geoMtFlatPolarSinusoidal",function(){return mtFlatPolarSinusoidal});__webpack_require__.d(__webpack_exports__,"geoMtFlatPolarSinusoidalRaw",function(){return mtFlatPolarSinusoidalRaw});__webpack_require__.d(__webpack_exports__,"geoNaturalEarth",function(){return src["geoNaturalEarth1"]});__webpack_require__.d(__webpack_exports__,"geoNaturalEarthRaw",function(){return src["geoNaturalEarth1Raw"]});__webpack_require__.d(__webpack_exports__,"geoNaturalEarth2",function(){return naturalEarth2});__webpack_require__.d(__webpack_exports__,"geoNaturalEarth2Raw",function(){return naturalEarth2Raw});__webpack_require__.d(__webpack_exports__,"geoNellHammer",function(){return nellHammer});__webpack_require__.d(__webpack_exports__,"geoNellHammerRaw",function(){return nellHammerRaw});__webpack_require__.d(__webpack_exports__,"geoInterruptedQuarticAuthalic",function(){return quarticAuthalic});__webpack_require__.d(__webpack_exports__,"geoNicolosi",function(){return nicolosi});__webpack_require__.d(__webpack_exports__,"geoNicolosiRaw",function(){return nicolosiRaw});__webpack_require__.d(__webpack_exports__,"geoPatterson",function(){return patterson});__webpack_require__.d(__webpack_exports__,"geoPattersonRaw",function(){return pattersonRaw});__webpack_require__.d(__webpack_exports__,"geoPolyconic",function(){return polyconic});__webpack_require__.d(__webpack_exports__,"geoPolyconicRaw",function(){return polyconicRaw});__webpack_require__.d(__webpack_exports__,"geoPolyhedral",function(){return polyhedral});__webpack_require__.d(__webpack_exports__,"geoPolyhedralButterfly",function(){return butterfly});__webpack_require__.d(__webpack_exports__,"geoPolyhedralCollignon",function(){return polyhedral_collignon});__webpack_require__.d(__webpack_exports__,"geoPolyhedralWaterman",function(){return waterman});__webpack_require__.d(__webpack_exports__,"geoProject",function(){return src_project});__webpack_require__.d(__webpack_exports__,"geoGringortenQuincuncial",function(){return quincuncial_gringorten});__webpack_require__.d(__webpack_exports__,"geoPeirceQuincuncial",function(){return peirce});__webpack_require__.d(__webpack_exports__,"geoPierceQuincuncial",function(){return peirce});__webpack_require__.d(__webpack_exports__,"geoQuantize",function(){return quantize});__webpack_require__.d(__webpack_exports__,"geoQuincuncial",function(){return quincuncial});__webpack_require__.d(__webpack_exports__,"geoRectangularPolyconic",function(){return rectangularPolyconic});__webpack_require__.d(__webpack_exports__,"geoRectangularPolyconicRaw",function(){return rectangularPolyconicRaw});__webpack_require__.d(__webpack_exports__,"geoRobinson",function(){return robinson});__webpack_require__.d(__webpack_exports__,"geoRobinsonRaw",function(){return robinsonRaw});__webpack_require__.d(__webpack_exports__,"geoSatellite",function(){return satellite});__webpack_require__.d(__webpack_exports__,"geoSatelliteRaw",function(){return satelliteRaw});__webpack_require__.d(__webpack_exports__,"geoSinuMollweide",function(){return sinuMollweide});__webpack_require__.d(__webpack_exports__,"geoSinuMollweideRaw",function(){return sinuMollweideRaw});__webpack_require__.d(__webpack_exports__,"geoSinusoidal",function(){return sinusoidal});__webpack_require__.d(__webpack_exports__,"geoSinusoidalRaw",function(){return sinusoidalRaw});__webpack_require__.d(__webpack_exports__,"geoStitch",function(){return stitch});__webpack_require__.d(__webpack_exports__,"geoTimes",function(){return times});__webpack_require__.d(__webpack_exports__,"geoTimesRaw",function(){return timesRaw});__webpack_require__.d(__webpack_exports__,"geoTwoPointAzimuthal",function(){return twoPointAzimuthal});__webpack_require__.d(__webpack_exports__,"geoTwoPointAzimuthalRaw",function(){return twoPointAzimuthalRaw});__webpack_require__.d(__webpack_exports__,"geoTwoPointAzimuthalUsa",function(){return twoPointAzimuthalUsa});__webpack_require__.d(__webpack_exports__,"geoTwoPointEquidistant",function(){return twoPointEquidistant});__webpack_require__.d(__webpack_exports__,"geoTwoPointEquidistantRaw",function(){return twoPointEquidistantRaw});__webpack_require__.d(__webpack_exports__,"geoTwoPointEquidistantUsa",function(){return twoPointEquidistantUsa});__webpack_require__.d(__webpack_exports__,"geoVanDerGrinten",function(){return vanDerGrinten});__webpack_require__.d(__webpack_exports__,"geoVanDerGrintenRaw",function(){return vanDerGrintenRaw});__webpack_require__.d(__webpack_exports__,"geoVanDerGrinten2",function(){return vanDerGrinten2});__webpack_require__.d(__webpack_exports__,"geoVanDerGrinten2Raw",function(){return vanDerGrinten2Raw});__webpack_require__.d(__webpack_exports__,"geoVanDerGrinten3",function(){return vanDerGrinten3});__webpack_require__.d(__webpack_exports__,"geoVanDerGrinten3Raw",function(){return vanDerGrinten3Raw});__webpack_require__.d(__webpack_exports__,"geoVanDerGrinten4",function(){return vanDerGrinten4});__webpack_require__.d(__webpack_exports__,"geoVanDerGrinten4Raw",function(){return vanDerGrinten4Raw});__webpack_require__.d(__webpack_exports__,"geoWagner",function(){return wagner});__webpack_require__.d(__webpack_exports__,"geoWagnerRaw",function(){return wagnerRaw});__webpack_require__.d(__webpack_exports__,"geoWagner4",function(){return wagner4});__webpack_require__.d(__webpack_exports__,"geoWagner4Raw",function(){return wagner4Raw});__webpack_require__.d(__webpack_exports__,"geoWagner6",function(){return wagner6});__webpack_require__.d(__webpack_exports__,"geoWagner6Raw",function(){return wagner6Raw});__webpack_require__.d(__webpack_exports__,"geoWagner7",function(){return wagner7});__webpack_require__.d(__webpack_exports__,"geoWagner7Raw",function(){return wagner7Raw});__webpack_require__.d(__webpack_exports__,"geoWiechel",function(){return wiechel});__webpack_require__.d(__webpack_exports__,"geoWiechelRaw",function(){return wiechelRaw});__webpack_require__.d(__webpack_exports__,"geoWinkel3",function(){return winkel3});__webpack_require__.d(__webpack_exports__,"geoWinkel3Raw",function(){return winkel3Raw})},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);var src=__webpack_require__(6);var constant=function(x){return function constant(){return x}};var abs=Math.abs;var atan2=Math.atan2;var cos=Math.cos;var max=Math.max;var min=Math.min;var sin=Math.sin;var sqrt=Math.sqrt;var epsilon=1e-12;var pi=Math.PI;var halfPi=pi/2;var tau=2*pi;function acos(x){return x>1?0:x<-1?pi:Math.acos(x)}function asin(x){return x>=1?halfPi:x<=-1?-halfPi:Math.asin(x)}function arcInnerRadius(d){return d.innerRadius}function arcOuterRadius(d){return d.outerRadius}function arcStartAngle(d){return d.startAngle}function arcEndAngle(d){return d.endAngle}function arcPadAngle(d){return d&&d.padAngle}function intersect(x0,y0,x1,y1,x2,y2,x3,y3){var x10=x1-x0,y10=y1-y0,x32=x3-x2,y32=y3-y2,t=y32*x10-x32*y10;if(t*tdx1*dx1+dy1*dy1)cx0=cx1,cy0=cy1;return{cx:cx0,cy:cy0,x01:-ox,y01:-oy,x11:cx0*(r1/r-1),y11:cy0*(r1/r-1)}}var src_arc=function(){var innerRadius=arcInnerRadius,outerRadius=arcOuterRadius,cornerRadius=constant(0),padRadius=null,startAngle=arcStartAngle,endAngle=arcEndAngle,padAngle=arcPadAngle,context=null;function arc(){var buffer,r,r0=+innerRadius.apply(this,arguments),r1=+outerRadius.apply(this,arguments),a0=startAngle.apply(this,arguments)-halfPi,a1=endAngle.apply(this,arguments)-halfPi,da=abs(a1-a0),cw=a1>a0;if(!context)context=buffer=Object(src["path"])();if(r1epsilon))context.moveTo(0,0);else if(da>tau-epsilon){context.moveTo(r1*cos(a0),r1*sin(a0));context.arc(0,0,r1,a0,a1,!cw);if(r0>epsilon){context.moveTo(r0*cos(a1),r0*sin(a1));context.arc(0,0,r0,a1,a0,cw)}}else{var a01=a0,a11=a1,a00=a0,a10=a1,da0=da,da1=da,ap=padAngle.apply(this,arguments)/2,rp=ap>epsilon&&(padRadius?+padRadius.apply(this,arguments):sqrt(r0*r0+r1*r1)),rc=min(abs(r1-r0)/2,+cornerRadius.apply(this,arguments)),rc0=rc,rc1=rc,t0,t1;if(rp>epsilon){var p0=asin(rp/r0*sin(ap)),p1=asin(rp/r1*sin(ap));if((da0-=p0*2)>epsilon)p0*=cw?1:-1,a00+=p0,a10-=p0;else da0=0,a00=a10=(a0+a1)/2;if((da1-=p1*2)>epsilon)p1*=cw?1:-1,a01+=p1,a11-=p1;else da1=0,a01=a11=(a0+a1)/2}var x01=r1*cos(a01),y01=r1*sin(a01),x10=r0*cos(a10),y10=r0*sin(a10);if(rc>epsilon){var x11=r1*cos(a11),y11=r1*sin(a11),x00=r0*cos(a00),y00=r0*sin(a00),oc;if(daepsilon))context.moveTo(x01,y01);else if(rc1>epsilon){t0=cornerTangents(x00,y00,x01,y01,r1,rc1,cw);t1=cornerTangents(x11,y11,x10,y10,r1,rc1,cw);context.moveTo(t0.cx+t0.x01,t0.cy+t0.y01);if(rc1epsilon)||!(da0>epsilon))context.lineTo(x10,y10);else if(rc0>epsilon){t0=cornerTangents(x10,y10,x11,y11,r0,-rc0,cw);t1=cornerTangents(x01,y01,x00,y00,r0,-rc0,cw);context.lineTo(t0.cx+t0.x01,t0.cy+t0.y01);if(rc0=j;--k){output.point(x0z[k],y0z[k])}output.lineEnd();output.areaEnd()}}if(defined0){x0z[i]=+x0(d,i,data),y0z[i]=+y0(d,i,data);output.point(x1?+x1(d,i,data):x0z[i],y1?+y1(d,i,data):y0z[i])}}if(buffer)return output=null,buffer+""||null}function arealine(){return src_line().defined(defined).curve(curve).context(context)}area.x=function(_){return arguments.length?(x0=typeof _==="function"?_:constant(+_),x1=null,area):x0};area.x0=function(_){return arguments.length?(x0=typeof _==="function"?_:constant(+_),area):x0};area.x1=function(_){return arguments.length?(x1=_==null?null:typeof _==="function"?_:constant(+_),area):x1};area.y=function(_){return arguments.length?(y0=typeof _==="function"?_:constant(+_),y1=null,area):y0};area.y0=function(_){return arguments.length?(y0=typeof _==="function"?_:constant(+_),area):y0};area.y1=function(_){return arguments.length?(y1=_==null?null:typeof _==="function"?_:constant(+_),area):y1};area.lineX0=area.lineY0=function(){return arealine().x(x0).y(y0)};area.lineY1=function(){return arealine().x(x0).y(y1)};area.lineX1=function(){return arealine().x(x1).y(y0)};area.defined=function(_){return arguments.length?(defined=typeof _==="function"?_:constant(!!_),area):defined};area.curve=function(_){return arguments.length?(curve=_,context!=null&&(output=curve(context)),area):curve};area.context=function(_){return arguments.length?(_==null?context=output=null:output=curve(context=_),area):context};return area};var descending=function(a,b){return ba?1:b>=a?0:NaN};var identity=function(d){return d};var src_pie=function(){var value=identity,sortValues=descending,sort=null,startAngle=constant(0),endAngle=constant(tau),padAngle=constant(0);function pie(data){var i,n=data.length,j,k,sum=0,index=new Array(n),arcs=new Array(n),a0=+startAngle.apply(this,arguments),da=Math.min(tau,Math.max(-tau,endAngle.apply(this,arguments)-a0)),a1,p=Math.min(Math.abs(da)/n,padAngle.apply(this,arguments)),pa=p*(da<0?-1:1),v;for(i=0;i0){sum+=v}}if(sortValues!=null)index.sort(function(i,j){return sortValues(arcs[i],arcs[j])});else if(sort!=null)index.sort(function(i,j){return sort(data[i],data[j])});for(i=0,k=sum?(da-n*pa)/sum:0;i0?v*k:0)+pa,arcs[j]={data:data[j],index:i,value:v,startAngle:a0,endAngle:a1,padAngle:p}}return arcs}pie.value=function(_){return arguments.length?(value=typeof _==="function"?_:constant(+_),pie):value};pie.sortValues=function(_){return arguments.length?(sortValues=_,sort=null,pie):sortValues};pie.sort=function(_){return arguments.length?(sort=_,sortValues=null,pie):sort};pie.startAngle=function(_){return arguments.length?(startAngle=typeof _==="function"?_:constant(+_),pie):startAngle};pie.endAngle=function(_){return arguments.length?(endAngle=typeof _==="function"?_:constant(+_),pie):endAngle};pie.padAngle=function(_){return arguments.length?(padAngle=typeof _==="function"?_:constant(+_),pie):padAngle};return pie};var curveRadialLinear=curveRadial(linear);function Radial(curve){this._curve=curve}Radial.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(a,r){this._curve.point(r*Math.sin(a),r*-Math.cos(a))}};function curveRadial(curve){function radial(context){return new Radial(curve(context))}radial._curve=curve;return radial}function lineRadial(l){var c=l.curve;l.angle=l.x,delete l.x;l.radius=l.y,delete l.y;l.curve=function(_){return arguments.length?c(curveRadial(_)):c()._curve};return l}var src_lineRadial=function(){return lineRadial(src_line().curve(curveRadialLinear))};var areaRadial=function(){var a=src_area().curve(curveRadialLinear),c=a.curve,x0=a.lineX0,x1=a.lineX1,y0=a.lineY0,y1=a.lineY1;a.angle=a.x,delete a.x;a.startAngle=a.x0,delete a.x0;a.endAngle=a.x1,delete a.x1;a.radius=a.y,delete a.y;a.innerRadius=a.y0,delete a.y0;a.outerRadius=a.y1,delete a.y1;a.lineStartAngle=function(){return lineRadial(x0())},delete a.lineX0;a.lineEndAngle=function(){return lineRadial(x1())},delete a.lineX1;a.lineInnerRadius=function(){return lineRadial(y0())},delete a.lineY0;a.lineOuterRadius=function(){return lineRadial(y1())},delete a.lineY1;a.curve=function(_){return arguments.length?c(curveRadial(_)):c()._curve};return a};var pointRadial=function(x,y){return[(y=+y)*Math.cos(x-=Math.PI/2),y*Math.sin(x)]};var slice=Array.prototype.slice;function linkSource(d){return d.source}function linkTarget(d){return d.target}function link_link(curve){var source=linkSource,target=linkTarget,x=point_x,y=point_y,context=null;function link(){var buffer,argv=slice.call(arguments),s=source.apply(this,argv),t=target.apply(this,argv);if(!context)context=buffer=Object(src["path"])();curve(context,+x.apply(this,(argv[0]=s,argv)),+y.apply(this,argv),+x.apply(this,(argv[0]=t,argv)),+y.apply(this,argv));if(buffer)return context=null,buffer+""||null}link.source=function(_){return arguments.length?(source=_,link):source};link.target=function(_){return arguments.length?(target=_,link):target};link.x=function(_){return arguments.length?(x=typeof _==="function"?_:constant(+_),link):x};link.y=function(_){return arguments.length?(y=typeof _==="function"?_:constant(+_),link):y};link.context=function(_){return arguments.length?(context=_==null?null:_,link):context};return link}function curveHorizontal(context,x0,y0,x1,y1){context.moveTo(x0,y0);context.bezierCurveTo(x0=(x0+x1)/2,y0,x0,y1,x1,y1)}function curveVertical(context,x0,y0,x1,y1){context.moveTo(x0,y0);context.bezierCurveTo(x0,y0=(y0+y1)/2,x1,y0,x1,y1)}function link_curveRadial(context,x0,y0,x1,y1){var p0=pointRadial(x0,y0),p1=pointRadial(x0,y0=(y0+y1)/2),p2=pointRadial(x1,y0),p3=pointRadial(x1,y1);context.moveTo(p0[0],p0[1]);context.bezierCurveTo(p1[0],p1[1],p2[0],p2[1],p3[0],p3[1])}function linkHorizontal(){return link_link(curveHorizontal)}function linkVertical(){return link_link(curveVertical)}function linkRadial(){var l=link_link(link_curveRadial);l.angle=l.x,delete l.x;l.radius=l.y,delete l.y;return l}var circle={draw:function(context,size){var r=Math.sqrt(size/pi);context.moveTo(r,0);context.arc(0,0,r,0,tau)}};var cross={draw:function(context,size){var r=Math.sqrt(size/5)/2;context.moveTo(-3*r,-r);context.lineTo(-r,-r);context.lineTo(-r,-3*r);context.lineTo(r,-3*r);context.lineTo(r,-r);context.lineTo(3*r,-r);context.lineTo(3*r,r);context.lineTo(r,r);context.lineTo(r,3*r);context.lineTo(-r,3*r);context.lineTo(-r,r);context.lineTo(-3*r,r);context.closePath()}};var tan30=Math.sqrt(1/3),tan30_2=tan30*2;var diamond={draw:function(context,size){var y=Math.sqrt(size/tan30_2),x=y*tan30;context.moveTo(0,-y);context.lineTo(x,0);context.lineTo(0,y);context.lineTo(-x,0);context.closePath()}};var ka=.8908130915292852,kr=Math.sin(pi/10)/Math.sin(7*pi/10),kx=Math.sin(tau/10)*kr,ky=-Math.cos(tau/10)*kr;var star={draw:function(context,size){var r=Math.sqrt(size*ka),x=kx*r,y=ky*r;context.moveTo(0,-r);context.lineTo(x,y);for(var i=1;i<5;++i){var a=tau*i/5,c=Math.cos(a),s=Math.sin(a);context.lineTo(s*r,-c*r);context.lineTo(c*x-s*y,s*x+c*y)}context.closePath()}};var square={draw:function(context,size){var w=Math.sqrt(size),x=-w/2;context.rect(x,x,w,w)}};var sqrt3=Math.sqrt(3);var triangle={draw:function(context,size){var y=-Math.sqrt(size/(sqrt3*3));context.moveTo(0,y*2);context.lineTo(-sqrt3*y,-y);context.lineTo(sqrt3*y,-y);context.closePath()}};var wye_c=-.5,wye_s=Math.sqrt(3)/2,wye_k=1/Math.sqrt(12),wye_a=(wye_k/2+1)*3;var wye={draw:function(context,size){var r=Math.sqrt(size/wye_a),x0=r/2,y0=r*wye_k,x1=x0,y1=r*wye_k+r,x2=-x1,y2=y1;context.moveTo(x0,y0);context.lineTo(x1,y1);context.lineTo(x2,y2);context.lineTo(wye_c*x0-wye_s*y0,wye_s*x0+wye_c*y0);context.lineTo(wye_c*x1-wye_s*y1,wye_s*x1+wye_c*y1);context.lineTo(wye_c*x2-wye_s*y2,wye_s*x2+wye_c*y2);context.lineTo(wye_c*x0+wye_s*y0,wye_c*y0-wye_s*x0);context.lineTo(wye_c*x1+wye_s*y1,wye_c*y1-wye_s*x1);context.lineTo(wye_c*x2+wye_s*y2,wye_c*y2-wye_s*x2);context.closePath()}};var symbols=[circle,cross,diamond,square,star,triangle,wye];var src_symbol=function(){var type=constant(circle),size=constant(64),context=null;function symbol(){var buffer;if(!context)context=buffer=Object(src["path"])();type.apply(this,arguments).draw(context,+size.apply(this,arguments));if(buffer)return context=null,buffer+""||null}symbol.type=function(_){return arguments.length?(type=typeof _==="function"?_:constant(_),symbol):type};symbol.size=function(_){return arguments.length?(size=typeof _==="function"?_:constant(+_),symbol):size};symbol.context=function(_){return arguments.length?(context=_==null?null:_,symbol):context};return symbol};var noop=function(){};function point(that,x,y){that._context.bezierCurveTo((2*that._x0+that._x1)/3,(2*that._y0+that._y1)/3,(that._x0+2*that._x1)/3,(that._y0+2*that._y1)/3,(that._x0+4*that._x1+x)/6,(that._y0+4*that._y1+y)/6)}function Basis(context){this._context=context}Basis.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN;this._point=0},lineEnd:function(){switch(this._point){case 3:point(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}if(this._line||this._line!==0&&this._point===1)this._context.closePath();this._line=1-this._line},point:function(x,y){x=+x,y=+y;switch(this._point){case 0:this._point=1;this._line?this._context.lineTo(x,y):this._context.moveTo(x,y);break;case 1:this._point=2;break;case 2:this._point=3;this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:point(this,x,y);break}this._x0=this._x1,this._x1=x;this._y0=this._y1,this._y1=y}};var basis=function(context){return new Basis(context)};function BasisClosed(context){this._context=context}BasisClosed.prototype={areaStart:noop,areaEnd:noop,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN;this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2);this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3);this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3);this._context.closePath();break}case 3:{this.point(this._x2,this._y2);this.point(this._x3,this._y3);this.point(this._x4,this._y4);break}}},point:function(x,y){x=+x,y=+y;switch(this._point){case 0:this._point=1;this._x2=x,this._y2=y;break;case 1:this._point=2;this._x3=x,this._y3=y;break;case 2:this._point=3;this._x4=x,this._y4=y;this._context.moveTo((this._x0+4*this._x1+x)/6,(this._y0+4*this._y1+y)/6);break;default:point(this,x,y);break}this._x0=this._x1,this._x1=x;this._y0=this._y1,this._y1=y}};var basisClosed=function(context){return new BasisClosed(context)};function BasisOpen(context){this._context=context}BasisOpen.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN;this._point=0},lineEnd:function(){if(this._line||this._line!==0&&this._point===3)this._context.closePath();this._line=1-this._line},point:function(x,y){x=+x,y=+y;switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var x0=(this._x0+4*this._x1+x)/6,y0=(this._y0+4*this._y1+y)/6;this._line?this._context.lineTo(x0,y0):this._context.moveTo(x0,y0);break;case 3:this._point=4;default:point(this,x,y);break}this._x0=this._x1,this._x1=x;this._y0=this._y1,this._y1=y}};var basisOpen=function(context){return new BasisOpen(context)};function Bundle(context,beta){this._basis=new Basis(context);this._beta=beta}Bundle.prototype={lineStart:function(){this._x=[];this._y=[];this._basis.lineStart()},lineEnd:function(){var x=this._x,y=this._y,j=x.length-1;if(j>0){var x0=x[0],y0=y[0],dx=x[j]-x0,dy=y[j]-y0,i=-1,t;while(++i<=j){t=i/j;this._basis.point(this._beta*x[i]+(1-this._beta)*(x0+t*dx),this._beta*y[i]+(1-this._beta)*(y0+t*dy))}}this._x=this._y=null;this._basis.lineEnd()},point:function(x,y){this._x.push(+x);this._y.push(+y)}};var curve_bundle=function custom(beta){function bundle(context){return beta===1?new Basis(context):new Bundle(context,beta)}bundle.beta=function(beta){return custom(+beta)};return bundle}(.85);function cardinal_point(that,x,y){that._context.bezierCurveTo(that._x1+that._k*(that._x2-that._x0),that._y1+that._k*(that._y2-that._y0),that._x2+that._k*(that._x1-x),that._y2+that._k*(that._y1-y),that._x2,that._y2)}function Cardinal(context,tension){this._context=context;this._k=(1-tension)/6}Cardinal.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN;this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:cardinal_point(this,this._x1,this._y1);break}if(this._line||this._line!==0&&this._point===1)this._context.closePath();this._line=1-this._line},point:function(x,y){x=+x,y=+y;switch(this._point){case 0:this._point=1;this._line?this._context.lineTo(x,y):this._context.moveTo(x,y);break;case 1:this._point=2;this._x1=x,this._y1=y;break;case 2:this._point=3;default:cardinal_point(this,x,y);break}this._x0=this._x1,this._x1=this._x2,this._x2=x;this._y0=this._y1,this._y1=this._y2,this._y2=y}};var cardinal=function custom(tension){function cardinal(context){return new Cardinal(context,tension)}cardinal.tension=function(tension){return custom(+tension)};return cardinal}(0);function CardinalClosed(context,tension){this._context=context;this._k=(1-tension)/6}CardinalClosed.prototype={areaStart:noop,areaEnd:noop,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN;this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3);this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3);this._context.closePath();break}case 3:{this.point(this._x3,this._y3);this.point(this._x4,this._y4);this.point(this._x5,this._y5);break}}},point:function(x,y){x=+x,y=+y;switch(this._point){case 0:this._point=1;this._x3=x,this._y3=y;break;case 1:this._point=2;this._context.moveTo(this._x4=x,this._y4=y);break;case 2:this._point=3;this._x5=x,this._y5=y;break;default:cardinal_point(this,x,y);break}this._x0=this._x1,this._x1=this._x2,this._x2=x;this._y0=this._y1,this._y1=this._y2,this._y2=y}};var cardinalClosed=function custom(tension){function cardinal(context){return new CardinalClosed(context,tension)}cardinal.tension=function(tension){return custom(+tension)};return cardinal}(0);function CardinalOpen(context,tension){this._context=context;this._k=(1-tension)/6}CardinalOpen.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN;this._point=0},lineEnd:function(){if(this._line||this._line!==0&&this._point===3)this._context.closePath();this._line=1-this._line},point:function(x,y){x=+x,y=+y;switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:cardinal_point(this,x,y);break}this._x0=this._x1,this._x1=this._x2,this._x2=x;this._y0=this._y1,this._y1=this._y2,this._y2=y}};var cardinalOpen=function custom(tension){function cardinal(context){return new CardinalOpen(context,tension)}cardinal.tension=function(tension){return custom(+tension)};return cardinal}(0);function catmullRom_point(that,x,y){var x1=that._x1,y1=that._y1,x2=that._x2,y2=that._y2;if(that._l01_a>epsilon){var a=2*that._l01_2a+3*that._l01_a*that._l12_a+that._l12_2a,n=3*that._l01_a*(that._l01_a+that._l12_a);x1=(x1*a-that._x0*that._l12_2a+that._x2*that._l01_2a)/n;y1=(y1*a-that._y0*that._l12_2a+that._y2*that._l01_2a)/n}if(that._l23_a>epsilon){var b=2*that._l23_2a+3*that._l23_a*that._l12_a+that._l12_2a,m=3*that._l23_a*(that._l23_a+that._l12_a);x2=(x2*b+that._x1*that._l23_2a-x*that._l12_2a)/m;y2=(y2*b+that._y1*that._l23_2a-y*that._l12_2a)/m}that._context.bezierCurveTo(x1,y1,x2,y2,that._x2,that._y2)}function CatmullRom(context,alpha){this._context=context;this._alpha=alpha}CatmullRom.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN;this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}if(this._line||this._line!==0&&this._point===1)this._context.closePath();this._line=1-this._line},point:function(x,y){x=+x,y=+y;if(this._point){var x23=this._x2-x,y23=this._y2-y;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(x23*x23+y23*y23,this._alpha))}switch(this._point){case 0:this._point=1;this._line?this._context.lineTo(x,y):this._context.moveTo(x,y);break;case 1:this._point=2;break;case 2:this._point=3;default:catmullRom_point(this,x,y);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a;this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a;this._x0=this._x1,this._x1=this._x2,this._x2=x;this._y0=this._y1,this._y1=this._y2,this._y2=y}};var curve_catmullRom=function custom(alpha){function catmullRom(context){return alpha?new CatmullRom(context,alpha):new Cardinal(context,0)}catmullRom.alpha=function(alpha){return custom(+alpha)};return catmullRom}(.5);function CatmullRomClosed(context,alpha){this._context=context;this._alpha=alpha}CatmullRomClosed.prototype={areaStart:noop,areaEnd:noop,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN;this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3);this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3);this._context.closePath();break}case 3:{this.point(this._x3,this._y3);this.point(this._x4,this._y4);this.point(this._x5,this._y5);break}}},point:function(x,y){x=+x,y=+y;if(this._point){var x23=this._x2-x,y23=this._y2-y;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(x23*x23+y23*y23,this._alpha))}switch(this._point){case 0:this._point=1;this._x3=x,this._y3=y;break;case 1:this._point=2;this._context.moveTo(this._x4=x,this._y4=y);break;case 2:this._point=3;this._x5=x,this._y5=y;break;default:catmullRom_point(this,x,y);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a;this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a;this._x0=this._x1,this._x1=this._x2,this._x2=x;this._y0=this._y1,this._y1=this._y2,this._y2=y}};var catmullRomClosed=function custom(alpha){function catmullRom(context){return alpha?new CatmullRomClosed(context,alpha):new CardinalClosed(context,0)}catmullRom.alpha=function(alpha){return custom(+alpha)};return catmullRom}(.5);function CatmullRomOpen(context,alpha){this._context=context;this._alpha=alpha}CatmullRomOpen.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN;this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){if(this._line||this._line!==0&&this._point===3)this._context.closePath();this._line=1-this._line},point:function(x,y){x=+x,y=+y;if(this._point){var x23=this._x2-x,y23=this._y2-y;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(x23*x23+y23*y23,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:catmullRom_point(this,x,y);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a;this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a;this._x0=this._x1,this._x1=this._x2,this._x2=x;this._y0=this._y1,this._y1=this._y2,this._y2=y}};var catmullRomOpen=function custom(alpha){function catmullRom(context){return alpha?new CatmullRomOpen(context,alpha):new CardinalOpen(context,0)}catmullRom.alpha=function(alpha){return custom(+alpha)};return catmullRom}(.5);function LinearClosed(context){this._context=context}LinearClosed.prototype={areaStart:noop,areaEnd:noop,lineStart:function(){this._point=0},lineEnd:function(){if(this._point)this._context.closePath()},point:function(x,y){x=+x,y=+y;if(this._point)this._context.lineTo(x,y);else this._point=1,this._context.moveTo(x,y)}};var linearClosed=function(context){return new LinearClosed(context)};function sign(x){return x<0?-1:1}function slope3(that,x2,y2){var h0=that._x1-that._x0,h1=x2-that._x1,s0=(that._y1-that._y0)/(h0||h1<0&&-0),s1=(y2-that._y1)/(h1||h0<0&&-0),p=(s0*h1+s1*h0)/(h0+h1);return(sign(s0)+sign(s1))*Math.min(Math.abs(s0),Math.abs(s1),.5*Math.abs(p))||0}function slope2(that,t){var h=that._x1-that._x0;return h?(3*(that._y1-that._y0)/h-t)/2:t}function monotone_point(that,t0,t1){var x0=that._x0,y0=that._y0,x1=that._x1,y1=that._y1,dx=(x1-x0)/3;that._context.bezierCurveTo(x0+dx,y0+dx*t0,x1-dx,y1-dx*t1,x1,y1)}function MonotoneX(context){this._context=context}MonotoneX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN;this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:monotone_point(this,this._t0,slope2(this,this._t0));break}if(this._line||this._line!==0&&this._point===1)this._context.closePath();this._line=1-this._line},point:function(x,y){var t1=NaN;x=+x,y=+y;if(x===this._x1&&y===this._y1)return;switch(this._point){case 0:this._point=1;this._line?this._context.lineTo(x,y):this._context.moveTo(x,y);break;case 1:this._point=2;break;case 2:this._point=3;monotone_point(this,slope2(this,t1=slope3(this,x,y)),t1);break;default:monotone_point(this,this._t0,t1=slope3(this,x,y));break}this._x0=this._x1,this._x1=x;this._y0=this._y1,this._y1=y;this._t0=t1}};function MonotoneY(context){this._context=new ReflectContext(context)}(MonotoneY.prototype=Object.create(MonotoneX.prototype)).point=function(x,y){MonotoneX.prototype.point.call(this,y,x)};function ReflectContext(context){this._context=context}ReflectContext.prototype={moveTo:function(x,y){this._context.moveTo(y,x)},closePath:function(){this._context.closePath()},lineTo:function(x,y){this._context.lineTo(y,x)},bezierCurveTo:function(x1,y1,x2,y2,x,y){this._context.bezierCurveTo(y1,x1,y2,x2,y,x)}};function monotoneX(context){return new MonotoneX(context)}function monotoneY(context){return new MonotoneY(context)}function Natural(context){this._context=context}Natural.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[];this._y=[]},lineEnd:function(){var x=this._x,y=this._y,n=x.length;if(n){this._line?this._context.lineTo(x[0],y[0]):this._context.moveTo(x[0],y[0]);if(n===2){this._context.lineTo(x[1],y[1])}else{var px=controlPoints(x),py=controlPoints(y);for(var i0=0,i1=1;i1=0;--i)a[i]=(r[i]-a[i+1])/b[i];b[n-1]=(x[n]+a[n-1])/2;for(i=0;i=0)this._t=1-this._t,this._line=1-this._line},point:function(x,y){x=+x,y=+y;switch(this._point){case 0:this._point=1;this._line?this._context.lineTo(x,y):this._context.moveTo(x,y);break;case 1:this._point=2;default:{if(this._t<=0){this._context.lineTo(this._x,y);this._context.lineTo(x,y)}else{var x1=this._x*(1-this._t)+x*this._t;this._context.lineTo(x1,this._y);this._context.lineTo(x1,y)}break}}this._x=x,this._y=y}};var step=function(context){return new Step(context,.5)};function stepBefore(context){return new Step(context,0)}function stepAfter(context){return new Step(context,1)}var none=function(series,order){if(!((n=series.length)>1))return;for(var i=1,j,s0,s1=series[order[0]],n,m=s1.length;i=0)o[n]=n;return o};function stackValue(d,key){return d[key]}var src_stack=function(){var keys=constant([]),order=order_none,offset=none,value=stackValue;function stack(data){var kz=keys.apply(this,arguments),i,m=data.length,n=kz.length,sz=new Array(n),oz;for(i=0;i0))return;for(var i,n,j=0,m=series[0].length,y;j0))return;for(var i,j=0,d,dy,yp,yn,n,m=series[order[0]].length;j=0){d[0]=yp,d[1]=yp+=dy}else if(dy<0){d[1]=yn,d[0]=yn+=dy}else{d[0]=yp}}}};var silhouette=function(series,order){if(!((n=series.length)>0))return;for(var j=0,s0=series[order[0]],n,m=s0.length;j0)||!((m=(s0=series[order[0]]).length)>0))return;for(var y=0,j=1,s0,m,n;jvj)vj=vi,j=i;return j}var ascending=function(series){var sums=series.map(ascending_sum);return order_none(series).sort(function(a,b){return sums[a]-sums[b]})};function ascending_sum(series){var s=0,i=-1,n=series.length,v;while(++ib)t=a,a=b,b=t;return function(x){return Math.max(a,Math.min(b,x))}}function bimap(domain,range,interpolate){var d0=domain[0],d1=domain[1],r0=range[0],r1=range[1];if(d12?polymap:bimap;output=input=null;return scale}function scale(x){return isNaN(x=+x)?unknown:(output||(output=piecewise(domain.map(transform),range,interpolate)))(transform(clamp(x)))}scale.invert=function(y){return clamp(untransform((input||(input=piecewise(range,domain.map(transform),d3_interpolate_src["interpolateNumber"])))(y)))};scale.domain=function(_){return arguments.length?(domain=map.call(_,number),clamp===identity||(clamp=clamper(domain)),rescale()):domain.slice()};scale.range=function(_){return arguments.length?(range=slice.call(_),rescale()):range.slice()};scale.rangeRound=function(_){return range=slice.call(_),interpolate=d3_interpolate_src["interpolateRound"],rescale()};scale.clamp=function(_){return arguments.length?(clamp=_?clamper(domain):identity,scale):clamp!==identity};scale.interpolate=function(_){return arguments.length?(interpolate=_,rescale()):interpolate};scale.unknown=function(_){return arguments.length?(unknown=_,scale):unknown};return function(t,u){transform=t,untransform=u;return rescale()}}function continuous(transform,untransform){return transformer()(transform,untransform)}var d3_format_src=__webpack_require__(8);var src_tickFormat=function(start,stop,count,specifier){var step=Object(src["tickStep"])(start,stop,count),precision;specifier=Object(d3_format_src["formatSpecifier"])(specifier==null?",f":specifier);switch(specifier.type){case"s":{var value=Math.max(Math.abs(start),Math.abs(stop));if(specifier.precision==null&&!isNaN(precision=Object(d3_format_src["precisionPrefix"])(step,value)))specifier.precision=precision;return Object(d3_format_src["formatPrefix"])(specifier,value)}case"":case"e":case"g":case"p":case"r":{if(specifier.precision==null&&!isNaN(precision=Object(d3_format_src["precisionRound"])(step,Math.max(Math.abs(start),Math.abs(stop)))))specifier.precision=precision-(specifier.type==="e");break}case"f":case"%":{if(specifier.precision==null&&!isNaN(precision=Object(d3_format_src["precisionFixed"])(step)))specifier.precision=precision-(specifier.type==="%")*2;break}}return Object(d3_format_src["format"])(specifier)};function linearish(scale){var domain=scale.domain;scale.ticks=function(count){var d=domain();return Object(src["ticks"])(d[0],d[d.length-1],count==null?10:count)};scale.tickFormat=function(count,specifier){var d=domain();return src_tickFormat(d[0],d[d.length-1],count==null?10:count,specifier)};scale.nice=function(count){if(count==null)count=10;var d=domain(),i0=0,i1=d.length-1,start=d[i0],stop=d[i1],step;if(stop0){start=Math.floor(start/step)*step;stop=Math.ceil(stop/step)*step;step=Object(src["tickIncrement"])(start,stop,count)}else if(step<0){start=Math.ceil(start*step)/step;stop=Math.floor(stop*step)/step;step=Object(src["tickIncrement"])(start,stop,count)}if(step>0){d[i0]=Math.floor(start/step)*step;d[i1]=Math.ceil(stop/step)*step;domain(d)}else if(step<0){d[i0]=Math.ceil(start*step)/step;d[i1]=Math.floor(stop*step)/step;domain(d)}return scale};return scale}function linear(){var scale=continuous(identity,identity);scale.copy=function(){return copy(scale,linear())};initRange.apply(scale,arguments);return linearish(scale)}function identity_identity(domain){var unknown;function scale(x){return isNaN(x=+x)?unknown:x}scale.invert=scale;scale.domain=scale.range=function(_){return arguments.length?(domain=map.call(_,number),scale):domain.slice()};scale.unknown=function(_){return arguments.length?(unknown=_,scale):unknown};scale.copy=function(){return identity_identity(domain).unknown(unknown)};domain=arguments.length?map.call(domain,number):[0,1];return linearish(scale)}var nice=function(domain,interval){domain=domain.slice();var i0=0,i1=domain.length-1,x0=domain[i0],x1=domain[i1],t;if(x10)for(;iv)break;z.push(t)}}else for(;i=1;--k){t=p*k;if(tv)break;z.push(t)}}}else{z=Object(src["ticks"])(i,j,Math.min(j-i,n)).map(pows)}return r?z.reverse():z};scale.tickFormat=function(count,specifier){if(specifier==null)specifier=base===10?".0e":",";if(typeof specifier!=="function")specifier=Object(d3_format_src["format"])(specifier);if(count===Infinity)return specifier;if(count==null)count=10;var k=Math.max(1,base*count/scale.ticks().length);return function(d){var i=d/pows(Math.round(logs(d)));if(i*base0?thresholds[i-1]:domain[0],i=n?[domain[n-1],x1]:[domain[i-1],domain[i]]};scale.unknown=function(_){return arguments.length?(unknown=_,scale):scale};scale.thresholds=function(){return domain.slice()};scale.copy=function(){return quantize().domain([x0,x1]).range(range).unknown(unknown)};return initRange.apply(linearish(scale),arguments)}function threshold(){var domain=[.5],range=[0,1],unknown,n=1;function scale(x){return x<=x?range[Object(src["bisect"])(domain,x,0,n)]:unknown}scale.domain=function(_){return arguments.length?(domain=slice.call(_),n=Math.min(domain.length,range.length-1),scale):domain.slice()};scale.range=function(_){return arguments.length?(range=slice.call(_),n=Math.min(domain.length,range.length-1),scale):range.slice()};scale.invertExtent=function(y){var i=range.indexOf(y);return[domain[i-1],domain[i]]};scale.unknown=function(_){return arguments.length?(unknown=_,scale):unknown};scale.copy=function(){return threshold().domain(domain).range(range).unknown(unknown)};return initRange.apply(scale,arguments)}var interval_t0=new Date,interval_t1=new Date;function newInterval(floori,offseti,count,field){function interval(date){return floori(date=new Date(+date)),date}interval.floor=interval;interval.ceil=function(date){return floori(date=new Date(date-1)),offseti(date,1),floori(date),date};interval.round=function(date){var d0=interval(date),d1=interval.ceil(date);return date-d00))return range;do{range.push(previous=new Date(+start)),offseti(start,step),floori(start)}while(previous=date)while(floori(date),!test(date))date.setTime(date-1)},function(date,step){if(date>=date){if(step<0)while(++step<=0){while(offseti(date,-1),!test(date)){}}else while(--step>=0){while(offseti(date,+1),!test(date)){}}}})};if(count){interval.count=function(start,end){interval_t0.setTime(+start),interval_t1.setTime(+end);floori(interval_t0),floori(interval_t1);return Math.floor(count(interval_t0,interval_t1))};interval.every=function(step){step=Math.floor(step);return!isFinite(step)||!(step>0)?null:!(step>1)?interval:interval.filter(field?function(d){return field(d)%step===0}:function(d){return interval.count(0,d)%step===0})}}return interval}var millisecond_millisecond=newInterval(function(){},function(date,step){date.setTime(+date+step)},function(start,end){return end-start});millisecond_millisecond.every=function(k){k=Math.floor(k);if(!isFinite(k)||!(k>0))return null;if(!(k>1))return millisecond_millisecond;return newInterval(function(date){date.setTime(Math.floor(date/k)*k)},function(date,step){date.setTime(+date+step*k)},function(start,end){return(end-start)/k})};var src_millisecond=millisecond_millisecond;var milliseconds=millisecond_millisecond.range;var durationSecond=1e3;var durationMinute=6e4;var durationHour=36e5;var durationDay=864e5;var durationWeek=6048e5;var second_second=newInterval(function(date){date.setTime(date-date.getMilliseconds())},function(date,step){date.setTime(+date+step*durationSecond)},function(start,end){return(end-start)/durationSecond},function(date){return date.getUTCSeconds()});var src_second=second_second;var seconds=second_second.range;var minute_minute=newInterval(function(date){date.setTime(date-date.getMilliseconds()-date.getSeconds()*durationSecond)},function(date,step){date.setTime(+date+step*durationMinute)},function(start,end){return(end-start)/durationMinute},function(date){return date.getMinutes()});var src_minute=minute_minute;var minutes=minute_minute.range;var hour_hour=newInterval(function(date){date.setTime(date-date.getMilliseconds()-date.getSeconds()*durationSecond-date.getMinutes()*durationMinute)},function(date,step){date.setTime(+date+step*durationHour)},function(start,end){return(end-start)/durationHour},function(date){return date.getHours()});var src_hour=hour_hour;var hours=hour_hour.range;var day_day=newInterval(function(date){date.setHours(0,0,0,0)},function(date,step){date.setDate(date.getDate()+step)},function(start,end){return(end-start-(end.getTimezoneOffset()-start.getTimezoneOffset())*durationMinute)/durationDay},function(date){return date.getDate()-1});var src_day=day_day;var days=day_day.range;function weekday(i){return newInterval(function(date){date.setDate(date.getDate()-(date.getDay()+7-i)%7);date.setHours(0,0,0,0)},function(date,step){date.setDate(date.getDate()+step*7)},function(start,end){return(end-start-(end.getTimezoneOffset()-start.getTimezoneOffset())*durationMinute)/durationWeek})}var sunday=weekday(0);var monday=weekday(1);var tuesday=weekday(2);var wednesday=weekday(3);var thursday=weekday(4);var friday=weekday(5);var saturday=weekday(6);var sundays=sunday.range;var mondays=monday.range;var tuesdays=tuesday.range;var wednesdays=wednesday.range;var thursdays=thursday.range;var fridays=friday.range;var saturdays=saturday.range;var month_month=newInterval(function(date){date.setDate(1);date.setHours(0,0,0,0)},function(date,step){date.setMonth(date.getMonth()+step)},function(start,end){return end.getMonth()-start.getMonth()+(end.getFullYear()-start.getFullYear())*12},function(date){return date.getMonth()});var src_month=month_month;var months=month_month.range;var year_year=newInterval(function(date){date.setMonth(0,1);date.setHours(0,0,0,0)},function(date,step){date.setFullYear(date.getFullYear()+step)},function(start,end){return end.getFullYear()-start.getFullYear()},function(date){return date.getFullYear()});year_year.every=function(k){return!isFinite(k=Math.floor(k))||!(k>0)?null:newInterval(function(date){date.setFullYear(Math.floor(date.getFullYear()/k)*k);date.setMonth(0,1);date.setHours(0,0,0,0)},function(date,step){date.setFullYear(date.getFullYear()+step*k)})};var src_year=year_year;var years=year_year.range;var utcMinute=newInterval(function(date){date.setUTCSeconds(0,0)},function(date,step){date.setTime(+date+step*durationMinute)},function(start,end){return(end-start)/durationMinute},function(date){return date.getUTCMinutes()});var src_utcMinute=utcMinute;var utcMinutes=utcMinute.range;var utcHour=newInterval(function(date){date.setUTCMinutes(0,0,0)},function(date,step){date.setTime(+date+step*durationHour)},function(start,end){return(end-start)/durationHour},function(date){return date.getUTCHours()});var src_utcHour=utcHour;var utcHours=utcHour.range;var utcDay=newInterval(function(date){date.setUTCHours(0,0,0,0)},function(date,step){date.setUTCDate(date.getUTCDate()+step)},function(start,end){return(end-start)/durationDay},function(date){return date.getUTCDate()-1});var src_utcDay=utcDay;var utcDays=utcDay.range;function utcWeekday(i){return newInterval(function(date){date.setUTCDate(date.getUTCDate()-(date.getUTCDay()+7-i)%7);date.setUTCHours(0,0,0,0)},function(date,step){date.setUTCDate(date.getUTCDate()+step*7)},function(start,end){return(end-start)/durationWeek})}var utcSunday=utcWeekday(0);var utcMonday=utcWeekday(1);var utcTuesday=utcWeekday(2);var utcWednesday=utcWeekday(3);var utcThursday=utcWeekday(4);var utcFriday=utcWeekday(5);var utcSaturday=utcWeekday(6);var utcSundays=utcSunday.range;var utcMondays=utcMonday.range;var utcTuesdays=utcTuesday.range;var utcWednesdays=utcWednesday.range;var utcThursdays=utcThursday.range;var utcFridays=utcFriday.range;var utcSaturdays=utcSaturday.range;var utcMonth=newInterval(function(date){date.setUTCDate(1);date.setUTCHours(0,0,0,0)},function(date,step){date.setUTCMonth(date.getUTCMonth()+step)},function(start,end){return end.getUTCMonth()-start.getUTCMonth()+(end.getUTCFullYear()-start.getUTCFullYear())*12},function(date){return date.getUTCMonth()});var src_utcMonth=utcMonth;var utcMonths=utcMonth.range;var utcYear=newInterval(function(date){date.setUTCMonth(0,1);date.setUTCHours(0,0,0,0)},function(date,step){date.setUTCFullYear(date.getUTCFullYear()+step)},function(start,end){return end.getUTCFullYear()-start.getUTCFullYear()},function(date){return date.getUTCFullYear()});utcYear.every=function(k){return!isFinite(k=Math.floor(k))||!(k>0)?null:newInterval(function(date){date.setUTCFullYear(Math.floor(date.getUTCFullYear()/k)*k);date.setUTCMonth(0,1);date.setUTCHours(0,0,0,0)},function(date,step){date.setUTCFullYear(date.getUTCFullYear()+step*k)})};var src_utcYear=utcYear;var utcYears=utcYear.range;function localDate(d){if(0<=d.y&&d.y<100){var date=new Date(-1,d.m,d.d,d.H,d.M,d.S,d.L);date.setFullYear(d.y);return date}return new Date(d.y,d.m,d.d,d.H,d.M,d.S,d.L)}function utcDate(d){if(0<=d.y&&d.y<100){var date=new Date(Date.UTC(-1,d.m,d.d,d.H,d.M,d.S,d.L));date.setUTCFullYear(d.y);return date}return new Date(Date.UTC(d.y,d.m,d.d,d.H,d.M,d.S,d.L))}function newYear(y){return{y,m:0,d:1,H:0,M:0,S:0,L:0}}function formatLocale(locale){var locale_dateTime=locale.dateTime,locale_date=locale.date,locale_time=locale.time,locale_periods=locale.periods,locale_weekdays=locale.days,locale_shortWeekdays=locale.shortDays,locale_months=locale.months,locale_shortMonths=locale.shortMonths;var periodRe=formatRe(locale_periods),periodLookup=formatLookup(locale_periods),weekdayRe=formatRe(locale_weekdays),weekdayLookup=formatLookup(locale_weekdays),shortWeekdayRe=formatRe(locale_shortWeekdays),shortWeekdayLookup=formatLookup(locale_shortWeekdays),monthRe=formatRe(locale_months),monthLookup=formatLookup(locale_months),shortMonthRe=formatRe(locale_shortMonths),shortMonthLookup=formatLookup(locale_shortMonths);var formats={a:formatShortWeekday,A:formatWeekday,b:formatShortMonth,B:formatMonth,c:null,d:formatDayOfMonth,e:formatDayOfMonth,f:formatMicroseconds,H:formatHour24,I:formatHour12,j:formatDayOfYear,L:formatMilliseconds,m:formatMonthNumber,M:formatMinutes,p:formatPeriod,Q:formatUnixTimestamp,s:formatUnixTimestampSeconds,S:formatSeconds,u:formatWeekdayNumberMonday,U:formatWeekNumberSunday,V:formatWeekNumberISO,w:formatWeekdayNumberSunday,W:formatWeekNumberMonday,x:null,X:null,y:locale_formatYear,Y:formatFullYear,Z:formatZone,"%":formatLiteralPercent};var utcFormats={a:formatUTCShortWeekday,A:formatUTCWeekday,b:formatUTCShortMonth,B:formatUTCMonth,c:null,d:formatUTCDayOfMonth,e:formatUTCDayOfMonth,f:formatUTCMicroseconds,H:formatUTCHour24,I:formatUTCHour12,j:formatUTCDayOfYear,L:formatUTCMilliseconds,m:formatUTCMonthNumber,M:formatUTCMinutes,p:formatUTCPeriod,Q:formatUnixTimestamp,s:formatUnixTimestampSeconds,S:formatUTCSeconds,u:formatUTCWeekdayNumberMonday,U:formatUTCWeekNumberSunday,V:formatUTCWeekNumberISO,w:formatUTCWeekdayNumberSunday,W:formatUTCWeekNumberMonday,x:null,X:null,y:formatUTCYear,Y:formatUTCFullYear,Z:formatUTCZone,"%":formatLiteralPercent};var parses={a:parseShortWeekday,A:parseWeekday,b:parseShortMonth,B:parseMonth,c:parseLocaleDateTime,d:parseDayOfMonth,e:parseDayOfMonth,f:parseMicroseconds,H:parseHour24,I:parseHour24,j:parseDayOfYear,L:parseMilliseconds,m:parseMonthNumber,M:parseMinutes,p:parsePeriod,Q:parseUnixTimestamp,s:parseUnixTimestampSeconds,S:parseSeconds,u:parseWeekdayNumberMonday,U:parseWeekNumberSunday,V:parseWeekNumberISO,w:parseWeekdayNumberSunday,W:parseWeekNumberMonday,x:parseLocaleDate,X:parseLocaleTime,y:parseYear,Y:parseFullYear,Z:parseZone,"%":parseLiteralPercent};formats.x=newFormat(locale_date,formats);formats.X=newFormat(locale_time,formats);formats.c=newFormat(locale_dateTime,formats);utcFormats.x=newFormat(locale_date,utcFormats);utcFormats.X=newFormat(locale_time,utcFormats);utcFormats.c=newFormat(locale_dateTime,utcFormats);function newFormat(specifier,formats){return function(date){var string=[],i=-1,j=0,n=specifier.length,c,pad,format;if(!(date instanceof Date))date=new Date(+date);while(++i53)return null;if(!("w"in d))d.w=1;if("Z"in d){week=utcDate(newYear(d.y)),day=week.getUTCDay();week=day>4||day===0?utcMonday.ceil(week):utcMonday(week);week=src_utcDay.offset(week,(d.V-1)*7);d.y=week.getUTCFullYear();d.m=week.getUTCMonth();d.d=week.getUTCDate()+(d.w+6)%7}else{week=newDate(newYear(d.y)),day=week.getDay();week=day>4||day===0?monday.ceil(week):monday(week);week=src_day.offset(week,(d.V-1)*7);d.y=week.getFullYear();d.m=week.getMonth();d.d=week.getDate()+(d.w+6)%7}}else if("W"in d||"U"in d){if(!("w"in d))d.w="u"in d?d.u%7:"W"in d?1:0;day="Z"in d?utcDate(newYear(d.y)).getUTCDay():newDate(newYear(d.y)).getDay();d.m=0;d.d="W"in d?(d.w+6)%7+d.W*7-(day+5)%7:d.w+d.U*7-(day+6)%7}if("Z"in d){d.H+=d.Z/100|0;d.M+=d.Z%100;return utcDate(d)}return newDate(d)}}function parseSpecifier(d,specifier,string,j){var i=0,n=specifier.length,m=string.length,c,parse;while(i=m)return-1;c=specifier.charCodeAt(i++);if(c===37){c=specifier.charAt(i++);parse=parses[c in pads?specifier.charAt(i++):c];if(!parse||(j=parse(d,string,j))<0)return-1}else if(c!=string.charCodeAt(j++)){return-1}}return j}function parsePeriod(d,string,i){var n=periodRe.exec(string.slice(i));return n?(d.p=periodLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseShortWeekday(d,string,i){var n=shortWeekdayRe.exec(string.slice(i));return n?(d.w=shortWeekdayLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseWeekday(d,string,i){var n=weekdayRe.exec(string.slice(i));return n?(d.w=weekdayLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseShortMonth(d,string,i){var n=shortMonthRe.exec(string.slice(i));return n?(d.m=shortMonthLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseMonth(d,string,i){var n=monthRe.exec(string.slice(i));return n?(d.m=monthLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseLocaleDateTime(d,string,i){return parseSpecifier(d,locale_dateTime,string,i)}function parseLocaleDate(d,string,i){return parseSpecifier(d,locale_date,string,i)}function parseLocaleTime(d,string,i){return parseSpecifier(d,locale_time,string,i)}function formatShortWeekday(d){return locale_shortWeekdays[d.getDay()]}function formatWeekday(d){return locale_weekdays[d.getDay()]}function formatShortMonth(d){return locale_shortMonths[d.getMonth()]}function formatMonth(d){return locale_months[d.getMonth()]}function formatPeriod(d){return locale_periods[+(d.getHours()>=12)]}function formatUTCShortWeekday(d){return locale_shortWeekdays[d.getUTCDay()]}function formatUTCWeekday(d){return locale_weekdays[d.getUTCDay()]}function formatUTCShortMonth(d){return locale_shortMonths[d.getUTCMonth()]}function formatUTCMonth(d){return locale_months[d.getUTCMonth()]}function formatUTCPeriod(d){return locale_periods[+(d.getUTCHours()>=12)]}return{format:function(specifier){var f=newFormat(specifier+="",formats);f.toString=function(){return specifier};return f},parse:function(specifier){var p=newParse(specifier+="",localDate);p.toString=function(){return specifier};return p},utcFormat:function(specifier){var f=newFormat(specifier+="",utcFormats);f.toString=function(){return specifier};return f},utcParse:function(specifier){var p=newParse(specifier,utcDate);p.toString=function(){return specifier};return p}}}var pads={"-":"",_:" ",0:"0"},numberRe=/^\s*\d+/,percentRe=/^%/,requoteRe=/[\\^$*+?|[\]().{}]/g;function pad(value,fill,width){var sign=value<0?"-":"",string=(sign?-value:value)+"",length=string.length;return sign+(length68?1900:2e3),i+n[0].length):-1}function parseZone(d,string,i){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(string.slice(i,i+6));return n?(d.Z=n[1]?0:-(n[2]+(n[3]||"00")),i+n[0].length):-1}function parseMonthNumber(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.m=n[0]-1,i+n[0].length):-1}function parseDayOfMonth(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.d=+n[0],i+n[0].length):-1}function parseDayOfYear(d,string,i){var n=numberRe.exec(string.slice(i,i+3));return n?(d.m=0,d.d=+n[0],i+n[0].length):-1}function parseHour24(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.H=+n[0],i+n[0].length):-1}function parseMinutes(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.M=+n[0],i+n[0].length):-1}function parseSeconds(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.S=+n[0],i+n[0].length):-1}function parseMilliseconds(d,string,i){var n=numberRe.exec(string.slice(i,i+3));return n?(d.L=+n[0],i+n[0].length):-1}function parseMicroseconds(d,string,i){var n=numberRe.exec(string.slice(i,i+6));return n?(d.L=Math.floor(n[0]/1e3),i+n[0].length):-1}function parseLiteralPercent(d,string,i){var n=percentRe.exec(string.slice(i,i+1));return n?i+n[0].length:-1}function parseUnixTimestamp(d,string,i){var n=numberRe.exec(string.slice(i));return n?(d.Q=+n[0],i+n[0].length):-1}function parseUnixTimestampSeconds(d,string,i){var n=numberRe.exec(string.slice(i));return n?(d.Q=+n[0]*1e3,i+n[0].length):-1}function formatDayOfMonth(d,p){return pad(d.getDate(),p,2)}function formatHour24(d,p){return pad(d.getHours(),p,2)}function formatHour12(d,p){return pad(d.getHours()%12||12,p,2)}function formatDayOfYear(d,p){return pad(1+src_day.count(src_year(d),d),p,3)}function formatMilliseconds(d,p){return pad(d.getMilliseconds(),p,3)}function formatMicroseconds(d,p){return formatMilliseconds(d,p)+"000"}function formatMonthNumber(d,p){return pad(d.getMonth()+1,p,2)}function formatMinutes(d,p){return pad(d.getMinutes(),p,2)}function formatSeconds(d,p){return pad(d.getSeconds(),p,2)}function formatWeekdayNumberMonday(d){var day=d.getDay();return day===0?7:day}function formatWeekNumberSunday(d,p){return pad(sunday.count(src_year(d),d),p,2)}function formatWeekNumberISO(d,p){var day=d.getDay();d=day>=4||day===0?thursday(d):thursday.ceil(d);return pad(thursday.count(src_year(d),d)+(src_year(d).getDay()===4),p,2)}function formatWeekdayNumberSunday(d){return d.getDay()}function formatWeekNumberMonday(d,p){return pad(monday.count(src_year(d),d),p,2)}function locale_formatYear(d,p){return pad(d.getFullYear()%100,p,2)}function formatFullYear(d,p){return pad(d.getFullYear()%1e4,p,4)}function formatZone(d){var z=d.getTimezoneOffset();return(z>0?"-":(z*=-1,"+"))+pad(z/60|0,"0",2)+pad(z%60,"0",2)}function formatUTCDayOfMonth(d,p){return pad(d.getUTCDate(),p,2)}function formatUTCHour24(d,p){return pad(d.getUTCHours(),p,2)}function formatUTCHour12(d,p){return pad(d.getUTCHours()%12||12,p,2)}function formatUTCDayOfYear(d,p){return pad(1+src_utcDay.count(src_utcYear(d),d),p,3)}function formatUTCMilliseconds(d,p){return pad(d.getUTCMilliseconds(),p,3)}function formatUTCMicroseconds(d,p){return formatUTCMilliseconds(d,p)+"000"}function formatUTCMonthNumber(d,p){return pad(d.getUTCMonth()+1,p,2)}function formatUTCMinutes(d,p){return pad(d.getUTCMinutes(),p,2)}function formatUTCSeconds(d,p){return pad(d.getUTCSeconds(),p,2)}function formatUTCWeekdayNumberMonday(d){var dow=d.getUTCDay();return dow===0?7:dow}function formatUTCWeekNumberSunday(d,p){return pad(utcSunday.count(src_utcYear(d),d),p,2)}function formatUTCWeekNumberISO(d,p){var day=d.getUTCDay();d=day>=4||day===0?utcThursday(d):utcThursday.ceil(d);return pad(utcThursday.count(src_utcYear(d),d)+(src_utcYear(d).getUTCDay()===4),p,2)}function formatUTCWeekdayNumberSunday(d){return d.getUTCDay()}function formatUTCWeekNumberMonday(d,p){return pad(utcMonday.count(src_utcYear(d),d),p,2)}function formatUTCYear(d,p){return pad(d.getUTCFullYear()%100,p,2)}function formatUTCFullYear(d,p){return pad(d.getUTCFullYear()%1e4,p,4)}function formatUTCZone(){return"+0000"}function formatLiteralPercent(){return"%"}function formatUnixTimestamp(d){return+d}function formatUnixTimestampSeconds(d){return Math.floor(+d/1e3)}var defaultLocale_locale;var timeFormat;var timeParse;var utcFormat;var utcParse;defaultLocale({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function defaultLocale(definition){defaultLocale_locale=formatLocale(definition);timeFormat=defaultLocale_locale.format;timeParse=defaultLocale_locale.parse;utcFormat=defaultLocale_locale.utcFormat;utcParse=defaultLocale_locale.utcParse;return defaultLocale_locale}var isoSpecifier="%Y-%m-%dT%H:%M:%S.%LZ";function formatIsoNative(date){return date.toISOString()}var formatIso=Date.prototype.toISOString?formatIsoNative:utcFormat(isoSpecifier);var isoFormat=formatIso;function parseIsoNative(string){var date=new Date(string);return isNaN(date)?null:date}var parseIso=+new Date("2000-01-01T00:00:00.000Z")?parseIsoNative:utcParse(isoSpecifier);var isoParse=parseIso;var time_durationSecond=1e3,time_durationMinute=time_durationSecond*60,time_durationHour=time_durationMinute*60,time_durationDay=time_durationHour*24,time_durationWeek=time_durationDay*7,durationMonth=time_durationDay*30,durationYear=time_durationDay*365;function time_date(t){return new Date(t)}function time_number(t){return t instanceof Date?+t:+new Date(+t)}function calendar(year,month,week,day,hour,minute,second,millisecond,format){var scale=continuous(identity,identity),invert=scale.invert,domain=scale.domain;var formatMillisecond=format(".%L"),formatSecond=format(":%S"),formatMinute=format("%I:%M"),formatHour=format("%I %p"),formatDay=format("%a %d"),formatWeek=format("%b %d"),formatMonth=format("%B"),formatYear=format("%Y");var tickIntervals=[[second,1,time_durationSecond],[second,5,5*time_durationSecond],[second,15,15*time_durationSecond],[second,30,30*time_durationSecond],[minute,1,time_durationMinute],[minute,5,5*time_durationMinute],[minute,15,15*time_durationMinute],[minute,30,30*time_durationMinute],[hour,1,time_durationHour],[hour,3,3*time_durationHour],[hour,6,6*time_durationHour],[hour,12,12*time_durationHour],[day,1,time_durationDay],[day,2,2*time_durationDay],[week,1,time_durationWeek],[month,1,durationMonth],[month,3,3*durationMonth],[year,1,durationYear]];function tickFormat(date){return(second(date)1)t-=Math.floor(t);var ts=Math.abs(t-.5);c.h=360*t-100;c.s=1.5-1.5*ts;c.l=.8-.9*ts;return c+""};var sinebow_c=Object(d3_color_src["f"])(),pi_1_3=Math.PI/3,pi_2_3=Math.PI*2/3;var sinebow=function(t){var x;t=(.5-t)*Math.PI;sinebow_c.r=255*(x=Math.sin(t))*x;sinebow_c.g=255*(x=Math.sin(t+pi_1_3))*x;sinebow_c.b=255*(x=Math.sin(t+pi_2_3))*x;return sinebow_c+""};function viridis_ramp(range){var n=range.length;return function(t){return range[Math.max(0,Math.min(n-1,Math.floor(t*n)))]}}var viridis=viridis_ramp(colors("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"));var magma=viridis_ramp(colors("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf"));var inferno=viridis_ramp(colors("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4"));var plasma=viridis_ramp(colors("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));__webpack_require__.d(__webpack_exports__,"schemeCategory10",function(){return category10});__webpack_require__.d(__webpack_exports__,"schemeAccent",function(){return Accent});__webpack_require__.d(__webpack_exports__,"schemeDark2",function(){return Dark2});__webpack_require__.d(__webpack_exports__,"schemePaired",function(){return Paired});__webpack_require__.d(__webpack_exports__,"schemePastel1",function(){return Pastel1});__webpack_require__.d(__webpack_exports__,"schemePastel2",function(){return Pastel2});__webpack_require__.d(__webpack_exports__,"schemeSet1",function(){return Set1});__webpack_require__.d(__webpack_exports__,"schemeSet2",function(){return Set2});__webpack_require__.d(__webpack_exports__,"schemeSet3",function(){return Set3});__webpack_require__.d(__webpack_exports__,"schemeTableau10",function(){return Tableau10});__webpack_require__.d(__webpack_exports__,"interpolateBrBG",function(){return BrBG});__webpack_require__.d(__webpack_exports__,"schemeBrBG",function(){return BrBG_scheme});__webpack_require__.d(__webpack_exports__,"interpolatePRGn",function(){return PRGn});__webpack_require__.d(__webpack_exports__,"schemePRGn",function(){return PRGn_scheme});__webpack_require__.d(__webpack_exports__,"interpolatePiYG",function(){return PiYG});__webpack_require__.d(__webpack_exports__,"schemePiYG",function(){return PiYG_scheme});__webpack_require__.d(__webpack_exports__,"interpolatePuOr",function(){return PuOr});__webpack_require__.d(__webpack_exports__,"schemePuOr",function(){return PuOr_scheme});__webpack_require__.d(__webpack_exports__,"interpolateRdBu",function(){return RdBu});__webpack_require__.d(__webpack_exports__,"schemeRdBu",function(){return RdBu_scheme});__webpack_require__.d(__webpack_exports__,"interpolateRdGy",function(){return RdGy});__webpack_require__.d(__webpack_exports__,"schemeRdGy",function(){return RdGy_scheme});__webpack_require__.d(__webpack_exports__,"interpolateRdYlBu",function(){return RdYlBu});__webpack_require__.d(__webpack_exports__,"schemeRdYlBu",function(){return RdYlBu_scheme});__webpack_require__.d(__webpack_exports__,"interpolateRdYlGn",function(){return RdYlGn});__webpack_require__.d(__webpack_exports__,"schemeRdYlGn",function(){return RdYlGn_scheme});__webpack_require__.d(__webpack_exports__,"interpolateSpectral",function(){return Spectral});__webpack_require__.d(__webpack_exports__,"schemeSpectral",function(){return Spectral_scheme});__webpack_require__.d(__webpack_exports__,"interpolateBuGn",function(){return BuGn});__webpack_require__.d(__webpack_exports__,"schemeBuGn",function(){return BuGn_scheme});__webpack_require__.d(__webpack_exports__,"interpolateBuPu",function(){return BuPu});__webpack_require__.d(__webpack_exports__,"schemeBuPu",function(){return BuPu_scheme});__webpack_require__.d(__webpack_exports__,"interpolateGnBu",function(){return GnBu});__webpack_require__.d(__webpack_exports__,"schemeGnBu",function(){return GnBu_scheme});__webpack_require__.d(__webpack_exports__,"interpolateOrRd",function(){return OrRd});__webpack_require__.d(__webpack_exports__,"schemeOrRd",function(){return OrRd_scheme});__webpack_require__.d(__webpack_exports__,"interpolatePuBuGn",function(){return PuBuGn});__webpack_require__.d(__webpack_exports__,"schemePuBuGn",function(){return PuBuGn_scheme});__webpack_require__.d(__webpack_exports__,"interpolatePuBu",function(){return PuBu});__webpack_require__.d(__webpack_exports__,"schemePuBu",function(){return PuBu_scheme});__webpack_require__.d(__webpack_exports__,"interpolatePuRd",function(){return PuRd});__webpack_require__.d(__webpack_exports__,"schemePuRd",function(){return PuRd_scheme});__webpack_require__.d(__webpack_exports__,"interpolateRdPu",function(){return RdPu});__webpack_require__.d(__webpack_exports__,"schemeRdPu",function(){return RdPu_scheme});__webpack_require__.d(__webpack_exports__,"interpolateYlGnBu",function(){return YlGnBu});__webpack_require__.d(__webpack_exports__,"schemeYlGnBu",function(){return YlGnBu_scheme});__webpack_require__.d(__webpack_exports__,"interpolateYlGn",function(){return YlGn});__webpack_require__.d(__webpack_exports__,"schemeYlGn",function(){return YlGn_scheme});__webpack_require__.d(__webpack_exports__,"interpolateYlOrBr",function(){return YlOrBr});__webpack_require__.d(__webpack_exports__,"schemeYlOrBr",function(){return YlOrBr_scheme});__webpack_require__.d(__webpack_exports__,"interpolateYlOrRd",function(){return YlOrRd});__webpack_require__.d(__webpack_exports__,"schemeYlOrRd",function(){return YlOrRd_scheme});__webpack_require__.d(__webpack_exports__,"interpolateBlues",function(){return Blues});__webpack_require__.d(__webpack_exports__,"schemeBlues",function(){return Blues_scheme});__webpack_require__.d(__webpack_exports__,"interpolateGreens",function(){return Greens});__webpack_require__.d(__webpack_exports__,"schemeGreens",function(){return Greens_scheme});__webpack_require__.d(__webpack_exports__,"interpolateGreys",function(){return Greys});__webpack_require__.d(__webpack_exports__,"schemeGreys",function(){return Greys_scheme});__webpack_require__.d(__webpack_exports__,"interpolatePurples",function(){return Purples});__webpack_require__.d(__webpack_exports__,"schemePurples",function(){return Purples_scheme});__webpack_require__.d(__webpack_exports__,"interpolateReds",function(){return Reds});__webpack_require__.d(__webpack_exports__,"schemeReds",function(){return Reds_scheme});__webpack_require__.d(__webpack_exports__,"interpolateOranges",function(){return Oranges});__webpack_require__.d(__webpack_exports__,"schemeOranges",function(){return Oranges_scheme});__webpack_require__.d(__webpack_exports__,"interpolateCubehelixDefault",function(){return cubehelix});__webpack_require__.d(__webpack_exports__,"interpolateRainbow",function(){return rainbow});__webpack_require__.d(__webpack_exports__,"interpolateWarm",function(){return warm});__webpack_require__.d(__webpack_exports__,"interpolateCool",function(){return cool});__webpack_require__.d(__webpack_exports__,"interpolateSinebow",function(){return sinebow});__webpack_require__.d(__webpack_exports__,"interpolateViridis",function(){return viridis});__webpack_require__.d(__webpack_exports__,"interpolateMagma",function(){return magma});__webpack_require__.d(__webpack_exports__,"interpolateInferno",function(){return inferno});__webpack_require__.d(__webpack_exports__,"interpolatePlasma",function(){return plasma})},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);var center=function(x,y){var nodes;if(x==null)x=0;if(y==null)y=0;function force(){var i,n=nodes.length,node,sx=0,sy=0;for(i=0;i=(xm=(x0+x1)/2))x0=xm;else x1=xm;if(bottom=y>=(ym=(y0+y1)/2))y0=ym;else y1=ym;if(parent=node,!(node=node[i=bottom<<1|right]))return parent[i]=leaf,tree}xp=+tree._x.call(null,node.data);yp=+tree._y.call(null,node.data);if(x===xp&&y===yp)return leaf.next=node,parent?parent[i]=leaf:tree._root=leaf,tree;do{parent=parent?parent[i]=new Array(4):tree._root=new Array(4);if(right=x>=(xm=(x0+x1)/2))x0=xm;else x1=xm;if(bottom=y>=(ym=(y0+y1)/2))y0=ym;else y1=ym}while((i=bottom<<1|right)===(j=(yp>=ym)<<1|xp>=xm));return parent[j]=node,parent[i]=leaf,tree}function addAll(data){var d,i,n=data.length,x,y,xz=new Array(n),yz=new Array(n),x0=Infinity,y0=Infinity,x1=-Infinity,y1=-Infinity;for(i=0;ix1)x1=x;if(yy1)y1=y}if(x0>x1||y0>y1)return this;this.cover(x0,y0).cover(x1,y1);for(i=0;ix||x>=x1||y0>y||y>=y1){i=(yx3||(y1=q.y0)>y3||(x2=q.x1)=ym)<<1|x>=xm){q=quads[quads.length-1];quads[quads.length-1]=quads[quads.length-1-i];quads[quads.length-1-i]=q}}else{var dx=x-+this._x.call(null,node.data),dy=y-+this._y.call(null,node.data),d2=dx*dx+dy*dy;if(d2=(xm=(x0+x1)/2))x0=xm;else x1=xm;if(bottom=y>=(ym=(y0+y1)/2))y0=ym;else y1=ym;if(!(parent=node,node=node[i=bottom<<1|right]))return this;if(!node.length)break;if(parent[i+1&3]||parent[i+2&3]||parent[i+3&3])retainer=parent,j=i}while(node.data!==d)if(!(previous=node,node=node.next))return this;if(next=node.next)delete node.next;if(previous)return next?previous.next=next:delete previous.next,this;if(!parent)return this._root=next,this;next?parent[i]=next:delete parent[i];if((node=parent[0]||parent[1]||parent[2]||parent[3])&&node===(parent[3]||parent[2]||parent[1]||parent[0])&&!node.length){if(retainer)retainer[j]=node;else this._root=node}return this};function removeAll(data){for(var i=0,n=data.length;inode.index){var x=xi-data.x-data.vx,y=yi-data.y-data.vy,l=x*x+y*y;if(lxi+r||x1yi+r||y1quad.r){quad.r=quad[i].r}}}function initialize(){if(!nodes)return;var i,n=nodes.length,node;radii=new Array(n);for(i=0;i1?(_==null?forces.remove(name):forces.set(name,initializeForce(_)),simulation):forces.get(name)},find:function(x,y,radius){var i=0,n=nodes.length,dx,dy,d2,node,closest;if(radius==null)radius=Infinity;else radius*=radius;for(i=0;i1?(event.on(name,_),simulation):event.on(name)}}};var manyBody=function(){var nodes,node,alpha,strength=constant(-30),strengths,distanceMin2=1,distanceMax2=Infinity,theta2=.81;function force(_){var i,n=nodes.length,tree=quadtree(nodes,simulation_x,simulation_y).visitAfter(accumulate);for(alpha=_,i=0;i=distanceMax2)return;if(quad.data!==node||quad.next){if(x===0)x=jiggle(),l+=x*x;if(y===0)y=jiggle(),l+=y*y;if(l0)return;r/=dx;if(dx<0){if(r0){if(r>t1)return;if(r>t0)t0=r}r=x1-ax;if(!dx&&r<0)return;r/=dx;if(dx<0){if(r>t1)return;if(r>t0)t0=r}else if(dx>0){if(r0)return;r/=dy;if(dy<0){if(r0){if(r>t1)return;if(r>t0)t0=r}r=y1-ay;if(!dy&&r<0)return;r/=dy;if(dy<0){if(r>t1)return;if(r>t0)t0=r}else if(dy>0){if(r0)&&!(t1<1))return true;if(t0>0)edge[0]=[ax+t0*dx,ay+t0*dy];if(t1<1)edge[1]=[ax+t1*dx,ay+t1*dy];return true}function connectEdge(edge,x0,y0,x1,y1){var v1=edge[1];if(v1)return true;var v0=edge[0],left=edge.left,right=edge.right,lx=left[0],ly=left[1],rx=right[0],ry=right[1],fx=(lx+rx)/2,fy=(ly+ry)/2,fm,fb;if(ry===ly){if(fx=x1)return;if(lx>rx){if(!v0)v0=[fx,y0];else if(v0[1]>=y1)return;v1=[fx,y1]}else{if(!v0)v0=[fx,y1];else if(v0[1]1){if(lx>rx){if(!v0)v0=[(y0-fb)/fm,y0];else if(v0[1]>=y1)return;v1=[(y1-fb)/fm,y1]}else{if(!v0)v0=[(y1-fb)/fm,y1];else if(v0[1]=x1)return;v1=[x1,fm*x1+fb]}else{if(!v0)v0=[x1,fm*x1+fb];else if(v0[0]epsilon||Math.abs(edge[0][1]-edge[1][1])>epsilon)){delete Diagram_edges[i]}}}function createCell(site){return cells[site.index]={site,halfedges:[]}}function cellHalfedgeAngle(cell,edge){var site=cell.site,va=edge.left,vb=edge.right;if(site===vb)vb=va,va=site;if(vb)return Math.atan2(vb[1]-va[1],vb[0]-va[0]);if(site===va)va=edge[1],vb=edge[0];else va=edge[0],vb=edge[1];return Math.atan2(va[0]-vb[0],vb[1]-va[1])}function cellHalfedgeStart(cell,edge){return edge[+(edge.left!==cell.site)]}function cellHalfedgeEnd(cell,edge){return edge[+(edge.left===cell.site)]}function sortCellHalfedges(){for(var i=0,n=cells.length,cell,halfedges,j,m;iepsilon||Math.abs(endY-startY)>epsilon){halfedges.splice(iHalfedge,0,Diagram_edges.push(createBorderEdge(site,end,Math.abs(endX-x0)epsilon?[x0,Math.abs(startX-x0)epsilon?[Math.abs(startY-y1)epsilon?[x1,Math.abs(startX-x1)epsilon?[Math.abs(startY-y0)=-epsilon2)return;var ha=ax*ax+ay*ay,hc=cx*cx+cy*cy,x=(cy*ha-ay*hc)/d,y=(ax*hc-cx*ha)/d;var circle=circlePool.pop()||new Circle;circle.arc=arc;circle.site=cSite;circle.x=x+bx;circle.y=(circle.cy=y+by)+Math.sqrt(x*x+y*y);arc.circle=circle;var before=null,node=circles._;while(node){if(circle.yepsilon)node=node.L;else{dxr=x-rightBreakPoint(node,directrix);if(dxr>epsilon){if(!node.R){lArc=node;break}node=node.R}else{if(dxl>-epsilon){lArc=node.P;rArc=node}else if(dxr>-epsilon){lArc=node;rArc=node.N}else{lArc=rArc=node}break}}}createCell(site);var newArc=createBeach(site);beaches.insert(lArc,newArc);if(!lArc&&!rArc)return;if(lArc===rArc){detachCircle(lArc);rArc=createBeach(lArc.site);beaches.insert(newArc,rArc);newArc.edge=rArc.edge=createEdge(lArc.site,newArc.site);attachCircle(lArc);attachCircle(rArc);return}if(!rArc){newArc.edge=createEdge(lArc.site,newArc.site);return}detachCircle(lArc);detachCircle(rArc);var lSite=lArc.site,ax=lSite[0],ay=lSite[1],bx=site[0]-ax,by=site[1]-ay,rSite=rArc.site,cx=rSite[0]-ax,cy=rSite[1]-ay,d=2*(bx*cy-by*cx),hb=bx*bx+by*by,hc=cx*cx+cy*cy,vertex=[(cy*hb-by*hc)/d+ax,(bx*hc-cx*hb)/d+ay];setEdgeEnd(rArc.edge,lSite,rSite,vertex);newArc.edge=createEdge(lSite,site,null,vertex);rArc.edge=createEdge(site,rSite,null,vertex);attachCircle(lArc);attachCircle(rArc)}function leftBreakPoint(arc,directrix){var site=arc.site,rfocx=site[0],rfocy=site[1],pby2=rfocy-directrix;if(!pby2)return rfocx;var lArc=arc.P;if(!lArc)return-Infinity;site=lArc.site;var lfocx=site[0],lfocy=site[1],plby2=lfocy-directrix;if(!plby2)return lfocx;var hl=lfocx-rfocx,aby2=1/pby2-1/plby2,b=hl/plby2;if(aby2)return(-b+Math.sqrt(b*b-2*aby2*(hl*hl/(-2*plby2)-lfocy+plby2/2+rfocy-pby2/2)))/aby2+rfocx;return(rfocx+lfocx)/2}function rightBreakPoint(arc,directrix){var rArc=arc.N;if(rArc)return leftBreakPoint(rArc,directrix);var site=arc.site;return site[1]===directrix?site[0]:Infinity}var epsilon=1e-6;var epsilon2=1e-12;var beaches;var cells;var circles;var Diagram_edges;function triangleArea(a,b,c){return(a[0]-c[0])*(b[1]-a[1])-(a[0]-b[0])*(c[1]-a[1])}function lexicographic(a,b){return b[1]-a[1]||b[0]-a[0]}function Diagram(sites,extent){var site=sites.sort(lexicographic).pop(),x,y,circle;Diagram_edges=[];cells=new Array(sites.length);beaches=new src_RedBlackTree;circles=new src_RedBlackTree;while(true){circle=firstCircle;if(site&&(!circle||site[1]=n)return null;var dx=x-cell.site[0],dy=y-cell.site[1],d2=dx*dx+dy*dy;do{cell=that.cells[i0=i1],i1=null;cell.halfedges.forEach(function(e){var edge=that.edges[e],v=edge.left;if((v===cell.site||!v)&&!(v=edge.right))return;var vx=x-v[0],vy=y-v[1],v2=vx*vx+vy*vy;if(v23&&respond(o)};function respond(o){var status=xhr.status,result;if(!status&&hasResponse(xhr)||status>=200&&status<300||status===304){if(response){try{result=response.call(request,xhr)}catch(e){event.call("error",request,e);return}}else{result=xhr}event.call("load",request,result)}else{event.call("error",request,o)}}xhr.onprogress=function(e){event.call("progress",request,e)};request={header:function(name,value){name=(name+"").toLowerCase();if(arguments.length<2)return headers.get(name);if(value==null)headers.remove(name);else headers.set(name,value+"");return request},mimeType:function(value){if(!arguments.length)return mimeType;mimeType=value==null?null:value+"";return request},responseType:function(value){if(!arguments.length)return responseType;responseType=value;return request},timeout:function(value){if(!arguments.length)return timeout;timeout=+value;return request},user:function(value){return arguments.length<1?user:(user=value==null?null:value+"",request)},password:function(value){return arguments.length<1?password:(password=value==null?null:value+"",request)},response:function(value){response=value;return request},get:function(data,callback){return request.send("GET",data,callback)},post:function(data,callback){return request.send("POST",data,callback)},send:function(method,data,callback){xhr.open(method,url,true,user,password);if(mimeType!=null&&!headers.has("accept"))headers.set("accept",mimeType+",*/*");if(xhr.setRequestHeader)headers.each(function(value,name){xhr.setRequestHeader(name,value)});if(mimeType!=null&&xhr.overrideMimeType)xhr.overrideMimeType(mimeType);if(responseType!=null)xhr.responseType=responseType;if(timeout>0)xhr.timeout=timeout;if(callback==null&&typeof data==="function")callback=data,data=null;if(callback!=null&&callback.length===1)callback=fixCallback(callback);if(callback!=null)request.on("error",callback).on("load",function(xhr){callback(null,xhr)});event.call("beforesend",request,xhr);xhr.send(data==null?null:data);return request},abort:function(){xhr.abort();return request},on:function(){var value=event.on.apply(event,arguments);return value===event?request:value}};if(callback!=null){if(typeof callback!=="function")throw new Error("invalid callback: "+callback);return request.get(callback)}return request};function fixCallback(callback){return function(error,xhr){callback(error==null?xhr:null)}}function hasResponse(xhr){var type=xhr.responseType;return type&&type!=="text"?xhr.response:xhr.responseText}var type=function(defaultMimeType,response){return function(url,callback){var r=src_request(url).mimeType(defaultMimeType).response(response);if(callback!=null){if(typeof callback!=="function")throw new Error("invalid callback: "+callback);return r.get(callback)}return r}};var html=type("text/html",function(xhr){return document.createRange().createContextualFragment(xhr.responseText)});var json=type("application/json",function(xhr){return JSON.parse(xhr.responseText)});var src_text=type("text/plain",function(xhr){return xhr.responseText});var xml=type("application/xml",function(xhr){var xml=xhr.responseXML;if(!xml)throw new Error("parse error");return xml});var d3_dsv_src=__webpack_require__(12);var dsv=function(defaultMimeType,parse){return function(url,row,callback){if(arguments.length<3)callback=row,row=null;var r=src_request(url).mimeType(defaultMimeType);r.row=function(_){return arguments.length?r.response(responseOf(parse,row=_)):row};r.row(row);return callback?r.get(callback):r}};function responseOf(parse,row){return function(request){return parse(request.responseText,row)}}var csv=dsv("text/csv",d3_dsv_src["csvParse"]);var tsv=dsv("text/tab-separated-values",d3_dsv_src["tsvParse"]);__webpack_require__.d(__webpack_exports__,"request",function(){return src_request});__webpack_require__.d(__webpack_exports__,"html",function(){return html});__webpack_require__.d(__webpack_exports__,"json",function(){return json});__webpack_require__.d(__webpack_exports__,"text",function(){return src_text});__webpack_require__.d(__webpack_exports__,"xml",function(){return xml});__webpack_require__.d(__webpack_exports__,"csv",function(){return csv});__webpack_require__.d(__webpack_exports__,"tsv",function(){return tsv})},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);var src_area=function(polygon){var i=-1,n=polygon.length,a,b=polygon[n-1],area=0;while(++i1&&cross(points[indexes[size-2]],points[indexes[size-1]],points[i])<=0)--size;indexes[size++]=i}return indexes.slice(0,size)}var hull=function(points){if((n=points.length)<3)return null;var i,n,sortedPoints=new Array(n),flippedPoints=new Array(n);for(i=0;i=0;--i)hull.push(points[sortedPoints[upperIndexes[i]][2]]);for(i=+skipLeft;iy!==y0>y&&x<(x0-x1)*(y-y1)/(y0-y1)+x1)inside=!inside;x0=x1,y0=y1}return inside};var src_length=function(polygon){var i=-1,n=polygon.length,b=polygon[n-1],xa,ya,xb=b[0],yb=b[1],perimeter=0;while(++idx0?(dx0+dx1)/2:Math.min(0,dx0)||Math.max(0,dx1),dy1>dy0?(dy0+dy1)/2:Math.min(0,dy0)||Math.max(0,dy1))}var src_zoom=function(){var filter=defaultFilter,extent=defaultExtent,constrain=defaultConstrain,wheelDelta=defaultWheelDelta,touchable=defaultTouchable,scaleExtent=[0,Infinity],translateExtent=[[-Infinity,-Infinity],[Infinity,Infinity]],duration=250,interpolate=d3_interpolate_src["interpolateZoom"],listeners=Object(src["a"])("start","zoom","end"),touchstarting,touchending,touchDelay=500,wheelDelay=150,clickDistance2=0;function zoom(selection){selection.property("__zoom",defaultTransform).on("wheel.zoom",wheeled).on("mousedown.zoom",mousedowned).on("dblclick.zoom",dblclicked).filter(touchable).on("touchstart.zoom",touchstarted).on("touchmove.zoom",touchmoved).on("touchend.zoom touchcancel.zoom",touchended).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}zoom.transform=function(collection,transform,point){var selection=collection.selection?collection.selection():collection;selection.property("__zoom",defaultTransform);if(collection!==selection){schedule(collection,transform,point)}else{selection.interrupt().each(function(){gesture(this,arguments).start().zoom(null,typeof transform==="function"?transform.apply(this,arguments):transform).end()})}};zoom.scaleBy=function(selection,k,p){zoom.scaleTo(selection,function(){var k0=this.__zoom.k,k1=typeof k==="function"?k.apply(this,arguments):k;return k0*k1},p)};zoom.scaleTo=function(selection,k,p){zoom.transform(selection,function(){var e=extent.apply(this,arguments),t0=this.__zoom,p0=p==null?centroid(e):typeof p==="function"?p.apply(this,arguments):p,p1=t0.invert(p0),k1=typeof k==="function"?k.apply(this,arguments):k;return constrain(translate(scale(t0,k1),p0,p1),e,translateExtent)},p)};zoom.translateBy=function(selection,x,y){zoom.transform(selection,function(){return constrain(this.__zoom.translate(typeof x==="function"?x.apply(this,arguments):x,typeof y==="function"?y.apply(this,arguments):y),extent.apply(this,arguments),translateExtent)})};zoom.translateTo=function(selection,x,y,p){zoom.transform(selection,function(){var e=extent.apply(this,arguments),t=this.__zoom,p0=p==null?centroid(e):typeof p==="function"?p.apply(this,arguments):p;return constrain(identity.translate(p0[0],p0[1]).scale(t.k).translate(typeof x==="function"?-x.apply(this,arguments):-x,typeof y==="function"?-y.apply(this,arguments):-y),e,translateExtent)},p)};function scale(transform,k){k=Math.max(scaleExtent[0],Math.min(scaleExtent[1],k));return k===transform.k?transform:new Transform(k,transform.x,transform.y)}function translate(transform,p0,p1){var x=p0[0]-p1[0]*transform.k,y=p0[1]-p1[1]*transform.k;return x===transform.x&&y===transform.y?transform:new Transform(transform.k,x,y)}function centroid(extent){return[(+extent[0][0]+ +extent[1][0])/2,(+extent[0][1]+ +extent[1][1])/2]}function schedule(transition,transform,point){transition.on("start.zoom",function(){gesture(this,arguments).start()}).on("interrupt.zoom end.zoom",function(){gesture(this,arguments).end()}).tween("zoom",function(){var that=this,args=arguments,g=gesture(that,args),e=extent.apply(that,args),p=point==null?centroid(e):typeof point==="function"?point.apply(that,args):point,w=Math.max(e[1][0]-e[0][0],e[1][1]-e[0][1]),a=that.__zoom,b=typeof transform==="function"?transform.apply(that,args):transform,i=interpolate(a.invert(p).concat(w/a.k),b.invert(p).concat(w/b.k));return function(t){if(t===1)t=b;else{var l=i(t),k=w/l[2];t=new Transform(k,p[0]-l[0]*k,p[1]-l[1]*k)}g.zoom(null,t)}})}function gesture(that,args,clean){return!clean&&that.__zooming||new Gesture(that,args)}function Gesture(that,args){this.that=that;this.args=args;this.active=0;this.extent=extent.apply(that,args);this.taps=0}Gesture.prototype={start:function(){if(++this.active===1){this.that.__zooming=this;this.emit("start")}return this},zoom:function(key,transform){if(this.mouse&&key!=="mouse")this.mouse[1]=transform.invert(this.mouse[0]);if(this.touch0&&key!=="touch")this.touch0[1]=transform.invert(this.touch0[0]);if(this.touch1&&key!=="touch")this.touch1[1]=transform.invert(this.touch1[0]);this.that.__zoom=transform;this.emit("zoom");return this},end:function(){if(--this.active===0){delete this.that.__zooming;this.emit("end")}return this},emit:function(type){Object(d3_selection_src["customEvent"])(new ZoomEvent(zoom,type,this.that.__zoom),listeners.apply,listeners,[type,this.that,this.args])}};function wheeled(){if(!filter.apply(this,arguments))return;var g=gesture(this,arguments),t=this.__zoom,k=Math.max(scaleExtent[0],Math.min(scaleExtent[1],t.k*Math.pow(2,wheelDelta.apply(this,arguments)))),p=Object(d3_selection_src["mouse"])(this);if(g.wheel){if(g.mouse[0][0]!==p[0]||g.mouse[0][1]!==p[1]){g.mouse[1]=t.invert(g.mouse[0]=p)}clearTimeout(g.wheel)}else if(t.k===k)return;else{g.mouse=[p,t.invert(p)];Object(d3_transition_src["interrupt"])(this);g.start()}noevent();g.wheel=setTimeout(wheelidled,wheelDelay);g.zoom("mouse",constrain(translate(scale(t,k),g.mouse[0],g.mouse[1]),g.extent,translateExtent));function wheelidled(){g.wheel=null;g.end()}}function mousedowned(){if(touchending||!filter.apply(this,arguments))return;var g=gesture(this,arguments,true),v=Object(d3_selection_src["select"])(d3_selection_src["event"].view).on("mousemove.zoom",mousemoved,true).on("mouseup.zoom",mouseupped,true),p=Object(d3_selection_src["mouse"])(this),x0=d3_selection_src["event"].clientX,y0=d3_selection_src["event"].clientY;Object(d3_drag_src["dragDisable"])(d3_selection_src["event"].view);nopropagation();g.mouse=[p,this.__zoom.invert(p)];Object(d3_transition_src["interrupt"])(this);g.start();function mousemoved(){noevent();if(!g.moved){var dx=d3_selection_src["event"].clientX-x0,dy=d3_selection_src["event"].clientY-y0;g.moved=dx*dx+dy*dy>clickDistance2}g.zoom("mouse",constrain(translate(g.that.__zoom,g.mouse[0]=Object(d3_selection_src["mouse"])(g.that),g.mouse[1]),g.extent,translateExtent))}function mouseupped(){v.on("mousemove.zoom mouseup.zoom",null);Object(d3_drag_src["dragEnable"])(d3_selection_src["event"].view,g.moved);noevent();g.end()}}function dblclicked(){if(!filter.apply(this,arguments))return;var t0=this.__zoom,p0=Object(d3_selection_src["mouse"])(this),p1=t0.invert(p0),k1=t0.k*(d3_selection_src["event"].shiftKey?.5:2),t1=constrain(translate(scale(t0,k1),p0,p1),extent.apply(this,arguments),translateExtent);noevent();if(duration>0)Object(d3_selection_src["select"])(this).transition().duration(duration).call(schedule,t1,p0);else Object(d3_selection_src["select"])(this).call(zoom.transform,t1)}function touchstarted(){if(!filter.apply(this,arguments))return;var touches=d3_selection_src["event"].touches,n=touches.length,g=gesture(this,arguments,d3_selection_src["event"].changedTouches.length===n),started,i,t,p;nopropagation();for(i=0;iMath.abs(point1[1]-point[1]))lockY=true;else lockX=true}point=point1;moving=true;noevent();move()}function move(){var t;dx=point[0]-point0[0];dy=point[1]-point0[1];switch(mode){case MODE_SPACE:case MODE_DRAG:{if(signX)dx=Math.max(W-w0,Math.min(E-e0,dx)),w1=w0+dx,e1=e0+dx;if(signY)dy=Math.max(N-n0,Math.min(S-s0,dy)),n1=n0+dy,s1=s0+dy;break}case MODE_HANDLE:{if(signX<0)dx=Math.max(W-w0,Math.min(E-w0,dx)),w1=w0+dx,e1=e0;else if(signX>0)dx=Math.max(W-e0,Math.min(E-e0,dx)),w1=w0,e1=e0+dx;if(signY<0)dy=Math.max(N-n0,Math.min(S-n0,dy)),n1=n0+dy,s1=s0;else if(signY>0)dy=Math.max(N-s0,Math.min(S-s0,dy)),n1=n0,s1=s0+dy;break}case MODE_CENTER:{if(signX)w1=Math.max(W,Math.min(E,w0-dx*signX)),e1=Math.max(W,Math.min(E,e0+dx*signX));if(signY)n1=Math.max(N,Math.min(S,n0-dy*signY)),s1=Math.max(N,Math.min(S,s0+dy*signY));break}}if(e10)w0=w1-dx;if(signY<0)s0=s1-dy;else if(signY>0)n0=n1-dy;mode=MODE_SPACE;overlay.attr("cursor",cursors.selection);move()}break}default:return}noevent()}function keyupped(){switch(d3_selection_src["event"].keyCode){case 16:{if(shifting){lockX=lockY=shifting=false;move()}break}case 18:{if(mode===MODE_CENTER){if(signX<0)e0=e1;else if(signX>0)w0=w1;if(signY<0)s0=s1;else if(signY>0)n0=n1;mode=MODE_HANDLE;move()}break}case 32:{if(mode===MODE_SPACE){if(d3_selection_src["event"].altKey){if(signX)e0=e1-dx*signX,w0=w1+dx*signX;if(signY)s0=s1-dy*signY,n0=n1+dy*signY;mode=MODE_CENTER}else{if(signX<0)e0=e1;else if(signX>0)w0=w1;if(signY<0)s0=s1;else if(signY>0)n0=n1;mode=MODE_HANDLE}overlay.attr("cursor",cursors[type]);move()}break}default:return}noevent()}}function touchmoved(){emitter(this,arguments).moved()}function touchended(){emitter(this,arguments).ended()}function initialize(){var state=this.__brush||{selection:null};state.extent=number2(extent.apply(this,arguments));state.dim=dim;return state}brush.extent=function(_){return arguments.length?(extent=typeof _==="function"?_:constant(number2(_)),brush):extent};brush.filter=function(_){return arguments.length?(filter=typeof _==="function"?_:constant(!!_),brush):filter};brush.handleSize=function(_){return arguments.length?(handleSize=+_,brush):handleSize};brush.keyModifiers=function(_){return arguments.length?(keys=!!_,brush):keys};brush.on=function(){var value=listeners.on.apply(listeners,arguments);return value===listeners?brush:value};return brush}__webpack_require__.d(__webpack_exports__,"brush",function(){return src_brush});__webpack_require__.d(__webpack_exports__,"brushX",function(){return brushX});__webpack_require__.d(__webpack_exports__,"brushY",function(){return brushY});__webpack_require__.d(__webpack_exports__,"brushSelection",function(){return brushSelection})},function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);var slice=Array.prototype.slice;var identity=function(x){return x};var axis_top=1,right=2,bottom=3,left=4,epsilon=1e-6;function translateX(x){return"translate("+(x+.5)+",0)"}function translateY(y){return"translate(0,"+(y+.5)+")"}function number(scale){return function(d){return+scale(d)}}function center(scale){var offset=Math.max(0,scale.bandwidth()-1)/2;if(scale.round())offset=Math.round(offset);return function(d){return+scale(d)+offset}}function entering(){return!this.__axis}function axis_axis(orient,scale){var tickArguments=[],tickValues=null,tickFormat=null,tickSizeInner=6,tickSizeOuter=6,tickPadding=3,k=orient===axis_top||orient===left?-1:1,x=orient===left||orient===right?"x":"y",transform=orient===axis_top||orient===bottom?translateX:translateY;function axis(context){var values=tickValues==null?scale.ticks?scale.ticks.apply(scale,tickArguments):scale.domain():tickValues,format=tickFormat==null?scale.tickFormat?scale.tickFormat.apply(scale,tickArguments):identity:tickFormat,spacing=Math.max(tickSizeInner,0)+tickPadding,range=scale.range(),range0=+range[0]+.5,range1=+range[range.length-1]+.5,position=(scale.bandwidth?center:number)(scale.copy()),selection=context.selection?context.selection():context,path=selection.selectAll(".domain").data([null]),tick=selection.selectAll(".tick").data(values,scale).order(),tickExit=tick.exit(),tickEnter=tick.enter().append("g").attr("class","tick"),line=tick.select("line"),text=tick.select("text");path=path.merge(path.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor"));tick=tick.merge(tickEnter);line=line.merge(tickEnter.append("line").attr("stroke","currentColor").attr(x+"2",k*tickSizeInner));text=text.merge(tickEnter.append("text").attr("fill","currentColor").attr(x,k*spacing).attr("dy",orient===axis_top?"0em":orient===bottom?"0.71em":"0.32em"));if(context!==selection){path=path.transition(context);tick=tick.transition(context);line=line.transition(context);text=text.transition(context);tickExit=tickExit.transition(context).attr("opacity",epsilon).attr("transform",function(d){return isFinite(d=position(d))?transform(d):this.getAttribute("transform")});tickEnter.attr("opacity",epsilon).attr("transform",function(d){var p=this.parentNode.__axis;return transform(p&&isFinite(p=p(d))?p:position(d))})}tickExit.remove();path.attr("d",orient===left||orient==right?tickSizeOuter?"M"+k*tickSizeOuter+","+range0+"H0.5V"+range1+"H"+k*tickSizeOuter:"M0.5,"+range0+"V"+range1:tickSizeOuter?"M"+range0+","+k*tickSizeOuter+"V0.5H"+range1+"V"+k*tickSizeOuter:"M"+range0+",0.5H"+range1);tick.attr("opacity",1).attr("transform",function(d){return transform(position(d))});line.attr(x+"2",k*tickSizeInner);text.attr(x,k*spacing).text(format);selection.filter(entering).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",orient===right?"start":orient===left?"end":"middle");selection.each(function(){this.__axis=position})}axis.scale=function(_){return arguments.length?(scale=_,axis):scale};axis.ticks=function(){return tickArguments=slice.call(arguments),axis};axis.tickArguments=function(_){return arguments.length?(tickArguments=_==null?[]:slice.call(_),axis):tickArguments.slice()};axis.tickValues=function(_){return arguments.length?(tickValues=_==null?null:slice.call(_),axis):tickValues&&tickValues.slice()};axis.tickFormat=function(_){return arguments.length?(tickFormat=_,axis):tickFormat};axis.tickSize=function(_){return arguments.length?(tickSizeInner=tickSizeOuter=+_,axis):tickSizeInner};axis.tickSizeInner=function(_){return arguments.length?(tickSizeInner=+_,axis):tickSizeInner};axis.tickSizeOuter=function(_){return arguments.length?(tickSizeOuter=+_,axis):tickSizeOuter};axis.tickPadding=function(_){return arguments.length?(tickPadding=+_,axis):tickPadding};return axis}function axisTop(scale){return axis_axis(axis_top,scale)}function axisRight(scale){return axis_axis(right,scale)}function axisBottom(scale){return axis_axis(bottom,scale)}function axisLeft(scale){return axis_axis(left,scale)}__webpack_require__.d(__webpack_exports__,"axisTop",function(){return axisTop});__webpack_require__.d(__webpack_exports__,"axisRight",function(){return axisRight});__webpack_require__.d(__webpack_exports__,"axisBottom",function(){return axisBottom});__webpack_require__.d(__webpack_exports__,"axisLeft",function(){return axisLeft})}]); \ No newline at end of file +var d3=function(modules){var installedModules={};function __webpack_require__(moduleId){if(installedModules[moduleId]){return installedModules[moduleId].exports}var module=installedModules[moduleId]={i:moduleId,l:false,exports:{}};modules[moduleId].call(module.exports,module,module.exports,__webpack_require__);module.l=true;return module.exports}__webpack_require__.m=modules;__webpack_require__.c=installedModules;__webpack_require__.d=function(exports,name,getter){if(!__webpack_require__.o(exports,name)){Object.defineProperty(exports,name,{enumerable:true,get:getter})}};__webpack_require__.r=function(exports){if(typeof Symbol!=="undefined"&&Symbol.toStringTag){Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"})}Object.defineProperty(exports,"__esModule",{value:true})};__webpack_require__.t=function(value,mode){if(mode&1)value=__webpack_require__(value);if(mode&8)return value;if(mode&4&&typeof value==="object"&&value&&value.__esModule)return value;var ns=Object.create(null);__webpack_require__.r(ns);Object.defineProperty(ns,"default",{enumerable:true,value});if(mode&2&&typeof value!="string")for(var key in value)__webpack_require__.d(ns,key,function(key){return value[key]}.bind(null,key));return ns};__webpack_require__.n=function(module){var getter=module&&module.__esModule?function getDefault(){return module["default"]}:function getModuleExports(){return module};__webpack_require__.d(getter,"a",getter);return getter};__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property)};__webpack_require__.p="";return __webpack_require__(__webpack_require__.s=8)}({8:function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);__webpack_require__.d(__webpack_exports__,"event",(function(){return on_event}));__webpack_require__.d(__webpack_exports__,"select",(function(){return src_select}));__webpack_require__.d(__webpack_exports__,"selection",(function(){return src_selection}));__webpack_require__.d(__webpack_exports__,"selectAll",(function(){return src_selectAll}));__webpack_require__.d(__webpack_exports__,"json",(function(){return json}));__webpack_require__.d(__webpack_exports__,"csv",(function(){return src_csv}));__webpack_require__.d(__webpack_exports__,"line",(function(){return src_line}));__webpack_require__.d(__webpack_exports__,"curveBasis",(function(){return curve_basis}));__webpack_require__.d(__webpack_exports__,"polygonArea",(function(){return src_area}));__webpack_require__.d(__webpack_exports__,"polygonCentroid",(function(){return src_centroid}));__webpack_require__.d(__webpack_exports__,"polygonHull",(function(){return hull}));__webpack_require__.d(__webpack_exports__,"polygonContains",(function(){return contains}));__webpack_require__.d(__webpack_exports__,"polygonLength",(function(){return src_length}));__webpack_require__.d(__webpack_exports__,"path",(function(){return src_path}));__webpack_require__.d(__webpack_exports__,"histogram",(function(){return src_histogram}));__webpack_require__.d(__webpack_exports__,"max",(function(){return src_max}));__webpack_require__.d(__webpack_exports__,"mean",(function(){return src_mean}));__webpack_require__.d(__webpack_exports__,"min",(function(){return src_min}));__webpack_require__.d(__webpack_exports__,"interpolate",(function(){return src_value}));__webpack_require__.d(__webpack_exports__,"interpolateArray",(function(){return src_array}));__webpack_require__.d(__webpack_exports__,"interpolateNumber",(function(){return number}));__webpack_require__.d(__webpack_exports__,"interpolateObject",(function(){return src_object}));__webpack_require__.d(__webpack_exports__,"interpolateRound",(function(){return src_round}));__webpack_require__.d(__webpack_exports__,"interpolateString",(function(){return src_string}));__webpack_require__.d(__webpack_exports__,"interpolateTransformCss",(function(){return interpolateTransformCss}));__webpack_require__.d(__webpack_exports__,"interpolateTransformSvg",(function(){return interpolateTransformSvg}));__webpack_require__.d(__webpack_exports__,"interpolateZoom",(function(){return src_zoom}));__webpack_require__.d(__webpack_exports__,"interpolateRgb",(function(){return src_rgb}));__webpack_require__.d(__webpack_exports__,"interpolateRgbBasis",(function(){return rgbBasis}));__webpack_require__.d(__webpack_exports__,"interpolateRgbBasisClosed",(function(){return rgbBasisClosed}));__webpack_require__.d(__webpack_exports__,"interpolateHsl",(function(){return src_hsl}));__webpack_require__.d(__webpack_exports__,"interpolateHslLong",(function(){return hslLong}));__webpack_require__.d(__webpack_exports__,"interpolateLab",(function(){return lab_lab}));__webpack_require__.d(__webpack_exports__,"interpolateHcl",(function(){return src_hcl}));__webpack_require__.d(__webpack_exports__,"interpolateHclLong",(function(){return hclLong}));__webpack_require__.d(__webpack_exports__,"interpolateCubehelix",(function(){return src_cubehelix}));__webpack_require__.d(__webpack_exports__,"interpolateCubehelixLong",(function(){return cubehelixLong}));__webpack_require__.d(__webpack_exports__,"interpolateBasis",(function(){return src_basis}));__webpack_require__.d(__webpack_exports__,"interpolateBasisClosed",(function(){return basisClosed}));__webpack_require__.d(__webpack_exports__,"quantize",(function(){return quantize}));__webpack_require__.d(__webpack_exports__,"dsvFormat",(function(){return dsv}));__webpack_require__.d(__webpack_exports__,"csvParse",(function(){return csvParse}));__webpack_require__.d(__webpack_exports__,"csvParseRows",(function(){return csvParseRows}));__webpack_require__.d(__webpack_exports__,"csvFormat",(function(){return csvFormat}));__webpack_require__.d(__webpack_exports__,"csvFormatRows",(function(){return csvFormatRows}));__webpack_require__.d(__webpack_exports__,"tsvParse",(function(){return tsvParse}));__webpack_require__.d(__webpack_exports__,"tsvParseRows",(function(){return tsvParseRows}));__webpack_require__.d(__webpack_exports__,"tsvFormat",(function(){return tsvFormat}));__webpack_require__.d(__webpack_exports__,"tsvFormatRows",(function(){return tsvFormatRows}));__webpack_require__.d(__webpack_exports__,"format",(function(){return defaultLocale_format}));__webpack_require__.d(__webpack_exports__,"formatPrefix",(function(){return defaultLocale_formatPrefix}));__webpack_require__.d(__webpack_exports__,"formatLocale",(function(){return src_locale}));__webpack_require__.d(__webpack_exports__,"formatDefaultLocale",(function(){return defaultLocale}));__webpack_require__.d(__webpack_exports__,"formatSpecifier",(function(){return formatSpecifier}));__webpack_require__.d(__webpack_exports__,"precisionFixed",(function(){return precisionFixed}));__webpack_require__.d(__webpack_exports__,"precisionPrefix",(function(){return precisionPrefix}));__webpack_require__.d(__webpack_exports__,"precisionRound",(function(){return precisionRound}));__webpack_require__.d(__webpack_exports__,"scaleBand",(function(){return band}));__webpack_require__.d(__webpack_exports__,"scalePoint",(function(){return band_point}));__webpack_require__.d(__webpack_exports__,"scaleIdentity",(function(){return identity_identity}));__webpack_require__.d(__webpack_exports__,"scaleLinear",(function(){return linear_linear}));__webpack_require__.d(__webpack_exports__,"scaleLog",(function(){return log}));__webpack_require__.d(__webpack_exports__,"scaleOrdinal",(function(){return ordinal}));__webpack_require__.d(__webpack_exports__,"scaleImplicit",(function(){return implicit}));__webpack_require__.d(__webpack_exports__,"scalePow",(function(){return pow}));__webpack_require__.d(__webpack_exports__,"scaleSqrt",(function(){return sqrt}));__webpack_require__.d(__webpack_exports__,"scaleQuantile",(function(){return quantile_quantile}));__webpack_require__.d(__webpack_exports__,"scaleQuantize",(function(){return quantize_quantize}));__webpack_require__.d(__webpack_exports__,"scaleThreshold",(function(){return threshold_threshold}));__webpack_require__.d(__webpack_exports__,"schemeSet3",(function(){return Set3}));__webpack_require__.d(__webpack_exports__,"active",(function(){return src_active}));__webpack_require__.d(__webpack_exports__,"interrupt",(function(){return interrupt}));__webpack_require__.d(__webpack_exports__,"transition",(function(){return src_transition_transition}));__webpack_require__.d(__webpack_exports__,"axisTop",(function(){return axisTop}));__webpack_require__.d(__webpack_exports__,"axisRight",(function(){return axisRight}));__webpack_require__.d(__webpack_exports__,"axisBottom",(function(){return axisBottom}));__webpack_require__.d(__webpack_exports__,"axisLeft",(function(){return axisLeft}));__webpack_require__.d(__webpack_exports__,"forceCenter",(function(){return src_center}));__webpack_require__.d(__webpack_exports__,"forceCollide",(function(){return collide}));__webpack_require__.d(__webpack_exports__,"forceLink",(function(){return src_link}));__webpack_require__.d(__webpack_exports__,"forceManyBody",(function(){return manyBody}));__webpack_require__.d(__webpack_exports__,"forceSimulation",(function(){return src_simulation}));__webpack_require__.d(__webpack_exports__,"forceX",(function(){return d3_force_src_x}));__webpack_require__.d(__webpack_exports__,"forceY",(function(){return d3_force_src_y}));__webpack_require__.d(__webpack_exports__,"drag",(function(){return src_drag}));__webpack_require__.d(__webpack_exports__,"zoom",(function(){return d3_zoom_src_zoom}));__webpack_require__.d(__webpack_exports__,"zoomIdentity",(function(){return transform_identity}));__webpack_require__.d(__webpack_exports__,"zoomTransform",(function(){return transform_transform}));__webpack_require__.d(__webpack_exports__,"brush",(function(){return src_brush}));__webpack_require__.d(__webpack_exports__,"brushX",(function(){return brushX}));__webpack_require__.d(__webpack_exports__,"brushY",(function(){return brushY}));__webpack_require__.d(__webpack_exports__,"brushSelection",(function(){return brushSelection}));__webpack_require__.d(__webpack_exports__,"voronoi",(function(){return src_voronoi}));__webpack_require__.d(__webpack_exports__,"geoAlbers",(function(){return albers}));__webpack_require__.d(__webpack_exports__,"geoAlbersUsa",(function(){return projection_albersUsa}));__webpack_require__.d(__webpack_exports__,"geoArea",(function(){return d3_geo_src_area}));__webpack_require__.d(__webpack_exports__,"geoAzimuthalEqualArea",(function(){return azimuthalEqualArea}));__webpack_require__.d(__webpack_exports__,"geoAzimuthalEqualAreaRaw",(function(){return azimuthalEqualAreaRaw}));__webpack_require__.d(__webpack_exports__,"geoAzimuthalEquidistant",(function(){return azimuthalEquidistant}));__webpack_require__.d(__webpack_exports__,"geoAzimuthalEquidistantRaw",(function(){return azimuthalEquidistantRaw}));__webpack_require__.d(__webpack_exports__,"geoBounds",(function(){return src_bounds}));__webpack_require__.d(__webpack_exports__,"geoCentroid",(function(){return d3_geo_src_centroid}));__webpack_require__.d(__webpack_exports__,"geoCircle",(function(){return src_circle}));__webpack_require__.d(__webpack_exports__,"geoClipAntimeridian",(function(){return clip_antimeridian}));__webpack_require__.d(__webpack_exports__,"geoClipCircle",(function(){return clip_circle}));__webpack_require__.d(__webpack_exports__,"geoClipRectangle",(function(){return clipRectangle}));__webpack_require__.d(__webpack_exports__,"geoConicConformal",(function(){return conicConformal}));__webpack_require__.d(__webpack_exports__,"geoConicConformalRaw",(function(){return conicConformalRaw}));__webpack_require__.d(__webpack_exports__,"geoConicEqualArea",(function(){return conicEqualArea}));__webpack_require__.d(__webpack_exports__,"geoConicEqualAreaRaw",(function(){return conicEqualAreaRaw}));__webpack_require__.d(__webpack_exports__,"geoConicEquidistant",(function(){return conicEquidistant}));__webpack_require__.d(__webpack_exports__,"geoConicEquidistantRaw",(function(){return conicEquidistantRaw}));__webpack_require__.d(__webpack_exports__,"geoDistance",(function(){return src_distance}));__webpack_require__.d(__webpack_exports__,"geoEquirectangular",(function(){return projection_equirectangular}));__webpack_require__.d(__webpack_exports__,"geoEquirectangularRaw",(function(){return equirectangularRaw}));__webpack_require__.d(__webpack_exports__,"geoGnomonic",(function(){return gnomonic}));__webpack_require__.d(__webpack_exports__,"geoGnomonicRaw",(function(){return gnomonicRaw}));__webpack_require__.d(__webpack_exports__,"geoGraticule",(function(){return graticule_graticule}));__webpack_require__.d(__webpack_exports__,"geoGraticule10",(function(){return graticule10}));__webpack_require__.d(__webpack_exports__,"geoIdentity",(function(){return projection_identity}));__webpack_require__.d(__webpack_exports__,"geoInterpolate",(function(){return src_interpolate}));__webpack_require__.d(__webpack_exports__,"geoLength",(function(){return d3_geo_src_length}));__webpack_require__.d(__webpack_exports__,"geoMercator",(function(){return mercator}));__webpack_require__.d(__webpack_exports__,"geoMercatorRaw",(function(){return mercatorRaw}));__webpack_require__.d(__webpack_exports__,"geoNaturalEarth1",(function(){return naturalEarth1}));__webpack_require__.d(__webpack_exports__,"geoOrthographic",(function(){return orthographic}));__webpack_require__.d(__webpack_exports__,"geoOrthographicRaw",(function(){return orthographicRaw}));__webpack_require__.d(__webpack_exports__,"geoPath",(function(){return d3_geo_src_path}));__webpack_require__.d(__webpack_exports__,"geoProjection",(function(){return projection_projection}));__webpack_require__.d(__webpack_exports__,"geoProjectionMutator",(function(){return projectionMutator}));__webpack_require__.d(__webpack_exports__,"geoRotation",(function(){return src_rotation}));__webpack_require__.d(__webpack_exports__,"geoStereographic",(function(){return stereographic}));__webpack_require__.d(__webpack_exports__,"geoStereographicRaw",(function(){return stereographicRaw}));__webpack_require__.d(__webpack_exports__,"geoStream",(function(){return src_stream}));__webpack_require__.d(__webpack_exports__,"geoTransform",(function(){return src_transform}));__webpack_require__.d(__webpack_exports__,"geoTransverseMercator",(function(){return transverseMercator}));__webpack_require__.d(__webpack_exports__,"geoTransverseMercatorRaw",(function(){return transverseMercatorRaw}));__webpack_require__.d(__webpack_exports__,"geoArmadillo",(function(){return armadillo}));__webpack_require__.d(__webpack_exports__,"geoBaker",(function(){return baker}));__webpack_require__.d(__webpack_exports__,"geoBertin1953",(function(){return bertin}));__webpack_require__.d(__webpack_exports__,"geoBoggs",(function(){return boggs}));__webpack_require__.d(__webpack_exports__,"geoInterruptedBoggs",(function(){return interrupted_boggs}));__webpack_require__.d(__webpack_exports__,"geoBonne",(function(){return bonne}));__webpack_require__.d(__webpack_exports__,"geoBottomley",(function(){return bottomley}));__webpack_require__.d(__webpack_exports__,"geoBromley",(function(){return bromley}));__webpack_require__.d(__webpack_exports__,"geoCollignon",(function(){return collignon}));__webpack_require__.d(__webpack_exports__,"geoCraster",(function(){return craster}));__webpack_require__.d(__webpack_exports__,"geoCylindricalEqualArea",(function(){return cylindricalEqualArea}));__webpack_require__.d(__webpack_exports__,"geoCylindricalEqualAreaRaw",(function(){return cylindricalEqualArea_cylindricalEqualAreaRaw}));__webpack_require__.d(__webpack_exports__,"geoCylindricalStereographic",(function(){return cylindricalStereographic}));__webpack_require__.d(__webpack_exports__,"geoCylindricalStereographicRaw",(function(){return cylindricalStereographicRaw}));__webpack_require__.d(__webpack_exports__,"geoEckert1",(function(){return eckert1}));__webpack_require__.d(__webpack_exports__,"geoEckert2",(function(){return eckert2}));__webpack_require__.d(__webpack_exports__,"geoEckert3",(function(){return eckert3}));__webpack_require__.d(__webpack_exports__,"geoEckert4",(function(){return eckert4}));__webpack_require__.d(__webpack_exports__,"geoEckert5",(function(){return eckert5}));__webpack_require__.d(__webpack_exports__,"geoEckert6",(function(){return eckert6}));__webpack_require__.d(__webpack_exports__,"geoEisenlohr",(function(){return eisenlohr}));__webpack_require__.d(__webpack_exports__,"geoGilbert",(function(){return src_gilbert}));__webpack_require__.d(__webpack_exports__,"geoGringorten",(function(){return gringorten}));__webpack_require__.d(__webpack_exports__,"geoGringortenQuincuncial",(function(){return quincuncial_gringorten}));__webpack_require__.d(__webpack_exports__,"geoHammer",(function(){return src_hammer}));__webpack_require__.d(__webpack_exports__,"geoHammerRaw",(function(){return hammerRaw}));__webpack_require__.d(__webpack_exports__,"geoHealpix",(function(){return healpix}));__webpack_require__.d(__webpack_exports__,"geoHomolosine",(function(){return homolosine}));__webpack_require__.d(__webpack_exports__,"geoInterruptedHomolosine",(function(){return interrupted_homolosine}));__webpack_require__.d(__webpack_exports__,"geoLoximuthal",(function(){return loximuthal}));__webpack_require__.d(__webpack_exports__,"geoNaturalEarth2",(function(){return naturalEarth2}));__webpack_require__.d(__webpack_exports__,"geoMiller",(function(){return miller}));__webpack_require__.d(__webpack_exports__,"geoModifiedStereographicMiller",(function(){return modifiedStereographicMiller}));__webpack_require__.d(__webpack_exports__,"geoMollweide",(function(){return mollweide}));__webpack_require__.d(__webpack_exports__,"geoPatterson",(function(){return patterson}));__webpack_require__.d(__webpack_exports__,"geoPeirceQuincuncial",(function(){return peirce}));__webpack_require__.d(__webpack_exports__,"geoPolyconic",(function(){return polyconic}));__webpack_require__.d(__webpack_exports__,"geoRobinson",(function(){return robinson}));__webpack_require__.d(__webpack_exports__,"geoRobinsonRaw",(function(){return robinsonRaw}));__webpack_require__.d(__webpack_exports__,"geoInterruptedSinuMollweide",(function(){return interrupted_sinuMollweide}));__webpack_require__.d(__webpack_exports__,"geoSinuMollweide",(function(){return sinuMollweide}));__webpack_require__.d(__webpack_exports__,"geoSinusoidal",(function(){return sinusoidal}));__webpack_require__.d(__webpack_exports__,"geoInterruptedSinusoidal",(function(){return interrupted_sinusoidal}));__webpack_require__.d(__webpack_exports__,"geoVanDerGrinten",(function(){return vanDerGrinten}));__webpack_require__.d(__webpack_exports__,"geoVanDerGrinten2",(function(){return vanDerGrinten2}));__webpack_require__.d(__webpack_exports__,"geoVanDerGrinten3",(function(){return vanDerGrinten3}));__webpack_require__.d(__webpack_exports__,"geoVanDerGrinten4",(function(){return vanDerGrinten4}));__webpack_require__.d(__webpack_exports__,"geoWinkel3",(function(){return winkel3}));function none(){}var src_selector=function(selector){return selector==null?none:function(){return this.querySelector(selector)}};var selection_select=function(select){if(typeof select!=="function")select=src_selector(select);for(var groups=this._groups,m=groups.length,subgroups=new Array(m),j=0;j=i1)i1=i0+1;while(!(next=updateGroup[i1])&&++i1=0;){if(node=group[i]){if(next&&node.compareDocumentPosition(next)^4)next.parentNode.insertBefore(node,next);next=node}}}return this};var sort=function(compare){if(!compare)compare=ascending;function compareNode(a,b){return a&&b?compare(a.__data__,b.__data__):!a-!b}for(var groups=this._groups,m=groups.length,sortgroups=new Array(m),j=0;jb?1:a>=b?0:NaN}var call=function(){var callback=arguments[0];arguments[0]=this;callback.apply(null,arguments);return this};var selection_nodes=function(){var nodes=new Array(this.size()),i=-1;this.each((function(){nodes[++i]=this}));return nodes};var selection_node=function(){for(var groups=this._groups,j=0,m=groups.length;j=0&&(prefix=name.slice(0,i))!=="xmlns")name=name.slice(i+1);return namespaces.hasOwnProperty(prefix)?{space:namespaces[prefix],local:name}:name};function attrRemove(name){return function(){this.removeAttribute(name)}}function attrRemoveNS(fullname){return function(){this.removeAttributeNS(fullname.space,fullname.local)}}function attrConstant(name,value){return function(){this.setAttribute(name,value)}}function attrConstantNS(fullname,value){return function(){this.setAttributeNS(fullname.space,fullname.local,value)}}function attrFunction(name,value){return function(){var v=value.apply(this,arguments);if(v==null)this.removeAttribute(name);else this.setAttribute(name,v)}}function attrFunctionNS(fullname,value){return function(){var v=value.apply(this,arguments);if(v==null)this.removeAttributeNS(fullname.space,fullname.local);else this.setAttributeNS(fullname.space,fullname.local,v)}}var attr=function(name,value){var fullname=namespace(name);if(arguments.length<2){var node=this.node();return fullname.local?node.getAttributeNS(fullname.space,fullname.local):node.getAttribute(fullname)}return this.each((value==null?fullname.local?attrRemoveNS:attrRemove:typeof value==="function"?fullname.local?attrFunctionNS:attrFunction:fullname.local?attrConstantNS:attrConstant)(fullname,value))};var src_window=function(node){return node.ownerDocument&&node.ownerDocument.defaultView||node.document&&node||node.defaultView};function styleRemove(name){return function(){this.style.removeProperty(name)}}function styleConstant(name,value,priority){return function(){this.style.setProperty(name,value,priority)}}function styleFunction(name,value,priority){return function(){var v=value.apply(this,arguments);if(v==null)this.style.removeProperty(name);else this.style.setProperty(name,v,priority)}}var style=function(name,value,priority){return arguments.length>1?this.each((value==null?styleRemove:typeof value==="function"?styleFunction:styleConstant)(name,value,priority==null?"":priority)):styleValue(this.node(),name)};function styleValue(node,name){return node.style.getPropertyValue(name)||src_window(node).getComputedStyle(node,null).getPropertyValue(name)}function propertyRemove(name){return function(){delete this[name]}}function propertyConstant(name,value){return function(){this[name]=value}}function propertyFunction(name,value){return function(){var v=value.apply(this,arguments);if(v==null)delete this[name];else this[name]=v}}var selection_property=function(name,value){return arguments.length>1?this.each((value==null?propertyRemove:typeof value==="function"?propertyFunction:propertyConstant)(name,value)):this.node()[name]};function classArray(string){return string.trim().split(/^|\s+/)}function classList(node){return node.classList||new ClassList(node)}function ClassList(node){this._node=node;this._names=classArray(node.getAttribute("class")||"")}ClassList.prototype={add:function(name){var i=this._names.indexOf(name);if(i<0){this._names.push(name);this._node.setAttribute("class",this._names.join(" "))}},remove:function(name){var i=this._names.indexOf(name);if(i>=0){this._names.splice(i,1);this._node.setAttribute("class",this._names.join(" "))}},contains:function(name){return this._names.indexOf(name)>=0}};function classedAdd(node,names){var list=classList(node),i=-1,n=names.length;while(++i=0)name=t.slice(i+1),t=t.slice(0,i);return{type:t,name}}))}function onRemove(typename){return function(){var on=this.__on;if(!on)return;for(var j=0,i=-1,m=on.length,o;j=0)name=t.slice(i+1),t=t.slice(0,i);if(t&&!types.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name}}))}Dispatch.prototype=dispatch_dispatch.prototype={constructor:Dispatch,on:function(typename,callback){var _=this._,T=dispatch_parseTypenames(typename+"",_),t,i=-1,n=T.length;if(arguments.length<2){while(++i0)for(var args=new Array(n),i=0,n,t;i=0)t._call.call(null,e);t=t._next}--timer_frame}function wake(){clockNow=(clockLast=clock.now())+clockSkew;timer_frame=timer_timeout=0;try{timerFlush()}finally{timer_frame=0;nap();clockNow=0}}function poke(){var now=clock.now(),delay=now-clockLast;if(delay>pokeDelay)clockSkew-=delay,clockLast=now}function nap(){var t0,t1=taskHead,t2,time=Infinity;while(t1){if(t1._call){if(time>t1._time)time=t1._time;t0=t1,t1=t1._next}else{t2=t1._next,t1._next=null;t1=t0?t0._next=t2:taskHead=t2}}taskTail=t0;sleep(time)}function sleep(time){if(timer_frame)return;if(timer_timeout)timer_timeout=clearTimeout(timer_timeout);var delay=time-clockNow;if(delay>24){if(timeCREATED)throw new Error("too late; already scheduled");return schedule}function schedule_set(node,id){var schedule=schedule_get(node,id);if(schedule.state>STARTED)throw new Error("too late; already running");return schedule}function schedule_get(node,id){var schedule=node.__transition;if(!schedule||!(schedule=schedule[id]))throw new Error("transition not found");return schedule}function schedule_create(node,id,self){var schedules=node.__transition,tween;schedules[id]=self;self.timer=timer(schedule,0,self.time);function schedule(elapsed){self.state=SCHEDULED;self.timer.restart(start,self.delay,self.time);if(self.delay<=elapsed)start(elapsed-self.delay)}function start(elapsed){var i,j,n,o;if(self.state!==SCHEDULED)return stop();for(i in schedules){o=schedules[i];if(o.name!==self.name)continue;if(o.state===STARTED)return src_timeout(start);if(o.state===RUNNING){o.state=ENDED;o.timer.stop();o.on.call("interrupt",node,node.__data__,o.index,o.group);delete schedules[i]}else if(+iSTARTING&&schedule.state180)b+=360;else if(b-a>180)a+=360;q.push({i:s.push(pop(s)+"rotate(",null,degParen)-2,x:number(a,b)})}else if(b){s.push(pop(s)+"rotate("+b+degParen)}}function skewX(a,b,s,q){if(a!==b){q.push({i:s.push(pop(s)+"skewX(",null,degParen)-2,x:number(a,b)})}else if(b){s.push(pop(s)+"skewX("+b+degParen)}}function scale(xa,ya,xb,yb,s,q){if(xa!==xb||ya!==yb){var i=s.push(pop(s)+"scale(",null,",",null,")");q.push({i:i-4,x:number(xa,xb)},{i:i-2,x:number(ya,yb)})}else if(xb!==1||yb!==1){s.push(pop(s)+"scale("+xb+","+yb+")")}}return function(a,b){var s=[],q=[];a=parse(a),b=parse(b);translate(a.translateX,a.translateY,b.translateX,b.translateY,s,q);rotate(a.rotate,b.rotate,s,q);skewX(a.skewX,b.skewX,s,q);scale(a.scaleX,a.scaleY,b.scaleX,b.scaleY,s,q);a=b=null;return function(t){var i=-1,n=q.length,o;while(++i>8&15|m>>4&240,m>>4&15|m&240,(m&15)<<4|m&15,1):l===8?new Rgb(m>>24&255,m>>16&255,m>>8&255,(m&255)/255):l===4?new Rgb(m>>12&15|m>>8&240,m>>8&15|m>>4&240,m>>4&15|m&240,((m&15)<<4|m&15)/255):null):(m=reRgbInteger.exec(format))?new Rgb(m[1],m[2],m[3],1):(m=reRgbPercent.exec(format))?new Rgb(m[1]*255/100,m[2]*255/100,m[3]*255/100,1):(m=reRgbaInteger.exec(format))?rgba(m[1],m[2],m[3],m[4]):(m=reRgbaPercent.exec(format))?rgba(m[1]*255/100,m[2]*255/100,m[3]*255/100,m[4]):(m=reHslPercent.exec(format))?hsla(m[1],m[2]/100,m[3]/100,1):(m=reHslaPercent.exec(format))?hsla(m[1],m[2]/100,m[3]/100,m[4]):named.hasOwnProperty(format)?rgbn(named[format]):format==="transparent"?new Rgb(NaN,NaN,NaN,0):null}function rgbn(n){return new Rgb(n>>16&255,n>>8&255,n&255,1)}function rgba(r,g,b,a){if(a<=0)r=g=b=NaN;return new Rgb(r,g,b,a)}function rgbConvert(o){if(!(o instanceof Color))o=color_color(o);if(!o)return new Rgb;o=o.rgb();return new Rgb(o.r,o.g,o.b,o.opacity)}function color_rgb(r,g,b,opacity){return arguments.length===1?rgbConvert(r):new Rgb(r,g,b,opacity==null?1:opacity)}function Rgb(r,g,b,opacity){this.r=+r;this.g=+g;this.b=+b;this.opacity=+opacity}define(Rgb,color_rgb,extend(Color,{brighter:function(k){k=k==null?brighter:Math.pow(brighter,k);return new Rgb(this.r*k,this.g*k,this.b*k,this.opacity)},darker:function(k){k=k==null?darker:Math.pow(darker,k);return new Rgb(this.r*k,this.g*k,this.b*k,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&(-.5<=this.g&&this.g<255.5)&&(-.5<=this.b&&this.b<255.5)&&(0<=this.opacity&&this.opacity<=1)},hex:rgb_formatHex,formatHex:rgb_formatHex,formatRgb:rgb_formatRgb,toString:rgb_formatRgb}));function rgb_formatHex(){return"#"+hex(this.r)+hex(this.g)+hex(this.b)}function rgb_formatRgb(){var a=this.opacity;a=isNaN(a)?1:Math.max(0,Math.min(1,a));return(a===1?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(a===1?")":", "+a+")")}function hex(value){value=Math.max(0,Math.min(255,Math.round(value)||0));return(value<16?"0":"")+value.toString(16)}function hsla(h,s,l,a){if(a<=0)h=s=l=NaN;else if(l<=0||l>=1)h=s=NaN;else if(s<=0)h=NaN;return new Hsl(h,s,l,a)}function hslConvert(o){if(o instanceof Hsl)return new Hsl(o.h,o.s,o.l,o.opacity);if(!(o instanceof Color))o=color_color(o);if(!o)return new Hsl;if(o instanceof Hsl)return o;o=o.rgb();var r=o.r/255,g=o.g/255,b=o.b/255,min=Math.min(r,g,b),max=Math.max(r,g,b),h=NaN,s=max-min,l=(max+min)/2;if(s){if(r===max)h=(g-b)/s+(g0&&l<1?0:h}return new Hsl(h,s,l,o.opacity)}function hsl(h,s,l,opacity){return arguments.length===1?hslConvert(h):new Hsl(h,s,l,opacity==null?1:opacity)}function Hsl(h,s,l,opacity){this.h=+h;this.s=+s;this.l=+l;this.opacity=+opacity}define(Hsl,hsl,extend(Color,{brighter:function(k){k=k==null?brighter:Math.pow(brighter,k);return new Hsl(this.h,this.s,this.l*k,this.opacity)},darker:function(k){k=k==null?darker:Math.pow(darker,k);return new Hsl(this.h,this.s,this.l*k,this.opacity)},rgb:function(){var h=this.h%360+(this.h<0)*360,s=isNaN(h)||isNaN(this.s)?0:this.s,l=this.l,m2=l+(l<.5?l:1-l)*s,m1=2*l-m2;return new Rgb(hsl2rgb(h>=240?h-240:h+120,m1,m2),hsl2rgb(h,m1,m2),hsl2rgb(h<120?h+240:h-120,m1,m2),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&(0<=this.l&&this.l<=1)&&(0<=this.opacity&&this.opacity<=1)},formatHsl:function(){var a=this.opacity;a=isNaN(a)?1:Math.max(0,Math.min(1,a));return(a===1?"hsl(":"hsla(")+(this.h||0)+", "+(this.s||0)*100+"%, "+(this.l||0)*100+"%"+(a===1?")":", "+a+")")}}));function hsl2rgb(h,m1,m2){return(h<60?m1+(m2-m1)*h/60:h<180?m2:h<240?m1+(m2-m1)*(240-h)/60:m1)*255}function basis(t1,v0,v1,v2,v3){var t2=t1*t1,t3=t2*t1;return((1-3*t1+3*t2-t3)*v0+(4-6*t2+3*t3)*v1+(1+3*t1+3*t2-3*t3)*v2+t3*v3)/6}var src_basis=function(values){var n=values.length-1;return function(t){var i=t<=0?t=0:t>=1?(t=1,n-1):Math.floor(t*n),v1=values[i],v2=values[i+1],v0=i>0?values[i-1]:2*v1-v2,v3=i180||d<-180?d-360*Math.round(d/360):d):src_constant(isNaN(a)?b:a)}function gamma(y){return(y=+y)===1?nogamma:function(a,b){return b-a?exponential(a,b,y):src_constant(isNaN(a)?b:a)}}function nogamma(a,b){var d=b-a;return d?linear(a,d):src_constant(isNaN(a)?b:a)}var src_rgb=function rgbGamma(y){var color=gamma(y);function rgb(start,end){var r=color((start=color_rgb(start)).r,(end=color_rgb(end)).r),g=color(start.g,end.g),b=color(start.b,end.b),opacity=nogamma(start.opacity,end.opacity);return function(t){start.r=r(t);start.g=g(t);start.b=b(t);start.opacity=opacity(t);return start+""}}rgb.gamma=rgbGamma;return rgb}(1);function rgbSpline(spline){return function(colors){var n=colors.length,r=new Array(n),g=new Array(n),b=new Array(n),i,color;for(i=0;ibi){bs=b.slice(bi,bs);if(s[i])s[i]+=bs;else s[++i]=bs}if((am=am[0])===(bm=bm[0])){if(s[i])s[i]+=bm;else s[++i]=bm}else{s[++i]=null;q.push({i,x:number(am,bm)})}bi=reB.lastIndex}if(bi=0)t=t.slice(0,i);return!t||t==="start"}))}function onFunction(id,name,listener){var on0,on1,sit=on_start(name)?init:schedule_set;return function(){var schedule=sit(this,id),on=schedule.on;if(on!==on0)(on1=(on0=on).copy()).on(name,listener);schedule.on=on1}}var transition_on=function(name,listener){var id=this._id;return arguments.length<2?schedule_get(this.node(),id).on.on(name):this.each(onFunction(id,name,listener))};function removeFunction(id){return function(){var parent=this.parentNode;for(var i in this.__transition)if(+i!==id)return;if(parent)parent.removeChild(this)}}var transition_remove=function(){return this.on("end.remove",removeFunction(this._id))};var transition_select=function(select){var name=this._name,id=this._id;if(typeof select!=="function")select=src_selector(select);for(var groups=this._groups,m=groups.length,subgroups=new Array(m),j=0;jSCHEDULED&&schedule.name===name){return new Transition([[node]],active_root,name,+i)}}}return null};var src_select=function(selector){return typeof selector==="string"?new Selection([[document.querySelector(selector)]],[document.documentElement]):new Selection([[selector]],selection_root)};function attrsFunction(selection,map){return selection.each((function(){var x=map.apply(this,arguments),s=src_select(this);for(var name in x)s.attr(name,x[name])}))}function attrsObject(selection,map){for(var name in map)selection.attr(name,map[name]);return selection}var attrs=function(map){return(typeof map==="function"?attrsFunction:attrsObject)(this,map)};function stylesFunction(selection,map,priority){return selection.each((function(){var x=map.apply(this,arguments),s=src_select(this);for(var name in x)s.style(name,x[name],priority)}))}function stylesObject(selection,map,priority){for(var name in map)selection.style(name,map[name],priority);return selection}var styles=function(map,priority){return(typeof map==="function"?stylesFunction:stylesObject)(this,map,priority==null?"":priority)};function propertiesFunction(selection,map){return selection.each((function(){var x=map.apply(this,arguments),s=src_select(this);for(var name in x)s.property(name,x[name])}))}function propertiesObject(selection,map){for(var name in map)selection.property(name,map[name]);return selection}var properties=function(map){return(typeof map==="function"?propertiesFunction:propertiesObject)(this,map)};function attrs_attrsFunction(transition,map){return transition.each((function(){var x=map.apply(this,arguments),t=src_select(this).transition(transition);for(var name in x)t.attr(name,x[name])}))}function attrs_attrsObject(transition,map){for(var name in map)transition.attr(name,map[name]);return transition}var transition_attrs=function(map){return(typeof map==="function"?attrs_attrsFunction:attrs_attrsObject)(this,map)};function styles_stylesFunction(transition,map,priority){return transition.each((function(){var x=map.apply(this,arguments),t=src_select(this).transition(transition);for(var name in x)t.style(name,x[name],priority)}))}function styles_stylesObject(transition,map,priority){for(var name in map)transition.style(name,map[name],priority);return transition}var transition_styles=function(map,priority){return(typeof map==="function"?styles_stylesFunction:styles_stylesObject)(this,map,priority==null?"":priority)};src_selection.prototype.attrs=attrs;src_selection.prototype.styles=styles;src_selection.prototype.properties=properties;src_transition_transition.prototype.attrs=transition_attrs;src_transition_transition.prototype.styles=transition_styles;var src_selectAll=function(selector){return typeof selector==="string"?new Selection([document.querySelectorAll(selector)],[document.documentElement]):new Selection([selector==null?[]:selector],selection_root)};var map_prefix="$";function Map(){}Map.prototype=map_map.prototype={constructor:Map,has:function(key){return map_prefix+key in this},get:function(key){return this[map_prefix+key]},set:function(key,value){this[map_prefix+key]=value;return this},remove:function(key){var property=map_prefix+key;return property in this&&delete this[property]},clear:function(){for(var property in this)if(property[0]===map_prefix)delete this[property]},keys:function(){var keys=[];for(var property in this)if(property[0]===map_prefix)keys.push(property.slice(1));return keys},values:function(){var values=[];for(var property in this)if(property[0]===map_prefix)values.push(this[property]);return values},entries:function(){var entries=[];for(var property in this)if(property[0]===map_prefix)entries.push({key:property.slice(1),value:this[property]});return entries},size:function(){var size=0;for(var property in this)if(property[0]===map_prefix)++size;return size},empty:function(){for(var property in this)if(property[0]===map_prefix)return false;return true},each:function(f){for(var property in this)if(property[0]===map_prefix)f(this[property],property.slice(1),this)}};function map_map(object,f){var map=new Map;if(object instanceof Map)object.each((function(value,key){map.set(key,value)}));else if(Array.isArray(object)){var i=-1,n=object.length,o;if(f==null)while(++i=keys.length){if(sortValues!=null)array.sort(sortValues);return rollup!=null?rollup(array):array}var i=-1,n=array.length,key=keys[depth++],keyValue,value,valuesByKey=src_map(),values,result=createResult();while(++ikeys.length)return map;var array,sortKey=sortKeys[depth-1];if(rollup!=null&&depth>=keys.length)array=map.entries();else array=[],map.each((function(v,k){array.push({key:k,values:entries(v,depth)})}));return sortKey!=null?array.sort((function(a,b){return sortKey(a.key,b.key)})):array}return nest={object:function(array){return apply(array,0,createObject,setObject)},map:function(array){return apply(array,0,createMap,setMap)},entries:function(array){return entries(apply(array,0,createMap,setMap),0)},key:function(d){keys.push(d);return nest},sortKeys:function(order){sortKeys[keys.length-1]=order;return nest},sortValues:function(order){sortValues=order;return nest},rollup:function(f){rollup=f;return nest}}};function createObject(){return{}}function setObject(object,key,value){object[key]=value}function createMap(){return src_map()}function setMap(map,key,value){map.set(key,value)}function Set(){}var proto=src_map.prototype;Set.prototype=set_set.prototype={constructor:Set,has:proto.has,add:function(value){value+="";this[map_prefix+value]=value;return this},remove:proto.remove,clear:proto.clear,values:proto.keys,size:proto.size,empty:proto.empty,each:proto.each};function set_set(object,f){var set=new Set;if(object instanceof Set)object.each((function(value){set.add(value)}));else if(object){var i=-1,n=object.length;if(f==null)while(++i3&&respond(o)};function respond(o){var status=xhr.status,result;if(!status&&hasResponse(xhr)||status>=200&&status<300||status===304){if(response){try{result=response.call(request,xhr)}catch(e){event.call("error",request,e);return}}else{result=xhr}event.call("load",request,result)}else{event.call("error",request,o)}}xhr.onprogress=function(e){event.call("progress",request,e)};request={header:function(name,value){name=(name+"").toLowerCase();if(arguments.length<2)return headers.get(name);if(value==null)headers.remove(name);else headers.set(name,value+"");return request},mimeType:function(value){if(!arguments.length)return mimeType;mimeType=value==null?null:value+"";return request},responseType:function(value){if(!arguments.length)return responseType;responseType=value;return request},timeout:function(value){if(!arguments.length)return timeout;timeout=+value;return request},user:function(value){return arguments.length<1?user:(user=value==null?null:value+"",request)},password:function(value){return arguments.length<1?password:(password=value==null?null:value+"",request)},response:function(value){response=value;return request},get:function(data,callback){return request.send("GET",data,callback)},post:function(data,callback){return request.send("POST",data,callback)},send:function(method,data,callback){xhr.open(method,url,true,user,password);if(mimeType!=null&&!headers.has("accept"))headers.set("accept",mimeType+",*/*");if(xhr.setRequestHeader)headers.each((function(value,name){xhr.setRequestHeader(name,value)}));if(mimeType!=null&&xhr.overrideMimeType)xhr.overrideMimeType(mimeType);if(responseType!=null)xhr.responseType=responseType;if(timeout>0)xhr.timeout=timeout;if(callback==null&&typeof data==="function")callback=data,data=null;if(callback!=null&&callback.length===1)callback=fixCallback(callback);if(callback!=null)request.on("error",callback).on("load",(function(xhr){callback(null,xhr)}));event.call("beforesend",request,xhr);xhr.send(data==null?null:data);return request},abort:function(){xhr.abort();return request},on:function(){var value=event.on.apply(event,arguments);return value===event?request:value}};if(callback!=null){if(typeof callback!=="function")throw new Error("invalid callback: "+callback);return request.get(callback)}return request};function fixCallback(callback){return function(error,xhr){callback(error==null?xhr:null)}}function hasResponse(xhr){var type=xhr.responseType;return type&&type!=="text"?xhr.response:xhr.responseText}var src_type=function(defaultMimeType,response){return function(url,callback){var r=src_request(url).mimeType(defaultMimeType).response(response);if(callback!=null){if(typeof callback!=="function")throw new Error("invalid callback: "+callback);return r.get(callback)}return r}};var src_html=src_type("text/html",(function(xhr){return document.createRange().createContextualFragment(xhr.responseText)}));var json=src_type("application/json",(function(xhr){return JSON.parse(xhr.responseText)}));var src_text=src_type("text/plain",(function(xhr){return xhr.responseText}));var xml=src_type("application/xml",(function(xhr){var xml=xhr.responseXML;if(!xml)throw new Error("parse error");return xml}));var EOL={},EOF={},QUOTE=34,NEWLINE=10,RETURN=13;function objectConverter(columns){return new Function("d","return {"+columns.map((function(name,i){return JSON.stringify(name)+": d["+i+'] || ""'})).join(",")+"}")}function customConverter(columns,f){var object=objectConverter(columns);return function(row,i){return f(object(row),i,columns)}}function inferColumns(rows){var columnSet=Object.create(null),columns=[];rows.forEach((function(row){for(var column in row){if(!(column in columnSet)){columns.push(columnSet[column]=column)}}}));return columns}function pad(value,width){var s=value+"",length=s.length;return length9999?"+"+pad(year,6):pad(year,4)}function formatDate(date){var hours=date.getUTCHours(),minutes=date.getUTCMinutes(),seconds=date.getUTCSeconds(),milliseconds=date.getUTCMilliseconds();return isNaN(date)?"Invalid Date":dsv_formatYear(date.getUTCFullYear(),4)+"-"+pad(date.getUTCMonth()+1,2)+"-"+pad(date.getUTCDate(),2)+(milliseconds?"T"+pad(hours,2)+":"+pad(minutes,2)+":"+pad(seconds,2)+"."+pad(milliseconds,3)+"Z":seconds?"T"+pad(hours,2)+":"+pad(minutes,2)+":"+pad(seconds,2)+"Z":minutes||hours?"T"+pad(hours,2)+":"+pad(minutes,2)+"Z":"")}var dsv=function(delimiter){var reFormat=new RegExp('["'+delimiter+"\n\r]"),DELIMITER=delimiter.charCodeAt(0);function parse(text,f){var convert,columns,rows=parseRows(text,(function(row,i){if(convert)return convert(row,i-1);columns=row,convert=f?customConverter(row,f):objectConverter(row)}));rows.columns=columns||[];return rows}function parseRows(text,f){var rows=[],N=text.length,I=0,n=0,t,eof=N<=0,eol=false;if(text.charCodeAt(N-1)===NEWLINE)--N;if(text.charCodeAt(N-1)===RETURN)--N;function token(){if(eof)return EOF;if(eol)return eol=false,EOL;var i,j=I,c;if(text.charCodeAt(j)===QUOTE){while(I++=N)eof=true;else if((c=text.charCodeAt(I++))===NEWLINE)eol=true;else if(c===RETURN){eol=true;if(text.charCodeAt(I)===NEWLINE)++I}return text.slice(j+1,i-1).replace(/""/g,'"')}while(Iepsilon));else if(!(Math.abs(y01*x21-y21*x01)>epsilon)||!r){this._+="L"+(this._x1=x1)+","+(this._y1=y1)}else{var x20=x2-x0,y20=y2-y0,l21_2=x21*x21+y21*y21,l20_2=x20*x20+y20*y20,l21=Math.sqrt(l21_2),l01=Math.sqrt(l01_2),l=r*Math.tan((pi-Math.acos((l21_2+l01_2-l20_2)/(2*l21*l01)))/2),t01=l/l01,t21=l/l21;if(Math.abs(t01-1)>epsilon){this._+="L"+(x1+t01*x01)+","+(y1+t01*y01)}this._+="A"+r+","+r+",0,0,"+ +(y01*x20>x01*y20)+","+(this._x1=x1+t21*x21)+","+(this._y1=y1+t21*y21)}},arc:function(x,y,r,a0,a1,ccw){x=+x,y=+y,r=+r,ccw=!!ccw;var dx=r*Math.cos(a0),dy=r*Math.sin(a0),x0=x+dx,y0=y+dy,cw=1^ccw,da=ccw?a0-a1:a1-a0;if(r<0)throw new Error("negative radius: "+r);if(this._x1===null){this._+="M"+x0+","+y0}else if(Math.abs(this._x1-x0)>epsilon||Math.abs(this._y1-y0)>epsilon){this._+="L"+x0+","+y0}if(!r)return;if(da<0)da=da%tau+tau;if(da>tauEpsilon){this._+="A"+r+","+r+",0,1,"+cw+","+(x-dx)+","+(y-dy)+"A"+r+","+r+",0,1,"+cw+","+(this._x1=x0)+","+(this._y1=y0)}else if(da>epsilon){this._+="A"+r+","+r+",0,"+ +(da>=pi)+","+cw+","+(this._x1=x+r*Math.cos(a1))+","+(this._y1=y+r*Math.sin(a1))}},rect:function(x,y,w,h){this._+="M"+(this._x0=this._x1=+x)+","+(this._y0=this._y1=+y)+"h"+ +w+"v"+ +h+"h"+-w+"Z"},toString:function(){return this._}};var src_path=path_path;var d3_shape_src_constant=function(x){return function constant(){return x}};function Linear(context){this._context=context}Linear.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){if(this._line||this._line!==0&&this._point===1)this._context.closePath();this._line=1-this._line},point:function(x,y){x=+x,y=+y;switch(this._point){case 0:this._point=1;this._line?this._context.lineTo(x,y):this._context.moveTo(x,y);break;case 1:this._point=2;default:this._context.lineTo(x,y);break}}};var curve_linear=function(context){return new Linear(context)};function point_x(p){return p[0]}function point_y(p){return p[1]}var src_line=function(){var x=point_x,y=point_y,defined=d3_shape_src_constant(true),context=null,curve=curve_linear,output=null;function line(data){var i,n=data.length,d,defined0=false,buffer;if(context==null)output=curve(buffer=src_path());for(i=0;i<=n;++i){if(!(i1&&cross(points[indexes[size-2]],points[indexes[size-1]],points[i])<=0)--size;indexes[size++]=i}return indexes.slice(0,size)}var hull=function(points){if((n=points.length)<3)return null;var i,n,sortedPoints=new Array(n),flippedPoints=new Array(n);for(i=0;i=0;--i)hull.push(points[sortedPoints[upperIndexes[i]][2]]);for(i=+skipLeft;iy!==y0>y&&x<(x0-x1)*(y-y1)/(y0-y1)+x1)inside=!inside;x0=x1,y0=y1}return inside};var src_length=function(polygon){var i=-1,n=polygon.length,b=polygon[n-1],xa,ya,xb=b[0],yb=b[1],perimeter=0;while(++ib?1:a>=b?0:NaN};var bisector=function(compare){if(compare.length===1)compare=ascendingComparator(compare);return{left:function(a,x,lo,hi){if(lo==null)lo=0;if(hi==null)hi=a.length;while(lo>>1;if(compare(a[mid],x)<0)lo=mid+1;else hi=mid}return lo},right:function(a,x,lo,hi){if(lo==null)lo=0;if(hi==null)hi=a.length;while(lo>>1;if(compare(a[mid],x)>0)hi=mid;else lo=mid+1}return lo}}};function ascendingComparator(f){return function(d,x){return src_ascending(f(d),x)}}var ascendingBisect=bisector(src_ascending);var bisectRight=ascendingBisect.right;var bisectLeft=ascendingBisect.left;var bisect=bisectRight;var pairs=function(array,f){if(f==null)f=pair;var i=0,n=array.length-1,p=array[0],pairs=new Array(n<0?0:n);while(ia?1:b>=a?0:NaN};var src_number=function(x){return x===null?NaN:+x};var variance=function(values,valueof){var n=values.length,m=0,i=-1,mean=0,value,delta,sum=0;if(valueof==null){while(++i1)return sum/(m-1)};var deviation=function(array,f){var v=variance(array,f);return v?Math.sqrt(v):v};var src_extent=function(values,valueof){var n=values.length,i=-1,value,min,max;if(valueof==null){while(++i=value){min=max=value;while(++ivalue)min=value;if(max=value){min=max=value;while(++ivalue)min=value;if(max0)return[start];if(reverse=stop0){start=Math.ceil(start/step);stop=Math.floor(stop/step);ticks=new Array(n=Math.ceil(stop-start+1));while(++i=0?(error>=e10?10:error>=e5?5:error>=e2?2:1)*Math.pow(10,power):-Math.pow(10,-power)/(error>=e10?10:error>=e5?5:error>=e2?2:1)}function tickStep(start,stop,count){var step0=Math.abs(stop-start)/Math.max(0,count),step1=Math.pow(10,Math.floor(Math.log(step0)/Math.LN10)),error=step0/step1;if(error>=e10)step1*=10;else if(error>=e5)step1*=5;else if(error>=e2)step1*=2;return stopx1)tz.pop(),--m;var bins=new Array(m+1),bin;for(i=0;i<=m;++i){bin=bins[i]=[];bin.x0=i>0?tz[i-1]:x0;bin.x1=i=1)return+valueof(values[n-1],n-1,values);var n,i=(n-1)*p,i0=Math.floor(i),value0=+valueof(values[i0],i0,values),value1=+valueof(values[i0+1],i0+1,values);return value0+(value1-value0)*(i-i0)};var freedmanDiaconis=function(values,min,max){values=array_map.call(values,src_number).sort(src_ascending);return Math.ceil((max-min)/(2*(quantile(values,.75)-quantile(values,.25))*Math.pow(values.length,-1/3)))};var scott=function(values,min,max){return Math.ceil((max-min)/(3.5*deviation(values)*Math.pow(values.length,-1/3)))};var src_max=function(values,valueof){var n=values.length,i=-1,value,max;if(valueof==null){while(++i=value){max=value;while(++imax){max=value}}}}}else{while(++i=value){max=value;while(++imax){max=value}}}}}return max};var src_mean=function(values,valueof){var n=values.length,m=n,i=-1,value,sum=0;if(valueof==null){while(++i=0){array=arrays[n];m=array.length;while(--m>=0){merged[--j]=array[m]}}return merged};var src_min=function(values,valueof){var n=values.length,i=-1,value,min;if(valueof==null){while(++i=value){min=value;while(++ivalue){min=value}}}}}else{while(++i=value){min=value;while(++ivalue){min=value}}}}}return min};var permute=function(array,indexes){var i=indexes.length,permutes=new Array(i);while(i--)permutes[i]=array[indexes[i]];return permutes};var scan=function(values,compare){if(!(n=values.length))return;var n,i=0,j=0,xi,xj=values[j];if(compare==null)compare=src_ascending;while(++it3?Math.pow(t,1/3):t/lab_t2+lab_t0}function lab2xyz(t){return t>lab_t1?t*t*t:lab_t2*(t-lab_t0)}function lrgb2rgb(x){return 255*(x<=.0031308?12.92*x:1.055*Math.pow(x,1/2.4)-.055)}function rgb2lrgb(x){return(x/=255)<=.04045?x/12.92:Math.pow((x+.055)/1.055,2.4)}function hclConvert(o){if(o instanceof Hcl)return new Hcl(o.h,o.c,o.l,o.opacity);if(!(o instanceof Lab))o=labConvert(o);if(o.a===0&&o.b===0)return new Hcl(NaN,01?coefficient[0]+coefficient.slice(2):coefficient,+x.slice(i+1)]};var src_exponent=function(x){return x=formatDecimal(Math.abs(x)),x?x[1]:NaN};var formatGroup=function(grouping,thousands){return function(value,width){var i=value.length,t=[],j=0,g=grouping[0],length=0;while(i>0&&g>0){if(length+g+1>width)g=Math.max(1,width-length);t.push(value.substring(i-=g,i+g));if((length+=g+1)>width)break;g=grouping[j=(j+1)%grouping.length]}return t.reverse().join(thousands)}};var formatNumerals=function(numerals){return function(value){return value.replace(/[0-9]/g,(function(i){return numerals[+i]}))}};var re=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function formatSpecifier(specifier){if(!(match=re.exec(specifier)))throw new Error("invalid format: "+specifier);var match;return new FormatSpecifier({fill:match[1],align:match[2],sign:match[3],symbol:match[4],zero:match[5],width:match[6],comma:match[7],precision:match[8]&&match[8].slice(1),trim:match[9],type:match[10]})}formatSpecifier.prototype=FormatSpecifier.prototype;function FormatSpecifier(specifier){this.fill=specifier.fill===undefined?" ":specifier.fill+"";this.align=specifier.align===undefined?">":specifier.align+"";this.sign=specifier.sign===undefined?"-":specifier.sign+"";this.symbol=specifier.symbol===undefined?"":specifier.symbol+"";this.zero=!!specifier.zero;this.width=specifier.width===undefined?undefined:+specifier.width;this.comma=!!specifier.comma;this.precision=specifier.precision===undefined?undefined:+specifier.precision;this.trim=!!specifier.trim;this.type=specifier.type===undefined?"":specifier.type+""}FormatSpecifier.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===undefined?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===undefined?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};var formatTrim=function(s){out:for(var n=s.length,i=1,i0=-1,i1;i0)i0=0;break}}return i0>0?s.slice(0,i0)+s.slice(i1+1):s};var prefixExponent;var formatPrefixAuto=function(x,p){var d=formatDecimal(x,p);if(!d)return x+"";var coefficient=d[0],exponent=d[1],i=exponent-(prefixExponent=Math.max(-8,Math.min(8,Math.floor(exponent/3)))*3)+1,n=coefficient.length;return i===n?coefficient:i>n?coefficient+new Array(i-n+1).join("0"):i>0?coefficient.slice(0,i)+"."+coefficient.slice(i):"0."+new Array(1-i).join("0")+formatDecimal(x,Math.max(0,p+i-1))[0]};var formatRounded=function(x,p){var d=formatDecimal(x,p);if(!d)return x+"";var coefficient=d[0],exponent=d[1];return exponent<0?"0."+new Array(-exponent).join("0")+coefficient:coefficient.length>exponent+1?coefficient.slice(0,exponent+1)+"."+coefficient.slice(exponent+1):coefficient+new Array(exponent-coefficient.length+2).join("0")};var formatTypes={"%":function(x,p){return(x*100).toFixed(p)},b:function(x){return Math.round(x).toString(2)},c:function(x){return x+""},d:function(x){return Math.round(x).toString(10)},e:function(x,p){return x.toExponential(p)},f:function(x,p){return x.toFixed(p)},g:function(x,p){return x.toPrecision(p)},o:function(x){return Math.round(x).toString(8)},p:function(x,p){return formatRounded(x*100,p)},r:formatRounded,s:formatPrefixAuto,X:function(x){return Math.round(x).toString(16).toUpperCase()},x:function(x){return Math.round(x).toString(16)}};var d3_format_src_identity=function(x){return x};var locale_map=Array.prototype.map,prefixes=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];var src_locale=function(locale){var group=locale.grouping===undefined||locale.thousands===undefined?d3_format_src_identity:formatGroup(locale_map.call(locale.grouping,Number),locale.thousands+""),currencyPrefix=locale.currency===undefined?"":locale.currency[0]+"",currencySuffix=locale.currency===undefined?"":locale.currency[1]+"",decimal=locale.decimal===undefined?".":locale.decimal+"",numerals=locale.numerals===undefined?d3_format_src_identity:formatNumerals(locale_map.call(locale.numerals,String)),percent=locale.percent===undefined?"%":locale.percent+"",minus=locale.minus===undefined?"-":locale.minus+"",nan=locale.nan===undefined?"NaN":locale.nan+"";function newFormat(specifier){specifier=formatSpecifier(specifier);var fill=specifier.fill,align=specifier.align,sign=specifier.sign,symbol=specifier.symbol,zero=specifier.zero,width=specifier.width,comma=specifier.comma,precision=specifier.precision,trim=specifier.trim,type=specifier.type;if(type==="n")comma=true,type="g";else if(!formatTypes[type])precision===undefined&&(precision=12),trim=true,type="g";if(zero||fill==="0"&&align==="=")zero=true,fill="0",align="=";var prefix=symbol==="$"?currencyPrefix:symbol==="#"&&/[boxX]/.test(type)?"0"+type.toLowerCase():"",suffix=symbol==="$"?currencySuffix:/[%p]/.test(type)?percent:"";var formatType=formatTypes[type],maybeSuffix=/[defgprs%]/.test(type);precision=precision===undefined?6:/[gprs]/.test(type)?Math.max(1,Math.min(21,precision)):Math.max(0,Math.min(20,precision));function format(value){var valuePrefix=prefix,valueSuffix=suffix,i,n,c;if(type==="c"){valueSuffix=formatType(value)+valueSuffix;value=""}else{value=+value;var valueNegative=value<0;value=isNaN(value)?nan:formatType(Math.abs(value),precision);if(trim)value=formatTrim(value);if(valueNegative&&+value===0)valueNegative=false;valuePrefix=(valueNegative?sign==="("?sign:minus:sign==="-"||sign==="("?"":sign)+valuePrefix;valueSuffix=(type==="s"?prefixes[8+prefixExponent/3]:"")+valueSuffix+(valueNegative&&sign==="("?")":"");if(maybeSuffix){i=-1,n=value.length;while(++ic||c>57){valueSuffix=(c===46?decimal+value.slice(i+1):value.slice(i))+valueSuffix;value=value.slice(0,i);break}}}}if(comma&&!zero)value=group(value,Infinity);var length=valuePrefix.length+value.length+valueSuffix.length,padding=length>1)+valuePrefix+value+valueSuffix+padding.slice(length);break;default:value=padding+valuePrefix+value+valueSuffix;break}return numerals(value)}format.toString=function(){return specifier+""};return format}function formatPrefix(specifier,value){var f=newFormat((specifier=formatSpecifier(specifier),specifier.type="f",specifier)),e=Math.max(-8,Math.min(8,Math.floor(src_exponent(value)/3)))*3,k=Math.pow(10,-e),prefix=prefixes[8+e/3];return function(value){return f(k*value)+prefix}}return{format:newFormat,formatPrefix}};var defaultLocale_locale;var defaultLocale_format;var defaultLocale_formatPrefix;defaultLocale({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"});function defaultLocale(definition){defaultLocale_locale=src_locale(definition);defaultLocale_format=defaultLocale_locale.format;defaultLocale_formatPrefix=defaultLocale_locale.formatPrefix;return defaultLocale_locale}var precisionFixed=function(step){return Math.max(0,-src_exponent(Math.abs(step)))};var precisionPrefix=function(step,value){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(src_exponent(value)/3)))*3-src_exponent(Math.abs(step)))};var precisionRound=function(step,max){step=Math.abs(step),max=Math.abs(max)-step;return Math.max(0,src_exponent(max)-src_exponent(step))+1};function initRange(domain,range){switch(arguments.length){case 0:break;case 1:this.range(domain);break;default:this.range(range).domain(domain);break}return this}function initInterpolator(domain,interpolator){switch(arguments.length){case 0:break;case 1:this.interpolator(domain);break;default:this.interpolator(interpolator).domain(domain);break}return this}var src_array_array=Array.prototype;var src_array_map=src_array_array.map;var array_slice=src_array_array.slice;var implicit={name:"implicit"};function ordinal(){var index=src_map(),domain=[],range=[],unknown=implicit;function scale(d){var key=d+"",i=index.get(key);if(!i){if(unknown!==implicit)return unknown;index.set(key,i=domain.push(d))}return range[(i-1)%range.length]}scale.domain=function(_){if(!arguments.length)return domain.slice();domain=[],index=src_map();var i=-1,n=_.length,d,key;while(++ib)t=a,a=b,b=t;return function(x){return Math.max(a,Math.min(b,x))}}function bimap(domain,range,interpolate){var d0=domain[0],d1=domain[1],r0=range[0],r1=range[1];if(d12?polymap:bimap;output=input=null;return scale}function scale(x){return isNaN(x=+x)?unknown:(output||(output=piecewise(domain.map(transform),range,interpolate)))(transform(clamp(x)))}scale.invert=function(y){return clamp(untransform((input||(input=piecewise(range,domain.map(transform),number)))(y)))};scale.domain=function(_){return arguments.length?(domain=src_array_map.call(_,d3_scale_src_number),clamp===continuous_identity||(clamp=clamper(domain)),rescale()):domain.slice()};scale.range=function(_){return arguments.length?(range=array_slice.call(_),rescale()):range.slice()};scale.rangeRound=function(_){return range=array_slice.call(_),interpolate=src_round,rescale()};scale.clamp=function(_){return arguments.length?(clamp=_?clamper(domain):continuous_identity,scale):clamp!==continuous_identity};scale.interpolate=function(_){return arguments.length?(interpolate=_,rescale()):interpolate};scale.unknown=function(_){return arguments.length?(unknown=_,scale):unknown};return function(t,u){transform=t,untransform=u;return rescale()}}function continuous(transform,untransform){return transformer()(transform,untransform)}var src_tickFormat=function(start,stop,count,specifier){var step=tickStep(start,stop,count),precision;specifier=formatSpecifier(specifier==null?",f":specifier);switch(specifier.type){case"s":{var value=Math.max(Math.abs(start),Math.abs(stop));if(specifier.precision==null&&!isNaN(precision=precisionPrefix(step,value)))specifier.precision=precision;return defaultLocale_formatPrefix(specifier,value)}case"":case"e":case"g":case"p":case"r":{if(specifier.precision==null&&!isNaN(precision=precisionRound(step,Math.max(Math.abs(start),Math.abs(stop)))))specifier.precision=precision-(specifier.type==="e");break}case"f":case"%":{if(specifier.precision==null&&!isNaN(precision=precisionFixed(step)))specifier.precision=precision-(specifier.type==="%")*2;break}}return defaultLocale_format(specifier)};function linearish(scale){var domain=scale.domain;scale.ticks=function(count){var d=domain();return ticks(d[0],d[d.length-1],count==null?10:count)};scale.tickFormat=function(count,specifier){var d=domain();return src_tickFormat(d[0],d[d.length-1],count==null?10:count,specifier)};scale.nice=function(count){if(count==null)count=10;var d=domain(),i0=0,i1=d.length-1,start=d[i0],stop=d[i1],step;if(stop0){start=Math.floor(start/step)*step;stop=Math.ceil(stop/step)*step;step=tickIncrement(start,stop,count)}else if(step<0){start=Math.ceil(start*step)/step;stop=Math.floor(stop*step)/step;step=tickIncrement(start,stop,count)}if(step>0){d[i0]=Math.floor(start/step)*step;d[i1]=Math.ceil(stop/step)*step;domain(d)}else if(step<0){d[i0]=Math.ceil(start*step)/step;d[i1]=Math.floor(stop*step)/step;domain(d)}return scale};return scale}function linear_linear(){var scale=continuous(continuous_identity,continuous_identity);scale.copy=function(){return copy(scale,linear_linear())};initRange.apply(scale,arguments);return linearish(scale)}function identity_identity(domain){var unknown;function scale(x){return isNaN(x=+x)?unknown:x}scale.invert=scale;scale.domain=scale.range=function(_){return arguments.length?(domain=src_array_map.call(_,d3_scale_src_number),scale):domain.slice()};scale.unknown=function(_){return arguments.length?(unknown=_,scale):unknown};scale.copy=function(){return identity_identity(domain).unknown(unknown)};domain=arguments.length?src_array_map.call(domain,d3_scale_src_number):[0,1];return linearish(scale)}var nice=function(domain,interval){domain=domain.slice();var i0=0,i1=domain.length-1,x0=domain[i0],x1=domain[i1],t;if(x10)for(;iv)break;z.push(t)}}else for(;i=1;--k){t=p*k;if(tv)break;z.push(t)}}}else{z=ticks(i,j,Math.min(j-i,n)).map(pows)}return r?z.reverse():z};scale.tickFormat=function(count,specifier){if(specifier==null)specifier=base===10?".0e":",";if(typeof specifier!=="function")specifier=defaultLocale_format(specifier);if(count===Infinity)return specifier;if(count==null)count=10;var k=Math.max(1,base*count/scale.ticks().length);return function(d){var i=d/pows(Math.round(logs(d)));if(i*base0?thresholds[i-1]:domain[0],i=n?[domain[n-1],x1]:[domain[i-1],domain[i]]};scale.unknown=function(_){return arguments.length?(unknown=_,scale):scale};scale.thresholds=function(){return domain.slice()};scale.copy=function(){return quantize_quantize().domain([x0,x1]).range(range).unknown(unknown)};return initRange.apply(linearish(scale),arguments)}function threshold_threshold(){var domain=[.5],range=[0,1],unknown,n=1;function scale(x){return x<=x?range[bisect(domain,x,0,n)]:unknown}scale.domain=function(_){return arguments.length?(domain=array_slice.call(_),n=Math.min(domain.length,range.length-1),scale):domain.slice()};scale.range=function(_){return arguments.length?(range=array_slice.call(_),n=Math.min(domain.length,range.length-1),scale):range.slice()};scale.invertExtent=function(y){var i=range.indexOf(y);return[domain[i-1],domain[i]]};scale.unknown=function(_){return arguments.length?(unknown=_,scale):unknown};scale.copy=function(){return threshold_threshold().domain(domain).range(range).unknown(unknown)};return initRange.apply(scale,arguments)}var interval_t0=new Date,interval_t1=new Date;function newInterval(floori,offseti,count,field){function interval(date){return floori(date=new Date(+date)),date}interval.floor=interval;interval.ceil=function(date){return floori(date=new Date(date-1)),offseti(date,1),floori(date),date};interval.round=function(date){var d0=interval(date),d1=interval.ceil(date);return date-d00))return range;do{range.push(previous=new Date(+start)),offseti(start,step),floori(start)}while(previous=date)while(floori(date),!test(date))date.setTime(date-1)}),(function(date,step){if(date>=date){if(step<0)while(++step<=0){while(offseti(date,-1),!test(date)){}}else while(--step>=0){while(offseti(date,+1),!test(date)){}}}}))};if(count){interval.count=function(start,end){interval_t0.setTime(+start),interval_t1.setTime(+end);floori(interval_t0),floori(interval_t1);return Math.floor(count(interval_t0,interval_t1))};interval.every=function(step){step=Math.floor(step);return!isFinite(step)||!(step>0)?null:!(step>1)?interval:interval.filter(field?function(d){return field(d)%step===0}:function(d){return interval.count(0,d)%step===0})}}return interval}var millisecond_millisecond=newInterval((function(){}),(function(date,step){date.setTime(+date+step)}),(function(start,end){return end-start}));millisecond_millisecond.every=function(k){k=Math.floor(k);if(!isFinite(k)||!(k>0))return null;if(!(k>1))return millisecond_millisecond;return newInterval((function(date){date.setTime(Math.floor(date/k)*k)}),(function(date,step){date.setTime(+date+step*k)}),(function(start,end){return(end-start)/k}))};var src_millisecond=millisecond_millisecond;var milliseconds=millisecond_millisecond.range;var durationSecond=1e3;var durationMinute=6e4;var durationHour=36e5;var durationDay=864e5;var durationWeek=6048e5;var second_second=newInterval((function(date){date.setTime(date-date.getMilliseconds())}),(function(date,step){date.setTime(+date+step*durationSecond)}),(function(start,end){return(end-start)/durationSecond}),(function(date){return date.getUTCSeconds()}));var src_second=second_second;var seconds=second_second.range;var minute_minute=newInterval((function(date){date.setTime(date-date.getMilliseconds()-date.getSeconds()*durationSecond)}),(function(date,step){date.setTime(+date+step*durationMinute)}),(function(start,end){return(end-start)/durationMinute}),(function(date){return date.getMinutes()}));var src_minute=minute_minute;var minutes=minute_minute.range;var hour_hour=newInterval((function(date){date.setTime(date-date.getMilliseconds()-date.getSeconds()*durationSecond-date.getMinutes()*durationMinute)}),(function(date,step){date.setTime(+date+step*durationHour)}),(function(start,end){return(end-start)/durationHour}),(function(date){return date.getHours()}));var src_hour=hour_hour;var hours=hour_hour.range;var day_day=newInterval((function(date){date.setHours(0,0,0,0)}),(function(date,step){date.setDate(date.getDate()+step)}),(function(start,end){return(end-start-(end.getTimezoneOffset()-start.getTimezoneOffset())*durationMinute)/durationDay}),(function(date){return date.getDate()-1}));var src_day=day_day;var days=day_day.range;function weekday(i){return newInterval((function(date){date.setDate(date.getDate()-(date.getDay()+7-i)%7);date.setHours(0,0,0,0)}),(function(date,step){date.setDate(date.getDate()+step*7)}),(function(start,end){return(end-start-(end.getTimezoneOffset()-start.getTimezoneOffset())*durationMinute)/durationWeek}))}var sunday=weekday(0);var monday=weekday(1);var tuesday=weekday(2);var wednesday=weekday(3);var thursday=weekday(4);var friday=weekday(5);var saturday=weekday(6);var sundays=sunday.range;var mondays=monday.range;var tuesdays=tuesday.range;var wednesdays=wednesday.range;var thursdays=thursday.range;var fridays=friday.range;var saturdays=saturday.range;var month_month=newInterval((function(date){date.setDate(1);date.setHours(0,0,0,0)}),(function(date,step){date.setMonth(date.getMonth()+step)}),(function(start,end){return end.getMonth()-start.getMonth()+(end.getFullYear()-start.getFullYear())*12}),(function(date){return date.getMonth()}));var src_month=month_month;var months=month_month.range;var year_year=newInterval((function(date){date.setMonth(0,1);date.setHours(0,0,0,0)}),(function(date,step){date.setFullYear(date.getFullYear()+step)}),(function(start,end){return end.getFullYear()-start.getFullYear()}),(function(date){return date.getFullYear()}));year_year.every=function(k){return!isFinite(k=Math.floor(k))||!(k>0)?null:newInterval((function(date){date.setFullYear(Math.floor(date.getFullYear()/k)*k);date.setMonth(0,1);date.setHours(0,0,0,0)}),(function(date,step){date.setFullYear(date.getFullYear()+step*k)}))};var src_year=year_year;var years=year_year.range;var utcMinute=newInterval((function(date){date.setUTCSeconds(0,0)}),(function(date,step){date.setTime(+date+step*durationMinute)}),(function(start,end){return(end-start)/durationMinute}),(function(date){return date.getUTCMinutes()}));var src_utcMinute=utcMinute;var utcMinutes=utcMinute.range;var utcHour=newInterval((function(date){date.setUTCMinutes(0,0,0)}),(function(date,step){date.setTime(+date+step*durationHour)}),(function(start,end){return(end-start)/durationHour}),(function(date){return date.getUTCHours()}));var src_utcHour=utcHour;var utcHours=utcHour.range;var utcDay=newInterval((function(date){date.setUTCHours(0,0,0,0)}),(function(date,step){date.setUTCDate(date.getUTCDate()+step)}),(function(start,end){return(end-start)/durationDay}),(function(date){return date.getUTCDate()-1}));var src_utcDay=utcDay;var utcDays=utcDay.range;function utcWeekday(i){return newInterval((function(date){date.setUTCDate(date.getUTCDate()-(date.getUTCDay()+7-i)%7);date.setUTCHours(0,0,0,0)}),(function(date,step){date.setUTCDate(date.getUTCDate()+step*7)}),(function(start,end){return(end-start)/durationWeek}))}var utcSunday=utcWeekday(0);var utcMonday=utcWeekday(1);var utcTuesday=utcWeekday(2);var utcWednesday=utcWeekday(3);var utcThursday=utcWeekday(4);var utcFriday=utcWeekday(5);var utcSaturday=utcWeekday(6);var utcSundays=utcSunday.range;var utcMondays=utcMonday.range;var utcTuesdays=utcTuesday.range;var utcWednesdays=utcWednesday.range;var utcThursdays=utcThursday.range;var utcFridays=utcFriday.range;var utcSaturdays=utcSaturday.range;var utcMonth=newInterval((function(date){date.setUTCDate(1);date.setUTCHours(0,0,0,0)}),(function(date,step){date.setUTCMonth(date.getUTCMonth()+step)}),(function(start,end){return end.getUTCMonth()-start.getUTCMonth()+(end.getUTCFullYear()-start.getUTCFullYear())*12}),(function(date){return date.getUTCMonth()}));var src_utcMonth=utcMonth;var utcMonths=utcMonth.range;var utcYear=newInterval((function(date){date.setUTCMonth(0,1);date.setUTCHours(0,0,0,0)}),(function(date,step){date.setUTCFullYear(date.getUTCFullYear()+step)}),(function(start,end){return end.getUTCFullYear()-start.getUTCFullYear()}),(function(date){return date.getUTCFullYear()}));utcYear.every=function(k){return!isFinite(k=Math.floor(k))||!(k>0)?null:newInterval((function(date){date.setUTCFullYear(Math.floor(date.getUTCFullYear()/k)*k);date.setUTCMonth(0,1);date.setUTCHours(0,0,0,0)}),(function(date,step){date.setUTCFullYear(date.getUTCFullYear()+step*k)}))};var src_utcYear=utcYear;var utcYears=utcYear.range;function localDate(d){if(0<=d.y&&d.y<100){var date=new Date(-1,d.m,d.d,d.H,d.M,d.S,d.L);date.setFullYear(d.y);return date}return new Date(d.y,d.m,d.d,d.H,d.M,d.S,d.L)}function utcDate(d){if(0<=d.y&&d.y<100){var date=new Date(Date.UTC(-1,d.m,d.d,d.H,d.M,d.S,d.L));date.setUTCFullYear(d.y);return date}return new Date(Date.UTC(d.y,d.m,d.d,d.H,d.M,d.S,d.L))}function newYear(y){return{y,m:0,d:1,H:0,M:0,S:0,L:0}}function formatLocale(locale){var locale_dateTime=locale.dateTime,locale_date=locale.date,locale_time=locale.time,locale_periods=locale.periods,locale_weekdays=locale.days,locale_shortWeekdays=locale.shortDays,locale_months=locale.months,locale_shortMonths=locale.shortMonths;var periodRe=formatRe(locale_periods),periodLookup=formatLookup(locale_periods),weekdayRe=formatRe(locale_weekdays),weekdayLookup=formatLookup(locale_weekdays),shortWeekdayRe=formatRe(locale_shortWeekdays),shortWeekdayLookup=formatLookup(locale_shortWeekdays),monthRe=formatRe(locale_months),monthLookup=formatLookup(locale_months),shortMonthRe=formatRe(locale_shortMonths),shortMonthLookup=formatLookup(locale_shortMonths);var formats={a:formatShortWeekday,A:formatWeekday,b:formatShortMonth,B:formatMonth,c:null,d:formatDayOfMonth,e:formatDayOfMonth,f:formatMicroseconds,H:formatHour24,I:formatHour12,j:formatDayOfYear,L:formatMilliseconds,m:formatMonthNumber,M:formatMinutes,p:formatPeriod,Q:formatUnixTimestamp,s:formatUnixTimestampSeconds,S:formatSeconds,u:formatWeekdayNumberMonday,U:formatWeekNumberSunday,V:formatWeekNumberISO,w:formatWeekdayNumberSunday,W:formatWeekNumberMonday,x:null,X:null,y:locale_formatYear,Y:formatFullYear,Z:formatZone,"%":formatLiteralPercent};var utcFormats={a:formatUTCShortWeekday,A:formatUTCWeekday,b:formatUTCShortMonth,B:formatUTCMonth,c:null,d:formatUTCDayOfMonth,e:formatUTCDayOfMonth,f:formatUTCMicroseconds,H:formatUTCHour24,I:formatUTCHour12,j:formatUTCDayOfYear,L:formatUTCMilliseconds,m:formatUTCMonthNumber,M:formatUTCMinutes,p:formatUTCPeriod,Q:formatUnixTimestamp,s:formatUnixTimestampSeconds,S:formatUTCSeconds,u:formatUTCWeekdayNumberMonday,U:formatUTCWeekNumberSunday,V:formatUTCWeekNumberISO,w:formatUTCWeekdayNumberSunday,W:formatUTCWeekNumberMonday,x:null,X:null,y:formatUTCYear,Y:formatUTCFullYear,Z:formatUTCZone,"%":formatLiteralPercent};var parses={a:parseShortWeekday,A:parseWeekday,b:parseShortMonth,B:parseMonth,c:parseLocaleDateTime,d:parseDayOfMonth,e:parseDayOfMonth,f:parseMicroseconds,H:parseHour24,I:parseHour24,j:parseDayOfYear,L:parseMilliseconds,m:parseMonthNumber,M:parseMinutes,p:parsePeriod,Q:parseUnixTimestamp,s:parseUnixTimestampSeconds,S:parseSeconds,u:parseWeekdayNumberMonday,U:parseWeekNumberSunday,V:parseWeekNumberISO,w:parseWeekdayNumberSunday,W:parseWeekNumberMonday,x:parseLocaleDate,X:parseLocaleTime,y:parseYear,Y:parseFullYear,Z:parseZone,"%":parseLiteralPercent};formats.x=newFormat(locale_date,formats);formats.X=newFormat(locale_time,formats);formats.c=newFormat(locale_dateTime,formats);utcFormats.x=newFormat(locale_date,utcFormats);utcFormats.X=newFormat(locale_time,utcFormats);utcFormats.c=newFormat(locale_dateTime,utcFormats);function newFormat(specifier,formats){return function(date){var string=[],i=-1,j=0,n=specifier.length,c,pad,format;if(!(date instanceof Date))date=new Date(+date);while(++i53)return null;if(!("w"in d))d.w=1;if("Z"in d){week=utcDate(newYear(d.y)),day=week.getUTCDay();week=day>4||day===0?utcMonday.ceil(week):utcMonday(week);week=src_utcDay.offset(week,(d.V-1)*7);d.y=week.getUTCFullYear();d.m=week.getUTCMonth();d.d=week.getUTCDate()+(d.w+6)%7}else{week=newDate(newYear(d.y)),day=week.getDay();week=day>4||day===0?monday.ceil(week):monday(week);week=src_day.offset(week,(d.V-1)*7);d.y=week.getFullYear();d.m=week.getMonth();d.d=week.getDate()+(d.w+6)%7}}else if("W"in d||"U"in d){if(!("w"in d))d.w="u"in d?d.u%7:"W"in d?1:0;day="Z"in d?utcDate(newYear(d.y)).getUTCDay():newDate(newYear(d.y)).getDay();d.m=0;d.d="W"in d?(d.w+6)%7+d.W*7-(day+5)%7:d.w+d.U*7-(day+6)%7}if("Z"in d){d.H+=d.Z/100|0;d.M+=d.Z%100;return utcDate(d)}return newDate(d)}}function parseSpecifier(d,specifier,string,j){var i=0,n=specifier.length,m=string.length,c,parse;while(i=m)return-1;c=specifier.charCodeAt(i++);if(c===37){c=specifier.charAt(i++);parse=parses[c in pads?specifier.charAt(i++):c];if(!parse||(j=parse(d,string,j))<0)return-1}else if(c!=string.charCodeAt(j++)){return-1}}return j}function parsePeriod(d,string,i){var n=periodRe.exec(string.slice(i));return n?(d.p=periodLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseShortWeekday(d,string,i){var n=shortWeekdayRe.exec(string.slice(i));return n?(d.w=shortWeekdayLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseWeekday(d,string,i){var n=weekdayRe.exec(string.slice(i));return n?(d.w=weekdayLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseShortMonth(d,string,i){var n=shortMonthRe.exec(string.slice(i));return n?(d.m=shortMonthLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseMonth(d,string,i){var n=monthRe.exec(string.slice(i));return n?(d.m=monthLookup[n[0].toLowerCase()],i+n[0].length):-1}function parseLocaleDateTime(d,string,i){return parseSpecifier(d,locale_dateTime,string,i)}function parseLocaleDate(d,string,i){return parseSpecifier(d,locale_date,string,i)}function parseLocaleTime(d,string,i){return parseSpecifier(d,locale_time,string,i)}function formatShortWeekday(d){return locale_shortWeekdays[d.getDay()]}function formatWeekday(d){return locale_weekdays[d.getDay()]}function formatShortMonth(d){return locale_shortMonths[d.getMonth()]}function formatMonth(d){return locale_months[d.getMonth()]}function formatPeriod(d){return locale_periods[+(d.getHours()>=12)]}function formatUTCShortWeekday(d){return locale_shortWeekdays[d.getUTCDay()]}function formatUTCWeekday(d){return locale_weekdays[d.getUTCDay()]}function formatUTCShortMonth(d){return locale_shortMonths[d.getUTCMonth()]}function formatUTCMonth(d){return locale_months[d.getUTCMonth()]}function formatUTCPeriod(d){return locale_periods[+(d.getUTCHours()>=12)]}return{format:function(specifier){var f=newFormat(specifier+="",formats);f.toString=function(){return specifier};return f},parse:function(specifier){var p=newParse(specifier+="",localDate);p.toString=function(){return specifier};return p},utcFormat:function(specifier){var f=newFormat(specifier+="",utcFormats);f.toString=function(){return specifier};return f},utcParse:function(specifier){var p=newParse(specifier,utcDate);p.toString=function(){return specifier};return p}}}var pads={"-":"",_:" ",0:"0"},numberRe=/^\s*\d+/,percentRe=/^%/,requoteRe=/[\\^$*+?|[\]().{}]/g;function locale_pad(value,fill,width){var sign=value<0?"-":"",string=(sign?-value:value)+"",length=string.length;return sign+(length68?1900:2e3),i+n[0].length):-1}function parseZone(d,string,i){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(string.slice(i,i+6));return n?(d.Z=n[1]?0:-(n[2]+(n[3]||"00")),i+n[0].length):-1}function parseMonthNumber(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.m=n[0]-1,i+n[0].length):-1}function parseDayOfMonth(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.d=+n[0],i+n[0].length):-1}function parseDayOfYear(d,string,i){var n=numberRe.exec(string.slice(i,i+3));return n?(d.m=0,d.d=+n[0],i+n[0].length):-1}function parseHour24(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.H=+n[0],i+n[0].length):-1}function parseMinutes(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.M=+n[0],i+n[0].length):-1}function parseSeconds(d,string,i){var n=numberRe.exec(string.slice(i,i+2));return n?(d.S=+n[0],i+n[0].length):-1}function parseMilliseconds(d,string,i){var n=numberRe.exec(string.slice(i,i+3));return n?(d.L=+n[0],i+n[0].length):-1}function parseMicroseconds(d,string,i){var n=numberRe.exec(string.slice(i,i+6));return n?(d.L=Math.floor(n[0]/1e3),i+n[0].length):-1}function parseLiteralPercent(d,string,i){var n=percentRe.exec(string.slice(i,i+1));return n?i+n[0].length:-1}function parseUnixTimestamp(d,string,i){var n=numberRe.exec(string.slice(i));return n?(d.Q=+n[0],i+n[0].length):-1}function parseUnixTimestampSeconds(d,string,i){var n=numberRe.exec(string.slice(i));return n?(d.Q=+n[0]*1e3,i+n[0].length):-1}function formatDayOfMonth(d,p){return locale_pad(d.getDate(),p,2)}function formatHour24(d,p){return locale_pad(d.getHours(),p,2)}function formatHour12(d,p){return locale_pad(d.getHours()%12||12,p,2)}function formatDayOfYear(d,p){return locale_pad(1+src_day.count(src_year(d),d),p,3)}function formatMilliseconds(d,p){return locale_pad(d.getMilliseconds(),p,3)}function formatMicroseconds(d,p){return formatMilliseconds(d,p)+"000"}function formatMonthNumber(d,p){return locale_pad(d.getMonth()+1,p,2)}function formatMinutes(d,p){return locale_pad(d.getMinutes(),p,2)}function formatSeconds(d,p){return locale_pad(d.getSeconds(),p,2)}function formatWeekdayNumberMonday(d){var day=d.getDay();return day===0?7:day}function formatWeekNumberSunday(d,p){return locale_pad(sunday.count(src_year(d),d),p,2)}function formatWeekNumberISO(d,p){var day=d.getDay();d=day>=4||day===0?thursday(d):thursday.ceil(d);return locale_pad(thursday.count(src_year(d),d)+(src_year(d).getDay()===4),p,2)}function formatWeekdayNumberSunday(d){return d.getDay()}function formatWeekNumberMonday(d,p){return locale_pad(monday.count(src_year(d),d),p,2)}function locale_formatYear(d,p){return locale_pad(d.getFullYear()%100,p,2)}function formatFullYear(d,p){return locale_pad(d.getFullYear()%1e4,p,4)}function formatZone(d){var z=d.getTimezoneOffset();return(z>0?"-":(z*=-1,"+"))+locale_pad(z/60|0,"0",2)+locale_pad(z%60,"0",2)}function formatUTCDayOfMonth(d,p){return locale_pad(d.getUTCDate(),p,2)}function formatUTCHour24(d,p){return locale_pad(d.getUTCHours(),p,2)}function formatUTCHour12(d,p){return locale_pad(d.getUTCHours()%12||12,p,2)}function formatUTCDayOfYear(d,p){return locale_pad(1+src_utcDay.count(src_utcYear(d),d),p,3)}function formatUTCMilliseconds(d,p){return locale_pad(d.getUTCMilliseconds(),p,3)}function formatUTCMicroseconds(d,p){return formatUTCMilliseconds(d,p)+"000"}function formatUTCMonthNumber(d,p){return locale_pad(d.getUTCMonth()+1,p,2)}function formatUTCMinutes(d,p){return locale_pad(d.getUTCMinutes(),p,2)}function formatUTCSeconds(d,p){return locale_pad(d.getUTCSeconds(),p,2)}function formatUTCWeekdayNumberMonday(d){var dow=d.getUTCDay();return dow===0?7:dow}function formatUTCWeekNumberSunday(d,p){return locale_pad(utcSunday.count(src_utcYear(d),d),p,2)}function formatUTCWeekNumberISO(d,p){var day=d.getUTCDay();d=day>=4||day===0?utcThursday(d):utcThursday.ceil(d);return locale_pad(utcThursday.count(src_utcYear(d),d)+(src_utcYear(d).getUTCDay()===4),p,2)}function formatUTCWeekdayNumberSunday(d){return d.getUTCDay()}function formatUTCWeekNumberMonday(d,p){return locale_pad(utcMonday.count(src_utcYear(d),d),p,2)}function formatUTCYear(d,p){return locale_pad(d.getUTCFullYear()%100,p,2)}function formatUTCFullYear(d,p){return locale_pad(d.getUTCFullYear()%1e4,p,4)}function formatUTCZone(){return"+0000"}function formatLiteralPercent(){return"%"}function formatUnixTimestamp(d){return+d}function formatUnixTimestampSeconds(d){return Math.floor(+d/1e3)}var src_defaultLocale_locale;var timeFormat;var timeParse;var utcFormat;var utcParse;defaultLocale_defaultLocale({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function defaultLocale_defaultLocale(definition){src_defaultLocale_locale=formatLocale(definition);timeFormat=src_defaultLocale_locale.format;timeParse=src_defaultLocale_locale.parse;utcFormat=src_defaultLocale_locale.utcFormat;utcParse=src_defaultLocale_locale.utcParse;return src_defaultLocale_locale}var isoSpecifier="%Y-%m-%dT%H:%M:%S.%LZ";function formatIsoNative(date){return date.toISOString()}var formatIso=Date.prototype.toISOString?formatIsoNative:utcFormat(isoSpecifier);var isoFormat=formatIso;function parseIsoNative(string){var date=new Date(string);return isNaN(date)?null:date}var parseIso=+new Date("2000-01-01T00:00:00.000Z")?parseIsoNative:utcParse(isoSpecifier);var isoParse=parseIso;var time_durationSecond=1e3,time_durationMinute=time_durationSecond*60,time_durationHour=time_durationMinute*60,time_durationDay=time_durationHour*24,time_durationWeek=time_durationDay*7,durationMonth=time_durationDay*30,durationYear=time_durationDay*365;function time_date(t){return new Date(t)}function time_number(t){return t instanceof Date?+t:+new Date(+t)}function calendar(year,month,week,day,hour,minute,second,millisecond,format){var scale=continuous(continuous_identity,continuous_identity),invert=scale.invert,domain=scale.domain;var formatMillisecond=format(".%L"),formatSecond=format(":%S"),formatMinute=format("%I:%M"),formatHour=format("%I %p"),formatDay=format("%a %d"),formatWeek=format("%b %d"),formatMonth=format("%B"),formatYear=format("%Y");var tickIntervals=[[second,1,time_durationSecond],[second,5,5*time_durationSecond],[second,15,15*time_durationSecond],[second,30,30*time_durationSecond],[minute,1,time_durationMinute],[minute,5,5*time_durationMinute],[minute,15,15*time_durationMinute],[minute,30,30*time_durationMinute],[hour,1,time_durationHour],[hour,3,3*time_durationHour],[hour,6,6*time_durationHour],[hour,12,12*time_durationHour],[day,1,time_durationDay],[day,2,2*time_durationDay],[week,1,time_durationWeek],[month,1,durationMonth],[month,3,3*durationMonth],[year,1,durationYear]];function tickFormat(date){return(second(date)=(xm=(x0+x1)/2))x0=xm;else x1=xm;if(bottom=y>=(ym=(y0+y1)/2))y0=ym;else y1=ym;if(parent=node,!(node=node[i=bottom<<1|right]))return parent[i]=leaf,tree}xp=+tree._x.call(null,node.data);yp=+tree._y.call(null,node.data);if(x===xp&&y===yp)return leaf.next=node,parent?parent[i]=leaf:tree._root=leaf,tree;do{parent=parent?parent[i]=new Array(4):tree._root=new Array(4);if(right=x>=(xm=(x0+x1)/2))x0=xm;else x1=xm;if(bottom=y>=(ym=(y0+y1)/2))y0=ym;else y1=ym}while((i=bottom<<1|right)===(j=(yp>=ym)<<1|xp>=xm));return parent[j]=node,parent[i]=leaf,tree}function addAll(data){var d,i,n=data.length,x,y,xz=new Array(n),yz=new Array(n),x0=Infinity,y0=Infinity,x1=-Infinity,y1=-Infinity;for(i=0;ix1)x1=x;if(yy1)y1=y}if(x0>x1||y0>y1)return this;this.cover(x0,y0).cover(x1,y1);for(i=0;ix||x>=x1||y0>y||y>=y1){i=(yx3||(y1=q.y0)>y3||(x2=q.x1)=ym)<<1|x>=xm){q=quads[quads.length-1];quads[quads.length-1]=quads[quads.length-1-i];quads[quads.length-1-i]=q}}else{var dx=x-+this._x.call(null,node.data),dy=y-+this._y.call(null,node.data),d2=dx*dx+dy*dy;if(d2=(xm=(x0+x1)/2))x0=xm;else x1=xm;if(bottom=y>=(ym=(y0+y1)/2))y0=ym;else y1=ym;if(!(parent=node,node=node[i=bottom<<1|right]))return this;if(!node.length)break;if(parent[i+1&3]||parent[i+2&3]||parent[i+3&3])retainer=parent,j=i}while(node.data!==d)if(!(previous=node,node=node.next))return this;if(next=node.next)delete node.next;if(previous)return next?previous.next=next:delete previous.next,this;if(!parent)return this._root=next,this;next?parent[i]=next:delete parent[i];if((node=parent[0]||parent[1]||parent[2]||parent[3])&&node===(parent[3]||parent[2]||parent[1]||parent[0])&&!node.length){if(retainer)retainer[j]=node;else this._root=node}return this};function removeAll(data){for(var i=0,n=data.length;inode.index){var x=xi-data.x-data.vx,y=yi-data.y-data.vy,l=x*x+y*y;if(lxi+r||x1yi+r||y1quad.r){quad.r=quad[i].r}}}function initialize(){if(!nodes)return;var i,n=nodes.length,node;radii=new Array(n);for(i=0;i1?(_==null?forces.remove(name):forces.set(name,initializeForce(_)),simulation):forces.get(name)},find:function(x,y,radius){var i=0,n=nodes.length,dx,dy,d2,node,closest;if(radius==null)radius=Infinity;else radius*=radius;for(i=0;i1?(event.on(name,_),simulation):event.on(name)}}};var manyBody=function(){var nodes,node,alpha,strength=d3_force_src_constant(-30),strengths,distanceMin2=1,distanceMax2=Infinity,theta2=.81;function force(_){var i,n=nodes.length,tree=quadtree(nodes,simulation_x,simulation_y).visitAfter(accumulate);for(alpha=_,i=0;i=distanceMax2)return;if(quad.data!==node||quad.next){if(x===0)x=jiggle(),l+=x*x;if(y===0)y=jiggle(),l+=y*y;if(lclickDistance2}gestures.mouse("drag")}function mouseupped(){src_select(on_event.view).on("mousemove.drag mouseup.drag",null);yesdrag(on_event.view,mousemoving);noevent();gestures.mouse("end")}function touchstarted(){if(!filter.apply(this,arguments))return;var touches=on_event.changedTouches,c=container.apply(this,arguments),n=touches.length,i,gesture;for(i=0;idx0?(dx0+dx1)/2:Math.min(0,dx0)||Math.max(0,dx1),dy1>dy0?(dy0+dy1)/2:Math.min(0,dy0)||Math.max(0,dy1))}var d3_zoom_src_zoom=function(){var filter=zoom_defaultFilter,extent=defaultExtent,constrain=defaultConstrain,wheelDelta=defaultWheelDelta,touchable=zoom_defaultTouchable,scaleExtent=[0,Infinity],translateExtent=[[-Infinity,-Infinity],[Infinity,Infinity]],duration=250,interpolate=src_zoom,listeners=src_dispatch("start","zoom","end"),touchstarting,touchending,touchDelay=500,wheelDelay=150,clickDistance2=0;function zoom(selection){selection.property("__zoom",defaultTransform).on("wheel.zoom",wheeled).on("mousedown.zoom",mousedowned).on("dblclick.zoom",dblclicked).filter(touchable).on("touchstart.zoom",touchstarted).on("touchmove.zoom",touchmoved).on("touchend.zoom touchcancel.zoom",touchended).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}zoom.transform=function(collection,transform,point){var selection=collection.selection?collection.selection():collection;selection.property("__zoom",defaultTransform);if(collection!==selection){schedule(collection,transform,point)}else{selection.interrupt().each((function(){gesture(this,arguments).start().zoom(null,typeof transform==="function"?transform.apply(this,arguments):transform).end()}))}};zoom.scaleBy=function(selection,k,p){zoom.scaleTo(selection,(function(){var k0=this.__zoom.k,k1=typeof k==="function"?k.apply(this,arguments):k;return k0*k1}),p)};zoom.scaleTo=function(selection,k,p){zoom.transform(selection,(function(){var e=extent.apply(this,arguments),t0=this.__zoom,p0=p==null?centroid(e):typeof p==="function"?p.apply(this,arguments):p,p1=t0.invert(p0),k1=typeof k==="function"?k.apply(this,arguments):k;return constrain(translate(scale(t0,k1),p0,p1),e,translateExtent)}),p)};zoom.translateBy=function(selection,x,y){zoom.transform(selection,(function(){return constrain(this.__zoom.translate(typeof x==="function"?x.apply(this,arguments):x,typeof y==="function"?y.apply(this,arguments):y),extent.apply(this,arguments),translateExtent)}))};zoom.translateTo=function(selection,x,y,p){zoom.transform(selection,(function(){var e=extent.apply(this,arguments),t=this.__zoom,p0=p==null?centroid(e):typeof p==="function"?p.apply(this,arguments):p;return constrain(transform_identity.translate(p0[0],p0[1]).scale(t.k).translate(typeof x==="function"?-x.apply(this,arguments):-x,typeof y==="function"?-y.apply(this,arguments):-y),e,translateExtent)}),p)};function scale(transform,k){k=Math.max(scaleExtent[0],Math.min(scaleExtent[1],k));return k===transform.k?transform:new Transform(k,transform.x,transform.y)}function translate(transform,p0,p1){var x=p0[0]-p1[0]*transform.k,y=p0[1]-p1[1]*transform.k;return x===transform.x&&y===transform.y?transform:new Transform(transform.k,x,y)}function centroid(extent){return[(+extent[0][0]+ +extent[1][0])/2,(+extent[0][1]+ +extent[1][1])/2]}function schedule(transition,transform,point){transition.on("start.zoom",(function(){gesture(this,arguments).start()})).on("interrupt.zoom end.zoom",(function(){gesture(this,arguments).end()})).tween("zoom",(function(){var that=this,args=arguments,g=gesture(that,args),e=extent.apply(that,args),p=point==null?centroid(e):typeof point==="function"?point.apply(that,args):point,w=Math.max(e[1][0]-e[0][0],e[1][1]-e[0][1]),a=that.__zoom,b=typeof transform==="function"?transform.apply(that,args):transform,i=interpolate(a.invert(p).concat(w/a.k),b.invert(p).concat(w/b.k));return function(t){if(t===1)t=b;else{var l=i(t),k=w/l[2];t=new Transform(k,p[0]-l[0]*k,p[1]-l[1]*k)}g.zoom(null,t)}}))}function gesture(that,args,clean){return!clean&&that.__zooming||new Gesture(that,args)}function Gesture(that,args){this.that=that;this.args=args;this.active=0;this.extent=extent.apply(that,args);this.taps=0}Gesture.prototype={start:function(){if(++this.active===1){this.that.__zooming=this;this.emit("start")}return this},zoom:function(key,transform){if(this.mouse&&key!=="mouse")this.mouse[1]=transform.invert(this.mouse[0]);if(this.touch0&&key!=="touch")this.touch0[1]=transform.invert(this.touch0[0]);if(this.touch1&&key!=="touch")this.touch1[1]=transform.invert(this.touch1[0]);this.that.__zoom=transform;this.emit("zoom");return this},end:function(){if(--this.active===0){delete this.that.__zooming;this.emit("end")}return this},emit:function(type){customEvent(new ZoomEvent(zoom,type,this.that.__zoom),listeners.apply,listeners,[type,this.that,this.args])}};function wheeled(){if(!filter.apply(this,arguments))return;var g=gesture(this,arguments),t=this.__zoom,k=Math.max(scaleExtent[0],Math.min(scaleExtent[1],t.k*Math.pow(2,wheelDelta.apply(this,arguments)))),p=mouse(this);if(g.wheel){if(g.mouse[0][0]!==p[0]||g.mouse[0][1]!==p[1]){g.mouse[1]=t.invert(g.mouse[0]=p)}clearTimeout(g.wheel)}else if(t.k===k)return;else{g.mouse=[p,t.invert(p)];interrupt(this);g.start()}src_noevent();g.wheel=setTimeout(wheelidled,wheelDelay);g.zoom("mouse",constrain(translate(scale(t,k),g.mouse[0],g.mouse[1]),g.extent,translateExtent));function wheelidled(){g.wheel=null;g.end()}}function mousedowned(){if(touchending||!filter.apply(this,arguments))return;var g=gesture(this,arguments,true),v=src_select(on_event.view).on("mousemove.zoom",mousemoved,true).on("mouseup.zoom",mouseupped,true),p=mouse(this),x0=on_event.clientX,y0=on_event.clientY;nodrag(on_event.view);noevent_nopropagation();g.mouse=[p,this.__zoom.invert(p)];interrupt(this);g.start();function mousemoved(){src_noevent();if(!g.moved){var dx=on_event.clientX-x0,dy=on_event.clientY-y0;g.moved=dx*dx+dy*dy>clickDistance2}g.zoom("mouse",constrain(translate(g.that.__zoom,g.mouse[0]=mouse(g.that),g.mouse[1]),g.extent,translateExtent))}function mouseupped(){v.on("mousemove.zoom mouseup.zoom",null);yesdrag(on_event.view,g.moved);src_noevent();g.end()}}function dblclicked(){if(!filter.apply(this,arguments))return;var t0=this.__zoom,p0=mouse(this),p1=t0.invert(p0),k1=t0.k*(on_event.shiftKey?.5:2),t1=constrain(translate(scale(t0,k1),p0,p1),extent.apply(this,arguments),translateExtent);src_noevent();if(duration>0)src_select(this).transition().duration(duration).call(schedule,t1,p0);else src_select(this).call(zoom.transform,t1)}function touchstarted(){if(!filter.apply(this,arguments))return;var touches=on_event.touches,n=touches.length,g=gesture(this,arguments,on_event.changedTouches.length===n),started,i,t,p;noevent_nopropagation();for(i=0;iMath.abs(point1[1]-point[1]))lockY=true;else lockX=true}point=point1;moving=true;d3_brush_src_noevent();move()}function move(){var t;dx=point[0]-point0[0];dy=point[1]-point0[1];switch(mode){case MODE_SPACE:case MODE_DRAG:{if(signX)dx=Math.max(W-w0,Math.min(E-e0,dx)),w1=w0+dx,e1=e0+dx;if(signY)dy=Math.max(N-n0,Math.min(S-s0,dy)),n1=n0+dy,s1=s0+dy;break}case MODE_HANDLE:{if(signX<0)dx=Math.max(W-w0,Math.min(E-w0,dx)),w1=w0+dx,e1=e0;else if(signX>0)dx=Math.max(W-e0,Math.min(E-e0,dx)),w1=w0,e1=e0+dx;if(signY<0)dy=Math.max(N-n0,Math.min(S-n0,dy)),n1=n0+dy,s1=s0;else if(signY>0)dy=Math.max(N-s0,Math.min(S-s0,dy)),n1=n0,s1=s0+dy;break}case MODE_CENTER:{if(signX)w1=Math.max(W,Math.min(E,w0-dx*signX)),e1=Math.max(W,Math.min(E,e0+dx*signX));if(signY)n1=Math.max(N,Math.min(S,n0-dy*signY)),s1=Math.max(N,Math.min(S,s0+dy*signY));break}}if(e10)w0=w1-dx;if(signY<0)s0=s1-dy;else if(signY>0)n0=n1-dy;mode=MODE_SPACE;overlay.attr("cursor",cursors.selection);move()}break}default:return}d3_brush_src_noevent()}function keyupped(){switch(on_event.keyCode){case 16:{if(shifting){lockX=lockY=shifting=false;move()}break}case 18:{if(mode===MODE_CENTER){if(signX<0)e0=e1;else if(signX>0)w0=w1;if(signY<0)s0=s1;else if(signY>0)n0=n1;mode=MODE_HANDLE;move()}break}case 32:{if(mode===MODE_SPACE){if(on_event.altKey){if(signX)e0=e1-dx*signX,w0=w1+dx*signX;if(signY)s0=s1-dy*signY,n0=n1+dy*signY;mode=MODE_CENTER}else{if(signX<0)e0=e1;else if(signX>0)w0=w1;if(signY<0)s0=s1;else if(signY>0)n0=n1;mode=MODE_HANDLE}overlay.attr("cursor",cursors[type]);move()}break}default:return}d3_brush_src_noevent()}}function touchmoved(){emitter(this,arguments).moved()}function touchended(){emitter(this,arguments).ended()}function initialize(){var state=this.__brush||{selection:null};state.extent=number2(extent.apply(this,arguments));state.dim=dim;return state}brush.extent=function(_){return arguments.length?(extent=typeof _==="function"?_:d3_brush_src_constant(number2(_)),brush):extent};brush.filter=function(_){return arguments.length?(filter=typeof _==="function"?_:d3_brush_src_constant(!!_),brush):filter};brush.touchable=function(_){return arguments.length?(touchable=typeof _==="function"?_:d3_brush_src_constant(!!_),brush):touchable};brush.handleSize=function(_){return arguments.length?(handleSize=+_,brush):handleSize};brush.keyModifiers=function(_){return arguments.length?(keys=!!_,brush):keys};brush.on=function(){var value=listeners.on.apply(listeners,arguments);return value===listeners?brush:value};return brush}var d3_voronoi_src_constant=function(x){return function(){return x}};function src_point_x(d){return d[0]}function src_point_y(d){return d[1]}function RedBlackTree(){this._=null}function RedBlackNode(node){node.U=node.C=node.L=node.R=node.P=node.N=null}RedBlackTree.prototype={constructor:RedBlackTree,insert:function(after,node){var parent,grandpa,uncle;if(after){node.P=after;node.N=after.N;if(after.N)after.N.P=node;after.N=node;if(after.R){after=after.R;while(after.L)after=after.L;after.L=node}else{after.R=node}parent=after}else if(this._){after=RedBlackFirst(this._);node.P=null;node.N=after;after.P=after.L=node;parent=after}else{node.P=node.N=null;this._=node;parent=null}node.L=node.R=null;node.U=parent;node.C=true;after=node;while(parent&&parent.C){grandpa=parent.U;if(parent===grandpa.L){uncle=grandpa.R;if(uncle&&uncle.C){parent.C=uncle.C=false;grandpa.C=true;after=grandpa}else{if(after===parent.R){RedBlackRotateLeft(this,parent);after=parent;parent=after.U}parent.C=false;grandpa.C=true;RedBlackRotateRight(this,grandpa)}}else{uncle=grandpa.L;if(uncle&&uncle.C){parent.C=uncle.C=false;grandpa.C=true;after=grandpa}else{if(after===parent.L){RedBlackRotateRight(this,parent);after=parent;parent=after.U}parent.C=false;grandpa.C=true;RedBlackRotateLeft(this,grandpa)}}parent=after.U}this._.C=false},remove:function(node){if(node.N)node.N.P=node.P;if(node.P)node.P.N=node.N;node.N=node.P=null;var parent=node.U,sibling,left=node.L,right=node.R,next,red;if(!left)next=right;else if(!right)next=left;else next=RedBlackFirst(right);if(parent){if(parent.L===node)parent.L=next;else parent.R=next}else{this._=next}if(left&&right){red=next.C;next.C=node.C;next.L=left;left.U=next;if(next!==right){parent=next.U;next.U=node.U;node=next.R;parent.L=node;next.R=right;right.U=next}else{next.U=parent;parent=next;node=next.R}}else{red=node.C;node=next}if(node)node.U=parent;if(red)return;if(node&&node.C){node.C=false;return}do{if(node===this._)break;if(node===parent.L){sibling=parent.R;if(sibling.C){sibling.C=false;parent.C=true;RedBlackRotateLeft(this,parent);sibling=parent.R}if(sibling.L&&sibling.L.C||sibling.R&&sibling.R.C){if(!sibling.R||!sibling.R.C){sibling.L.C=false;sibling.C=true;RedBlackRotateRight(this,sibling);sibling=parent.R}sibling.C=parent.C;parent.C=sibling.R.C=false;RedBlackRotateLeft(this,parent);node=this._;break}}else{sibling=parent.L;if(sibling.C){sibling.C=false;parent.C=true;RedBlackRotateRight(this,parent);sibling=parent.L}if(sibling.L&&sibling.L.C||sibling.R&&sibling.R.C){if(!sibling.L||!sibling.L.C){sibling.R.C=false;sibling.C=true;RedBlackRotateLeft(this,sibling);sibling=parent.L}sibling.C=parent.C;parent.C=sibling.L.C=false;RedBlackRotateRight(this,parent);node=this._;break}}sibling.C=true;node=parent;parent=parent.U}while(!node.C);if(node)node.C=false}};function RedBlackRotateLeft(tree,node){var p=node,q=node.R,parent=p.U;if(parent){if(parent.L===p)parent.L=q;else parent.R=q}else{tree._=q}q.U=parent;p.U=q;p.R=q.L;if(p.R)p.R.U=p;q.L=p}function RedBlackRotateRight(tree,node){var p=node,q=node.L,parent=p.U;if(parent){if(parent.L===p)parent.L=q;else parent.R=q}else{tree._=q}q.U=parent;p.U=q;p.L=q.R;if(p.L)p.L.U=p;q.R=p}function RedBlackFirst(node){while(node.L)node=node.L;return node}var src_RedBlackTree=RedBlackTree;function createEdge(left,right,v0,v1){var edge=[null,null],index=Diagram_edges.push(edge)-1;edge.left=left;edge.right=right;if(v0)setEdgeEnd(edge,left,right,v0);if(v1)setEdgeEnd(edge,right,left,v1);cells[left.index].halfedges.push(index);cells[right.index].halfedges.push(index);return edge}function createBorderEdge(left,v0,v1){var edge=[v0,v1];edge.left=left;return edge}function setEdgeEnd(edge,left,right,vertex){if(!edge[0]&&!edge[1]){edge[0]=vertex;edge.left=left;edge.right=right}else if(edge.left===right){edge[1]=vertex}else{edge[0]=vertex}}function clipEdge(edge,x0,y0,x1,y1){var a=edge[0],b=edge[1],ax=a[0],ay=a[1],bx=b[0],by=b[1],t0=0,t1=1,dx=bx-ax,dy=by-ay,r;r=x0-ax;if(!dx&&r>0)return;r/=dx;if(dx<0){if(r0){if(r>t1)return;if(r>t0)t0=r}r=x1-ax;if(!dx&&r<0)return;r/=dx;if(dx<0){if(r>t1)return;if(r>t0)t0=r}else if(dx>0){if(r0)return;r/=dy;if(dy<0){if(r0){if(r>t1)return;if(r>t0)t0=r}r=y1-ay;if(!dy&&r<0)return;r/=dy;if(dy<0){if(r>t1)return;if(r>t0)t0=r}else if(dy>0){if(r0)&&!(t1<1))return true;if(t0>0)edge[0]=[ax+t0*dx,ay+t0*dy];if(t1<1)edge[1]=[ax+t1*dx,ay+t1*dy];return true}function connectEdge(edge,x0,y0,x1,y1){var v1=edge[1];if(v1)return true;var v0=edge[0],left=edge.left,right=edge.right,lx=left[0],ly=left[1],rx=right[0],ry=right[1],fx=(lx+rx)/2,fy=(ly+ry)/2,fm,fb;if(ry===ly){if(fx=x1)return;if(lx>rx){if(!v0)v0=[fx,y0];else if(v0[1]>=y1)return;v1=[fx,y1]}else{if(!v0)v0=[fx,y1];else if(v0[1]1){if(lx>rx){if(!v0)v0=[(y0-fb)/fm,y0];else if(v0[1]>=y1)return;v1=[(y1-fb)/fm,y1]}else{if(!v0)v0=[(y1-fb)/fm,y1];else if(v0[1]=x1)return;v1=[x1,fm*x1+fb]}else{if(!v0)v0=[x1,fm*x1+fb];else if(v0[0]Diagram_epsilon||Math.abs(edge[0][1]-edge[1][1])>Diagram_epsilon)){delete Diagram_edges[i]}}}function createCell(site){return cells[site.index]={site,halfedges:[]}}function cellHalfedgeAngle(cell,edge){var site=cell.site,va=edge.left,vb=edge.right;if(site===vb)vb=va,va=site;if(vb)return Math.atan2(vb[1]-va[1],vb[0]-va[0]);if(site===va)va=edge[1],vb=edge[0];else va=edge[0],vb=edge[1];return Math.atan2(va[0]-vb[0],vb[1]-va[1])}function cellHalfedgeStart(cell,edge){return edge[+(edge.left!==cell.site)]}function cellHalfedgeEnd(cell,edge){return edge[+(edge.left===cell.site)]}function sortCellHalfedges(){for(var i=0,n=cells.length,cell,halfedges,j,m;iDiagram_epsilon||Math.abs(endY-startY)>Diagram_epsilon){halfedges.splice(iHalfedge,0,Diagram_edges.push(createBorderEdge(site,end,Math.abs(endX-x0)Diagram_epsilon?[x0,Math.abs(startX-x0)Diagram_epsilon?[Math.abs(startY-y1)Diagram_epsilon?[x1,Math.abs(startX-x1)Diagram_epsilon?[Math.abs(startY-y0)=-Diagram_epsilon2)return;var ha=ax*ax+ay*ay,hc=cx*cx+cy*cy,x=(cy*ha-ay*hc)/d,y=(ax*hc-cx*ha)/d;var circle=circlePool.pop()||new Circle;circle.arc=arc;circle.site=cSite;circle.x=x+bx;circle.y=(circle.cy=y+by)+Math.sqrt(x*x+y*y);arc.circle=circle;var before=null,node=circles._;while(node){if(circle.yDiagram_epsilon)node=node.L;else{dxr=x-rightBreakPoint(node,directrix);if(dxr>Diagram_epsilon){if(!node.R){lArc=node;break}node=node.R}else{if(dxl>-Diagram_epsilon){lArc=node.P;rArc=node}else if(dxr>-Diagram_epsilon){lArc=node;rArc=node.N}else{lArc=rArc=node}break}}}createCell(site);var newArc=createBeach(site);beaches.insert(lArc,newArc);if(!lArc&&!rArc)return;if(lArc===rArc){detachCircle(lArc);rArc=createBeach(lArc.site);beaches.insert(newArc,rArc);newArc.edge=rArc.edge=createEdge(lArc.site,newArc.site);attachCircle(lArc);attachCircle(rArc);return}if(!rArc){newArc.edge=createEdge(lArc.site,newArc.site);return}detachCircle(lArc);detachCircle(rArc);var lSite=lArc.site,ax=lSite[0],ay=lSite[1],bx=site[0]-ax,by=site[1]-ay,rSite=rArc.site,cx=rSite[0]-ax,cy=rSite[1]-ay,d=2*(bx*cy-by*cx),hb=bx*bx+by*by,hc=cx*cx+cy*cy,vertex=[(cy*hb-by*hc)/d+ax,(bx*hc-cx*hb)/d+ay];setEdgeEnd(rArc.edge,lSite,rSite,vertex);newArc.edge=createEdge(lSite,site,null,vertex);rArc.edge=createEdge(site,rSite,null,vertex);attachCircle(lArc);attachCircle(rArc)}function leftBreakPoint(arc,directrix){var site=arc.site,rfocx=site[0],rfocy=site[1],pby2=rfocy-directrix;if(!pby2)return rfocx;var lArc=arc.P;if(!lArc)return-Infinity;site=lArc.site;var lfocx=site[0],lfocy=site[1],plby2=lfocy-directrix;if(!plby2)return lfocx;var hl=lfocx-rfocx,aby2=1/pby2-1/plby2,b=hl/plby2;if(aby2)return(-b+Math.sqrt(b*b-2*aby2*(hl*hl/(-2*plby2)-lfocy+plby2/2+rfocy-pby2/2)))/aby2+rfocx;return(rfocx+lfocx)/2}function rightBreakPoint(arc,directrix){var rArc=arc.N;if(rArc)return leftBreakPoint(rArc,directrix);var site=arc.site;return site[1]===directrix?site[0]:Infinity}var Diagram_epsilon=1e-6;var Diagram_epsilon2=1e-12;var beaches;var cells;var circles;var Diagram_edges;function triangleArea(a,b,c){return(a[0]-c[0])*(b[1]-a[1])-(a[0]-b[0])*(c[1]-a[1])}function lexicographic(a,b){return b[1]-a[1]||b[0]-a[0]}function Diagram(sites,extent){var site=sites.sort(lexicographic).pop(),x,y,circle;Diagram_edges=[];cells=new Array(sites.length);beaches=new src_RedBlackTree;circles=new src_RedBlackTree;while(true){circle=firstCircle;if(site&&(!circle||site[1]=n)return null;var dx=x-cell.site[0],dy=y-cell.site[1],d2=dx*dx+dy*dy;do{cell=that.cells[i0=i1],i1=null;cell.halfedges.forEach((function(e){var edge=that.edges[e],v=edge.left;if((v===cell.site||!v)&&!(v=edge.right))return;var vx=x-v[0],vy=y-v[1],v2=vx*vx+vy*vy;if(v20?1:x<0?-1:0};var math_sqrt=Math.sqrt;var tan=Math.tan;function acos(x){return x>1?0:x<-1?math_pi:Math.acos(x)}function asin(x){return x>1?halfPi:x<-1?-halfPi:Math.asin(x)}function haversin(x){return(x=sin(x/2))*x}function noop_noop(){}var clip_buffer=function(){var lines=[],line;return{point:function(x,y){line.push([x,y])},lineStart:function(){lines.push(line=[])},lineEnd:noop_noop,rejoin:function(){if(lines.length>1)lines.push(lines.pop().concat(lines.shift()))},result:function(){var result=lines;lines=[];line=null;return result}}};var pointEqual=function(a,b){return abs(a[0]-b[0])=0;--i)stream.point((point=points[i])[0],point[1])}else{interpolate(current.x,current.p.x,-1,stream)}current=current.p}current=current.o;points=current.z;isSubject=!isSubject}while(!current.v);stream.lineEnd()}};function rejoin_link(array){if(!(n=array.length))return;var n,i=0,a=array[0],b;while(++i=0?1:-1,absDelta=sign*delta,antimeridian=absDelta>math_pi,k=sinPhi0*sinPhi1;polygonContains_sum.add(atan2(k*sign*sin(absDelta),cosPhi0*cosPhi1+k*cos(absDelta)));angle+=antimeridian?delta+sign*math_tau:delta;if(antimeridian^lambda0>=lambda^lambda1>=lambda){var arc=cartesianCross(cartesian_cartesian(point0),cartesian_cartesian(point1));cartesianNormalizeInPlace(arc);var intersection=cartesianCross(normal,arc);cartesianNormalizeInPlace(intersection);var phiArc=(antimeridian^delta>=0?-1:1)*asin(intersection[2]);if(phi>phiArc||phi===phiArc&&(arc[0]||arc[1])){winding+=antimeridian^delta>=0?1:-1}}}}return(angle<-math_epsilon||angle0){if(!polygonStarted)sink.polygonStart(),polygonStarted=true;sink.lineStart();for(i=0;i1&&clean&2)ringSegments.push(ringSegments.pop().concat(ringSegments.shift()));segments.push(ringSegments.filter(validSegment))}return clip}};function validSegment(segment){return segment.length>1}function clip_compareIntersection(a,b){return((a=a.x)[0]<0?a[1]-halfPi-math_epsilon:halfPi-a[1])-((b=b.x)[0]<0?b[1]-halfPi-math_epsilon:halfPi-b[1])}var clip_antimeridian=src_clip((function(){return true}),clipAntimeridianLine,clipAntimeridianInterpolate,[-math_pi,-halfPi]);function clipAntimeridianLine(stream){var lambda0=NaN,phi0=NaN,sign0=NaN,clean;return{lineStart:function(){stream.lineStart();clean=1},point:function(lambda1,phi1){var sign1=lambda1>0?math_pi:-math_pi,delta=abs(lambda1-lambda0);if(abs(delta-math_pi)0?halfPi:-halfPi);stream.point(sign0,phi0);stream.lineEnd();stream.lineStart();stream.point(sign1,phi0);stream.point(lambda1,phi0);clean=0}else if(sign0!==sign1&&delta>=math_pi){if(abs(lambda0-sign0)math_epsilon?atan((sin(phi0)*(cosPhi1=cos(phi1))*sin(lambda1)-sin(phi1)*(cosPhi0=cos(phi0))*sin(lambda0))/(cosPhi0*cosPhi1*sinLambda0Lambda1)):(phi0+phi1)/2}function clipAntimeridianInterpolate(from,to,direction,stream){var phi;if(from==null){phi=direction*halfPi;stream.point(-math_pi,phi);stream.point(0,phi);stream.point(math_pi,phi);stream.point(math_pi,0);stream.point(math_pi,-phi);stream.point(0,-phi);stream.point(-math_pi,-phi);stream.point(-math_pi,0);stream.point(-math_pi,phi)}else if(abs(from[0]-to[0])>math_epsilon){var lambda=from[0]math_pi?lambda+Math.round(-lambda/math_tau)*math_tau:lambda,phi]}rotationIdentity.invert=rotationIdentity;function rotateRadians(deltaLambda,deltaPhi,deltaGamma){return(deltaLambda%=math_tau)?deltaPhi||deltaGamma?compose(rotationLambda(deltaLambda),rotationPhiGamma(deltaPhi,deltaGamma)):rotationLambda(deltaLambda):deltaPhi||deltaGamma?rotationPhiGamma(deltaPhi,deltaGamma):rotationIdentity}function forwardRotationLambda(deltaLambda){return function(lambda,phi){return lambda+=deltaLambda,[lambda>math_pi?lambda-math_tau:lambda<-math_pi?lambda+math_tau:lambda,phi]}}function rotationLambda(deltaLambda){var rotation=forwardRotationLambda(deltaLambda);rotation.invert=forwardRotationLambda(-deltaLambda);return rotation}function rotationPhiGamma(deltaPhi,deltaGamma){var cosDeltaPhi=cos(deltaPhi),sinDeltaPhi=sin(deltaPhi),cosDeltaGamma=cos(deltaGamma),sinDeltaGamma=sin(deltaGamma);function rotation(lambda,phi){var cosPhi=cos(phi),x=cos(lambda)*cosPhi,y=sin(lambda)*cosPhi,z=sin(phi),k=z*cosDeltaPhi+x*sinDeltaPhi;return[atan2(y*cosDeltaGamma-k*sinDeltaGamma,x*cosDeltaPhi-z*sinDeltaPhi),asin(k*cosDeltaGamma+y*sinDeltaGamma)]}rotation.invert=function(lambda,phi){var cosPhi=cos(phi),x=cos(lambda)*cosPhi,y=sin(lambda)*cosPhi,z=sin(phi),k=z*cosDeltaGamma-y*sinDeltaGamma;return[atan2(y*cosDeltaGamma+z*sinDeltaGamma,x*cosDeltaPhi+k*sinDeltaPhi),asin(k*cosDeltaPhi-x*sinDeltaPhi)]};return rotation}var src_rotation=function(rotate){rotate=rotateRadians(rotate[0]*radians,rotate[1]*radians,rotate.length>2?rotate[2]*radians:0);function forward(coordinates){coordinates=rotate(coordinates[0]*radians,coordinates[1]*radians);return coordinates[0]*=math_degrees,coordinates[1]*=math_degrees,coordinates}forward.invert=function(coordinates){coordinates=rotate.invert(coordinates[0]*radians,coordinates[1]*radians);return coordinates[0]*=math_degrees,coordinates[1]*=math_degrees,coordinates};return forward};function circleStream(stream,radius,delta,direction,t0,t1){if(!delta)return;var cosRadius=cos(radius),sinRadius=sin(radius),step=direction*delta;if(t0==null){t0=radius+direction*math_tau;t1=radius-step/2}else{t0=circleRadius(cosRadius,t0);t1=circleRadius(cosRadius,t1);if(direction>0?t0t1)t0+=direction*math_tau}for(var point,t=t0;direction>0?t>t1:t0,notHemisphere=abs(cr)>math_epsilon;function interpolate(from,to,direction,stream){circleStream(stream,radius,delta,direction,from,to)}function visible(lambda,phi){return cos(lambda)*cos(phi)>cr}function clipLine(stream){var point0,c0,v0,v00,clean;return{lineStart:function(){v00=v0=false;clean=1},point:function(lambda,phi){var point1=[lambda,phi],point2,v=visible(lambda,phi),c=smallRadius?v?0:code(lambda,phi):v?code(lambda+(lambda<0?math_pi:-math_pi),phi):0;if(!point0&&(v00=v0=v))stream.lineStart();if(v!==v0){point2=intersect(point0,point1);if(!point2||pointEqual(point0,point2)||pointEqual(point1,point2)){point1[0]+=math_epsilon;point1[1]+=math_epsilon;v=visible(point1[0],point1[1])}}if(v!==v0){clean=0;if(v){stream.lineStart();point2=intersect(point1,point0);stream.point(point2[0],point2[1])}else{point2=intersect(point0,point1);stream.point(point2[0],point2[1]);stream.lineEnd()}point0=point2}else if(notHemisphere&&point0&&smallRadius^v){var t;if(!(c&c0)&&(t=intersect(point1,point0,true))){clean=0;if(smallRadius){stream.lineStart();stream.point(t[0][0],t[0][1]);stream.point(t[1][0],t[1][1]);stream.lineEnd()}else{stream.point(t[1][0],t[1][1]);stream.lineEnd();stream.lineStart();stream.point(t[0][0],t[0][1])}}}if(v&&(!point0||!pointEqual(point0,point1))){stream.point(point1[0],point1[1])}point0=point1,v0=v,c0=c},lineEnd:function(){if(v0)stream.lineEnd();point0=null},clean:function(){return clean|(v00&&v0)<<1}}}function intersect(a,b,two){var pa=cartesian_cartesian(a),pb=cartesian_cartesian(b);var n1=[1,0,0],n2=cartesianCross(pa,pb),n2n2=cartesianDot(n2,n2),n1n2=n2[0],determinant=n2n2-n1n2*n1n2;if(!determinant)return!two&&a;var c1=cr*n2n2/determinant,c2=-cr*n1n2/determinant,n1xn2=cartesianCross(n1,n2),A=cartesianScale(n1,c1),B=cartesianScale(n2,c2);cartesianAddInPlace(A,B);var u=n1xn2,w=cartesianDot(A,u),uu=cartesianDot(u,u),t2=w*w-uu*(cartesianDot(A,A)-1);if(t2<0)return;var t=math_sqrt(t2),q=cartesianScale(u,(-w-t)/uu);cartesianAddInPlace(q,A);q=cartesian_spherical(q);if(!two)return q;var lambda0=a[0],lambda1=b[0],phi0=a[1],phi1=b[1],z;if(lambda10^q[1]<(abs(q[0]-lambda0)math_pi^(lambda0<=q[0]&&q[0]<=lambda1)){var q1=cartesianScale(u,(-w+t)/uu);cartesianAddInPlace(q1,A);return[q,cartesian_spherical(q1)]}}function code(lambda,phi){var r=smallRadius?radius:math_pi-radius,code=0;if(lambda<-r)code|=1;else if(lambda>r)code|=2;if(phi<-r)code|=4;else if(phi>r)code|=8;return code}return src_clip(visible,clipLine,interpolate,smallRadius?[0,-radius]:[-math_pi,radius-math_pi])};var clip_line=function(a,b,x0,y0,x1,y1){var ax=a[0],ay=a[1],bx=b[0],by=b[1],t0=0,t1=1,dx=bx-ax,dy=by-ay,r;r=x0-ax;if(!dx&&r>0)return;r/=dx;if(dx<0){if(r0){if(r>t1)return;if(r>t0)t0=r}r=x1-ax;if(!dx&&r<0)return;r/=dx;if(dx<0){if(r>t1)return;if(r>t0)t0=r}else if(dx>0){if(r0)return;r/=dy;if(dy<0){if(r0){if(r>t1)return;if(r>t0)t0=r}r=y1-ay;if(!dy&&r<0)return;r/=dy;if(dy<0){if(r>t1)return;if(r>t0)t0=r}else if(dy>0){if(r0)a[0]=ax+t0*dx,a[1]=ay+t0*dy;if(t1<1)b[0]=ax+t1*dx,b[1]=ay+t1*dy;return true};var clipMax=1e9,clipMin=-clipMax;function clipRectangle(x0,y0,x1,y1){function visible(x,y){return x0<=x&&x<=x1&&y0<=y&&y<=y1}function interpolate(from,to,direction,stream){var a=0,a1=0;if(from==null||(a=corner(from,direction))!==(a1=corner(to,direction))||comparePoint(from,to)<0^direction>0){do{stream.point(a===0||a===3?x0:x1,a>1?y1:y0)}while((a=(a+direction+4)%4)!==a1)}else{stream.point(to[0],to[1])}}function corner(p,direction){return abs(p[0]-x0)0?0:3:abs(p[0]-x1)0?2:1:abs(p[1]-y0)0?1:0:direction>0?3:2}function compareIntersection(a,b){return comparePoint(a.x,b.x)}function comparePoint(a,b){var ca=corner(a,1),cb=corner(b,1);return ca!==cb?ca-cb:ca===0?b[1]-a[1]:ca===1?a[0]-b[0]:ca===2?a[1]-b[1]:b[0]-a[0]}return function(stream){var activeStream=stream,bufferStream=clip_buffer(),segments,polygon,ring,x__,y__,v__,x_,y_,v_,first,clean;var clipStream={point,lineStart,lineEnd,polygonStart,polygonEnd};function point(x,y){if(visible(x,y))activeStream.point(x,y)}function polygonInside(){var winding=0;for(var i=0,n=polygon.length;iy1&&(b0-a0)*(y1-a1)>(b1-a1)*(x0-a0))++winding}else{if(b1<=y1&&(b0-a0)*(y1-a1)<(b1-a1)*(x0-a0))--winding}}}return winding}function polygonStart(){activeStream=bufferStream,segments=[],polygon=[],clean=true}function polygonEnd(){var startInside=polygonInside(),cleanInside=clean&&startInside,visible=(segments=src_merge(segments)).length;if(cleanInside||visible){stream.polygonStart();if(cleanInside){stream.lineStart();interpolate(null,null,1,stream);stream.lineEnd()}if(visible){rejoin(segments,compareIntersection,startInside,interpolate,stream)}stream.polygonEnd()}activeStream=stream,segments=polygon=ring=null}function lineStart(){clipStream.point=linePoint;if(polygon)polygon.push(ring=[]);first=true;v_=false;x_=y_=NaN}function lineEnd(){if(segments){linePoint(x__,y__);if(v__&&v_)bufferStream.rejoin();segments.push(bufferStream.result())}clipStream.point=point;if(v_)activeStream.lineEnd()}function linePoint(x,y){var v=visible(x,y);if(polygon)ring.push([x,y]);if(first){x__=x,y__=y,v__=v;first=false;if(v){activeStream.lineStart();activeStream.point(x,y)}}else{if(v&&v_)activeStream.point(x,y);else{var a=[x_=Math.max(clipMin,Math.min(clipMax,x_)),y_=Math.max(clipMin,Math.min(clipMax,y_))],b=[x=Math.max(clipMin,Math.min(clipMax,x)),y=Math.max(clipMin,Math.min(clipMax,y))];if(clip_line(a,b,x0,y0,x1,y1)){if(!v_){activeStream.lineStart();activeStream.point(a[0],a[1])}activeStream.point(b[0],b[1]);if(!v)activeStream.lineEnd();clean=false}else if(v){activeStream.lineStart();activeStream.point(x,y);clean=false}}}x_=x,y_=y,v_=v}return clipStream}}var d3_geo_src_identity=function(x){return x};var src_transform=function(methods){return{stream:transform_transformer(methods)}};function transform_transformer(methods){return function(stream){var s=new TransformStream;for(var key in methods)s[key]=methods[key];s.stream=stream;return s}}function TransformStream(){}TransformStream.prototype={constructor:TransformStream,point:function(x,y){this.stream.point(x,y)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function streamGeometry(geometry,stream){if(geometry&&streamGeometryType.hasOwnProperty(geometry.type)){streamGeometryType[geometry.type](geometry,stream)}}var streamObjectType={Feature:function(object,stream){streamGeometry(object.geometry,stream)},FeatureCollection:function(object,stream){var features=object.features,i=-1,n=features.length;while(++ibounds_x1)bounds_x1=x;if(ybounds_y1)bounds_y1=y}var path_bounds=boundsStream;function fit(projection,fitBounds,object){var clip=projection.clipExtent&&projection.clipExtent();projection.scale(150).translate([0,0]);if(clip!=null)projection.clipExtent(null);src_stream(object,projection.stream(path_bounds));fitBounds(path_bounds.result());if(clip!=null)projection.clipExtent(clip);return projection}function fitExtent(projection,extent,object){return fit(projection,(function(b){var w=extent[1][0]-extent[0][0],h=extent[1][1]-extent[0][1],k=Math.min(w/(b[1][0]-b[0][0]),h/(b[1][1]-b[0][1])),x=+extent[0][0]+(w-k*(b[1][0]+b[0][0]))/2,y=+extent[0][1]+(h-k*(b[1][1]+b[0][1]))/2;projection.scale(150*k).translate([x,y])}),object)}function fitSize(projection,size,object){return fitExtent(projection,[[0,0],size],object)}function fitWidth(projection,width,object){return fit(projection,(function(b){var w=+width,k=w/(b[1][0]-b[0][0]),x=(w-k*(b[1][0]+b[0][0]))/2,y=-k*b[0][1];projection.scale(150*k).translate([x,y])}),object)}function fitHeight(projection,height,object){return fit(projection,(function(b){var h=+height,k=h/(b[1][1]-b[0][1]),x=-k*b[0][0],y=(h-k*(b[1][1]+b[0][1]))/2;projection.scale(150*k).translate([x,y])}),object)}var maxDepth=16,cosMinDistance=cos(30*radians);var resample=function(project,delta2){return+delta2?resample_resample(project,delta2):resampleNone(project)};function resampleNone(project){return transform_transformer({point:function(x,y){x=project(x,y);this.stream.point(x[0],x[1])}})}function resample_resample(project,delta2){function resampleLineTo(x0,y0,lambda0,a0,b0,c0,x1,y1,lambda1,a1,b1,c1,depth,stream){var dx=x1-x0,dy=y1-y0,d2=dx*dx+dy*dy;if(d2>4*delta2&&depth--){var a=a0+a1,b=b0+b1,c=c0+c1,m=math_sqrt(a*a+b*b+c*c),phi2=asin(c/=m),lambda2=abs(abs(c)-1)delta2||abs((dx*dx2+dy*dy2)/d2-.5)>.3||a0*a1+b0*b1+c0*c12?_[2]%360*radians:0,recenter()):[deltaLambda*math_degrees,deltaPhi*math_degrees,deltaGamma*math_degrees]};projection.angle=function(_){return arguments.length?(alpha=_%360*radians,recenter()):alpha*math_degrees};projection.precision=function(_){return arguments.length?(projectResample=resample(projectTransform,delta2=_*_),reset()):math_sqrt(delta2)};projection.fitExtent=function(extent,object){return fitExtent(projection,extent,object)};projection.fitSize=function(size,object){return fitSize(projection,size,object)};projection.fitWidth=function(width,object){return fitWidth(projection,width,object)};projection.fitHeight=function(height,object){return fitHeight(projection,height,object)};function recenter(){var center=scaleTranslateRotate(k,0,0,alpha).apply(null,project(lambda,phi)),transform=(alpha?scaleTranslateRotate:scaleTranslate)(k,x-center[0],y-center[1],alpha);rotate=rotateRadians(deltaLambda,deltaPhi,deltaGamma);projectTransform=compose(project,transform);projectRotateTransform=compose(rotate,projectTransform);projectResample=resample(projectTransform,delta2);return reset()}function reset(){cache=cacheStream=null;return projection}return function(){project=projectAt.apply(this,arguments);projection.invert=project.invert&&invert;return recenter()}}function conicProjection(projectAt){var phi0=0,phi1=math_pi/3,m=projectionMutator(projectAt),p=m(phi0,phi1);p.parallels=function(_){return arguments.length?m(phi0=_[0]*radians,phi1=_[1]*radians):[phi0*math_degrees,phi1*math_degrees]};return p}function cylindricalEqualAreaRaw(phi0){var cosPhi0=cos(phi0);function forward(lambda,phi){return[lambda*cosPhi0,sin(phi)/cosPhi0]}forward.invert=function(x,y){return[x/cosPhi0,asin(y*cosPhi0)]};return forward}function conicEqualAreaRaw(y0,y1){var sy0=sin(y0),n=(sy0+sin(y1))/2;if(abs(n)=.12&&y<.234&&x>=-.425&&x<-.214?alaska:y>=.166&&y<.234&&x>=-.214&&x<-.115?hawaii:lower48).invert(coordinates)};albersUsa.stream=function(stream){return cache&&cacheStream===stream?cache:cache=multiplex([lower48.stream(cacheStream=stream),alaska.stream(stream),hawaii.stream(stream)])};albersUsa.precision=function(_){if(!arguments.length)return lower48.precision();lower48.precision(_),alaska.precision(_),hawaii.precision(_);return reset()};albersUsa.scale=function(_){if(!arguments.length)return lower48.scale();lower48.scale(_),alaska.scale(_*.35),hawaii.scale(_);return albersUsa.translate(lower48.translate())};albersUsa.translate=function(_){if(!arguments.length)return lower48.translate();var k=lower48.scale(),x=+_[0],y=+_[1];lower48Point=lower48.translate(_).clipExtent([[x-.455*k,y-.238*k],[x+.455*k,y+.238*k]]).stream(pointStream);alaskaPoint=alaska.translate([x-.307*k,y+.201*k]).clipExtent([[x-.425*k+math_epsilon,y+.12*k+math_epsilon],[x-.214*k-math_epsilon,y+.234*k-math_epsilon]]).stream(pointStream);hawaiiPoint=hawaii.translate([x-.205*k,y+.212*k]).clipExtent([[x-.214*k+math_epsilon,y+.166*k+math_epsilon],[x-.115*k-math_epsilon,y+.234*k-math_epsilon]]).stream(pointStream);return reset()};albersUsa.fitExtent=function(extent,object){return fitExtent(albersUsa,extent,object)};albersUsa.fitSize=function(size,object){return fitSize(albersUsa,size,object)};albersUsa.fitWidth=function(width,object){return fitWidth(albersUsa,width,object)};albersUsa.fitHeight=function(height,object){return fitHeight(albersUsa,height,object)};function reset(){cache=cacheStream=null;return albersUsa}return albersUsa.scale(1070)};var areaRingSum=adder();var areaSum=adder(),area_lambda00,phi00,area_lambda0,area_cosPhi0,area_sinPhi0;var areaStream={point:noop_noop,lineStart:noop_noop,lineEnd:noop_noop,polygonStart:function(){areaRingSum.reset();areaStream.lineStart=areaRingStart;areaStream.lineEnd=areaRingEnd},polygonEnd:function(){var areaRing=+areaRingSum;areaSum.add(areaRing<0?math_tau+areaRing:areaRing);this.lineStart=this.lineEnd=this.point=noop_noop},sphere:function(){areaSum.add(math_tau)}};function areaRingStart(){areaStream.point=areaPointFirst}function areaRingEnd(){areaPoint(area_lambda00,phi00)}function areaPointFirst(lambda,phi){areaStream.point=areaPoint;area_lambda00=lambda,phi00=phi;lambda*=radians,phi*=radians;area_lambda0=lambda,area_cosPhi0=cos(phi=phi/2+quarterPi),area_sinPhi0=sin(phi)}function areaPoint(lambda,phi){lambda*=radians,phi*=radians;phi=phi/2+quarterPi;var dLambda=lambda-area_lambda0,sdLambda=dLambda>=0?1:-1,adLambda=sdLambda*dLambda,cosPhi=cos(phi),sinPhi=sin(phi),k=area_sinPhi0*sinPhi,u=area_cosPhi0*cosPhi+k*cos(adLambda),v=k*sdLambda*sin(adLambda);areaRingSum.add(atan2(v,u));area_lambda0=lambda,area_cosPhi0=cosPhi,area_sinPhi0=sinPhi}var d3_geo_src_area=function(object){areaSum.reset();src_stream(object,areaStream);return areaSum*2};function azimuthalRaw(scale){return function(x,y){var cx=cos(x),cy=cos(y),k=scale(cx*cy);return[k*cy*sin(x),k*sin(y)]}}function azimuthalInvert(angle){return function(x,y){var z=math_sqrt(x*x+y*y),c=angle(z),sc=sin(c),cc=cos(c);return[atan2(x*sc,z*cc),asin(z&&y*sc/z)]}}var azimuthalEqualAreaRaw=azimuthalRaw((function(cxcy){return math_sqrt(2/(1+cxcy))}));azimuthalEqualAreaRaw.invert=azimuthalInvert((function(z){return 2*asin(z/2)}));var azimuthalEqualArea=function(){return projection_projection(azimuthalEqualAreaRaw).scale(124.75).clipAngle(180-.001)};var azimuthalEquidistantRaw=azimuthalRaw((function(c){return(c=acos(c))&&c/sin(c)}));azimuthalEquidistantRaw.invert=azimuthalInvert((function(z){return z}));var azimuthalEquidistant=function(){return projection_projection(azimuthalEquidistantRaw).scale(79.4188).clipAngle(180-.001)};var bounds_lambda0,bounds_phi0,bounds_lambda1,bounds_phi1,bounds_lambda2,bounds_lambda00,bounds_phi00,bounds_p0,deltaSum=adder(),ranges,bounds_range;var bounds_boundsStream={point:bounds_boundsPoint,lineStart:boundsLineStart,lineEnd:boundsLineEnd,polygonStart:function(){bounds_boundsStream.point=boundsRingPoint;bounds_boundsStream.lineStart=boundsRingStart;bounds_boundsStream.lineEnd=boundsRingEnd;deltaSum.reset();areaStream.polygonStart()},polygonEnd:function(){areaStream.polygonEnd();bounds_boundsStream.point=bounds_boundsPoint;bounds_boundsStream.lineStart=boundsLineStart;bounds_boundsStream.lineEnd=boundsLineEnd;if(areaRingSum<0)bounds_lambda0=-(bounds_lambda1=180),bounds_phi0=-(bounds_phi1=90);else if(deltaSum>math_epsilon)bounds_phi1=90;else if(deltaSum<-math_epsilon)bounds_phi0=-90;bounds_range[0]=bounds_lambda0,bounds_range[1]=bounds_lambda1},sphere:function(){bounds_lambda0=-(bounds_lambda1=180),bounds_phi0=-(bounds_phi1=90)}};function bounds_boundsPoint(lambda,phi){ranges.push(bounds_range=[bounds_lambda0=lambda,bounds_lambda1=lambda]);if(phibounds_phi1)bounds_phi1=phi}function bounds_linePoint(lambda,phi){var p=cartesian_cartesian([lambda*radians,phi*radians]);if(bounds_p0){var normal=cartesianCross(bounds_p0,p),equatorial=[normal[1],-normal[0],0],inflection=cartesianCross(equatorial,normal);cartesianNormalizeInPlace(inflection);inflection=cartesian_spherical(inflection);var delta=lambda-bounds_lambda2,sign=delta>0?1:-1,lambdai=inflection[0]*math_degrees*sign,phii,antimeridian=abs(delta)>180;if(antimeridian^(sign*bounds_lambda2bounds_phi1)bounds_phi1=phii}else if(lambdai=(lambdai+360)%360-180,antimeridian^(sign*bounds_lambda2bounds_phi1)bounds_phi1=phi}if(antimeridian){if(lambdabounds_angle(bounds_lambda0,bounds_lambda1))bounds_lambda1=lambda}else{if(bounds_angle(lambda,bounds_lambda1)>bounds_angle(bounds_lambda0,bounds_lambda1))bounds_lambda0=lambda}}else{if(bounds_lambda1>=bounds_lambda0){if(lambdabounds_lambda1)bounds_lambda1=lambda}else{if(lambda>bounds_lambda2){if(bounds_angle(bounds_lambda0,lambda)>bounds_angle(bounds_lambda0,bounds_lambda1))bounds_lambda1=lambda}else{if(bounds_angle(lambda,bounds_lambda1)>bounds_angle(bounds_lambda0,bounds_lambda1))bounds_lambda0=lambda}}}}else{ranges.push(bounds_range=[bounds_lambda0=lambda,bounds_lambda1=lambda])}if(phibounds_phi1)bounds_phi1=phi;bounds_p0=p,bounds_lambda2=lambda}function boundsLineStart(){bounds_boundsStream.point=bounds_linePoint}function boundsLineEnd(){bounds_range[0]=bounds_lambda0,bounds_range[1]=bounds_lambda1;bounds_boundsStream.point=bounds_boundsPoint;bounds_p0=null}function boundsRingPoint(lambda,phi){if(bounds_p0){var delta=lambda-bounds_lambda2;deltaSum.add(abs(delta)>180?delta+(delta>0?360:-360):delta)}else{bounds_lambda00=lambda,bounds_phi00=phi}areaStream.point(lambda,phi);bounds_linePoint(lambda,phi)}function boundsRingStart(){areaStream.lineStart()}function boundsRingEnd(){boundsRingPoint(bounds_lambda00,bounds_phi00);areaStream.lineEnd();if(abs(deltaSum)>math_epsilon)bounds_lambda0=-(bounds_lambda1=180);bounds_range[0]=bounds_lambda0,bounds_range[1]=bounds_lambda1;bounds_p0=null}function bounds_angle(lambda0,lambda1){return(lambda1-=lambda0)<0?lambda1+360:lambda1}function rangeCompare(a,b){return a[0]-b[0]}function rangeContains(range,x){return range[0]<=range[1]?range[0]<=x&&x<=range[1]:xbounds_angle(a[0],a[1]))a[1]=b[1];if(bounds_angle(b[0],a[1])>bounds_angle(a[0],a[1]))a[0]=b[0]}else{merged.push(a=b)}}for(deltaMax=-Infinity,n=merged.length-1,i=0,a=merged[n];i<=n;a=b,++i){b=merged[i];if((delta=bounds_angle(a[1],b[0]))>deltaMax)deltaMax=delta,bounds_lambda0=b[0],bounds_lambda1=a[1]}}ranges=bounds_range=null;return bounds_lambda0===Infinity||bounds_phi0===Infinity?[[NaN,NaN],[NaN,NaN]]:[[bounds_lambda0,bounds_phi0],[bounds_lambda1,bounds_phi1]]};var W0,W1,centroid_X0,centroid_Y0,Z0,centroid_X1,centroid_Y1,Z1,X2,Y2,Z2,centroid_lambda00,centroid_phi00,centroid_x0,centroid_y0,z0;var centroidStream={sphere:noop_noop,point:centroidPoint,lineStart:centroidLineStart,lineEnd:centroidLineEnd,polygonStart:function(){centroidStream.lineStart=centroidRingStart;centroidStream.lineEnd=centroidRingEnd},polygonEnd:function(){centroidStream.lineStart=centroidLineStart;centroidStream.lineEnd=centroidLineEnd}};function centroidPoint(lambda,phi){lambda*=radians,phi*=radians;var cosPhi=cos(phi);centroidPointCartesian(cosPhi*cos(lambda),cosPhi*sin(lambda),sin(phi))}function centroidPointCartesian(x,y,z){++W0;centroid_X0+=(x-centroid_X0)/W0;centroid_Y0+=(y-centroid_Y0)/W0;Z0+=(z-Z0)/W0}function centroidLineStart(){centroidStream.point=centroidLinePointFirst}function centroidLinePointFirst(lambda,phi){lambda*=radians,phi*=radians;var cosPhi=cos(phi);centroid_x0=cosPhi*cos(lambda);centroid_y0=cosPhi*sin(lambda);z0=sin(phi);centroidStream.point=centroidLinePoint;centroidPointCartesian(centroid_x0,centroid_y0,z0)}function centroidLinePoint(lambda,phi){lambda*=radians,phi*=radians;var cosPhi=cos(phi),x=cosPhi*cos(lambda),y=cosPhi*sin(lambda),z=sin(phi),w=atan2(math_sqrt((w=centroid_y0*z-z0*y)*w+(w=z0*x-centroid_x0*z)*w+(w=centroid_x0*y-centroid_y0*x)*w),centroid_x0*x+centroid_y0*y+z0*z);W1+=w;centroid_X1+=w*(centroid_x0+(centroid_x0=x));centroid_Y1+=w*(centroid_y0+(centroid_y0=y));Z1+=w*(z0+(z0=z));centroidPointCartesian(centroid_x0,centroid_y0,z0)}function centroidLineEnd(){centroidStream.point=centroidPoint}function centroidRingStart(){centroidStream.point=centroidRingPointFirst}function centroidRingEnd(){centroidRingPoint(centroid_lambda00,centroid_phi00);centroidStream.point=centroidPoint}function centroidRingPointFirst(lambda,phi){centroid_lambda00=lambda,centroid_phi00=phi;lambda*=radians,phi*=radians;centroidStream.point=centroidRingPoint;var cosPhi=cos(phi);centroid_x0=cosPhi*cos(lambda);centroid_y0=cosPhi*sin(lambda);z0=sin(phi);centroidPointCartesian(centroid_x0,centroid_y0,z0)}function centroidRingPoint(lambda,phi){lambda*=radians,phi*=radians;var cosPhi=cos(phi),x=cosPhi*cos(lambda),y=cosPhi*sin(lambda),z=sin(phi),cx=centroid_y0*z-z0*y,cy=z0*x-centroid_x0*z,cz=centroid_x0*y-centroid_y0*x,m=math_sqrt(cx*cx+cy*cy+cz*cz),w=asin(m),v=m&&-w/m;X2+=v*cx;Y2+=v*cy;Z2+=v*cz;W1+=w;centroid_X1+=w*(centroid_x0+(centroid_x0=x));centroid_Y1+=w*(centroid_y0+(centroid_y0=y));Z1+=w*(z0+(z0=z));centroidPointCartesian(centroid_x0,centroid_y0,z0)}var d3_geo_src_centroid=function(object){W0=W1=centroid_X0=centroid_Y0=Z0=centroid_X1=centroid_Y1=Z1=X2=Y2=Z2=0;src_stream(object,centroidStream);var x=X2,y=Y2,z=Z2,m=x*x+y*y+z*z;if(m0){if(y<-halfPi+math_epsilon)y=-halfPi+math_epsilon}else{if(y>halfPi-math_epsilon)y=halfPi-math_epsilon}var r=f/math_pow(tany(y),n);return[r*sin(n*x),f-r*cos(n*x)]}project.invert=function(x,y){var fy=f-y,r=math_sign(n)*math_sqrt(x*x+fy*fy);return[atan2(x,abs(fy))/n*math_sign(fy),2*atan(math_pow(f/r,1/n))-halfPi]};return project}var conicConformal=function(){return conicProjection(conicConformalRaw).scale(109.5).parallels([30,30])};function equirectangularRaw(lambda,phi){return[lambda,phi]}equirectangularRaw.invert=equirectangularRaw;var projection_equirectangular=function(){return projection_projection(equirectangularRaw).scale(152.63)};function conicEquidistantRaw(y0,y1){var cy0=cos(y0),n=y0===y1?sin(y0):(cy0-cos(y1))/(y1-y0),g=cy0/n+y0;if(abs(n)math_epsilon})).map(x)).concat(src_range(ceil(y0/dy)*dy,y1,dy).filter((function(y){return abs(y%DY)>math_epsilon})).map(y))}graticule.lines=function(){return lines().map((function(coordinates){return{type:"LineString",coordinates}}))};graticule.outline=function(){return{type:"Polygon",coordinates:[X(X0).concat(Y(Y1).slice(1),X(X1).reverse().slice(1),Y(Y0).reverse().slice(1))]}};graticule.extent=function(_){if(!arguments.length)return graticule.extentMinor();return graticule.extentMajor(_).extentMinor(_)};graticule.extentMajor=function(_){if(!arguments.length)return[[X0,Y0],[X1,Y1]];X0=+_[0][0],X1=+_[1][0];Y0=+_[0][1],Y1=+_[1][1];if(X0>X1)_=X0,X0=X1,X1=_;if(Y0>Y1)_=Y0,Y0=Y1,Y1=_;return graticule.precision(precision)};graticule.extentMinor=function(_){if(!arguments.length)return[[x0,y0],[x1,y1]];x0=+_[0][0],x1=+_[1][0];y0=+_[0][1],y1=+_[1][1];if(x0>x1)_=x0,x0=x1,x1=_;if(y0>y1)_=y0,y0=y1,y1=_;return graticule.precision(precision)};graticule.step=function(_){if(!arguments.length)return graticule.stepMinor();return graticule.stepMajor(_).stepMinor(_)};graticule.stepMajor=function(_){if(!arguments.length)return[DX,DY];DX=+_[0],DY=+_[1];return graticule};graticule.stepMinor=function(_){if(!arguments.length)return[dx,dy];dx=+_[0],dy=+_[1];return graticule};graticule.precision=function(_){if(!arguments.length)return precision;precision=+_;x=graticuleX(y0,y1,90);y=graticuleY(x0,x1,precision);X=graticuleX(Y0,Y1,90);Y=graticuleY(X0,X1,precision);return graticule};return graticule.extentMajor([[-180,-90+math_epsilon],[180,90-math_epsilon]]).extentMinor([[-180,-80-math_epsilon],[180,80+math_epsilon]])}function graticule10(){return graticule_graticule()()}function identity_scaleTranslate(kx,ky,tx,ty){return kx===1&&ky===1&&tx===0&&ty===0?d3_geo_src_identity:transform_transformer({point:function(x,y){this.stream.point(x*kx+tx,y*ky+ty)}})}var projection_identity=function(){var k=1,tx=0,ty=0,sx=1,sy=1,transform=d3_geo_src_identity,x0=null,y0,x1,y1,postclip=d3_geo_src_identity,cache,cacheStream,projection;function reset(){cache=cacheStream=null;return projection}return projection={stream:function(stream){return cache&&cacheStream===stream?cache:cache=transform(postclip(cacheStream=stream))},postclip:function(_){return arguments.length?(postclip=_,x0=y0=x1=y1=null,reset()):postclip},clipExtent:function(_){return arguments.length?(postclip=_==null?(x0=y0=x1=y1=null,d3_geo_src_identity):clipRectangle(x0=+_[0][0],y0=+_[0][1],x1=+_[1][0],y1=+_[1][1]),reset()):x0==null?null:[[x0,y0],[x1,y1]]},scale:function(_){return arguments.length?(transform=identity_scaleTranslate((k=+_)*sx,k*sy,tx,ty),reset()):k},translate:function(_){return arguments.length?(transform=identity_scaleTranslate(k*sx,k*sy,tx=+_[0],ty=+_[1]),reset()):[tx,ty]},reflectX:function(_){return arguments.length?(transform=identity_scaleTranslate(k*(sx=_?-1:1),k*sy,tx,ty),reset()):sx<0},reflectY:function(_){return arguments.length?(transform=identity_scaleTranslate(k*sx,k*(sy=_?-1:1),tx,ty),reset()):sy<0},fitExtent:function(extent,object){return fitExtent(projection,extent,object)},fitSize:function(size,object){return fitSize(projection,size,object)},fitWidth:function(width,object){return fitWidth(projection,width,object)},fitHeight:function(height,object){return fitHeight(projection,height,object)}}};var src_interpolate=function(a,b){var x0=a[0]*radians,y0=a[1]*radians,x1=b[0]*radians,y1=b[1]*radians,cy0=cos(y0),sy0=sin(y0),cy1=cos(y1),sy1=sin(y1),kx0=cy0*cos(x0),ky0=cy0*sin(x0),kx1=cy1*cos(x1),ky1=cy1*sin(x1),d=2*asin(math_sqrt(haversin(y1-y0)+cy0*cy1*haversin(x1-x0))),k=sin(d);var interpolate=d?function(t){var B=sin(t*=d)/k,A=sin(d-t)/k,x=A*kx0+B*kx1,y=A*ky0+B*ky1,z=A*sy0+B*sy1;return[atan2(y,x)*math_degrees,atan2(z,math_sqrt(x*x+y*y))*math_degrees]}:function(){return[x0*math_degrees,y0*math_degrees]};interpolate.distance=d;return interpolate};function naturalEarth1Raw(lambda,phi){var phi2=phi*phi,phi4=phi2*phi2;return[lambda*(.8707-.131979*phi2+phi4*(-.013791+phi4*(.003971*phi2-.001529*phi4))),phi*(1.007226+phi2*(.015085+phi4*(-.044475+.028874*phi2-.005916*phi4)))]}naturalEarth1Raw.invert=function(x,y){var phi=y,i=25,delta;do{var phi2=phi*phi,phi4=phi2*phi2;phi-=delta=(phi*(1.007226+phi2*(.015085+phi4*(-.044475+.028874*phi2-.005916*phi4)))-y)/(1.007226+phi2*(.015085*3+phi4*(-.044475*7+.028874*9*phi2-.005916*11*phi4)))}while(abs(delta)>math_epsilon&&--i>0);return[x/(.8707+(phi2=phi*phi)*(-.131979+phi2*(-.013791+phi2*phi2*phi2*(.003971-.001529*phi2)))),phi]};var naturalEarth1=function(){return projection_projection(naturalEarth1Raw).scale(175.295)};function orthographicRaw(x,y){return[cos(y)*sin(x),sin(y)]}orthographicRaw.invert=azimuthalInvert(asin);var orthographic=function(){return projection_projection(orthographicRaw).scale(249.5).clipAngle(90+math_epsilon)};var area_areaSum=adder(),area_areaRingSum=adder(),area_x00,area_y00,area_x0,area_y0;var area_areaStream={point:noop_noop,lineStart:noop_noop,lineEnd:noop_noop,polygonStart:function(){area_areaStream.lineStart=area_areaRingStart;area_areaStream.lineEnd=area_areaRingEnd},polygonEnd:function(){area_areaStream.lineStart=area_areaStream.lineEnd=area_areaStream.point=noop_noop;area_areaSum.add(abs(area_areaRingSum));area_areaRingSum.reset()},result:function(){var area=area_areaSum/2;area_areaSum.reset();return area}};function area_areaRingStart(){area_areaStream.point=area_areaPointFirst}function area_areaPointFirst(x,y){area_areaStream.point=area_areaPoint;area_x00=area_x0=x,area_y00=area_y0=y}function area_areaPoint(x,y){area_areaRingSum.add(area_y0*x-area_x0*y);area_x0=x,area_y0=y}function area_areaRingEnd(){area_areaPoint(area_x00,area_y00)}var path_area=area_areaStream;var path_centroid_X0=0,path_centroid_Y0=0,centroid_Z0=0,path_centroid_X1=0,path_centroid_Y1=0,centroid_Z1=0,centroid_X2=0,centroid_Y2=0,centroid_Z2=0,centroid_x00,centroid_y00,path_centroid_x0,path_centroid_y0;var centroid_centroidStream={point:centroid_centroidPoint,lineStart:centroid_centroidLineStart,lineEnd:centroid_centroidLineEnd,polygonStart:function(){centroid_centroidStream.lineStart=centroid_centroidRingStart;centroid_centroidStream.lineEnd=centroid_centroidRingEnd},polygonEnd:function(){centroid_centroidStream.point=centroid_centroidPoint;centroid_centroidStream.lineStart=centroid_centroidLineStart;centroid_centroidStream.lineEnd=centroid_centroidLineEnd},result:function(){var centroid=centroid_Z2?[centroid_X2/centroid_Z2,centroid_Y2/centroid_Z2]:centroid_Z1?[path_centroid_X1/centroid_Z1,path_centroid_Y1/centroid_Z1]:centroid_Z0?[path_centroid_X0/centroid_Z0,path_centroid_Y0/centroid_Z0]:[NaN,NaN];path_centroid_X0=path_centroid_Y0=centroid_Z0=path_centroid_X1=path_centroid_Y1=centroid_Z1=centroid_X2=centroid_Y2=centroid_Z2=0;return centroid}};function centroid_centroidPoint(x,y){path_centroid_X0+=x;path_centroid_Y0+=y;++centroid_Z0}function centroid_centroidLineStart(){centroid_centroidStream.point=centroidPointFirstLine}function centroidPointFirstLine(x,y){centroid_centroidStream.point=centroidPointLine;centroid_centroidPoint(path_centroid_x0=x,path_centroid_y0=y)}function centroidPointLine(x,y){var dx=x-path_centroid_x0,dy=y-path_centroid_y0,z=math_sqrt(dx*dx+dy*dy);path_centroid_X1+=z*(path_centroid_x0+x)/2;path_centroid_Y1+=z*(path_centroid_y0+y)/2;centroid_Z1+=z;centroid_centroidPoint(path_centroid_x0=x,path_centroid_y0=y)}function centroid_centroidLineEnd(){centroid_centroidStream.point=centroid_centroidPoint}function centroid_centroidRingStart(){centroid_centroidStream.point=centroidPointFirstRing}function centroid_centroidRingEnd(){centroidPointRing(centroid_x00,centroid_y00)}function centroidPointFirstRing(x,y){centroid_centroidStream.point=centroidPointRing;centroid_centroidPoint(centroid_x00=path_centroid_x0=x,centroid_y00=path_centroid_y0=y)}function centroidPointRing(x,y){var dx=x-path_centroid_x0,dy=y-path_centroid_y0,z=math_sqrt(dx*dx+dy*dy);path_centroid_X1+=z*(path_centroid_x0+x)/2;path_centroid_Y1+=z*(path_centroid_y0+y)/2;centroid_Z1+=z;z=path_centroid_y0*x-path_centroid_x0*y;centroid_X2+=z*(path_centroid_x0+x);centroid_Y2+=z*(path_centroid_y0+y);centroid_Z2+=z*3;centroid_centroidPoint(path_centroid_x0=x,path_centroid_y0=y)}var path_centroid=centroid_centroidStream;function PathContext(context){this._context=context}PathContext.prototype={_radius:4.5,pointRadius:function(_){return this._radius=_,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){if(this._line===0)this._context.closePath();this._point=NaN},point:function(x,y){switch(this._point){case 0:{this._context.moveTo(x,y);this._point=1;break}case 1:{this._context.lineTo(x,y);break}default:{this._context.moveTo(x+this._radius,y);this._context.arc(x,y,this._radius,0,math_tau);break}}},result:noop_noop};var measure_lengthSum=adder(),lengthRing,measure_x00,measure_y00,measure_x0,measure_y0;var measure_lengthStream={point:noop_noop,lineStart:function(){measure_lengthStream.point=measure_lengthPointFirst},lineEnd:function(){if(lengthRing)measure_lengthPoint(measure_x00,measure_y00);measure_lengthStream.point=noop_noop},polygonStart:function(){lengthRing=true},polygonEnd:function(){lengthRing=null},result:function(){var length=+measure_lengthSum;measure_lengthSum.reset();return length}};function measure_lengthPointFirst(x,y){measure_lengthStream.point=measure_lengthPoint;measure_x00=measure_x0=x,measure_y00=measure_y0=y}function measure_lengthPoint(x,y){measure_x0-=x,measure_y0-=y;measure_lengthSum.add(math_sqrt(measure_x0*measure_x0+measure_y0*measure_y0));measure_x0=x,measure_y0=y}var measure=measure_lengthStream;function PathString(){this._string=[]}PathString.prototype={_radius:4.5,_circle:string_circle(4.5),pointRadius:function(_){if((_=+_)!==this._radius)this._radius=_,this._circle=null;return this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){if(this._line===0)this._string.push("Z");this._point=NaN},point:function(x,y){switch(this._point){case 0:{this._string.push("M",x,",",y);this._point=1;break}case 1:{this._string.push("L",x,",",y);break}default:{if(this._circle==null)this._circle=string_circle(this._radius);this._string.push("M",x,",",y,this._circle);break}}},result:function(){if(this._string.length){var result=this._string.join("");this._string=[];return result}else{return null}}};function string_circle(radius){return"m0,"+radius+"a"+radius+","+radius+" 0 1,1 0,"+-2*radius+"a"+radius+","+radius+" 0 1,1 0,"+2*radius+"z"}var d3_geo_src_path=function(projection,context){var pointRadius=4.5,projectionStream,contextStream;function path(object){if(object){if(typeof pointRadius==="function")contextStream.pointRadius(+pointRadius.apply(this,arguments));src_stream(object,projectionStream(contextStream))}return contextStream.result()}path.area=function(object){src_stream(object,projectionStream(path_area));return path_area.result()};path.measure=function(object){src_stream(object,projectionStream(measure));return measure.result()};path.bounds=function(object){src_stream(object,projectionStream(path_bounds));return path_bounds.result()};path.centroid=function(object){src_stream(object,projectionStream(path_centroid));return path_centroid.result()};path.projection=function(_){return arguments.length?(projectionStream=_==null?(projection=null,d3_geo_src_identity):(projection=_).stream,path):projection};path.context=function(_){if(!arguments.length)return context;contextStream=_==null?(context=null,new PathString):new PathContext(context=_);if(typeof pointRadius!=="function")contextStream.pointRadius(pointRadius);return path};path.pointRadius=function(_){if(!arguments.length)return pointRadius;pointRadius=typeof _==="function"?_:(contextStream.pointRadius(+_),+_);return path};return path.projection(projection).context(context)};function stereographicRaw(x,y){var cy=cos(y),k=1+cos(x)*cy;return[cy*sin(x)/k,sin(y)/k]}stereographicRaw.invert=azimuthalInvert((function(z){return 2*atan(z)}));var stereographic=function(){return projection_projection(stereographicRaw).scale(250).clipAngle(142)};function transverseMercatorRaw(lambda,phi){return[math_log(tan((halfPi+phi)/2)),-lambda]}transverseMercatorRaw.invert=function(x,y){return[-y,2*atan(exp(x))-halfPi]};var transverseMercator=function(){var m=mercatorProjection(transverseMercatorRaw),center=m.center,rotate=m.rotate;m.center=function(_){return arguments.length?center([-_[1],_[0]]):(_=center(),[_[1],-_[0]])};m.rotate=function(_){return arguments.length?rotate([_[0],_[1],_.length>2?_[2]+90:90]):(_=rotate(),[_[0],_[1],_[2]-90])};return rotate([0,0,90]).scale(159.155)};var math_abs=Math.abs;var math_atan=Math.atan;var math_atan2=Math.atan2;var math_ceil=Math.ceil;var math_cos=Math.cos;var math_exp=Math.exp;var math_floor=Math.floor;var src_math_log=Math.log;var math_max=Math.max;var math_min=Math.min;var src_math_pow=Math.pow;var math_round=Math.round;var src_math_sign=Math.sign||function(x){return x>0?1:x<0?-1:0};var math_sin=Math.sin;var math_tan=Math.tan;var src_math_epsilon=1e-6;var src_math_epsilon2=1e-12;var src_math_pi=Math.PI;var math_halfPi=src_math_pi/2;var math_quarterPi=src_math_pi/4;var sqrt1_2=Math.SQRT1_2;var sqrt2=src_math_sqrt(2);var sqrtPi=src_math_sqrt(src_math_pi);var src_math_tau=src_math_pi*2;var src_math_degrees=180/src_math_pi;var math_radians=src_math_pi/180;function sinci(x){return x?x/Math.sin(x):1}function math_asin(x){return x>1?math_halfPi:x<-1?-math_halfPi:Math.asin(x)}function math_acos(x){return x>1?0:x<-1?src_math_pi:Math.acos(x)}function src_math_sqrt(x){return x>0?Math.sqrt(x):0}function math_tanh(x){x=math_exp(2*x);return(x-1)/(x+1)}function math_sinh(x){return(math_exp(x)-math_exp(-x))/2}function math_cosh(x){return(math_exp(x)+math_exp(-x))/2}function arsinh(x){return src_math_log(x+src_math_sqrt(x*x+1))}function arcosh(x){return src_math_log(x+src_math_sqrt(x*x-1))}function armadilloRaw(phi0){var sinPhi0=math_sin(phi0),cosPhi0=math_cos(phi0),sPhi0=phi0>=0?1:-1,tanPhi0=math_tan(sPhi0*phi0),k=(1+sinPhi0-cosPhi0)/2;function forward(lambda,phi){var cosPhi=math_cos(phi),cosLambda=math_cos(lambda/=2);return[(1+cosPhi)*math_sin(lambda),(sPhi0*phi>-math_atan2(cosLambda,tanPhi0)-.001?0:-sPhi0*10)+k+math_sin(phi)*cosPhi0-(1+cosPhi)*sinPhi0*cosLambda]}forward.invert=function(x,y){var lambda=0,phi=0,i=50;do{var cosLambda=math_cos(lambda),sinLambda=math_sin(lambda),cosPhi=math_cos(phi),sinPhi=math_sin(phi),A=1+cosPhi,fx=A*sinLambda-x,fy=k+sinPhi*cosPhi0-A*sinPhi0*cosLambda-y,dxdLambda=A*cosLambda/2,dxdPhi=-sinLambda*sinPhi,dydLambda=sinPhi0*A*sinLambda/2,dydPhi=cosPhi0*cosPhi+sinPhi0*cosLambda*sinPhi,denominator=dxdPhi*dydLambda-dydPhi*dxdLambda,dLambda=(fy*dxdPhi-fx*dydPhi)/denominator/2,dPhi=(fx*dydLambda-fy*dxdLambda)/denominator;lambda-=dLambda,phi-=dPhi}while((math_abs(dLambda)>src_math_epsilon||math_abs(dPhi)>src_math_epsilon)&&--i>0);return sPhi0*phi>-math_atan2(math_cos(lambda),tanPhi0)-.001?[lambda*2,phi]:null};return forward}var armadillo=function(){var phi0=20*math_radians,sPhi0=phi0>=0?1:-1,tanPhi0=math_tan(sPhi0*phi0),m=projectionMutator(armadilloRaw),p=m(phi0),stream_=p.stream;p.parallel=function(_){if(!arguments.length)return phi0*src_math_degrees;tanPhi0=math_tan((sPhi0=(phi0=_*math_radians)>=0?1:-1)*phi0);return m(phi0)};p.stream=function(stream){var rotate=p.rotate(),rotateStream=stream_(stream),sphereStream=(p.rotate([0,0]),stream_(stream)),precision=p.precision();p.rotate(rotate);rotateStream.sphere=function(){sphereStream.polygonStart(),sphereStream.lineStart();for(var lambda=sPhi0*-180;sPhi0*lambda<180;lambda+=sPhi0*90)sphereStream.point(lambda,sPhi0*90);if(phi0)while(sPhi0*(lambda-=3*sPhi0*precision)>=-180){sphereStream.point(lambda,sPhi0*-math_atan2(math_cos(lambda*math_radians/2),tanPhi0)*src_math_degrees)}sphereStream.lineEnd(),sphereStream.polygonEnd()};return rotateStream};return p.scale(218.695).center([0,28.0974])};var sqrt8=src_math_sqrt(8),baker_phi0=src_math_log(1+sqrt2);function bakerRaw(lambda,phi){var phi0=math_abs(phi);return phi0src_math_epsilon2&&--i>0);return[x/(math_cos(phi)*(sqrt8-1/math_sin(phi))),src_math_sign(y)*phi]};var baker=function(){return projection_projection(bakerRaw).scale(112.314)};function hammerRaw(A,B){if(arguments.length<2)B=A;if(B===1)return azimuthalEqualAreaRaw;if(B===Infinity)return hammerQuarticAuthalicRaw;function forward(lambda,phi){var coordinates=azimuthalEqualAreaRaw(lambda/B,phi);coordinates[0]*=A;return coordinates}forward.invert=function(x,y){var coordinates=azimuthalEqualAreaRaw.invert(x/A,y);coordinates[0]*=B;return coordinates};return forward}function hammerQuarticAuthalicRaw(lambda,phi){return[lambda*math_cos(phi)/math_cos(phi/=2),2*math_sin(phi)]}hammerQuarticAuthalicRaw.invert=function(x,y){var phi=2*math_asin(y/2);return[x*math_cos(phi/2)/math_cos(phi),phi]};var src_hammer=function(){var B=2,m=projectionMutator(hammerRaw),p=m(B);p.coefficient=function(_){if(!arguments.length)return B;return m(B=+_)};return p.scale(169.529)};function solve(f,y,x){var steps=100,delta,f0,f1;x=x===undefined?0:+x;y=+y;do{f0=f(x);f1=f(x+src_math_epsilon);if(f0===f1)f1=f0+src_math_epsilon;x-=delta=-1*src_math_epsilon*(f0-y)/(f0-f1)}while(steps-- >0&&math_abs(delta)>src_math_epsilon);return steps<0?NaN:x}function solve2d(f,MAX_ITERATIONS,eps){if(MAX_ITERATIONS===undefined)MAX_ITERATIONS=40;if(eps===undefined)eps=src_math_epsilon2;return function(x,y,a,b){var err2,da,db;a=a===undefined?0:+a;b=b===undefined?0:+b;for(var i=0;ierr2){a-=da/=2;b-=db/=2;continue}err2=h;var ea=(a>0?-1:1)*eps,eb=(b>0?-1:1)*eps,pa=f(a+ea,b),pb=f(a,b+eb),dxa=(pa[0]-p[0])/ea,dya=(pa[1]-p[1])/ea,dxb=(pb[0]-p[0])/eb,dyb=(pb[1]-p[1])/eb,D=dyb*dxa-dya*dxb,l=(math_abs(D)<.5?.5:1)/D;da=(ty*dxb-tx*dyb)*l;db=(tx*dya-ty*dxa)*l;a+=da;b+=db;if(math_abs(da)0){r[1]*=1+d/1.5*r[0]*r[0]}return r}forward.invert=solve2d(forward);return forward}var bertin=function(){return projection_projection(bertin1953Raw()).rotate([-16.5,-42]).scale(176.57).center([7.93,.09])};function mollweideBromleyTheta(cp,phi){var cpsinPhi=cp*math_sin(phi),i=30,delta;do{phi-=delta=(phi+math_sin(phi)-cpsinPhi)/(1+math_cos(phi))}while(math_abs(delta)>src_math_epsilon&&--i>0);return phi/2}function mollweideBromleyRaw(cx,cy,cp){function forward(lambda,phi){return[cx*lambda*math_cos(phi=mollweideBromleyTheta(cp,phi)),cy*math_sin(phi)]}forward.invert=function(x,y){return y=math_asin(y/cy),[x/(cx*math_cos(y)),math_asin((2*y+math_sin(2*y))/cp)]};return forward}var mollweideRaw=mollweideBromleyRaw(sqrt2/math_halfPi,sqrt2,src_math_pi);var mollweide=function(){return projection_projection(mollweideRaw).scale(169.529)};var boggs_k=2.00276,boggs_w=1.11072;function boggsRaw(lambda,phi){var theta=mollweideBromleyTheta(src_math_pi,phi);return[boggs_k*lambda/(1/math_cos(phi)+boggs_w/math_cos(theta)),(phi+sqrt2*math_sin(theta))/boggs_k]}boggsRaw.invert=function(x,y){var ky=boggs_k*y,theta=y<0?-math_quarterPi:math_quarterPi,i=25,delta,phi;do{phi=ky-sqrt2*math_sin(theta);theta-=delta=(math_sin(2*theta)+2*theta-src_math_pi*math_sin(phi))/(2*math_cos(2*theta)+2+src_math_pi*math_cos(phi)*sqrt2*math_cos(theta))}while(math_abs(delta)>src_math_epsilon&&--i>0);phi=ky-sqrt2*math_sin(theta);return[x*(1/math_cos(phi)+boggs_w/math_cos(theta))/boggs_k,phi]};var boggs=function(){return projection_projection(boggsRaw).scale(160.857)};function interrupted_pointEqual(a,b){return math_abs(a[0]-b[0])=0;--i){lobe=lobes[1][i];lambda0=lobe[0][0],phi0=lobe[0][1],phi1=lobe[1][1];lambda2=lobe[2][0],phi2=lobe[2][1];coordinates.push(interpolateLine([[lambda2-src_math_epsilon,phi2-src_math_epsilon],[lambda2-src_math_epsilon,phi1+src_math_epsilon],[lambda0+src_math_epsilon,phi1+src_math_epsilon],[lambda0+src_math_epsilon,phi0-src_math_epsilon]],30))}return{type:"Polygon",coordinates:[src_merge(coordinates)]}}var interrupted=function(project,lobes,inverse){var sphere,bounds;function forward(lambda,phi){var sign=phi<0?-1:+1,lobe=lobes[+(phi<0)];for(var i=0,n=lobe.length-1;ilobe[i][2][0];++i);var p=project(lambda-lobe[i][1][0],phi);p[0]+=project(lobe[i][1][0],sign*phi>sign*lobe[i][0][1]?lobe[i][0][1]:phi)[0];return p}if(inverse){forward.invert=inverse(forward)}else if(project.invert){forward.invert=function(x,y){var bound=bounds[+(y<0)],lobe=lobes[+(y<0)];for(var i=0,n=bound.length;iy1)t=y0,y0=y1,y1=t;return[[x0,y0],[x1,y1]]}))}));return p};if(lobes!=null)p.lobes(lobes);return p};var boggs_lobes=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];var interrupted_boggs=function(){return interrupted(boggsRaw,boggs_lobes).scale(160.857)};var parallel1=function(projectAt){var phi0=0,m=projectionMutator(projectAt),p=m(phi0);p.parallel=function(_){return arguments.length?m(phi0=_*math_radians):phi0*src_math_degrees};return p};function sinusoidalRaw(lambda,phi){return[lambda*math_cos(phi),phi]}sinusoidalRaw.invert=function(x,y){return[x/math_cos(y),y]};var sinusoidal=function(){return projection_projection(sinusoidalRaw).scale(152.63)};function bonneRaw(phi0){if(!phi0)return sinusoidalRaw;var cotPhi0=1/math_tan(phi0);function forward(lambda,phi){var rho=cotPhi0+phi0-phi,e=rho?lambda*math_cos(phi)/rho:rho;return[rho*math_sin(e),cotPhi0-rho*math_cos(e)]}forward.invert=function(x,y){var rho=src_math_sqrt(x*x+(y=cotPhi0-y)*y),phi=cotPhi0+phi0-rho;return[rho/math_cos(phi)*math_atan2(x,y),phi]};return forward}var bonne=function(){return parallel1(bonneRaw).scale(123.082).center([0,26.1441]).parallel(45)};function bottomleyRaw(sinPsi){function forward(lambda,phi){var rho=math_halfPi-phi,eta=rho?lambda*sinPsi*math_sin(rho)/rho:rho;return[rho*math_sin(eta)/sinPsi,math_halfPi-rho*math_cos(eta)]}forward.invert=function(x,y){var x1=x*sinPsi,y1=math_halfPi-y,rho=src_math_sqrt(x1*x1+y1*y1),eta=math_atan2(x1,y1);return[(rho?rho/math_sin(rho):1)*eta/sinPsi,math_halfPi-rho]};return forward}var bottomley=function(){var sinPsi=.5,m=projectionMutator(bottomleyRaw),p=m(sinPsi);p.fraction=function(_){return arguments.length?m(sinPsi=+_):sinPsi};return p.scale(158.837)};var bromleyRaw=mollweideBromleyRaw(1,4/src_math_pi,src_math_pi);var bromley=function(){return projection_projection(bromleyRaw).scale(152.63)};function collignonRaw(lambda,phi){var alpha=src_math_sqrt(1-math_sin(phi));return[2/sqrtPi*lambda*alpha,sqrtPi*(1-alpha)]}collignonRaw.invert=function(x,y){var lambda=(lambda=y/sqrtPi-1)*lambda;return[lambda>0?x*src_math_sqrt(src_math_pi/lambda)/2:0,math_asin(1-lambda)]};var collignon=function(){return projection_projection(collignonRaw).scale(95.6464).center([0,30])};var sqrt3=src_math_sqrt(3);function crasterRaw(lambda,phi){return[sqrt3*lambda*(2*math_cos(2*phi/3)-1)/sqrtPi,sqrt3*sqrtPi*math_sin(phi/3)]}crasterRaw.invert=function(x,y){var phi=3*math_asin(y/(sqrt3*sqrtPi));return[sqrtPi*x/(sqrt3*(2*math_cos(2*phi/3)-1)),phi]};var craster=function(){return projection_projection(crasterRaw).scale(156.19)};function cylindricalEqualArea_cylindricalEqualAreaRaw(phi0){var cosPhi0=math_cos(phi0);function forward(lambda,phi){return[lambda*cosPhi0,math_sin(phi)/cosPhi0]}forward.invert=function(x,y){return[x/cosPhi0,math_asin(y*cosPhi0)]};return forward}var cylindricalEqualArea=function(){return parallel1(cylindricalEqualArea_cylindricalEqualAreaRaw).parallel(38.58).scale(195.044)};function cylindricalStereographicRaw(phi0){var cosPhi0=math_cos(phi0);function forward(lambda,phi){return[lambda*cosPhi0,(1+cosPhi0)*math_tan(phi/2)]}forward.invert=function(x,y){return[x/cosPhi0,math_atan(y/(1+cosPhi0))*2]};return forward}var cylindricalStereographic=function(){return parallel1(cylindricalStereographicRaw).scale(124.75)};function eckert1Raw(lambda,phi){var alpha=src_math_sqrt(8/(3*src_math_pi));return[alpha*lambda*(1-math_abs(phi)/src_math_pi),alpha*phi]}eckert1Raw.invert=function(x,y){var alpha=src_math_sqrt(8/(3*src_math_pi)),phi=y/alpha;return[x/(alpha*(1-math_abs(phi)/src_math_pi)),phi]};var eckert1=function(){return projection_projection(eckert1Raw).scale(165.664)};function eckert2Raw(lambda,phi){var alpha=src_math_sqrt(4-3*math_sin(math_abs(phi)));return[2/src_math_sqrt(6*src_math_pi)*lambda*alpha,src_math_sign(phi)*src_math_sqrt(2*src_math_pi/3)*(2-alpha)]}eckert2Raw.invert=function(x,y){var alpha=2-math_abs(y)/src_math_sqrt(2*src_math_pi/3);return[x*src_math_sqrt(6*src_math_pi)/(2*alpha),src_math_sign(y)*math_asin((4-alpha*alpha)/3)]};var eckert2=function(){return projection_projection(eckert2Raw).scale(165.664)};function eckert3Raw(lambda,phi){var k=src_math_sqrt(src_math_pi*(4+src_math_pi));return[2/k*lambda*(1+src_math_sqrt(1-4*phi*phi/(src_math_pi*src_math_pi))),4/k*phi]}eckert3Raw.invert=function(x,y){var k=src_math_sqrt(src_math_pi*(4+src_math_pi))/2;return[x*k/(1+src_math_sqrt(1-y*y*(4+src_math_pi)/(4*src_math_pi))),y*k/2]};var eckert3=function(){return projection_projection(eckert3Raw).scale(180.739)};function eckert4Raw(lambda,phi){var k=(2+math_halfPi)*math_sin(phi);phi/=2;for(var i=0,delta=Infinity;i<10&&math_abs(delta)>src_math_epsilon;i++){var cosPhi=math_cos(phi);phi-=delta=(phi+math_sin(phi)*(cosPhi+2)-k)/(2*cosPhi*(1+cosPhi))}return[2/src_math_sqrt(src_math_pi*(4+src_math_pi))*lambda*(1+math_cos(phi)),2*src_math_sqrt(src_math_pi/(4+src_math_pi))*math_sin(phi)]}eckert4Raw.invert=function(x,y){var A=y*src_math_sqrt((4+src_math_pi)/src_math_pi)/2,k=math_asin(A),c=math_cos(k);return[x/(2/src_math_sqrt(src_math_pi*(4+src_math_pi))*(1+c)),math_asin((k+A*(c+2))/(2+math_halfPi))]};var eckert4=function(){return projection_projection(eckert4Raw).scale(180.739)};function eckert5Raw(lambda,phi){return[lambda*(1+math_cos(phi))/src_math_sqrt(2+src_math_pi),2*phi/src_math_sqrt(2+src_math_pi)]}eckert5Raw.invert=function(x,y){var k=src_math_sqrt(2+src_math_pi),phi=y*k/2;return[k*x/(1+math_cos(phi)),phi]};var eckert5=function(){return projection_projection(eckert5Raw).scale(173.044)};function eckert6Raw(lambda,phi){var k=(1+math_halfPi)*math_sin(phi);for(var i=0,delta=Infinity;i<10&&math_abs(delta)>src_math_epsilon;i++){phi-=delta=(phi+math_sin(phi)-k)/(1+math_cos(phi))}k=src_math_sqrt(2+src_math_pi);return[lambda*(1+math_cos(phi))/k,2*phi/k]}eckert6Raw.invert=function(x,y){var j=1+math_halfPi,k=src_math_sqrt(j/2);return[x*2*k/(1+math_cos(y*=k)),math_asin((y+math_sin(y))/j)]};var eckert6=function(){return projection_projection(eckert6Raw).scale(173.044)};function augustRaw(lambda,phi){var tanPhi=math_tan(phi/2),k=src_math_sqrt(1-tanPhi*tanPhi),c=1+k*math_cos(lambda/=2),x=math_sin(lambda)*k/c,y=tanPhi/c,x2=x*x,y2=y*y;return[4/3*x*(3+x2-3*y2),4/3*y*(3+3*x2-y2)]}augustRaw.invert=function(x,y){x*=3/8,y*=3/8;if(!x&&math_abs(y)>1)return null;var x2=x*x,y2=y*y,s=1+x2+y2,sin3Eta=src_math_sqrt((s-src_math_sqrt(s*s-4*y*y))/2),eta=math_asin(sin3Eta)/3,xi=sin3Eta?arcosh(math_abs(y/sin3Eta))/3:arsinh(math_abs(x))/3,cosEta=math_cos(eta),coshXi=math_cosh(xi),d=coshXi*coshXi-cosEta*cosEta;return[src_math_sign(x)*2*math_atan2(math_sinh(xi)*cosEta,.25-d),src_math_sign(y)*2*math_atan2(coshXi*math_sin(eta),.25+d)]};var august=function(){return projection_projection(augustRaw).scale(66.1603)};var eisenlohrK=3+2*sqrt2;function eisenlohrRaw(lambda,phi){var s0=math_sin(lambda/=2),c0=math_cos(lambda),k=src_math_sqrt(math_cos(phi)),c1=math_cos(phi/=2),t=math_sin(phi)/(c1+sqrt2*c0*k),c=src_math_sqrt(2/(1+t*t)),v=src_math_sqrt((sqrt2*c1+(c0+s0)*k)/(sqrt2*c1+(c0-s0)*k));return[eisenlohrK*(c*(v-1/v)-2*src_math_log(v)),eisenlohrK*(c*t*(v+1/v)-2*math_atan(t))]}eisenlohrRaw.invert=function(x,y){if(!(p=augustRaw.invert(x/1.2,y*1.065)))return null;var lambda=p[0],phi=p[1],i=20,p;x/=eisenlohrK,y/=eisenlohrK;do{var _0=lambda/2,_1=phi/2,s0=math_sin(_0),c0=math_cos(_0),s1=math_sin(_1),c1=math_cos(_1),cos1=math_cos(phi),k=src_math_sqrt(cos1),t=s1/(c1+sqrt2*c0*k),t2=t*t,c=src_math_sqrt(2/(1+t2)),v0=sqrt2*c1+(c0+s0)*k,v1=sqrt2*c1+(c0-s0)*k,v2=v0/v1,v=src_math_sqrt(v2),vm1v=v-1/v,vp1v=v+1/v,fx=c*vm1v-2*src_math_log(v)-x,fy=c*t*vp1v-2*math_atan(t)-y,deltatDeltaLambda=s1&&sqrt1_2*k*s0*t2/s1,deltatDeltaPhi=(sqrt2*c0*c1+k)/(2*(c1+sqrt2*c0*k)*(c1+sqrt2*c0*k)*k),deltacDeltat=-.5*t*c*c*c,deltacDeltaLambda=deltacDeltat*deltatDeltaLambda,deltacDeltaPhi=deltacDeltat*deltatDeltaPhi,A=(A=2*c1+sqrt2*k*(c0-s0))*A*v,deltavDeltaLambda=(sqrt2*c0*c1*k+cos1)/A,deltavDeltaPhi=-(sqrt2*s0*s1)/(k*A),deltaxDeltaLambda=vm1v*deltacDeltaLambda-2*deltavDeltaLambda/v+c*(deltavDeltaLambda+deltavDeltaLambda/v2),deltaxDeltaPhi=vm1v*deltacDeltaPhi-2*deltavDeltaPhi/v+c*(deltavDeltaPhi+deltavDeltaPhi/v2),deltayDeltaLambda=t*vp1v*deltacDeltaLambda-2*deltatDeltaLambda/(1+t2)+c*vp1v*deltatDeltaLambda+c*t*(deltavDeltaLambda-deltavDeltaLambda/v2),deltayDeltaPhi=t*vp1v*deltacDeltaPhi-2*deltatDeltaPhi/(1+t2)+c*vp1v*deltatDeltaPhi+c*t*(deltavDeltaPhi-deltavDeltaPhi/v2),denominator=deltaxDeltaPhi*deltayDeltaLambda-deltayDeltaPhi*deltaxDeltaLambda;if(!denominator)break;var deltaLambda=(fy*deltaxDeltaPhi-fx*deltayDeltaPhi)/denominator,deltaPhi=(fx*deltayDeltaLambda-fy*deltaxDeltaLambda)/denominator;lambda-=deltaLambda;phi=math_max(-math_halfPi,math_min(math_halfPi,phi-deltaPhi))}while((math_abs(deltaLambda)>src_math_epsilon||math_abs(deltaPhi)>src_math_epsilon)&&--i>0);return math_abs(math_abs(phi)-math_halfPi)0?-.5:.5,point=project(lambda+s*src_math_pi,phi);point[0]-=s*dx;return point}if(project.invert)projectSquare.invert=function(x,y){var s=x>0?-.5:.5,location=project.invert(x+s*dx,y),lambda=location[0]-s*src_math_pi;if(lambda<-src_math_pi)lambda+=2*src_math_pi;else if(lambda>src_math_pi)lambda-=2*src_math_pi;location[0]=lambda;return location};return projectSquare};function gringortenRaw(lambda,phi){var sLambda=src_math_sign(lambda),sPhi=src_math_sign(phi),cosPhi=math_cos(phi),x=math_cos(lambda)*cosPhi,y=math_sin(lambda)*cosPhi,z=math_sin(sPhi*phi);lambda=math_abs(math_atan2(y,z));phi=math_asin(x);if(math_abs(lambda-math_halfPi)>src_math_epsilon)lambda%=math_halfPi;var point=gringortenHexadecant(lambda>src_math_pi/4?math_halfPi-lambda:lambda,phi);if(lambda>src_math_pi/4)z=point[0],point[0]=-point[1],point[1]=-z;return point[0]*=sLambda,point[1]*=-sPhi,point}gringortenRaw.invert=function(x,y){if(math_abs(x)>1)x=src_math_sign(x)*2-x;if(math_abs(y)>1)y=src_math_sign(y)*2-y;var sx=src_math_sign(x),sy=src_math_sign(y),x0=-sx*x,y0=-sy*y,t=y0/x0<1,p=gringortenHexadecantInvert(t?y0:x0,t?x0:y0),lambda=p[0],phi=p[1],cosPhi=math_cos(phi);if(t)lambda=-math_halfPi-lambda;return[sx*(math_atan2(math_sin(lambda)*cosPhi,-math_sin(phi))+src_math_pi),sy*math_asin(math_cos(lambda)*cosPhi)]};function gringortenHexadecant(lambda,phi){if(phi===math_halfPi)return[0,0];var sinPhi=math_sin(phi),r=sinPhi*sinPhi,r2=r*r,j=1+r2,k=1+3*r2,q=1-r2,z=math_asin(1/src_math_sqrt(j)),v=q+r*j*z,p2=(1-sinPhi)/v,p=src_math_sqrt(p2),a2=p2*j,a=src_math_sqrt(a2),h=p*q,x,i;if(lambda===0)return[0,-(h+r*a)];var cosPhi=math_cos(phi),secPhi=1/cosPhi,drdPhi=2*sinPhi*cosPhi,dvdPhi=(-3*r+z*k)*drdPhi,dp2dPhi=(-v*cosPhi-(1-sinPhi)*dvdPhi)/(v*v),dpdPhi=.5*dp2dPhi/p,dhdPhi=q*dpdPhi-2*r*p*drdPhi,dra2dPhi=r*j*dp2dPhi+p2*k*drdPhi,mu=-secPhi*drdPhi,nu=-secPhi*dra2dPhi,zeta=-2*secPhi*dhdPhi,lambda1=4*lambda/src_math_pi,delta;if(lambda>.222*src_math_pi||phi.175*src_math_pi){x=(h+r*src_math_sqrt(a2*(1+r2)-h*h))/(1+r2);if(lambda>src_math_pi/4)return[x,x];var x1=x,x0=.5*x;x=.5*(x0+x1),i=50;do{var g=src_math_sqrt(a2-x*x),f=x*(zeta+mu*g)+nu*math_asin(x/a)-lambda1;if(!f)break;if(f<0)x0=x;else x1=x;x=.5*(x0+x1)}while(math_abs(x1-x0)>src_math_epsilon&&--i>0)}else{x=src_math_epsilon,i=25;do{var x2=x*x,g2=src_math_sqrt(a2-x2),zetaMug=zeta+mu*g2,f2=x*zetaMug+nu*math_asin(x/a)-lambda1,df=zetaMug+(nu-mu*x2)/g2;x-=delta=g2?f2/df:0}while(math_abs(delta)>src_math_epsilon&&--i>0)}return[x,-h-r*src_math_sqrt(a2-x*x)]}function gringortenHexadecantInvert(x,y){var x0=0,x1=1,r=.5,i=50;while(true){var r2=r*r,sinPhi=src_math_sqrt(r),z=math_asin(1/src_math_sqrt(1+r2)),v=1-r2+r*(1+r2)*z,p2=(1-sinPhi)/v,p=src_math_sqrt(p2),a2=p2*(1+r2),h=p*(1-r2),g2=a2-x*x,g=src_math_sqrt(g2),y0=y+h+r*g;if(math_abs(x1-x0)0)x0=r;else x1=r;r=.5*(x0+x1)}if(!i)return null;var phi=math_asin(sinPhi),cosPhi=math_cos(phi),secPhi=1/cosPhi,drdPhi=2*sinPhi*cosPhi,dvdPhi=(-3*r+z*(1+3*r2))*drdPhi,dp2dPhi=(-v*cosPhi-(1-sinPhi)*dvdPhi)/(v*v),dpdPhi=.5*dp2dPhi/p,dhdPhi=(1-r2)*dpdPhi-2*r*p*drdPhi,zeta=-2*secPhi*dhdPhi,mu=-secPhi*drdPhi,nu=-secPhi*(r*(1+r2)*dp2dPhi+p2*(1+3*r2)*drdPhi);return[src_math_pi/4*(x*(zeta+mu*g)+nu*math_asin(x/src_math_sqrt(a2))),phi]}var gringorten=function(){return projection_projection(square(gringortenRaw)).scale(239.75)};var quincuncial=function(project){var dx=project(math_halfPi,0)[0]-project(-math_halfPi,0)[0];function projectQuincuncial(lambda,phi){var t=math_abs(lambda)0?lambda-src_math_pi:lambda+src_math_pi,phi),x=(p[0]-p[1])*sqrt1_2,y=(p[0]+p[1])*sqrt1_2;if(t)return[x,y];var d=dx*sqrt1_2,s=x>0^y>0?-1:1;return[s*x-src_math_sign(y)*d,s*y-src_math_sign(x)*d]}if(project.invert)projectQuincuncial.invert=function(x0,y0){var x=(x0+y0)*sqrt1_2,y=(y0-x0)*sqrt1_2,t=math_abs(x)<.5*dx&&math_abs(y)<.5*dx;if(!t){var d=dx*sqrt1_2,s=x>0^y>0?-1:1,x1=-s*x0+(y>0?1:-1)*d,y1=-s*y0+(x>0?1:-1)*d;x=(-x1-y1)*sqrt1_2;y=(x1-y1)*sqrt1_2}var p=project.invert(x,y);if(!t)p[0]+=x>0?src_math_pi:-src_math_pi;return p};return projection_projection(projectQuincuncial).rotate([-90,-90,45]).clipAngle(180-.001)};var quincuncial_gringorten=function(){return quincuncial(gringortenRaw).scale(176.423)};var healpix_K=3,healpixParallel=math_asin(1-1/healpix_K)*src_math_degrees,healpixLambert=cylindricalEqualArea_cylindricalEqualAreaRaw(0);function healpixRaw(H){var phi0=healpixParallel*math_radians,dx=collignonRaw(src_math_pi,phi0)[0]-collignonRaw(-src_math_pi,phi0)[0],y0=healpixLambert(0,phi0)[1],y1=collignonRaw(0,phi0)[1],dy1=sqrtPi-y1,k=src_math_tau/H,w=4/src_math_tau,h=y0+dy1*dy1*4/src_math_tau;function forward(lambda,phi){var point,phi2=math_abs(phi);if(phi2>phi0){var i=math_min(H-1,math_max(0,math_floor((lambda+src_math_pi)/k)));lambda+=src_math_pi*(H-1)/H-i*k;point=collignonRaw(lambda,phi2);point[0]=point[0]*src_math_tau/dx-src_math_tau*(H-1)/(2*H)+i*src_math_tau/H;point[1]=y0+(point[1]-y1)*4*dy1/src_math_tau;if(phi<0)point[1]=-point[1]}else{point=healpixLambert(lambda,phi)}point[0]*=w,point[1]/=h;return point}forward.invert=function(x,y){x/=w,y*=h;var y2=math_abs(y);if(y2>y0){var i=math_min(H-1,math_max(0,math_floor((x+src_math_pi)/k)));x=(x+src_math_pi*(H-1)/H-i*k)*dx/src_math_tau;var point=collignonRaw.invert(x,.25*(y2-y0)*src_math_tau/dy1+y1);point[0]-=src_math_pi*(H-1)/H-i*k;if(y<0)point[1]=-point[1];return point}return healpixLambert.invert(x,y)};return forward}function sphereTop(x,i){return[x,i&1?90-src_math_epsilon:healpixParallel]}function sphereBottom(x,i){return[x,i&1?-90+src_math_epsilon:-healpixParallel]}function sphereNudge(d){return[d[0]*(1-src_math_epsilon),d[1]]}function healpix_sphere(step){var c=[].concat(src_range(-180,180+step/2,step).map(sphereTop),src_range(180,-180-step/2,-step).map(sphereBottom));return{type:"Polygon",coordinates:[step===180?c.map(sphereNudge):c]}}var healpix=function(){var H=4,m=projectionMutator(healpixRaw),p=m(H),stream_=p.stream;p.lobes=function(_){return arguments.length?m(H=+_):H};p.stream=function(stream){var rotate=p.rotate(),rotateStream=stream_(stream),sphereStream=(p.rotate([0,0]),stream_(stream));p.rotate(rotate);rotateStream.sphere=function(){src_stream(healpix_sphere(180/H),sphereStream)};return rotateStream};return p.scale(239.75)};var sinuMollweidePhi=.7109889596207567;var sinuMollweideY=.0528035274542;function sinuMollweideRaw(lambda,phi){return phi>-sinuMollweidePhi?(lambda=mollweideRaw(lambda,phi),lambda[1]+=sinuMollweideY,lambda):sinusoidalRaw(lambda,phi)}sinuMollweideRaw.invert=function(x,y){return y>-sinuMollweidePhi?mollweideRaw.invert(x,y-sinuMollweideY):sinusoidalRaw.invert(x,y)};var sinuMollweide=function(){return projection_projection(sinuMollweideRaw).rotate([-20,-55]).scale(164.263).center([0,-5.4036])};function homolosineRaw(lambda,phi){return math_abs(phi)>sinuMollweidePhi?(lambda=mollweideRaw(lambda,phi),lambda[1]-=phi>0?sinuMollweideY:-sinuMollweideY,lambda):sinusoidalRaw(lambda,phi)}homolosineRaw.invert=function(x,y){return math_abs(y)>sinuMollweidePhi?mollweideRaw.invert(x,y+(y>0?sinuMollweideY:-sinuMollweideY)):sinusoidalRaw.invert(x,y)};var homolosine=function(){return projection_projection(homolosineRaw).scale(152.63)};var homolosine_lobes=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];var interrupted_homolosine=function(){return interrupted(homolosineRaw,homolosine_lobes).scale(152.63)};function loximuthalRaw(phi0){var cosPhi0=math_cos(phi0),tanPhi0=math_tan(math_quarterPi+phi0/2);function forward(lambda,phi){var y=phi-phi0,x=math_abs(y)src_math_epsilon2&&--i>0);phi2=phi*phi;phi4=phi2*phi2;phi6=phi2*phi4;return[x/(.84719-.13063*phi2+phi6*phi6*(-.04515+.05494*phi2-.02326*phi4+.00331*phi6)),phi]};var naturalEarth2=function(){return projection_projection(naturalEarth2Raw).scale(175.295)};function millerRaw(lambda,phi){return[lambda,1.25*src_math_log(math_tan(math_quarterPi+.4*phi))]}millerRaw.invert=function(x,y){return[x,2.5*math_atan(math_exp(.8*y))-.625*src_math_pi]};var miller=function(){return projection_projection(millerRaw).scale(108.318)};function modifiedStereographicRaw(C){var m=C.length-1;function forward(lambda,phi){var cosPhi=math_cos(phi),k=2/(1+cosPhi*math_cos(lambda)),zr=k*cosPhi*math_sin(lambda),zi=k*math_sin(phi),i=m,w=C[i],ar=w[0],ai=w[1],t;while(--i>=0){w=C[i];ar=w[0]+zr*(t=ar)-zi*ai;ai=w[1]+zr*ai+zi*t}ar=zr*(t=ar)-zi*ai;ai=zr*ai+zi*t;return[ar,ai]}forward.invert=function(x,y){var i=20,zr=x,zi=y;do{var j=m,w=C[j],ar=w[0],ai=w[1],br=0,bi=0,t;while(--j>=0){w=C[j];br=ar+zr*(t=br)-zi*bi;bi=ai+zr*bi+zi*t;ar=w[0]+zr*(t=ar)-zi*ai;ai=w[1]+zr*ai+zi*t}br=ar+zr*(t=br)-zi*bi;bi=ai+zr*bi+zi*t;ar=zr*(t=ar)-zi*ai-x;ai=zr*ai+zi*t-y;var denominator=br*br+bi*bi,deltar,deltai;zr-=deltar=(ar*br+ai*bi)/denominator;zi-=deltai=(ai*br-ar*bi)/denominator}while(math_abs(deltar)+math_abs(deltai)>src_math_epsilon*src_math_epsilon&&--i>0);if(i){var rho=src_math_sqrt(zr*zr+zi*zi),c=2*math_atan(rho*.5),sinc=math_sin(c);return[math_atan2(zr*sinc,rho*math_cos(c)),rho?math_asin(zi*sinc/rho):0]}};return forward}var modifiedStereographic_alaska=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],gs48=[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],gs50=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],modifiedStereographic_miller=[[.9245,0],[0,0],[.01943,0]],lee=[[.721316,0],[0,0],[-.00881625,-.00617325]];function modifiedStereographicAlaska(){return modifiedStereographic(modifiedStereographic_alaska,[152,-64]).scale(1400).center([-160.908,62.4864]).clipAngle(30).angle(7.8)}function modifiedStereographicGs48(){return modifiedStereographic(gs48,[95,-38]).scale(1e3).clipAngle(55).center([-96.5563,38.8675])}function modifiedStereographicGs50(){return modifiedStereographic(gs50,[120,-45]).scale(359.513).clipAngle(55).center([-117.474,53.0628])}function modifiedStereographicMiller(){return modifiedStereographic(modifiedStereographic_miller,[-20,-18]).scale(209.091).center([20,16.7214]).clipAngle(82)}function modifiedStereographicLee(){return modifiedStereographic(lee,[165,10]).scale(250).clipAngle(130).center([-165,-10])}function modifiedStereographic(coefficients,rotate){var p=projection_projection(modifiedStereographicRaw(coefficients)).rotate(rotate).clipAngle(90),r=src_rotation(rotate),center=p.center;delete p.rotate;p.center=function(_){return arguments.length?center(r(_)):r.invert(center())};return p}var pattersonK1=1.0148,pattersonK2=.23185,pattersonK3=-.14499,pattersonK4=.02406,pattersonC1=pattersonK1,pattersonC2=5*pattersonK2,pattersonC3=7*pattersonK3,pattersonC4=9*pattersonK4,pattersonYmax=1.790857183;function pattersonRaw(lambda,phi){var phi2=phi*phi;return[lambda,phi*(pattersonK1+phi2*phi2*(pattersonK2+phi2*(pattersonK3+pattersonK4*phi2)))]}pattersonRaw.invert=function(x,y){if(y>pattersonYmax)y=pattersonYmax;else if(y<-pattersonYmax)y=-pattersonYmax;var yc=y,delta;do{var y2=yc*yc;yc-=delta=(yc*(pattersonK1+y2*y2*(pattersonK2+y2*(pattersonK3+pattersonK4*y2)))-y)/(pattersonC1+y2*y2*(pattersonC2+y2*(pattersonC3+pattersonC4*y2)))}while(math_abs(delta)>src_math_epsilon);return[x,yc]};var patterson=function(){return projection_projection(pattersonRaw).scale(139.319)};function ellipticJi(u,v,m){var a,b,c;if(!u){b=ellipticJ(v,1-m);return[[0,b[0]/b[1]],[1/b[1],0],[b[2]/b[1],0]]}a=ellipticJ(u,m);if(!v)return[[a[0],0],[a[1],0],[a[2],0]];b=ellipticJ(v,1-m);c=b[1]*b[1]+m*a[0]*a[0]*b[0]*b[0];return[[a[0]*b[2]/c,a[1]*a[2]*b[0]*b[1]/c],[a[1]*b[1]/c,-a[0]*a[2]*b[0]*b[2]/c],[a[2]*b[1]*b[2]/c,-m*a[0]*a[1]*b[0]/c]]}function ellipticJ(u,m){var ai,b,phi,t,twon;if(m=1-src_math_epsilon){ai=(1-m)/4;b=math_cosh(u);t=math_tanh(u);phi=1/b;twon=b*math_sinh(u);return[t+ai*(twon-u)/(b*b),phi-ai*t*phi*(twon-u),phi+ai*t*phi*(twon+u),2*math_atan(math_exp(u))-math_halfPi+ai*(twon-u)/b]}var a=[1,0,0,0,0,0,0,0,0],c=[src_math_sqrt(m),0,0,0,0,0,0,0,0],i=0;b=src_math_sqrt(1-m);twon=1;while(math_abs(c[i]/a[i])>src_math_epsilon&&i<8){ai=a[i++];c[i]=(ai-b)/2;a[i]=(ai+b)/2;b=src_math_sqrt(ai*b);twon*=2}phi=twon*a[i]*u;do{t=c[i]*math_sin(b=phi)/a[i];phi=(math_asin(t)+phi)/2}while(--i);return[math_sin(phi),t=math_cos(phi),t/math_cos(phi-b),phi]}function ellipticFi(phi,psi,m){var r=math_abs(phi),i=math_abs(psi),sinhPsi=math_sinh(i);if(r){var cscPhi=1/math_sin(r),cotPhi2=1/(math_tan(r)*math_tan(r)),b=-(cotPhi2+m*(sinhPsi*sinhPsi*cscPhi*cscPhi)-1+m),c=(m-1)*cotPhi2,cotLambda2=(-b+src_math_sqrt(b*b-4*c))/2;return[ellipticF(math_atan(1/src_math_sqrt(cotLambda2)),m)*src_math_sign(phi),ellipticF(math_atan(src_math_sqrt((cotLambda2/cotPhi2-1)/m)),1-m)*src_math_sign(psi)]}return[0,ellipticF(math_atan(sinhPsi),1-m)*src_math_sign(psi)]}function ellipticF(phi,m){if(!m)return phi;if(m===1)return src_math_log(math_tan(phi/2+math_quarterPi));var a=1,b=src_math_sqrt(1-m),c=src_math_sqrt(m);for(var i=0;math_abs(c)>src_math_epsilon;i++){if(phi%src_math_pi){var dPhi=math_atan(b*math_tan(phi)/a);if(dPhi<0)dPhi+=src_math_pi;phi+=dPhi+~~(phi/src_math_pi)*src_math_pi}else phi+=phi;c=(a+b)/2;b=src_math_sqrt(a*b);c=((a=c)-b)/2}return phi/(src_math_pow(2,i)*a)}function guyouRaw(lambda,phi){var k_=(sqrt2-1)/(sqrt2+1),k=src_math_sqrt(1-k_*k_),K=ellipticF(math_halfPi,k*k),f=-1,psi=src_math_log(math_tan(src_math_pi/4+math_abs(phi)/2)),r=math_exp(f*psi)/src_math_sqrt(k_),at=guyouComplexAtan(r*math_cos(f*lambda),r*math_sin(f*lambda)),t=ellipticFi(at[0],at[1],k*k);return[-t[1],(phi>=0?1:-1)*(.5*K-t[0])]}function guyouComplexAtan(x,y){var x2=x*x,y_1=y+1,t=1-x2-y*y;return[.5*((x>=0?math_halfPi:-math_halfPi)-math_atan2(t,2*x)),-.25*src_math_log(t*t+4*x2)+.5*src_math_log(y_1*y_1+x2)]}function guyouComplexDivide(a,b){var denominator=b[0]*b[0]+b[1]*b[1];return[(a[0]*b[0]+a[1]*b[1])/denominator,(a[1]*b[0]-a[0]*b[1])/denominator]}guyouRaw.invert=function(x,y){var k_=(sqrt2-1)/(sqrt2+1),k=src_math_sqrt(1-k_*k_),K=ellipticF(math_halfPi,k*k),f=-1,j=ellipticJi(.5*K-y,-x,k*k),tn=guyouComplexDivide(j[0],j[1]),lambda=math_atan2(tn[1],tn[0])/f;return[lambda,2*math_atan(math_exp(.5/f*src_math_log(k_*tn[0]*tn[0]+k_*tn[1]*tn[1])))-math_halfPi]};var guyou=function(){return projection_projection(square(guyouRaw)).scale(151.496)};var peirce=function(){return quincuncial(guyouRaw).scale(111.48)};function polyconicRaw(lambda,phi){if(math_abs(phi)src_math_epsilon&&--i>0);tanPhi=math_tan(phi);return[(math_abs(y)0?math_halfPi:-math_halfPi)*(by+di*(cy-ay)/2+di*di*(cy-2*by+ay)/2)]}robinsonRaw.invert=function(x,y){var yy=y/math_halfPi,phi=yy*90,i=math_min(18,math_abs(phi/5)),i0=math_max(0,math_floor(i));do{var ay=robinson_K[i0][1],by=robinson_K[i0+1][1],cy=robinson_K[math_min(19,i0+2)][1],u=cy-ay,v=cy-2*by+ay,t=2*(math_abs(yy)-by)/u,c=v/u,di=t*(1-c*t*(1-2*c*t));if(di>=0||i0===1){phi=(y>=0?5:-5)*(di+i);var j=50,delta;do{i=math_min(18,math_abs(phi)/5);i0=math_floor(i);di=i-i0;ay=robinson_K[i0][1];by=robinson_K[i0+1][1];cy=robinson_K[math_min(19,i0+2)][1];phi-=(delta=(y>=0?math_halfPi:-math_halfPi)*(by+di*(cy-ay)/2+di*di*(cy-2*by+ay)/2)-y)*src_math_degrees}while(math_abs(delta)>src_math_epsilon2&&--j>0);break}}while(--i0>=0);var ax=robinson_K[i0][0],bx=robinson_K[i0+1][0],cx=robinson_K[math_min(19,i0+2)][0];return[x/(bx+di*(cx-ax)/2+di*di*(cx-2*bx+ax)/2),phi*math_radians]};var robinson=function(){return projection_projection(robinsonRaw).scale(152.63)};var sinuMollweide_lobes=[[[[-180,35],[-30,90],[0,35]],[[0,35],[30,90],[180,35]]],[[[-180,-10],[-102,-90],[-65,-10]],[[-65,-10],[5,-90],[77,-10]],[[77,-10],[103,-90],[180,-10]]]];var interrupted_sinuMollweide=function(){return interrupted(sinuMollweideRaw,sinuMollweide_lobes,solve2d).rotate([-20,-55]).scale(164.263).center([0,-5.4036])};var sinusoidal_lobes=[[[[-180,0],[-110,90],[-40,0]],[[-40,0],[0,90],[40,0]],[[40,0],[110,90],[180,0]]],[[[-180,0],[-110,-90],[-40,0]],[[-40,0],[0,-90],[40,0]],[[40,0],[110,-90],[180,0]]]];var interrupted_sinusoidal=function(){return interrupted(sinusoidalRaw,sinusoidal_lobes).scale(152.63).rotate([-20,0])};function vanDerGrintenRaw(lambda,phi){if(math_abs(phi)src_math_epsilon&&--i>0);return[src_math_sign(x)*(src_math_sqrt(D*D+4)+D)*src_math_pi/4,math_halfPi*B]};var vanDerGrinten4=function(){return projection_projection(vanDerGrinten4Raw).scale(127.16)};function aitoffRaw(x,y){var cosy=math_cos(y),sincia=sinci(math_acos(cosy*math_cos(x/=2)));return[2*cosy*math_sin(x)*sincia,math_sin(y)*sincia]}aitoffRaw.invert=function(x,y){if(x*x+4*y*y>src_math_pi*src_math_pi+src_math_epsilon)return;var x1=x,y1=y,i=25;do{var sinx=math_sin(x1),sinx_2=math_sin(x1/2),cosx_2=math_cos(x1/2),siny=math_sin(y1),cosy=math_cos(y1),sin_2y=math_sin(2*y1),sin2y=siny*siny,cos2y=cosy*cosy,sin2x_2=sinx_2*sinx_2,c=1-cos2y*cosx_2*cosx_2,e=c?math_acos(cosy*cosx_2)*src_math_sqrt(f=1/c):f=0,f,fx=2*e*cosy*sinx_2-x,fy=e*siny-y,dxdx=f*(cos2y*sin2x_2+e*cosy*cosx_2*sin2y),dxdy=f*(.5*sinx*sin_2y-e*2*siny*sinx_2),dydx=f*.25*(sin_2y*sinx_2-e*siny*cos2y*sinx),dydy=f*(sin2y*cosx_2+e*sin2x_2*cosy),z=dxdy*dydx-dydy*dxdx;if(!z)break;var dx=(fy*dxdy-fx*dydy)/z,dy=(fx*dydx-fy*dxdx)/z;x1-=dx,y1-=dy}while((math_abs(dx)>src_math_epsilon||math_abs(dy)>src_math_epsilon)&&--i>0);return[x1,y1]};var aitoff=function(){return projection_projection(aitoffRaw).scale(152.63)};function winkel3Raw(lambda,phi){var coordinates=aitoffRaw(lambda,phi);return[(coordinates[0]+lambda/math_halfPi)/2,(coordinates[1]+phi)/2]}winkel3Raw.invert=function(x,y){var lambda=x,phi=y,i=25;do{var cosphi=math_cos(phi),sinphi=math_sin(phi),sin_2phi=math_sin(2*phi),sin2phi=sinphi*sinphi,cos2phi=cosphi*cosphi,sinlambda=math_sin(lambda),coslambda_2=math_cos(lambda/2),sinlambda_2=math_sin(lambda/2),sin2lambda_2=sinlambda_2*sinlambda_2,C=1-cos2phi*coslambda_2*coslambda_2,E=C?math_acos(cosphi*coslambda_2)*src_math_sqrt(F=1/C):F=0,F,fx=.5*(2*E*cosphi*sinlambda_2+lambda/math_halfPi)-x,fy=.5*(E*sinphi+phi)-y,dxdlambda=.5*F*(cos2phi*sin2lambda_2+E*cosphi*coslambda_2*sin2phi)+.5/math_halfPi,dxdphi=F*(sinlambda*sin_2phi/4-E*sinphi*sinlambda_2),dydlambda=.125*F*(sin_2phi*sinlambda_2-E*sinphi*cos2phi*sinlambda),dydphi=.5*F*(sin2phi*coslambda_2+E*sin2lambda_2*cosphi)+.5,denominator=dxdphi*dydlambda-dydphi*dxdlambda,dlambda=(fy*dxdphi-fx*dydphi)/denominator,dphi=(fx*dydlambda-fy*dxdlambda)/denominator;lambda-=dlambda,phi-=dphi}while((math_abs(dlambda)>src_math_epsilon||math_abs(dphi)>src_math_epsilon)&&--i>0);return[lambda,phi]};var winkel3=function(){return projection_projection(winkel3Raw).scale(158.837)}}}); \ No newline at end of file diff --git a/client/dist/html/modules.html b/client/dist/html/modules.html index 070579f16..ac5a92923 100644 --- a/client/dist/html/modules.html +++ b/client/dist/html/modules.html @@ -1,5 +1,5 @@ - + @@ -66,8 +66,8 @@ - + - + diff --git a/client/dist/vendor.bdd2ca.js b/client/dist/vendor.bdd2ca.js deleted file mode 100644 index c49b9de6a..000000000 --- a/client/dist/vendor.bdd2ca.js +++ /dev/null @@ -1,2359 +0,0 @@ -(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["vendor"],{ - -/***/ "./node_modules/alertifyjs/build/alertify.js": -/*!***************************************************!*\ - !*** ./node_modules/alertifyjs/build/alertify.js ***! - \***************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\r\n * alertifyjs 1.11.4 http://alertifyjs.com\r\n * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications.\r\n * Copyright 2019 Mohammad Younes (http://alertifyjs.com) \r\n * Licensed under GPL 3 */\r\n( function ( window ) {\r\n 'use strict';\r\n \r\n /**\r\n * Keys enum\r\n * @type {Object}\r\n */\r\n var keys = {\r\n ENTER: 13,\r\n ESC: 27,\r\n F1: 112,\r\n F12: 123,\r\n LEFT: 37,\r\n RIGHT: 39\r\n };\r\n /**\r\n * Default options \r\n * @type {Object}\r\n */\r\n var defaults = {\r\n autoReset:true,\r\n basic:false,\r\n closable:true,\r\n closableByDimmer:true,\r\n frameless:false,\r\n maintainFocus:true, //global default not per instance, applies to all dialogs\r\n maximizable:true,\r\n modal:true,\r\n movable:true,\r\n moveBounded:false,\r\n overflow:true,\r\n padding: true,\r\n pinnable:true,\r\n pinned:true,\r\n preventBodyShift:false, //global default not per instance, applies to all dialogs\r\n resizable:true,\r\n startMaximized:false,\r\n transition:'pulse',\r\n notifier:{\r\n delay:5,\r\n position:'bottom-right',\r\n closeButton:false\r\n },\r\n glossary:{\r\n title:'AlertifyJS',\r\n ok: 'OK',\r\n cancel: 'Cancel',\r\n acccpt: 'Accept',\r\n deny: 'Deny',\r\n confirm: 'Confirm',\r\n decline: 'Decline',\r\n close: 'Close',\r\n maximize: 'Maximize',\r\n restore: 'Restore',\r\n },\r\n theme:{\r\n input:'ajs-input',\r\n ok:'ajs-ok',\r\n cancel:'ajs-cancel',\r\n }\r\n };\r\n \r\n //holds open dialogs instances\r\n var openDialogs = [];\r\n\r\n /**\r\n * [Helper] Adds the specified class(es) to the element.\r\n *\r\n * @element {node} The element\r\n * @className {string} One or more space-separated classes to be added to the class attribute of the element.\r\n * \r\n * @return {undefined}\r\n */\r\n function addClass(element,classNames){\r\n element.className += ' ' + classNames;\r\n }\r\n \r\n /**\r\n * [Helper] Removes the specified class(es) from the element.\r\n *\r\n * @element {node} The element\r\n * @className {string} One or more space-separated classes to be removed from the class attribute of the element.\r\n * \r\n * @return {undefined}\r\n */\r\n function removeClass(element, classNames) {\r\n var original = element.className.split(' ');\r\n var toBeRemoved = classNames.split(' ');\r\n for (var x = 0; x < toBeRemoved.length; x += 1) {\r\n var index = original.indexOf(toBeRemoved[x]);\r\n if (index > -1){\r\n original.splice(index,1);\r\n }\r\n }\r\n element.className = original.join(' ');\r\n }\r\n\r\n /**\r\n * [Helper] Checks if the document is RTL\r\n *\r\n * @return {Boolean} True if the document is RTL, false otherwise.\r\n */\r\n function isRightToLeft(){\r\n return window.getComputedStyle(document.body).direction === 'rtl';\r\n }\r\n /**\r\n * [Helper] Get the document current scrollTop\r\n *\r\n * @return {Number} current document scrollTop value\r\n */\r\n function getScrollTop(){\r\n return ((document.documentElement && document.documentElement.scrollTop) || document.body.scrollTop);\r\n }\r\n\r\n /**\r\n * [Helper] Get the document current scrollLeft\r\n *\r\n * @return {Number} current document scrollLeft value\r\n */\r\n function getScrollLeft(){\r\n return ((document.documentElement && document.documentElement.scrollLeft) || document.body.scrollLeft);\r\n }\r\n\r\n /**\r\n * Helper: clear contents\r\n *\r\n */\r\n function clearContents(element){\r\n while (element.lastChild) {\r\n element.removeChild(element.lastChild);\r\n }\r\n }\r\n /**\r\n * Extends a given prototype by merging properties from base into sub.\r\n *\r\n * @sub {Object} sub The prototype being overwritten.\r\n * @base {Object} base The prototype being written.\r\n *\r\n * @return {Object} The extended prototype.\r\n */\r\n function copy(src) {\r\n if(null === src){\r\n return src;\r\n }\r\n var cpy;\r\n if(Array.isArray(src)){\r\n cpy = [];\r\n for(var x=0;x 0) {\r\n var args = [];\r\n for (var x = 0; x < arguments.length; x += 1) {\r\n args.push(arguments[x]);\r\n }\r\n args.push(context);\r\n return method.apply(context, args);\r\n }\r\n return method.apply(context, [null, context]);\r\n };\r\n }\r\n /**\r\n * Helper for creating a dialog close event.\r\n * \r\n * @return {object}\r\n */\r\n function createCloseEvent(index, button) {\r\n return {\r\n index: index,\r\n button: button,\r\n cancel: false\r\n };\r\n }\r\n /**\r\n * Helper for dispatching events.\r\n *\r\n * @param {string} evenType The type of the event to disptach.\r\n * @param {object} instance The dialog instance disptaching the event.\r\n *\r\n * @return {any} The result of the invoked function.\r\n */\r\n function dispatchEvent(eventType, instance) {\r\n if ( typeof instance.get(eventType) === 'function' ) {\r\n return instance.get(eventType).call(instance);\r\n }\r\n }\r\n\r\n\r\n /**\r\n * Super class for all dialogs\r\n *\r\n * @return {Object}\t\tbase dialog prototype\r\n */\r\n var dialog = (function () {\r\n var //holds the list of used keys.\r\n usedKeys = [],\r\n //dummy variable, used to trigger dom reflow.\r\n reflow = null,\r\n //holds body tab index in case it has any.\r\n tabindex = false,\r\n //condition for detecting safari\r\n isSafari = window.navigator.userAgent.indexOf('Safari') > -1 && window.navigator.userAgent.indexOf('Chrome') < 0,\r\n //dialog building blocks\r\n templates = {\r\n dimmer:'
',\r\n /*tab index required to fire click event before body focus*/\r\n modal: '
',\r\n dialog: '
',\r\n reset: '',\r\n commands: '
',\r\n header: '
',\r\n body: '
',\r\n content: '
',\r\n footer: '
',\r\n buttons: { primary: '
', auxiliary: '
' },\r\n button: '',\r\n resizeHandle: '
',\r\n },\r\n //common class names\r\n classes = {\r\n animationIn: 'ajs-in',\r\n animationOut: 'ajs-out',\r\n base: 'alertify',\r\n basic:'ajs-basic',\r\n capture: 'ajs-capture',\r\n closable:'ajs-closable',\r\n fixed: 'ajs-fixed',\r\n frameless:'ajs-frameless',\r\n hidden: 'ajs-hidden',\r\n maximize: 'ajs-maximize',\r\n maximized: 'ajs-maximized',\r\n maximizable:'ajs-maximizable',\r\n modeless: 'ajs-modeless',\r\n movable: 'ajs-movable',\r\n noSelection: 'ajs-no-selection',\r\n noOverflow: 'ajs-no-overflow',\r\n noPadding:'ajs-no-padding',\r\n pin:'ajs-pin',\r\n pinnable:'ajs-pinnable',\r\n prefix: 'ajs-',\r\n resizable: 'ajs-resizable',\r\n restore: 'ajs-restore',\r\n shake:'ajs-shake',\r\n unpinned:'ajs-unpinned',\r\n };\r\n\r\n /**\r\n * Helper: initializes the dialog instance\r\n * \r\n * @return\t{Number}\tThe total count of currently open modals.\r\n */\r\n function initialize(instance){\r\n \r\n if(!instance.__internal){\r\n\r\n //no need to expose init after this.\r\n delete instance.__init;\r\n \r\n //keep a copy of initial dialog settings\r\n if(!instance.__settings){\r\n instance.__settings = copy(instance.settings);\r\n }\r\n \r\n //get dialog buttons/focus setup\r\n var setup;\r\n if(typeof instance.setup === 'function'){\r\n setup = instance.setup();\r\n setup.options = setup.options || {};\r\n setup.focus = setup.focus || {};\r\n }else{\r\n setup = {\r\n buttons:[],\r\n focus:{\r\n element:null,\r\n select:false\r\n },\r\n options:{\r\n }\r\n };\r\n }\r\n \r\n //initialize hooks object.\r\n if(typeof instance.hooks !== 'object'){\r\n instance.hooks = {};\r\n }\r\n\r\n //copy buttons defintion\r\n var buttonsDefinition = [];\r\n if(Array.isArray(setup.buttons)){\r\n for(var b=0;b= 0){\r\n //last open modal or last maximized one\r\n removeClass(document.body, classes.noOverflow);\r\n preventBodyShift(false);\r\n }else if(requiresNoOverflow > 0 && document.body.className.indexOf(classes.noOverflow) < 0){\r\n //first open modal or first maximized one\r\n preventBodyShift(true);\r\n addClass(document.body, classes.noOverflow);\r\n }\r\n }\r\n var top = '', topScroll = 0;\r\n /**\r\n * Helper: prevents body shift.\r\n *\r\n */\r\n function preventBodyShift(add){\r\n if(alertify.defaults.preventBodyShift){\r\n if(add && document.documentElement.scrollHeight > document.documentElement.clientHeight ){//&& openDialogs[openDialogs.length-1].elements.dialog.clientHeight <= document.documentElement.clientHeight){\r\n topScroll = scrollY;\r\n top = window.getComputedStyle(document.body).top;\r\n addClass(document.body, classes.fixed);\r\n document.body.style.top = -scrollY + 'px';\r\n } else if(!add) {\r\n scrollY = topScroll;\r\n document.body.style.top = top;\r\n removeClass(document.body, classes.fixed);\r\n restoreScrollPosition();\r\n }\r\n }\r\n }\r\n\t\t\r\n /**\r\n * Sets the name of the transition used to show/hide the dialog\r\n * \r\n * @param {Object} instance The dilog instance.\r\n *\r\n */\r\n function updateTransition(instance, value, oldValue){\r\n if(typeof oldValue === 'string'){\r\n removeClass(instance.elements.root,classes.prefix + oldValue);\r\n }\r\n addClass(instance.elements.root, classes.prefix + value);\r\n reflow = instance.elements.root.offsetWidth;\r\n }\r\n\t\t\r\n /**\r\n * Toggles the dialog display mode\r\n *\r\n * @param {Object} instance The dilog instance.\r\n *\r\n * @return {undefined}\r\n */\r\n function updateDisplayMode(instance){\r\n if(instance.get('modal')){\r\n\r\n //make modal\r\n removeClass(instance.elements.root, classes.modeless);\r\n\r\n //only if open\r\n if(instance.isOpen()){\r\n unbindModelessEvents(instance);\r\n\r\n //in case a pinned modless dialog was made modal while open.\r\n updateAbsPositionFix(instance);\r\n\r\n ensureNoOverflow();\r\n }\r\n }else{\r\n //make modelss\r\n addClass(instance.elements.root, classes.modeless);\r\n\r\n //only if open\r\n if(instance.isOpen()){\r\n bindModelessEvents(instance);\r\n\r\n //in case pin/unpin was called while a modal is open\r\n updateAbsPositionFix(instance);\r\n\r\n ensureNoOverflow();\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Toggles the dialog basic view mode \r\n *\r\n * @param {Object} instance The dilog instance.\r\n *\r\n * @return {undefined}\r\n */\r\n function updateBasicMode(instance){\r\n if (instance.get('basic')) {\r\n // add class\r\n addClass(instance.elements.root, classes.basic);\r\n } else {\r\n // remove class\r\n removeClass(instance.elements.root, classes.basic);\r\n }\r\n }\r\n\r\n /**\r\n * Toggles the dialog frameless view mode \r\n *\r\n * @param {Object} instance The dilog instance.\r\n *\r\n * @return {undefined}\r\n */\r\n function updateFramelessMode(instance){\r\n if (instance.get('frameless')) {\r\n // add class\r\n addClass(instance.elements.root, classes.frameless);\r\n } else {\r\n // remove class\r\n removeClass(instance.elements.root, classes.frameless);\r\n }\r\n }\r\n\t\t\r\n /**\r\n * Helper: Brings the modeless dialog to front, attached to modeless dialogs.\r\n *\r\n * @param {Event} event Focus event\r\n * @param {Object} instance The dilog instance.\r\n *\r\n * @return {undefined}\r\n */\r\n function bringToFront(event, instance){\r\n \r\n // Do not bring to front if preceeded by an open modal\r\n var index = openDialogs.indexOf(instance);\r\n for(var x=index+1;x 200 && (modalClickHandlerTS = event.timeStamp) && !cancelClick){\r\n var target = event.srcElement || event.target;\r\n if (instance.get('closableByDimmer') === true && target === instance.elements.modal) {\r\n triggerClose(instance);\r\n }\r\n cancelClick = false;\r\n return false;\r\n }\r\n }\r\n\r\n // stores last call timestamp to prevent triggering the callback twice.\r\n var callbackTS = 0;\r\n // flag to cancel keyup event if already handled by click event (pressing Enter on a focusted button).\r\n var cancelKeyup = false;\r\n /** \r\n * Helper: triggers a button callback\r\n *\r\n * @param {Object}\t\tThe dilog instance.\r\n * @param {Function}\tCallback to check which button triggered the event.\r\n *\r\n * @return {undefined}\r\n */\r\n function triggerCallback(instance, check) {\r\n if(Date.now() - callbackTS > 200 && (callbackTS = Date.now())){\r\n for (var idx = 0; idx < instance.__internal.buttons.length; idx += 1) {\r\n var button = instance.__internal.buttons[idx];\r\n if (!button.element.disabled && check(button)) {\r\n var closeEvent = createCloseEvent(idx, button);\r\n if (typeof instance.callback === 'function') {\r\n instance.callback.apply(instance, [closeEvent]);\r\n }\r\n //close the dialog only if not canceled.\r\n if (closeEvent.cancel === false) {\r\n instance.close();\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Clicks event handler, attached to the dialog footer.\r\n *\r\n * @param {Event}\t\tDOM event object.\r\n * @param {Object}\t\tThe dilog instance.\r\n * \r\n * @return {undefined}\r\n */\r\n function buttonsClickHandler(event, instance) {\r\n var target = event.srcElement || event.target;\r\n triggerCallback(instance, function (button) {\r\n // if this button caused the click, cancel keyup event\r\n return button.element === target && (cancelKeyup = true);\r\n });\r\n }\r\n\r\n /**\r\n * Keyup event handler, attached to the document.body\r\n *\r\n * @param {Event}\t\tDOM event object.\r\n * @param {Object}\t\tThe dilog instance.\r\n * \r\n * @return {undefined}\r\n */\r\n function keyupHandler(event) {\r\n //hitting enter while button has focus will trigger keyup too.\r\n //ignore if handled by clickHandler\r\n if (cancelKeyup) {\r\n cancelKeyup = false;\r\n return;\r\n }\r\n var instance = openDialogs[openDialogs.length - 1];\r\n var keyCode = event.keyCode;\r\n if (instance.__internal.buttons.length === 0 && keyCode === keys.ESC && instance.get('closable') === true) {\r\n triggerClose(instance);\r\n return false;\r\n }else if (usedKeys.indexOf(keyCode) > -1) {\r\n triggerCallback(instance, function (button) {\r\n return button.key === keyCode;\r\n });\r\n return false;\r\n }\r\n }\r\n /**\r\n * Keydown event handler, attached to the document.body\r\n *\r\n * @param {Event}\t\tDOM event object.\r\n * @param {Object}\t\tThe dilog instance.\r\n * \r\n * @return {undefined}\r\n */\r\n function keydownHandler(event) {\r\n var instance = openDialogs[openDialogs.length - 1];\r\n var keyCode = event.keyCode;\r\n if (keyCode === keys.LEFT || keyCode === keys.RIGHT) {\r\n var buttons = instance.__internal.buttons;\r\n for (var x = 0; x < buttons.length; x += 1) {\r\n if (document.activeElement === buttons[x].element) {\r\n switch (keyCode) {\r\n case keys.LEFT:\r\n buttons[(x || buttons.length) - 1].element.focus();\r\n return;\r\n case keys.RIGHT:\r\n buttons[(x + 1) % buttons.length].element.focus();\r\n return;\r\n }\r\n }\r\n }\r\n }else if (keyCode < keys.F12 + 1 && keyCode > keys.F1 - 1 && usedKeys.indexOf(keyCode) > -1) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n triggerCallback(instance, function (button) {\r\n return button.key === keyCode;\r\n });\r\n return false;\r\n }\r\n }\r\n\r\n\r\n /**\r\n * Sets focus to proper dialog element\r\n *\r\n * @param {Object} instance The dilog instance.\r\n * @param {Node} [resetTarget=undefined] DOM element to reset focus to.\r\n *\r\n * @return {undefined}\r\n */\r\n function setFocus(instance, resetTarget) {\r\n // reset target has already been determined.\r\n if (resetTarget) {\r\n resetTarget.focus();\r\n } else {\r\n // current instance focus settings\r\n var focus = instance.__internal.focus;\r\n // the focus element.\r\n var element = focus.element;\r\n\r\n switch (typeof focus.element) {\r\n // a number means a button index\r\n case 'number':\r\n if (instance.__internal.buttons.length > focus.element) {\r\n //in basic view, skip focusing the buttons.\r\n if (instance.get('basic') === true) {\r\n element = instance.elements.reset[0];\r\n } else {\r\n element = instance.__internal.buttons[focus.element].element;\r\n }\r\n }\r\n break;\r\n // a string means querySelector to select from dialog body contents.\r\n case 'string':\r\n element = instance.elements.body.querySelector(focus.element);\r\n break;\r\n // a function should return the focus element.\r\n case 'function':\r\n element = focus.element.call(instance);\r\n break;\r\n }\r\n \r\n // if no focus element, default to first reset element.\r\n if ((typeof element === 'undefined' || element === null) && instance.__internal.buttons.length === 0) {\r\n element = instance.elements.reset[0];\r\n }\r\n // focus\r\n if (element && element.focus) {\r\n element.focus();\r\n // if selectable\r\n if (focus.select && element.select) {\r\n element.select();\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Focus event handler, attached to document.body and dialogs own reset links.\r\n * handles the focus for modal dialogs only.\r\n *\r\n * @param {Event} event DOM focus event object.\r\n * @param {Object} instance The dilog instance.\r\n *\r\n * @return {undefined}\r\n */\r\n function onReset(event, instance) {\r\n\r\n // should work on last modal if triggered from document.body \r\n if (!instance) {\r\n for (var x = openDialogs.length - 1; x > -1; x -= 1) {\r\n if (openDialogs[x].isModal()) {\r\n instance = openDialogs[x];\r\n break;\r\n }\r\n }\r\n }\r\n // if modal\r\n if (instance && instance.isModal()) {\r\n // determine reset target to enable forward/backward tab cycle.\r\n var resetTarget, target = event.srcElement || event.target;\r\n var lastResetElement = target === instance.elements.reset[1] || (instance.__internal.buttons.length === 0 && target === document.body);\r\n\r\n // if last reset link, then go to maximize or close\r\n if (lastResetElement) {\r\n if (instance.get('maximizable')) {\r\n resetTarget = instance.elements.commands.maximize;\r\n } else if (instance.get('closable')) {\r\n resetTarget = instance.elements.commands.close;\r\n }\r\n }\r\n // if no reset target found, try finding the best button\r\n if (resetTarget === undefined) {\r\n if (typeof instance.__internal.focus.element === 'number') {\r\n // button focus element, go to first available button\r\n if (target === instance.elements.reset[0]) {\r\n resetTarget = instance.elements.buttons.auxiliary.firstChild || instance.elements.buttons.primary.firstChild;\r\n } else if (lastResetElement) {\r\n //restart the cycle by going to first reset link\r\n resetTarget = instance.elements.reset[0];\r\n }\r\n } else {\r\n // will reach here when tapping backwards, so go to last child\r\n // The focus element SHOULD NOT be a button (logically!).\r\n if (target === instance.elements.reset[0]) {\r\n resetTarget = instance.elements.buttons.primary.lastChild || instance.elements.buttons.auxiliary.lastChild;\r\n }\r\n }\r\n }\r\n // focus\r\n setFocus(instance, resetTarget);\r\n }\r\n }\r\n /**\r\n * Transition in transitionend event handler. \r\n *\r\n * @param {Event}\t\tTransitionEnd event object.\r\n * @param {Object}\t\tThe dilog instance.\r\n *\r\n * @return {undefined}\r\n */\r\n function handleTransitionInEvent(event, instance) {\r\n // clear the timer\r\n clearTimeout(instance.__internal.timerIn);\r\n\r\n // once transition is complete, set focus\r\n setFocus(instance);\r\n\r\n //restore scroll to prevent document jump\r\n restoreScrollPosition();\r\n\r\n // allow handling key up after transition ended.\r\n cancelKeyup = false;\r\n\r\n // allow custom `onfocus` method\r\n dispatchEvent('onfocus', instance);\r\n\r\n // unbind the event\r\n off(instance.elements.dialog, transition.type, instance.__internal.transitionInHandler);\r\n\r\n removeClass(instance.elements.root, classes.animationIn);\r\n }\r\n\r\n /**\r\n * Transition out transitionend event handler. \r\n *\r\n * @param {Event}\t\tTransitionEnd event object.\r\n * @param {Object}\t\tThe dilog instance.\r\n *\r\n * @return {undefined}\r\n */\r\n function handleTransitionOutEvent(event, instance) {\r\n // clear the timer\r\n clearTimeout(instance.__internal.timerOut);\r\n // unbind the event\r\n off(instance.elements.dialog, transition.type, instance.__internal.transitionOutHandler);\r\n\r\n // reset move updates\r\n resetMove(instance);\r\n // reset resize updates\r\n resetResize(instance);\r\n\r\n // restore if maximized\r\n if (instance.isMaximized() && !instance.get('startMaximized')) {\r\n restore(instance);\r\n }\r\n\r\n // return focus to the last active element\r\n if (alertify.defaults.maintainFocus && instance.__internal.activeElement) {\r\n instance.__internal.activeElement.focus();\r\n instance.__internal.activeElement = null;\r\n }\r\n \r\n //destory the instance\r\n if (typeof instance.__internal.destroy === 'function') {\r\n instance.__internal.destroy.apply(instance);\r\n }\r\n }\r\n /* Controls moving a dialog around */\r\n //holde the current moving instance\r\n var movable = null,\r\n //holds the current X offset when move starts\r\n offsetX = 0,\r\n //holds the current Y offset when move starts\r\n offsetY = 0,\r\n xProp = 'pageX',\r\n yProp = 'pageY',\r\n bounds = null,\r\n refreshTop = false,\r\n moveDelegate = null\r\n ;\r\n\r\n /**\r\n * Helper: sets the element top/left coordinates\r\n *\r\n * @param {Event} event\tDOM event object.\r\n * @param {Node} element The element being moved.\r\n * \r\n * @return {undefined}\r\n */\r\n function moveElement(event, element) {\r\n var left = (event[xProp] - offsetX),\r\n top = (event[yProp] - offsetY);\r\n\r\n if(refreshTop){\r\n top -= document.body.scrollTop;\r\n }\r\n \r\n element.style.left = left + 'px';\r\n element.style.top = top + 'px';\r\n \r\n }\r\n /**\r\n * Helper: sets the element top/left coordinates within screen bounds\r\n *\r\n * @param {Event} event\tDOM event object.\r\n * @param {Node} element The element being moved.\r\n * \r\n * @return {undefined}\r\n */\r\n function moveElementBounded(event, element) {\r\n var left = (event[xProp] - offsetX),\r\n top = (event[yProp] - offsetY);\r\n\r\n if(refreshTop){\r\n top -= document.body.scrollTop;\r\n }\r\n \r\n element.style.left = Math.min(bounds.maxLeft, Math.max(bounds.minLeft, left)) + 'px';\r\n if(refreshTop){\r\n element.style.top = Math.min(bounds.maxTop, Math.max(bounds.minTop, top)) + 'px';\r\n }else{\r\n element.style.top = Math.max(bounds.minTop, top) + 'px';\r\n }\r\n }\r\n \r\n\r\n /**\r\n * Triggers the start of a move event, attached to the header element mouse down event.\r\n * Adds no-selection class to the body, disabling selection while moving.\r\n *\r\n * @param {Event} event\tDOM event object.\r\n * @param {Object} instance The dilog instance.\r\n * \r\n * @return {Boolean} false\r\n */\r\n function beginMove(event, instance) {\r\n if (resizable === null && !instance.isMaximized() && instance.get('movable')) {\r\n var eventSrc, left=0, top=0;\r\n if (event.type === 'touchstart') {\r\n event.preventDefault();\r\n eventSrc = event.targetTouches[0];\r\n xProp = 'clientX';\r\n yProp = 'clientY';\r\n } else if (event.button === 0) {\r\n eventSrc = event;\r\n }\r\n\r\n if (eventSrc) {\r\n\r\n var element = instance.elements.dialog;\r\n addClass(element, classes.capture);\r\n\r\n if (element.style.left) {\r\n left = parseInt(element.style.left, 10);\r\n }\r\n\r\n if (element.style.top) {\r\n top = parseInt(element.style.top, 10);\r\n }\r\n \r\n offsetX = eventSrc[xProp] - left;\r\n offsetY = eventSrc[yProp] - top;\r\n\r\n if(instance.isModal()){\r\n offsetY += instance.elements.modal.scrollTop;\r\n }else if(instance.isPinned()){\r\n offsetY -= document.body.scrollTop;\r\n }\r\n \r\n if(instance.get('moveBounded')){\r\n var current = element,\r\n offsetLeft = -left,\r\n offsetTop = -top;\r\n \r\n //calc offset\r\n do {\r\n offsetLeft += current.offsetLeft;\r\n offsetTop += current.offsetTop;\r\n } while (current = current.offsetParent);\r\n \r\n bounds = {\r\n maxLeft : offsetLeft,\r\n minLeft : -offsetLeft,\r\n maxTop : document.documentElement.clientHeight - element.clientHeight - offsetTop,\r\n minTop : -offsetTop\r\n };\r\n moveDelegate = moveElementBounded;\r\n }else{\r\n bounds = null;\r\n moveDelegate = moveElement;\r\n }\r\n \r\n // allow custom `onmove` method\r\n dispatchEvent('onmove', instance);\r\n\r\n refreshTop = !instance.isModal() && instance.isPinned();\r\n movable = instance;\r\n moveDelegate(eventSrc, element);\r\n addClass(document.body, classes.noSelection);\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * The actual move handler, attached to document.body mousemove event.\r\n *\r\n * @param {Event} event\tDOM event object.\r\n * \r\n * @return {undefined}\r\n */\r\n function move(event) {\r\n if (movable) {\r\n var eventSrc;\r\n if (event.type === 'touchmove') {\r\n event.preventDefault();\r\n eventSrc = event.targetTouches[0];\r\n } else if (event.button === 0) {\r\n eventSrc = event;\r\n }\r\n if (eventSrc) {\r\n moveDelegate(eventSrc, movable.elements.dialog);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Triggers the end of a move event, attached to document.body mouseup event.\r\n * Removes no-selection class from document.body, allowing selection.\r\n *\r\n * @return {undefined}\r\n */\r\n function endMove() {\r\n if (movable) {\r\n var instance = movable;\r\n movable = bounds = null;\r\n removeClass(document.body, classes.noSelection);\r\n removeClass(instance.elements.dialog, classes.capture);\r\n // allow custom `onmoved` method\r\n dispatchEvent('onmoved', instance);\r\n }\r\n }\r\n\r\n /**\r\n * Resets any changes made by moving the element to its original state,\r\n *\r\n * @param {Object} instance The dilog instance.\r\n *\r\n * @return {undefined}\r\n */\r\n function resetMove(instance) {\r\n movable = null;\r\n var element = instance.elements.dialog;\r\n element.style.left = element.style.top = '';\r\n }\r\n\r\n /**\r\n * Updates the dialog move behavior.\r\n *\r\n * @param {Object} instance The dilog instance.\r\n * @param {Boolean} on True to add the behavior, removes it otherwise.\r\n *\r\n * @return {undefined}\r\n */\r\n function updateMovable(instance) {\r\n if (instance.get('movable')) {\r\n // add class\r\n addClass(instance.elements.root, classes.movable);\r\n if (instance.isOpen()) {\r\n bindMovableEvents(instance);\r\n }\r\n } else {\r\n\r\n //reset\r\n resetMove(instance);\r\n // remove class\r\n removeClass(instance.elements.root, classes.movable);\r\n if (instance.isOpen()) {\r\n unbindMovableEvents(instance);\r\n }\r\n }\r\n }\r\n\r\n /* Controls moving a dialog around */\r\n //holde the current instance being resized\t\t\r\n var resizable = null,\r\n //holds the staring left offset when resize starts.\r\n startingLeft = Number.Nan,\r\n //holds the staring width when resize starts.\r\n startingWidth = 0,\r\n //holds the initial width when resized for the first time.\r\n minWidth = 0,\r\n //holds the offset of the resize handle.\r\n handleOffset = 0\r\n ;\r\n\r\n /**\r\n * Helper: sets the element width/height and updates left coordinate if neccessary.\r\n *\r\n * @param {Event} event\tDOM mousemove event object.\r\n * @param {Node} element The element being moved.\r\n * @param {Boolean} pinned A flag indicating if the element being resized is pinned to the screen.\r\n * \r\n * @return {undefined}\r\n */\r\n function resizeElement(event, element, pageRelative) {\r\n\r\n //calculate offsets from 0,0\r\n var current = element;\r\n var offsetLeft = 0;\r\n var offsetTop = 0;\r\n do {\r\n offsetLeft += current.offsetLeft;\r\n offsetTop += current.offsetTop;\r\n } while (current = current.offsetParent);\r\n\r\n // determine X,Y coordinates.\r\n var X, Y;\r\n if (pageRelative === true) {\r\n X = event.pageX;\r\n Y = event.pageY;\r\n } else {\r\n X = event.clientX;\r\n Y = event.clientY;\r\n }\r\n // rtl handling\r\n var isRTL = isRightToLeft();\r\n if (isRTL) {\r\n // reverse X \r\n X = document.body.offsetWidth - X;\r\n // if has a starting left, calculate offsetRight\r\n if (!isNaN(startingLeft)) {\r\n offsetLeft = document.body.offsetWidth - offsetLeft - element.offsetWidth;\r\n }\r\n }\r\n\r\n // set width/height\r\n element.style.height = (Y - offsetTop + handleOffset) + 'px';\r\n element.style.width = (X - offsetLeft + handleOffset) + 'px';\r\n\r\n // if the element being resized has a starting left, maintain it.\r\n // the dialog is centered, divide by half the offset to maintain the margins.\r\n if (!isNaN(startingLeft)) {\r\n var diff = Math.abs(element.offsetWidth - startingWidth) * 0.5;\r\n if (isRTL) {\r\n //negate the diff, why?\r\n //when growing it should decrease left\r\n //when shrinking it should increase left\r\n diff *= -1;\r\n }\r\n if (element.offsetWidth > startingWidth) {\r\n //growing\r\n element.style.left = (startingLeft + diff) + 'px';\r\n } else if (element.offsetWidth >= minWidth) {\r\n //shrinking\r\n element.style.left = (startingLeft - diff) + 'px';\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Triggers the start of a resize event, attached to the resize handle element mouse down event.\r\n * Adds no-selection class to the body, disabling selection while moving.\r\n *\r\n * @param {Event} event\tDOM event object.\r\n * @param {Object} instance The dilog instance.\r\n * \r\n * @return {Boolean} false\r\n */\r\n function beginResize(event, instance) {\r\n if (!instance.isMaximized()) {\r\n var eventSrc;\r\n if (event.type === 'touchstart') {\r\n event.preventDefault();\r\n eventSrc = event.targetTouches[0];\r\n } else if (event.button === 0) {\r\n eventSrc = event;\r\n }\r\n if (eventSrc) {\r\n // allow custom `onresize` method\r\n dispatchEvent('onresize', instance);\r\n \r\n resizable = instance;\r\n handleOffset = instance.elements.resizeHandle.offsetHeight / 2;\r\n var element = instance.elements.dialog;\r\n addClass(element, classes.capture);\r\n startingLeft = parseInt(element.style.left, 10);\r\n element.style.height = element.offsetHeight + 'px';\r\n element.style.minHeight = instance.elements.header.offsetHeight + instance.elements.footer.offsetHeight + 'px';\r\n element.style.width = (startingWidth = element.offsetWidth) + 'px';\r\n\r\n if (element.style.maxWidth !== 'none') {\r\n element.style.minWidth = (minWidth = element.offsetWidth) + 'px';\r\n }\r\n element.style.maxWidth = 'none';\r\n addClass(document.body, classes.noSelection);\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * The actual resize handler, attached to document.body mousemove event.\r\n *\r\n * @param {Event} event\tDOM event object.\r\n * \r\n * @return {undefined}\r\n */\r\n function resize(event) {\r\n if (resizable) {\r\n var eventSrc;\r\n if (event.type === 'touchmove') {\r\n event.preventDefault();\r\n eventSrc = event.targetTouches[0];\r\n } else if (event.button === 0) {\r\n eventSrc = event;\r\n }\r\n if (eventSrc) {\r\n resizeElement(eventSrc, resizable.elements.dialog, !resizable.get('modal') && !resizable.get('pinned'));\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Triggers the end of a resize event, attached to document.body mouseup event.\r\n * Removes no-selection class from document.body, allowing selection.\r\n *\r\n * @return {undefined}\r\n */\r\n function endResize() {\r\n if (resizable) {\r\n var instance = resizable;\r\n resizable = null;\r\n removeClass(document.body, classes.noSelection);\r\n removeClass(instance.elements.dialog, classes.capture);\r\n cancelClick = true;\r\n // allow custom `onresized` method\r\n dispatchEvent('onresized', instance);\r\n }\r\n }\r\n\r\n /**\r\n * Resets any changes made by resizing the element to its original state.\r\n *\r\n * @param {Object} instance The dilog instance.\r\n *\r\n * @return {undefined}\r\n */\r\n function resetResize(instance) {\r\n resizable = null;\r\n var element = instance.elements.dialog;\r\n if (element.style.maxWidth === 'none') {\r\n //clear inline styles.\r\n element.style.maxWidth = element.style.minWidth = element.style.width = element.style.height = element.style.minHeight = element.style.left = '';\r\n //reset variables.\r\n startingLeft = Number.Nan;\r\n startingWidth = minWidth = handleOffset = 0;\r\n }\r\n }\r\n\r\n\r\n /**\r\n * Updates the dialog move behavior.\r\n *\r\n * @param {Object} instance The dilog instance.\r\n * @param {Boolean} on True to add the behavior, removes it otherwise.\r\n *\r\n * @return {undefined}\r\n */\r\n function updateResizable(instance) {\r\n if (instance.get('resizable')) {\r\n // add class\r\n addClass(instance.elements.root, classes.resizable);\r\n if (instance.isOpen()) {\r\n bindResizableEvents(instance);\r\n }\r\n } else {\r\n //reset\r\n resetResize(instance);\r\n // remove class\r\n removeClass(instance.elements.root, classes.resizable);\r\n if (instance.isOpen()) {\r\n unbindResizableEvents(instance);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Reset move/resize on window resize.\r\n *\r\n * @param {Event} event\twindow resize event object.\r\n *\r\n * @return {undefined}\r\n */\r\n function windowResize(/*event*/) {\r\n for (var x = 0; x < openDialogs.length; x += 1) {\r\n var instance = openDialogs[x];\r\n if (instance.get('autoReset')) {\r\n resetMove(instance);\r\n resetResize(instance);\r\n }\r\n }\r\n }\r\n /**\r\n * Bind dialogs events\r\n *\r\n * @param {Object} instance The dilog instance.\r\n *\r\n * @return {undefined}\r\n */\r\n function bindEvents(instance) {\r\n // if first dialog, hook global handlers\r\n if (openDialogs.length === 1) {\r\n //global\r\n on(window, 'resize', windowResize);\r\n on(document.body, 'keyup', keyupHandler);\r\n on(document.body, 'keydown', keydownHandler);\r\n on(document.body, 'focus', onReset);\r\n\r\n //move\r\n on(document.documentElement, 'mousemove', move);\r\n on(document.documentElement, 'touchmove', move);\r\n on(document.documentElement, 'mouseup', endMove);\r\n on(document.documentElement, 'touchend', endMove);\r\n //resize\r\n on(document.documentElement, 'mousemove', resize);\r\n on(document.documentElement, 'touchmove', resize);\r\n on(document.documentElement, 'mouseup', endResize);\r\n on(document.documentElement, 'touchend', endResize);\r\n }\r\n\r\n // common events\r\n on(instance.elements.commands.container, 'click', instance.__internal.commandsClickHandler);\r\n on(instance.elements.footer, 'click', instance.__internal.buttonsClickHandler);\r\n on(instance.elements.reset[0], 'focus', instance.__internal.resetHandler);\r\n on(instance.elements.reset[1], 'focus', instance.__internal.resetHandler);\r\n\r\n //prevent handling key up when dialog is being opened by a key stroke.\r\n cancelKeyup = true;\r\n // hook in transition handler\r\n on(instance.elements.dialog, transition.type, instance.__internal.transitionInHandler);\r\n\r\n // modelss only events\r\n if (!instance.get('modal')) {\r\n bindModelessEvents(instance);\r\n }\r\n\r\n // resizable\r\n if (instance.get('resizable')) {\r\n bindResizableEvents(instance);\r\n }\r\n\r\n // movable\r\n if (instance.get('movable')) {\r\n bindMovableEvents(instance);\r\n }\r\n }\r\n\r\n /**\r\n * Unbind dialogs events\r\n *\r\n * @param {Object} instance The dilog instance.\r\n *\r\n * @return {undefined}\r\n */\r\n function unbindEvents(instance) {\r\n // if last dialog, remove global handlers\r\n if (openDialogs.length === 1) {\r\n //global\r\n off(window, 'resize', windowResize);\r\n off(document.body, 'keyup', keyupHandler);\r\n off(document.body, 'keydown', keydownHandler);\r\n off(document.body, 'focus', onReset);\r\n //move\r\n off(document.documentElement, 'mousemove', move);\r\n off(document.documentElement, 'mouseup', endMove);\r\n //resize\r\n off(document.documentElement, 'mousemove', resize);\r\n off(document.documentElement, 'mouseup', endResize);\r\n }\r\n\r\n // common events\r\n off(instance.elements.commands.container, 'click', instance.__internal.commandsClickHandler);\r\n off(instance.elements.footer, 'click', instance.__internal.buttonsClickHandler);\r\n off(instance.elements.reset[0], 'focus', instance.__internal.resetHandler);\r\n off(instance.elements.reset[1], 'focus', instance.__internal.resetHandler);\r\n\r\n // hook out transition handler\r\n on(instance.elements.dialog, transition.type, instance.__internal.transitionOutHandler);\r\n\r\n // modelss only events\r\n if (!instance.get('modal')) {\r\n unbindModelessEvents(instance);\r\n }\r\n\r\n // movable\r\n if (instance.get('movable')) {\r\n unbindMovableEvents(instance);\r\n }\r\n\r\n // resizable\r\n if (instance.get('resizable')) {\r\n unbindResizableEvents(instance);\r\n }\r\n\r\n }\r\n\r\n /**\r\n * Bind modeless specific events\r\n *\r\n * @param {Object} instance The dilog instance.\r\n *\r\n * @return {undefined}\r\n */\r\n function bindModelessEvents(instance) {\r\n on(instance.elements.dialog, 'focus', instance.__internal.bringToFrontHandler, true);\r\n }\r\n\r\n /**\r\n * Unbind modeless specific events\r\n *\r\n * @param {Object} instance The dilog instance.\r\n *\r\n * @return {undefined}\r\n */\r\n function unbindModelessEvents(instance) {\r\n off(instance.elements.dialog, 'focus', instance.__internal.bringToFrontHandler, true);\r\n }\r\n\r\n\r\n\r\n /**\r\n * Bind movable specific events\r\n *\r\n * @param {Object} instance The dilog instance.\r\n *\r\n * @return {undefined}\r\n */\r\n function bindMovableEvents(instance) {\r\n on(instance.elements.header, 'mousedown', instance.__internal.beginMoveHandler);\r\n on(instance.elements.header, 'touchstart', instance.__internal.beginMoveHandler);\r\n }\r\n\r\n /**\r\n * Unbind movable specific events\r\n *\r\n * @param {Object} instance The dilog instance.\r\n *\r\n * @return {undefined}\r\n */\r\n function unbindMovableEvents(instance) {\r\n off(instance.elements.header, 'mousedown', instance.__internal.beginMoveHandler);\r\n off(instance.elements.header, 'touchstart', instance.__internal.beginMoveHandler);\r\n }\r\n\r\n\r\n\r\n /**\r\n * Bind resizable specific events\r\n *\r\n * @param {Object} instance The dilog instance.\r\n *\r\n * @return {undefined}\r\n */\r\n function bindResizableEvents(instance) {\r\n on(instance.elements.resizeHandle, 'mousedown', instance.__internal.beginResizeHandler);\r\n on(instance.elements.resizeHandle, 'touchstart', instance.__internal.beginResizeHandler);\r\n }\r\n\r\n /**\r\n * Unbind resizable specific events\r\n *\r\n * @param {Object} instance The dilog instance.\r\n *\r\n * @return {undefined}\r\n */\r\n function unbindResizableEvents(instance) {\r\n off(instance.elements.resizeHandle, 'mousedown', instance.__internal.beginResizeHandler);\r\n off(instance.elements.resizeHandle, 'touchstart', instance.__internal.beginResizeHandler);\r\n }\r\n\r\n /**\r\n * Bind closable events\r\n *\r\n * @param {Object} instance The dilog instance.\r\n *\r\n * @return {undefined}\r\n */\r\n function bindClosableEvents(instance) {\r\n on(instance.elements.modal, 'click', instance.__internal.modalClickHandler);\r\n }\r\n\r\n /**\r\n * Unbind closable specific events\r\n *\r\n * @param {Object} instance The dilog instance.\r\n *\r\n * @return {undefined}\r\n */\r\n function unbindClosableEvents(instance) {\r\n off(instance.elements.modal, 'click', instance.__internal.modalClickHandler);\r\n }\r\n // dialog API\r\n return {\r\n __init:initialize,\r\n /**\r\n * Check if dialog is currently open\r\n *\r\n * @return {Boolean}\r\n */\r\n isOpen: function () {\r\n return this.__internal.isOpen;\r\n },\r\n isModal: function (){\r\n return this.elements.root.className.indexOf(classes.modeless) < 0;\r\n },\r\n isMaximized:function(){\r\n return this.elements.root.className.indexOf(classes.maximized) > -1;\r\n },\r\n isPinned:function(){\r\n return this.elements.root.className.indexOf(classes.unpinned) < 0;\r\n },\r\n maximize:function(){\r\n if(!this.isMaximized()){\r\n maximize(this);\r\n }\r\n return this;\r\n },\r\n restore:function(){\r\n if(this.isMaximized()){\r\n restore(this);\r\n }\r\n return this;\r\n },\r\n pin:function(){\r\n if(!this.isPinned()){\r\n pin(this);\r\n }\r\n return this;\r\n },\r\n unpin:function(){\r\n if(this.isPinned()){\r\n unpin(this);\r\n }\r\n return this;\r\n },\r\n bringToFront:function(){\r\n bringToFront(null, this);\r\n return this;\r\n },\r\n /**\r\n * Move the dialog to a specific x/y coordinates\r\n *\r\n * @param {Number} x The new dialog x coordinate in pixels.\r\n * @param {Number} y The new dialog y coordinate in pixels.\r\n *\r\n * @return {Object} The dialog instance.\r\n */\r\n moveTo:function(x,y){\r\n if(!isNaN(x) && !isNaN(y)){\r\n // allow custom `onmove` method\r\n dispatchEvent('onmove', this);\r\n \r\n var element = this.elements.dialog,\r\n current = element,\r\n offsetLeft = 0,\r\n offsetTop = 0;\r\n \r\n //subtract existing left,top\r\n if (element.style.left) {\r\n offsetLeft -= parseInt(element.style.left, 10);\r\n }\r\n if (element.style.top) {\r\n offsetTop -= parseInt(element.style.top, 10);\r\n }\r\n //calc offset\r\n do {\r\n offsetLeft += current.offsetLeft;\r\n offsetTop += current.offsetTop;\r\n } while (current = current.offsetParent);\r\n\r\n //calc left, top\r\n var left = (x - offsetLeft);\r\n var top = (y - offsetTop);\r\n\r\n //// rtl handling\r\n if (isRightToLeft()) {\r\n left *= -1;\r\n }\r\n\r\n element.style.left = left + 'px';\r\n element.style.top = top + 'px';\r\n \r\n // allow custom `onmoved` method\r\n dispatchEvent('onmoved', this);\r\n }\r\n return this;\r\n },\r\n /**\r\n * Resize the dialog to a specific width/height (the dialog must be 'resizable').\r\n * The dialog can be resized to:\r\n * A minimum width equal to the initial display width\r\n * A minimum height equal to the sum of header/footer heights.\r\n *\r\n *\r\n * @param {Number or String} width The new dialog width in pixels or in percent.\r\n * @param {Number or String} height The new dialog height in pixels or in percent.\r\n *\r\n * @return {Object} The dialog instance.\r\n */\r\n resizeTo:function(width,height){\r\n var w = parseFloat(width),\r\n h = parseFloat(height),\r\n regex = /(\\d*\\.\\d+|\\d+)%/\r\n ;\r\n\r\n if(!isNaN(w) && !isNaN(h) && this.get('resizable') === true){\r\n \r\n // allow custom `onresize` method\r\n dispatchEvent('onresize', this);\r\n \r\n if(('' + width).match(regex)){\r\n w = w / 100 * document.documentElement.clientWidth ;\r\n }\r\n\r\n if(('' + height).match(regex)){\r\n h = h / 100 * document.documentElement.clientHeight;\r\n }\r\n\r\n var element = this.elements.dialog;\r\n if (element.style.maxWidth !== 'none') {\r\n element.style.minWidth = (minWidth = element.offsetWidth) + 'px';\r\n }\r\n element.style.maxWidth = 'none';\r\n element.style.minHeight = this.elements.header.offsetHeight + this.elements.footer.offsetHeight + 'px';\r\n element.style.width = w + 'px';\r\n element.style.height = h + 'px';\r\n \r\n // allow custom `onresized` method\r\n dispatchEvent('onresized', this);\r\n }\r\n return this;\r\n },\r\n /**\r\n * Gets or Sets dialog settings/options \r\n *\r\n * @param {String|Object} key A string specifying a propery name or a collection of key/value pairs.\r\n * @param {Object} value Optional, the value associated with the key (in case it was a string).\r\n *\r\n * @return {undefined}\r\n */\r\n setting : function (key, value) {\r\n var self = this;\r\n var result = update(this, this.__internal.options, function(k,o,n){ optionUpdated(self,k,o,n); }, key, value);\r\n if(result.op === 'get'){\r\n if(result.found){\r\n return result.value;\r\n }else if(typeof this.settings !== 'undefined'){\r\n return update(this, this.settings, this.settingUpdated || function(){}, key, value).value;\r\n }else{\r\n return undefined;\r\n }\r\n }else if(result.op === 'set'){\r\n if(result.items.length > 0){\r\n var callback = this.settingUpdated || function(){};\r\n for(var x=0;x 0) {\r\n var self = this;\r\n this.__internal.timer = setTimeout(function () { self.dismiss(); }, this.__internal.delay * 1000);\r\n }\r\n return this;\r\n },\r\n /*\r\n * Sets the notification message contents\r\n * @param {string or DOMElement} content The notification message content\r\n *\r\n */\r\n setContent: function (content) {\r\n if (typeof content === 'string') {\r\n clearContents(this.element);\r\n this.element.innerHTML = content;\r\n } else if (content instanceof window.HTMLElement && this.element.firstChild !== content) {\r\n clearContents(this.element);\r\n this.element.appendChild(content);\r\n }\r\n if(this.__internal.closeButton){\r\n var close = document.createElement('span');\r\n addClass(close, classes.close);\r\n close.setAttribute('data-close', true);\r\n this.element.appendChild(close);\r\n }\r\n return this;\r\n },\r\n /*\r\n * Dismisses all open notifications except this.\r\n *\r\n */\r\n dismissOthers: function () {\r\n notifier.dismissAll(this);\r\n return this;\r\n }\r\n });\r\n }\r\n\r\n //notifier api\r\n return {\r\n /**\r\n * Gets or Sets notifier settings.\r\n *\r\n * @param {string} key The setting name\r\n * @param {Variant} value The setting value.\r\n *\r\n * @return {Object}\tif the called as a setter, return the notifier instance.\r\n */\r\n setting: function (key, value) {\r\n //ensure init\r\n initialize(this);\r\n\r\n if (typeof value === 'undefined') {\r\n //get\r\n return this.__internal[key];\r\n } else {\r\n //set\r\n switch (key) {\r\n case 'position':\r\n this.__internal.position = value;\r\n updatePosition(this);\r\n break;\r\n case 'delay':\r\n this.__internal.delay = value;\r\n break;\r\n }\r\n }\r\n return this;\r\n },\r\n /**\r\n * [Alias] Sets dialog settings/options\r\n */\r\n set:function(key,value){\r\n this.setting(key,value);\r\n return this;\r\n },\r\n /**\r\n * [Alias] Gets dialog settings/options\r\n */\r\n get:function(key){\r\n return this.setting(key);\r\n },\r\n /**\r\n * Creates a new notification message\r\n *\r\n * @param {string} type The type of notification message (simply a CSS class name 'ajs-{type}' to be added).\r\n * @param {Function} callback A callback function to be invoked when the message is dismissed.\r\n *\r\n * @return {undefined}\r\n */\r\n create: function (type, callback) {\r\n //ensure notifier init\r\n initialize(this);\r\n //create new notification message\r\n var div = document.createElement('div');\r\n div.className = classes.message + ((typeof type === 'string' && type !== '') ? ' ajs-' + type : '');\r\n return create(div, callback);\r\n },\r\n /**\r\n * Dismisses all open notifications.\r\n *\r\n * @param {Object} excpet [optional] The notification object to exclude from dismissal.\r\n *\r\n */\r\n dismissAll: function (except) {\r\n var clone = openInstances.slice(0);\r\n for (var x = 0; x < clone.length; x += 1) {\r\n var instance = clone[x];\r\n if (except === undefined || except !== instance) {\r\n instance.dismiss();\r\n }\r\n }\r\n }\r\n };\r\n })();\r\n\r\n /**\r\n * Alertify public API\r\n * This contains everything that is exposed through the alertify object.\r\n *\r\n * @return {Object}\r\n */\r\n function Alertify() {\r\n\r\n // holds a references of created dialogs\r\n var dialogs = {};\r\n\r\n /**\r\n * Extends a given prototype by merging properties from base into sub.\r\n *\r\n * @sub {Object} sub The prototype being overwritten.\r\n * @base {Object} base The prototype being written.\r\n *\r\n * @return {Object} The extended prototype.\r\n */\r\n function extend(sub, base) {\r\n // copy dialog pototype over definition.\r\n for (var prop in base) {\r\n if (base.hasOwnProperty(prop)) {\r\n sub[prop] = base[prop];\r\n }\r\n }\r\n return sub;\r\n }\r\n\r\n\r\n /**\r\n * Helper: returns a dialog instance from saved dialogs.\r\n * and initializes the dialog if its not already initialized.\r\n *\r\n * @name {String} name The dialog name.\r\n *\r\n * @return {Object} The dialog instance.\r\n */\r\n function get_dialog(name) {\r\n var dialog = dialogs[name].dialog;\r\n //initialize the dialog if its not already initialized.\r\n if (dialog && typeof dialog.__init === 'function') {\r\n dialog.__init(dialog);\r\n }\r\n return dialog;\r\n }\r\n\r\n /**\r\n * Helper: registers a new dialog definition.\r\n *\r\n * @name {String} name The dialog name.\r\n * @Factory {Function} Factory a function resposible for creating dialog prototype.\r\n * @transient {Boolean} transient True to create a new dialog instance each time the dialog is invoked, false otherwise.\r\n * @base {String} base the name of another dialog to inherit from.\r\n *\r\n * @return {Object} The dialog definition.\r\n */\r\n function register(name, Factory, transient, base) {\r\n var definition = {\r\n dialog: null,\r\n factory: Factory\r\n };\r\n\r\n //if this is based on an existing dialog, create a new definition\r\n //by applying the new protoype over the existing one.\r\n if (base !== undefined) {\r\n definition.factory = function () {\r\n return extend(new dialogs[base].factory(), new Factory());\r\n };\r\n }\r\n\r\n if (!transient) {\r\n //create a new definition based on dialog\r\n definition.dialog = extend(new definition.factory(), dialog);\r\n }\r\n return dialogs[name] = definition;\r\n }\r\n\r\n return {\r\n /**\r\n * Alertify defaults\r\n * \r\n * @type {Object}\r\n */\r\n defaults: defaults,\r\n /**\r\n * Dialogs factory \r\n *\r\n * @param {string} Dialog name.\r\n * @param {Function} A Dialog factory function.\r\n * @param {Boolean} Indicates whether to create a singleton or transient dialog.\r\n * @param {String} The name of the base type to inherit from.\r\n */\r\n dialog: function (name, Factory, transient, base) {\r\n\r\n // get request, create a new instance and return it.\r\n if (typeof Factory !== 'function') {\r\n return get_dialog(name);\r\n }\r\n\r\n if (this.hasOwnProperty(name)) {\r\n throw new Error('alertify.dialog: name already exists');\r\n }\r\n\r\n // register the dialog\r\n var definition = register(name, Factory, transient, base);\r\n\r\n if (transient) {\r\n\r\n // make it public\r\n this[name] = function () {\r\n //if passed with no params, consider it a get request\r\n if (arguments.length === 0) {\r\n return definition.dialog;\r\n } else {\r\n var instance = extend(new definition.factory(), dialog);\r\n //ensure init\r\n if (instance && typeof instance.__init === 'function') {\r\n instance.__init(instance);\r\n }\r\n instance['main'].apply(instance, arguments);\r\n return instance['show'].apply(instance);\r\n }\r\n };\r\n } else {\r\n // make it public\r\n this[name] = function () {\r\n //ensure init\r\n if (definition.dialog && typeof definition.dialog.__init === 'function') {\r\n definition.dialog.__init(definition.dialog);\r\n }\r\n //if passed with no params, consider it a get request\r\n if (arguments.length === 0) {\r\n return definition.dialog;\r\n } else {\r\n var dialog = definition.dialog;\r\n dialog['main'].apply(definition.dialog, arguments);\r\n return dialog['show'].apply(definition.dialog);\r\n }\r\n };\r\n }\r\n },\r\n /**\r\n * Close all open dialogs.\r\n *\r\n * @param {Object} excpet [optional] The dialog object to exclude from closing.\r\n *\r\n * @return {undefined}\r\n */\r\n closeAll: function (except) {\r\n var clone = openDialogs.slice(0);\r\n for (var x = 0; x < clone.length; x += 1) {\r\n var instance = clone[x];\r\n if (except === undefined || except !== instance) {\r\n instance.close();\r\n }\r\n }\r\n },\r\n /**\r\n * Gets or Sets dialog settings/options. if the dialog is transient, this call does nothing.\r\n *\r\n * @param {string} name The dialog name.\r\n * @param {String|Object} key A string specifying a propery name or a collection of key/value pairs.\r\n * @param {Variant} value Optional, the value associated with the key (in case it was a string).\r\n *\r\n * @return {undefined}\r\n */\r\n setting: function (name, key, value) {\r\n\r\n if (name === 'notifier') {\r\n return notifier.setting(key, value);\r\n }\r\n\r\n var dialog = get_dialog(name);\r\n if (dialog) {\r\n return dialog.setting(key, value);\r\n }\r\n },\r\n /**\r\n * [Alias] Sets dialog settings/options \r\n */\r\n set: function(name,key,value){\r\n return this.setting(name, key,value);\r\n },\r\n /**\r\n * [Alias] Gets dialog settings/options \r\n */\r\n get: function(name, key){\r\n return this.setting(name, key);\r\n },\r\n /**\r\n * Creates a new notification message.\r\n * If a type is passed, a class name \"ajs-{type}\" will be added.\r\n * This allows for custom look and feel for various types of notifications.\r\n *\r\n * @param {String | DOMElement} [message=undefined]\t\tMessage text\r\n * @param {String} [type='']\t\t\t\tType of log message\r\n * @param {String} [wait='']\t\t\t\tTime (in seconds) to wait before auto-close\r\n * @param {Function} [callback=undefined]\tA callback function to be invoked when the log is closed.\r\n *\r\n * @return {Object} Notification object.\r\n */\r\n notify: function (message, type, wait, callback) {\r\n return notifier.create(type, callback).push(message, wait);\r\n },\r\n /**\r\n * Creates a new notification message.\r\n *\r\n * @param {String}\t\t[message=undefined]\t\tMessage text\r\n * @param {String} [wait='']\t\t\t\tTime (in seconds) to wait before auto-close\r\n * @param {Function}\t[callback=undefined]\tA callback function to be invoked when the log is closed.\r\n *\r\n * @return {Object} Notification object.\r\n */\r\n message: function (message, wait, callback) {\r\n return notifier.create(null, callback).push(message, wait);\r\n },\r\n /**\r\n * Creates a new notification message of type 'success'.\r\n *\r\n * @param {String}\t\t[message=undefined]\t\tMessage text\r\n * @param {String} [wait='']\t\t\t\tTime (in seconds) to wait before auto-close\r\n * @param {Function}\t[callback=undefined]\tA callback function to be invoked when the log is closed.\r\n *\r\n * @return {Object} Notification object.\r\n */\r\n success: function (message, wait, callback) {\r\n return notifier.create('success', callback).push(message, wait);\r\n },\r\n /**\r\n * Creates a new notification message of type 'error'.\r\n *\r\n * @param {String}\t\t[message=undefined]\t\tMessage text\r\n * @param {String} [wait='']\t\t\t\tTime (in seconds) to wait before auto-close\r\n * @param {Function}\t[callback=undefined]\tA callback function to be invoked when the log is closed.\r\n *\r\n * @return {Object} Notification object.\r\n */\r\n error: function (message, wait, callback) {\r\n return notifier.create('error', callback).push(message, wait);\r\n },\r\n /**\r\n * Creates a new notification message of type 'warning'.\r\n *\r\n * @param {String}\t\t[message=undefined]\t\tMessage text\r\n * @param {String} [wait='']\t\t\t\tTime (in seconds) to wait before auto-close\r\n * @param {Function}\t[callback=undefined]\tA callback function to be invoked when the log is closed.\r\n *\r\n * @return {Object} Notification object.\r\n */\r\n warning: function (message, wait, callback) {\r\n return notifier.create('warning', callback).push(message, wait);\r\n },\r\n /**\r\n * Dismisses all open notifications\r\n *\r\n * @return {undefined}\r\n */\r\n dismissAll: function () {\r\n notifier.dismissAll();\r\n }\r\n };\r\n }\r\n var alertify = new Alertify();\r\n\r\n /**\r\n * Alert dialog definition\r\n *\r\n * invoked by:\r\n *\talertify.alert(message);\r\n *\talertify.alert(title, message);\r\n *\talertify.alert(message, onok);\r\n *\talertify.alert(title, message, onok);\r\n */\r\n alertify.dialog('alert', function () {\r\n return {\r\n main: function (_title, _message, _onok) {\r\n var title, message, onok;\r\n switch (arguments.length) {\r\n case 1:\r\n message = _title;\r\n break;\r\n case 2:\r\n if (typeof _message === 'function') {\r\n message = _title;\r\n onok = _message;\r\n } else {\r\n title = _title;\r\n message = _message;\r\n }\r\n break;\r\n case 3:\r\n title = _title;\r\n message = _message;\r\n onok = _onok;\r\n break;\r\n }\r\n this.set('title', title);\r\n this.set('message', message);\r\n this.set('onok', onok);\r\n return this;\r\n },\r\n setup: function () {\r\n return {\r\n buttons: [\r\n {\r\n text: alertify.defaults.glossary.ok,\r\n key: keys.ESC,\r\n invokeOnClose: true,\r\n className: alertify.defaults.theme.ok,\r\n }\r\n ],\r\n focus: {\r\n element: 0,\r\n select: false\r\n },\r\n options: {\r\n maximizable: false,\r\n resizable: false\r\n }\r\n };\r\n },\r\n build: function () {\r\n // nothing\r\n },\r\n prepare: function () {\r\n //nothing\r\n },\r\n setMessage: function (message) {\r\n this.setContent(message);\r\n },\r\n settings: {\r\n message: undefined,\r\n onok: undefined,\r\n label: undefined,\r\n },\r\n settingUpdated: function (key, oldValue, newValue) {\r\n switch (key) {\r\n case 'message':\r\n this.setMessage(newValue);\r\n break;\r\n case 'label':\r\n if (this.__internal.buttons[0].element) {\r\n this.__internal.buttons[0].element.innerHTML = newValue;\r\n }\r\n break;\r\n }\r\n },\r\n callback: function (closeEvent) {\r\n if (typeof this.get('onok') === 'function') {\r\n var returnValue = this.get('onok').call(this, closeEvent);\r\n if (typeof returnValue !== 'undefined') {\r\n closeEvent.cancel = !returnValue;\r\n }\r\n }\r\n }\r\n };\r\n });\r\n /**\r\n * Confirm dialog object\r\n *\r\n *\talertify.confirm(message);\r\n *\talertify.confirm(message, onok);\r\n *\talertify.confirm(message, onok, oncancel);\r\n *\talertify.confirm(title, message, onok, oncancel);\r\n */\r\n alertify.dialog('confirm', function () {\r\n\r\n var autoConfirm = {\r\n timer: null,\r\n index: null,\r\n text: null,\r\n duration: null,\r\n task: function (event, self) {\r\n if (self.isOpen()) {\r\n self.__internal.buttons[autoConfirm.index].element.innerHTML = autoConfirm.text + ' (‏' + autoConfirm.duration + '‏) ';\r\n autoConfirm.duration -= 1;\r\n if (autoConfirm.duration === -1) {\r\n clearAutoConfirm(self);\r\n var button = self.__internal.buttons[autoConfirm.index];\r\n var closeEvent = createCloseEvent(autoConfirm.index, button);\r\n\r\n if (typeof self.callback === 'function') {\r\n self.callback.apply(self, [closeEvent]);\r\n }\r\n //close the dialog.\r\n if (closeEvent.close !== false) {\r\n self.close();\r\n }\r\n }\r\n } else {\r\n clearAutoConfirm(self);\r\n }\r\n }\r\n };\r\n\r\n function clearAutoConfirm(self) {\r\n if (autoConfirm.timer !== null) {\r\n clearInterval(autoConfirm.timer);\r\n autoConfirm.timer = null;\r\n self.__internal.buttons[autoConfirm.index].element.innerHTML = autoConfirm.text;\r\n }\r\n }\r\n\r\n function startAutoConfirm(self, index, duration) {\r\n clearAutoConfirm(self);\r\n autoConfirm.duration = duration;\r\n autoConfirm.index = index;\r\n autoConfirm.text = self.__internal.buttons[index].element.innerHTML;\r\n autoConfirm.timer = setInterval(delegate(self, autoConfirm.task), 1000);\r\n autoConfirm.task(null, self);\r\n }\r\n\r\n\r\n return {\r\n main: function (_title, _message, _onok, _oncancel) {\r\n var title, message, onok, oncancel;\r\n switch (arguments.length) {\r\n case 1:\r\n message = _title;\r\n break;\r\n case 2:\r\n message = _title;\r\n onok = _message;\r\n break;\r\n case 3:\r\n message = _title;\r\n onok = _message;\r\n oncancel = _onok;\r\n break;\r\n case 4:\r\n title = _title;\r\n message = _message;\r\n onok = _onok;\r\n oncancel = _oncancel;\r\n break;\r\n }\r\n this.set('title', title);\r\n this.set('message', message);\r\n this.set('onok', onok);\r\n this.set('oncancel', oncancel);\r\n return this;\r\n },\r\n setup: function () {\r\n return {\r\n buttons: [\r\n {\r\n text: alertify.defaults.glossary.ok,\r\n key: keys.ENTER,\r\n className: alertify.defaults.theme.ok,\r\n },\r\n {\r\n text: alertify.defaults.glossary.cancel,\r\n key: keys.ESC,\r\n invokeOnClose: true,\r\n className: alertify.defaults.theme.cancel,\r\n }\r\n ],\r\n focus: {\r\n element: 0,\r\n select: false\r\n },\r\n options: {\r\n maximizable: false,\r\n resizable: false\r\n }\r\n };\r\n },\r\n build: function () {\r\n //nothing\r\n },\r\n prepare: function () {\r\n //nothing\r\n },\r\n setMessage: function (message) {\r\n this.setContent(message);\r\n },\r\n settings: {\r\n message: null,\r\n labels: null,\r\n onok: null,\r\n oncancel: null,\r\n defaultFocus: null,\r\n reverseButtons: null,\r\n },\r\n settingUpdated: function (key, oldValue, newValue) {\r\n switch (key) {\r\n case 'message':\r\n this.setMessage(newValue);\r\n break;\r\n case 'labels':\r\n if ('ok' in newValue && this.__internal.buttons[0].element) {\r\n this.__internal.buttons[0].text = newValue.ok;\r\n this.__internal.buttons[0].element.innerHTML = newValue.ok;\r\n }\r\n if ('cancel' in newValue && this.__internal.buttons[1].element) {\r\n this.__internal.buttons[1].text = newValue.cancel;\r\n this.__internal.buttons[1].element.innerHTML = newValue.cancel;\r\n }\r\n break;\r\n case 'reverseButtons':\r\n if (newValue === true) {\r\n this.elements.buttons.primary.appendChild(this.__internal.buttons[0].element);\r\n } else {\r\n this.elements.buttons.primary.appendChild(this.__internal.buttons[1].element);\r\n }\r\n break;\r\n case 'defaultFocus':\r\n this.__internal.focus.element = newValue === 'ok' ? 0 : 1;\r\n break;\r\n }\r\n },\r\n callback: function (closeEvent) {\r\n clearAutoConfirm(this);\r\n var returnValue;\r\n switch (closeEvent.index) {\r\n case 0:\r\n if (typeof this.get('onok') === 'function') {\r\n returnValue = this.get('onok').call(this, closeEvent);\r\n if (typeof returnValue !== 'undefined') {\r\n closeEvent.cancel = !returnValue;\r\n }\r\n }\r\n break;\r\n case 1:\r\n if (typeof this.get('oncancel') === 'function') {\r\n returnValue = this.get('oncancel').call(this, closeEvent);\r\n if (typeof returnValue !== 'undefined') {\r\n closeEvent.cancel = !returnValue;\r\n }\r\n }\r\n break;\r\n }\r\n },\r\n autoOk: function (duration) {\r\n startAutoConfirm(this, 0, duration);\r\n return this;\r\n },\r\n autoCancel: function (duration) {\r\n startAutoConfirm(this, 1, duration);\r\n return this;\r\n }\r\n };\r\n });\r\n /**\r\n * Prompt dialog object\r\n *\r\n * invoked by:\r\n *\talertify.prompt(message);\r\n *\talertify.prompt(message, value);\r\n *\talertify.prompt(message, value, onok);\r\n *\talertify.prompt(message, value, onok, oncancel);\r\n *\talertify.prompt(title, message, value, onok, oncancel);\r\n */\r\n alertify.dialog('prompt', function () {\r\n var input = document.createElement('INPUT');\r\n var p = document.createElement('P');\r\n return {\r\n main: function (_title, _message, _value, _onok, _oncancel) {\r\n var title, message, value, onok, oncancel;\r\n switch (arguments.length) {\r\n case 1:\r\n message = _title;\r\n break;\r\n case 2:\r\n message = _title;\r\n value = _message;\r\n break;\r\n case 3:\r\n message = _title;\r\n value = _message;\r\n onok = _value;\r\n break;\r\n case 4:\r\n message = _title;\r\n value = _message;\r\n onok = _value;\r\n oncancel = _onok;\r\n break;\r\n case 5:\r\n title = _title;\r\n message = _message;\r\n value = _value;\r\n onok = _onok;\r\n oncancel = _oncancel;\r\n break;\r\n }\r\n this.set('title', title);\r\n this.set('message', message);\r\n this.set('value', value);\r\n this.set('onok', onok);\r\n this.set('oncancel', oncancel);\r\n return this;\r\n },\r\n setup: function () {\r\n return {\r\n buttons: [\r\n {\r\n text: alertify.defaults.glossary.ok,\r\n key: keys.ENTER,\r\n className: alertify.defaults.theme.ok,\r\n },\r\n {\r\n text: alertify.defaults.glossary.cancel,\r\n key: keys.ESC,\r\n invokeOnClose: true,\r\n className: alertify.defaults.theme.cancel,\r\n }\r\n ],\r\n focus: {\r\n element: input,\r\n select: true\r\n },\r\n options: {\r\n maximizable: false,\r\n resizable: false\r\n }\r\n };\r\n },\r\n build: function () {\r\n input.className = alertify.defaults.theme.input;\r\n input.setAttribute('type', 'text');\r\n input.value = this.get('value');\r\n this.elements.content.appendChild(p);\r\n this.elements.content.appendChild(input);\r\n },\r\n prepare: function () {\r\n //nothing\r\n },\r\n setMessage: function (message) {\r\n if (typeof message === 'string') {\r\n clearContents(p);\r\n p.innerHTML = message;\r\n } else if (message instanceof window.HTMLElement && p.firstChild !== message) {\r\n clearContents(p);\r\n p.appendChild(message);\r\n }\r\n },\r\n settings: {\r\n message: undefined,\r\n labels: undefined,\r\n onok: undefined,\r\n oncancel: undefined,\r\n value: '',\r\n type:'text',\r\n reverseButtons: undefined,\r\n },\r\n settingUpdated: function (key, oldValue, newValue) {\r\n switch (key) {\r\n case 'message':\r\n this.setMessage(newValue);\r\n break;\r\n case 'value':\r\n input.value = newValue;\r\n break;\r\n case 'type':\r\n switch (newValue) {\r\n case 'text':\r\n case 'color':\r\n case 'date':\r\n case 'datetime-local':\r\n case 'email':\r\n case 'month':\r\n case 'number':\r\n case 'password':\r\n case 'search':\r\n case 'tel':\r\n case 'time':\r\n case 'week':\r\n input.type = newValue;\r\n break;\r\n default:\r\n input.type = 'text';\r\n break;\r\n }\r\n break;\r\n case 'labels':\r\n if (newValue.ok && this.__internal.buttons[0].element) {\r\n this.__internal.buttons[0].element.innerHTML = newValue.ok;\r\n }\r\n if (newValue.cancel && this.__internal.buttons[1].element) {\r\n this.__internal.buttons[1].element.innerHTML = newValue.cancel;\r\n }\r\n break;\r\n case 'reverseButtons':\r\n if (newValue === true) {\r\n this.elements.buttons.primary.appendChild(this.__internal.buttons[0].element);\r\n } else {\r\n this.elements.buttons.primary.appendChild(this.__internal.buttons[1].element);\r\n }\r\n break;\r\n }\r\n },\r\n callback: function (closeEvent) {\r\n var returnValue;\r\n switch (closeEvent.index) {\r\n case 0:\r\n this.settings.value = input.value;\r\n if (typeof this.get('onok') === 'function') {\r\n returnValue = this.get('onok').call(this, closeEvent, this.settings.value);\r\n if (typeof returnValue !== 'undefined') {\r\n closeEvent.cancel = !returnValue;\r\n }\r\n }\r\n break;\r\n case 1:\r\n if (typeof this.get('oncancel') === 'function') {\r\n returnValue = this.get('oncancel').call(this, closeEvent);\r\n if (typeof returnValue !== 'undefined') {\r\n closeEvent.cancel = !returnValue;\r\n }\r\n }\r\n if(!closeEvent.cancel){\r\n input.value = this.settings.value;\r\n }\r\n break;\r\n }\r\n }\r\n };\r\n });\r\n\r\n // CommonJS\r\n if ( true && typeof module.exports === 'object' ) {\r\n module.exports = alertify;\r\n // AMD\r\n } else if ( true) {\r\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () {\r\n return alertify;\r\n }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\r\n // window\r\n } else {}\r\n\r\n} ( typeof window !== 'undefined' ? window : this ) );\r\n\n\n//# sourceURL=webpack:///./node_modules/alertifyjs/build/alertify.js?"); - -/***/ }), - -/***/ "./node_modules/alertifyjs/build/css/alertify.min.css": -/*!************************************************************!*\ - !*** ./node_modules/alertifyjs/build/css/alertify.min.css ***! - \************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("\nvar content = __webpack_require__(/*! !../../../css-loader/dist/cjs.js!./alertify.min.css */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/alertifyjs/build/css/alertify.min.css\");\n\nif(typeof content === 'string') content = [[module.i, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = __webpack_require__(/*! ../../../style-loader/lib/addStyles.js */ \"./node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(false) {}\n\n//# sourceURL=webpack:///./node_modules/alertifyjs/build/css/alertify.min.css?"); - -/***/ }), - -/***/ "./node_modules/alertifyjs/build/css/themes/semantic.min.css": -/*!*******************************************************************!*\ - !*** ./node_modules/alertifyjs/build/css/themes/semantic.min.css ***! - \*******************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("\nvar content = __webpack_require__(/*! !../../../../css-loader/dist/cjs.js!./semantic.min.css */ \"./node_modules/css-loader/dist/cjs.js!./node_modules/alertifyjs/build/css/themes/semantic.min.css\");\n\nif(typeof content === 'string') content = [[module.i, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = __webpack_require__(/*! ../../../../style-loader/lib/addStyles.js */ \"./node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(false) {}\n\n//# sourceURL=webpack:///./node_modules/alertifyjs/build/css/themes/semantic.min.css?"); - -/***/ }), - -/***/ "./node_modules/base64-js/index.js": -/*!*****************************************!*\ - !*** ./node_modules/base64-js/index.js ***! - \*****************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(\n uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n ))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n\n\n//# sourceURL=webpack:///./node_modules/base64-js/index.js?"); - -/***/ }), - -/***/ "./node_modules/bluebird/js/browser/bluebird.js": -/*!******************************************************!*\ - !*** ./node_modules/bluebird/js/browser/bluebird.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/* WEBPACK VAR INJECTION */(function(process, Promise, global, setImmediate) {/* @preserve\n * The MIT License (MIT)\n * \n * Copyright (c) 2013-2018 Petka Antonov\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n * \n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n * \n */\n/**\n * bluebird build version 3.5.5\n * Features enabled: core, race, call_get, generators, map, nodeify, promisify, props, reduce, settle, some, using, timers, filter, any, each\n*/\n!function(e){if(true)module.exports=e();else { var f; }}(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof _dereq_==\"function\"&&_dereq_;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof _dereq_==\"function\"&&_dereq_;for(var o=0;o 0) {\n _drainQueueStep(queue);\n }\n}\n\nfunction _drainQueueStep(queue) {\n var fn = queue.shift();\n if (typeof fn !== \"function\") {\n fn._settlePromises();\n } else {\n var receiver = queue.shift();\n var arg = queue.shift();\n fn.call(receiver, arg);\n }\n}\n\nAsync.prototype._drainQueues = function () {\n _drainQueue(this._normalQueue);\n this._reset();\n this._haveDrainedQueues = true;\n _drainQueue(this._lateQueue);\n};\n\nAsync.prototype._queueTick = function () {\n if (!this._isTickUsed) {\n this._isTickUsed = true;\n this._schedule(this.drainQueues);\n }\n};\n\nAsync.prototype._reset = function () {\n this._isTickUsed = false;\n};\n\nmodule.exports = Async;\nmodule.exports.firstLineError = firstLineError;\n\n},{\"./queue\":26,\"./schedule\":29,\"./util\":36}],3:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise, INTERNAL, tryConvertToPromise, debug) {\nvar calledBind = false;\nvar rejectThis = function(_, e) {\n this._reject(e);\n};\n\nvar targetRejected = function(e, context) {\n context.promiseRejectionQueued = true;\n context.bindingPromise._then(rejectThis, rejectThis, null, this, e);\n};\n\nvar bindingResolved = function(thisArg, context) {\n if (((this._bitField & 50397184) === 0)) {\n this._resolveCallback(context.target);\n }\n};\n\nvar bindingRejected = function(e, context) {\n if (!context.promiseRejectionQueued) this._reject(e);\n};\n\nPromise.prototype.bind = function (thisArg) {\n if (!calledBind) {\n calledBind = true;\n Promise.prototype._propagateFrom = debug.propagateFromFunction();\n Promise.prototype._boundValue = debug.boundValueFunction();\n }\n var maybePromise = tryConvertToPromise(thisArg);\n var ret = new Promise(INTERNAL);\n ret._propagateFrom(this, 1);\n var target = this._target();\n ret._setBoundTo(maybePromise);\n if (maybePromise instanceof Promise) {\n var context = {\n promiseRejectionQueued: false,\n promise: ret,\n target: target,\n bindingPromise: maybePromise\n };\n target._then(INTERNAL, targetRejected, undefined, ret, context);\n maybePromise._then(\n bindingResolved, bindingRejected, undefined, ret, context);\n ret._setOnCancel(maybePromise);\n } else {\n ret._resolveCallback(target);\n }\n return ret;\n};\n\nPromise.prototype._setBoundTo = function (obj) {\n if (obj !== undefined) {\n this._bitField = this._bitField | 2097152;\n this._boundTo = obj;\n } else {\n this._bitField = this._bitField & (~2097152);\n }\n};\n\nPromise.prototype._isBound = function () {\n return (this._bitField & 2097152) === 2097152;\n};\n\nPromise.bind = function (thisArg, value) {\n return Promise.resolve(value).bind(thisArg);\n};\n};\n\n},{}],4:[function(_dereq_,module,exports){\n\"use strict\";\nvar old;\nif (typeof Promise !== \"undefined\") old = Promise;\nfunction noConflict() {\n try { if (Promise === bluebird) Promise = old; }\n catch (e) {}\n return bluebird;\n}\nvar bluebird = _dereq_(\"./promise\")();\nbluebird.noConflict = noConflict;\nmodule.exports = bluebird;\n\n},{\"./promise\":22}],5:[function(_dereq_,module,exports){\n\"use strict\";\nvar cr = Object.create;\nif (cr) {\n var callerCache = cr(null);\n var getterCache = cr(null);\n callerCache[\" size\"] = getterCache[\" size\"] = 0;\n}\n\nmodule.exports = function(Promise) {\nvar util = _dereq_(\"./util\");\nvar canEvaluate = util.canEvaluate;\nvar isIdentifier = util.isIdentifier;\n\nvar getMethodCaller;\nvar getGetter;\nif (false) { var getCompiled, makeGetter, makeMethodCaller; }\n\nfunction ensureMethod(obj, methodName) {\n var fn;\n if (obj != null) fn = obj[methodName];\n if (typeof fn !== \"function\") {\n var message = \"Object \" + util.classString(obj) + \" has no method '\" +\n util.toString(methodName) + \"'\";\n throw new Promise.TypeError(message);\n }\n return fn;\n}\n\nfunction caller(obj) {\n var methodName = this.pop();\n var fn = ensureMethod(obj, methodName);\n return fn.apply(obj, this);\n}\nPromise.prototype.call = function (methodName) {\n var args = [].slice.call(arguments, 1);;\n if (false) { var maybeCaller; }\n args.push(methodName);\n return this._then(caller, undefined, undefined, args, undefined);\n};\n\nfunction namedGetter(obj) {\n return obj[this];\n}\nfunction indexedGetter(obj) {\n var index = +this;\n if (index < 0) index = Math.max(0, index + obj.length);\n return obj[index];\n}\nPromise.prototype.get = function (propertyName) {\n var isIndex = (typeof propertyName === \"number\");\n var getter;\n if (!isIndex) {\n if (canEvaluate) {\n var maybeGetter = getGetter(propertyName);\n getter = maybeGetter !== null ? maybeGetter : namedGetter;\n } else {\n getter = namedGetter;\n }\n } else {\n getter = indexedGetter;\n }\n return this._then(getter, undefined, undefined, propertyName, undefined);\n};\n};\n\n},{\"./util\":36}],6:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise, PromiseArray, apiRejection, debug) {\nvar util = _dereq_(\"./util\");\nvar tryCatch = util.tryCatch;\nvar errorObj = util.errorObj;\nvar async = Promise._async;\n\nPromise.prototype[\"break\"] = Promise.prototype.cancel = function() {\n if (!debug.cancellation()) return this._warn(\"cancellation is disabled\");\n\n var promise = this;\n var child = promise;\n while (promise._isCancellable()) {\n if (!promise._cancelBy(child)) {\n if (child._isFollowing()) {\n child._followee().cancel();\n } else {\n child._cancelBranched();\n }\n break;\n }\n\n var parent = promise._cancellationParent;\n if (parent == null || !parent._isCancellable()) {\n if (promise._isFollowing()) {\n promise._followee().cancel();\n } else {\n promise._cancelBranched();\n }\n break;\n } else {\n if (promise._isFollowing()) promise._followee().cancel();\n promise._setWillBeCancelled();\n child = promise;\n promise = parent;\n }\n }\n};\n\nPromise.prototype._branchHasCancelled = function() {\n this._branchesRemainingToCancel--;\n};\n\nPromise.prototype._enoughBranchesHaveCancelled = function() {\n return this._branchesRemainingToCancel === undefined ||\n this._branchesRemainingToCancel <= 0;\n};\n\nPromise.prototype._cancelBy = function(canceller) {\n if (canceller === this) {\n this._branchesRemainingToCancel = 0;\n this._invokeOnCancel();\n return true;\n } else {\n this._branchHasCancelled();\n if (this._enoughBranchesHaveCancelled()) {\n this._invokeOnCancel();\n return true;\n }\n }\n return false;\n};\n\nPromise.prototype._cancelBranched = function() {\n if (this._enoughBranchesHaveCancelled()) {\n this._cancel();\n }\n};\n\nPromise.prototype._cancel = function() {\n if (!this._isCancellable()) return;\n this._setCancelled();\n async.invoke(this._cancelPromises, this, undefined);\n};\n\nPromise.prototype._cancelPromises = function() {\n if (this._length() > 0) this._settlePromises();\n};\n\nPromise.prototype._unsetOnCancel = function() {\n this._onCancelField = undefined;\n};\n\nPromise.prototype._isCancellable = function() {\n return this.isPending() && !this._isCancelled();\n};\n\nPromise.prototype.isCancellable = function() {\n return this.isPending() && !this.isCancelled();\n};\n\nPromise.prototype._doInvokeOnCancel = function(onCancelCallback, internalOnly) {\n if (util.isArray(onCancelCallback)) {\n for (var i = 0; i < onCancelCallback.length; ++i) {\n this._doInvokeOnCancel(onCancelCallback[i], internalOnly);\n }\n } else if (onCancelCallback !== undefined) {\n if (typeof onCancelCallback === \"function\") {\n if (!internalOnly) {\n var e = tryCatch(onCancelCallback).call(this._boundValue());\n if (e === errorObj) {\n this._attachExtraTrace(e.e);\n async.throwLater(e.e);\n }\n }\n } else {\n onCancelCallback._resultCancelled(this);\n }\n }\n};\n\nPromise.prototype._invokeOnCancel = function() {\n var onCancelCallback = this._onCancel();\n this._unsetOnCancel();\n async.invoke(this._doInvokeOnCancel, this, onCancelCallback);\n};\n\nPromise.prototype._invokeInternalOnCancel = function() {\n if (this._isCancellable()) {\n this._doInvokeOnCancel(this._onCancel(), true);\n this._unsetOnCancel();\n }\n};\n\nPromise.prototype._resultCancelled = function() {\n this.cancel();\n};\n\n};\n\n},{\"./util\":36}],7:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(NEXT_FILTER) {\nvar util = _dereq_(\"./util\");\nvar getKeys = _dereq_(\"./es5\").keys;\nvar tryCatch = util.tryCatch;\nvar errorObj = util.errorObj;\n\nfunction catchFilter(instances, cb, promise) {\n return function(e) {\n var boundTo = promise._boundValue();\n predicateLoop: for (var i = 0; i < instances.length; ++i) {\n var item = instances[i];\n\n if (item === Error ||\n (item != null && item.prototype instanceof Error)) {\n if (e instanceof item) {\n return tryCatch(cb).call(boundTo, e);\n }\n } else if (typeof item === \"function\") {\n var matchesPredicate = tryCatch(item).call(boundTo, e);\n if (matchesPredicate === errorObj) {\n return matchesPredicate;\n } else if (matchesPredicate) {\n return tryCatch(cb).call(boundTo, e);\n }\n } else if (util.isObject(e)) {\n var keys = getKeys(item);\n for (var j = 0; j < keys.length; ++j) {\n var key = keys[j];\n if (item[key] != e[key]) {\n continue predicateLoop;\n }\n }\n return tryCatch(cb).call(boundTo, e);\n }\n }\n return NEXT_FILTER;\n };\n}\n\nreturn catchFilter;\n};\n\n},{\"./es5\":13,\"./util\":36}],8:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise) {\nvar longStackTraces = false;\nvar contextStack = [];\n\nPromise.prototype._promiseCreated = function() {};\nPromise.prototype._pushContext = function() {};\nPromise.prototype._popContext = function() {return null;};\nPromise._peekContext = Promise.prototype._peekContext = function() {};\n\nfunction Context() {\n this._trace = new Context.CapturedTrace(peekContext());\n}\nContext.prototype._pushContext = function () {\n if (this._trace !== undefined) {\n this._trace._promiseCreated = null;\n contextStack.push(this._trace);\n }\n};\n\nContext.prototype._popContext = function () {\n if (this._trace !== undefined) {\n var trace = contextStack.pop();\n var ret = trace._promiseCreated;\n trace._promiseCreated = null;\n return ret;\n }\n return null;\n};\n\nfunction createContext() {\n if (longStackTraces) return new Context();\n}\n\nfunction peekContext() {\n var lastIndex = contextStack.length - 1;\n if (lastIndex >= 0) {\n return contextStack[lastIndex];\n }\n return undefined;\n}\nContext.CapturedTrace = null;\nContext.create = createContext;\nContext.deactivateLongStackTraces = function() {};\nContext.activateLongStackTraces = function() {\n var Promise_pushContext = Promise.prototype._pushContext;\n var Promise_popContext = Promise.prototype._popContext;\n var Promise_PeekContext = Promise._peekContext;\n var Promise_peekContext = Promise.prototype._peekContext;\n var Promise_promiseCreated = Promise.prototype._promiseCreated;\n Context.deactivateLongStackTraces = function() {\n Promise.prototype._pushContext = Promise_pushContext;\n Promise.prototype._popContext = Promise_popContext;\n Promise._peekContext = Promise_PeekContext;\n Promise.prototype._peekContext = Promise_peekContext;\n Promise.prototype._promiseCreated = Promise_promiseCreated;\n longStackTraces = false;\n };\n longStackTraces = true;\n Promise.prototype._pushContext = Context.prototype._pushContext;\n Promise.prototype._popContext = Context.prototype._popContext;\n Promise._peekContext = Promise.prototype._peekContext = peekContext;\n Promise.prototype._promiseCreated = function() {\n var ctx = this._peekContext();\n if (ctx && ctx._promiseCreated == null) ctx._promiseCreated = this;\n };\n};\nreturn Context;\n};\n\n},{}],9:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise, Context) {\nvar getDomain = Promise._getDomain;\nvar async = Promise._async;\nvar Warning = _dereq_(\"./errors\").Warning;\nvar util = _dereq_(\"./util\");\nvar es5 = _dereq_(\"./es5\");\nvar canAttachTrace = util.canAttachTrace;\nvar unhandledRejectionHandled;\nvar possiblyUnhandledRejection;\nvar bluebirdFramePattern =\n /[\\\\\\/]bluebird[\\\\\\/]js[\\\\\\/](release|debug|instrumented)/;\nvar nodeFramePattern = /\\((?:timers\\.js):\\d+:\\d+\\)/;\nvar parseLinePattern = /[\\/<\\(](.+?):(\\d+):(\\d+)\\)?\\s*$/;\nvar stackFramePattern = null;\nvar formatStack = null;\nvar indentStackFrames = false;\nvar printWarning;\nvar debugging = !!(util.env(\"BLUEBIRD_DEBUG\") != 0 &&\n ( true ||\n false));\n\nvar warnings = !!(util.env(\"BLUEBIRD_WARNINGS\") != 0 &&\n (debugging || util.env(\"BLUEBIRD_WARNINGS\")));\n\nvar longStackTraces = !!(util.env(\"BLUEBIRD_LONG_STACK_TRACES\") != 0 &&\n (debugging || util.env(\"BLUEBIRD_LONG_STACK_TRACES\")));\n\nvar wForgottenReturn = util.env(\"BLUEBIRD_W_FORGOTTEN_RETURN\") != 0 &&\n (warnings || !!util.env(\"BLUEBIRD_W_FORGOTTEN_RETURN\"));\n\nPromise.prototype.suppressUnhandledRejections = function() {\n var target = this._target();\n target._bitField = ((target._bitField & (~1048576)) |\n 524288);\n};\n\nPromise.prototype._ensurePossibleRejectionHandled = function () {\n if ((this._bitField & 524288) !== 0) return;\n this._setRejectionIsUnhandled();\n var self = this;\n setTimeout(function() {\n self._notifyUnhandledRejection();\n }, 1);\n};\n\nPromise.prototype._notifyUnhandledRejectionIsHandled = function () {\n fireRejectionEvent(\"rejectionHandled\",\n unhandledRejectionHandled, undefined, this);\n};\n\nPromise.prototype._setReturnedNonUndefined = function() {\n this._bitField = this._bitField | 268435456;\n};\n\nPromise.prototype._returnedNonUndefined = function() {\n return (this._bitField & 268435456) !== 0;\n};\n\nPromise.prototype._notifyUnhandledRejection = function () {\n if (this._isRejectionUnhandled()) {\n var reason = this._settledValue();\n this._setUnhandledRejectionIsNotified();\n fireRejectionEvent(\"unhandledRejection\",\n possiblyUnhandledRejection, reason, this);\n }\n};\n\nPromise.prototype._setUnhandledRejectionIsNotified = function () {\n this._bitField = this._bitField | 262144;\n};\n\nPromise.prototype._unsetUnhandledRejectionIsNotified = function () {\n this._bitField = this._bitField & (~262144);\n};\n\nPromise.prototype._isUnhandledRejectionNotified = function () {\n return (this._bitField & 262144) > 0;\n};\n\nPromise.prototype._setRejectionIsUnhandled = function () {\n this._bitField = this._bitField | 1048576;\n};\n\nPromise.prototype._unsetRejectionIsUnhandled = function () {\n this._bitField = this._bitField & (~1048576);\n if (this._isUnhandledRejectionNotified()) {\n this._unsetUnhandledRejectionIsNotified();\n this._notifyUnhandledRejectionIsHandled();\n }\n};\n\nPromise.prototype._isRejectionUnhandled = function () {\n return (this._bitField & 1048576) > 0;\n};\n\nPromise.prototype._warn = function(message, shouldUseOwnTrace, promise) {\n return warn(message, shouldUseOwnTrace, promise || this);\n};\n\nPromise.onPossiblyUnhandledRejection = function (fn) {\n var domain = getDomain();\n possiblyUnhandledRejection =\n typeof fn === \"function\" ? (domain === null ?\n fn : util.domainBind(domain, fn))\n : undefined;\n};\n\nPromise.onUnhandledRejectionHandled = function (fn) {\n var domain = getDomain();\n unhandledRejectionHandled =\n typeof fn === \"function\" ? (domain === null ?\n fn : util.domainBind(domain, fn))\n : undefined;\n};\n\nvar disableLongStackTraces = function() {};\nPromise.longStackTraces = function () {\n if (async.haveItemsQueued() && !config.longStackTraces) {\n throw new Error(\"cannot enable long stack traces after promises have been created\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n if (!config.longStackTraces && longStackTracesIsSupported()) {\n var Promise_captureStackTrace = Promise.prototype._captureStackTrace;\n var Promise_attachExtraTrace = Promise.prototype._attachExtraTrace;\n var Promise_dereferenceTrace = Promise.prototype._dereferenceTrace;\n config.longStackTraces = true;\n disableLongStackTraces = function() {\n if (async.haveItemsQueued() && !config.longStackTraces) {\n throw new Error(\"cannot enable long stack traces after promises have been created\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n Promise.prototype._captureStackTrace = Promise_captureStackTrace;\n Promise.prototype._attachExtraTrace = Promise_attachExtraTrace;\n Promise.prototype._dereferenceTrace = Promise_dereferenceTrace;\n Context.deactivateLongStackTraces();\n async.enableTrampoline();\n config.longStackTraces = false;\n };\n Promise.prototype._captureStackTrace = longStackTracesCaptureStackTrace;\n Promise.prototype._attachExtraTrace = longStackTracesAttachExtraTrace;\n Promise.prototype._dereferenceTrace = longStackTracesDereferenceTrace;\n Context.activateLongStackTraces();\n async.disableTrampolineIfNecessary();\n }\n};\n\nPromise.hasLongStackTraces = function () {\n return config.longStackTraces && longStackTracesIsSupported();\n};\n\nvar fireDomEvent = (function() {\n try {\n if (typeof CustomEvent === \"function\") {\n var event = new CustomEvent(\"CustomEvent\");\n util.global.dispatchEvent(event);\n return function(name, event) {\n var eventData = {\n detail: event,\n cancelable: true\n };\n es5.defineProperty(\n eventData, \"promise\", {value: event.promise});\n es5.defineProperty(eventData, \"reason\", {value: event.reason});\n var domEvent = new CustomEvent(name.toLowerCase(), eventData);\n return !util.global.dispatchEvent(domEvent);\n };\n } else if (typeof Event === \"function\") {\n var event = new Event(\"CustomEvent\");\n util.global.dispatchEvent(event);\n return function(name, event) {\n var domEvent = new Event(name.toLowerCase(), {\n cancelable: true\n });\n domEvent.detail = event;\n es5.defineProperty(domEvent, \"promise\", {value: event.promise});\n es5.defineProperty(domEvent, \"reason\", {value: event.reason});\n return !util.global.dispatchEvent(domEvent);\n };\n } else {\n var event = document.createEvent(\"CustomEvent\");\n event.initCustomEvent(\"testingtheevent\", false, true, {});\n util.global.dispatchEvent(event);\n return function(name, event) {\n var domEvent = document.createEvent(\"CustomEvent\");\n domEvent.initCustomEvent(name.toLowerCase(), false, true,\n event);\n return !util.global.dispatchEvent(domEvent);\n };\n }\n } catch (e) {}\n return function() {\n return false;\n };\n})();\n\nvar fireGlobalEvent = (function() {\n if (util.isNode) {\n return function() {\n return process.emit.apply(process, arguments);\n };\n } else {\n if (!util.global) {\n return function() {\n return false;\n };\n }\n return function(name) {\n var methodName = \"on\" + name.toLowerCase();\n var method = util.global[methodName];\n if (!method) return false;\n method.apply(util.global, [].slice.call(arguments, 1));\n return true;\n };\n }\n})();\n\nfunction generatePromiseLifecycleEventObject(name, promise) {\n return {promise: promise};\n}\n\nvar eventToObjectGenerator = {\n promiseCreated: generatePromiseLifecycleEventObject,\n promiseFulfilled: generatePromiseLifecycleEventObject,\n promiseRejected: generatePromiseLifecycleEventObject,\n promiseResolved: generatePromiseLifecycleEventObject,\n promiseCancelled: generatePromiseLifecycleEventObject,\n promiseChained: function(name, promise, child) {\n return {promise: promise, child: child};\n },\n warning: function(name, warning) {\n return {warning: warning};\n },\n unhandledRejection: function (name, reason, promise) {\n return {reason: reason, promise: promise};\n },\n rejectionHandled: generatePromiseLifecycleEventObject\n};\n\nvar activeFireEvent = function (name) {\n var globalEventFired = false;\n try {\n globalEventFired = fireGlobalEvent.apply(null, arguments);\n } catch (e) {\n async.throwLater(e);\n globalEventFired = true;\n }\n\n var domEventFired = false;\n try {\n domEventFired = fireDomEvent(name,\n eventToObjectGenerator[name].apply(null, arguments));\n } catch (e) {\n async.throwLater(e);\n domEventFired = true;\n }\n\n return domEventFired || globalEventFired;\n};\n\nPromise.config = function(opts) {\n opts = Object(opts);\n if (\"longStackTraces\" in opts) {\n if (opts.longStackTraces) {\n Promise.longStackTraces();\n } else if (!opts.longStackTraces && Promise.hasLongStackTraces()) {\n disableLongStackTraces();\n }\n }\n if (\"warnings\" in opts) {\n var warningsOption = opts.warnings;\n config.warnings = !!warningsOption;\n wForgottenReturn = config.warnings;\n\n if (util.isObject(warningsOption)) {\n if (\"wForgottenReturn\" in warningsOption) {\n wForgottenReturn = !!warningsOption.wForgottenReturn;\n }\n }\n }\n if (\"cancellation\" in opts && opts.cancellation && !config.cancellation) {\n if (async.haveItemsQueued()) {\n throw new Error(\n \"cannot enable cancellation after promises are in use\");\n }\n Promise.prototype._clearCancellationData =\n cancellationClearCancellationData;\n Promise.prototype._propagateFrom = cancellationPropagateFrom;\n Promise.prototype._onCancel = cancellationOnCancel;\n Promise.prototype._setOnCancel = cancellationSetOnCancel;\n Promise.prototype._attachCancellationCallback =\n cancellationAttachCancellationCallback;\n Promise.prototype._execute = cancellationExecute;\n propagateFromFunction = cancellationPropagateFrom;\n config.cancellation = true;\n }\n if (\"monitoring\" in opts) {\n if (opts.monitoring && !config.monitoring) {\n config.monitoring = true;\n Promise.prototype._fireEvent = activeFireEvent;\n } else if (!opts.monitoring && config.monitoring) {\n config.monitoring = false;\n Promise.prototype._fireEvent = defaultFireEvent;\n }\n }\n return Promise;\n};\n\nfunction defaultFireEvent() { return false; }\n\nPromise.prototype._fireEvent = defaultFireEvent;\nPromise.prototype._execute = function(executor, resolve, reject) {\n try {\n executor(resolve, reject);\n } catch (e) {\n return e;\n }\n};\nPromise.prototype._onCancel = function () {};\nPromise.prototype._setOnCancel = function (handler) { ; };\nPromise.prototype._attachCancellationCallback = function(onCancel) {\n ;\n};\nPromise.prototype._captureStackTrace = function () {};\nPromise.prototype._attachExtraTrace = function () {};\nPromise.prototype._dereferenceTrace = function () {};\nPromise.prototype._clearCancellationData = function() {};\nPromise.prototype._propagateFrom = function (parent, flags) {\n ;\n ;\n};\n\nfunction cancellationExecute(executor, resolve, reject) {\n var promise = this;\n try {\n executor(resolve, reject, function(onCancel) {\n if (typeof onCancel !== \"function\") {\n throw new TypeError(\"onCancel must be a function, got: \" +\n util.toString(onCancel));\n }\n promise._attachCancellationCallback(onCancel);\n });\n } catch (e) {\n return e;\n }\n}\n\nfunction cancellationAttachCancellationCallback(onCancel) {\n if (!this._isCancellable()) return this;\n\n var previousOnCancel = this._onCancel();\n if (previousOnCancel !== undefined) {\n if (util.isArray(previousOnCancel)) {\n previousOnCancel.push(onCancel);\n } else {\n this._setOnCancel([previousOnCancel, onCancel]);\n }\n } else {\n this._setOnCancel(onCancel);\n }\n}\n\nfunction cancellationOnCancel() {\n return this._onCancelField;\n}\n\nfunction cancellationSetOnCancel(onCancel) {\n this._onCancelField = onCancel;\n}\n\nfunction cancellationClearCancellationData() {\n this._cancellationParent = undefined;\n this._onCancelField = undefined;\n}\n\nfunction cancellationPropagateFrom(parent, flags) {\n if ((flags & 1) !== 0) {\n this._cancellationParent = parent;\n var branchesRemainingToCancel = parent._branchesRemainingToCancel;\n if (branchesRemainingToCancel === undefined) {\n branchesRemainingToCancel = 0;\n }\n parent._branchesRemainingToCancel = branchesRemainingToCancel + 1;\n }\n if ((flags & 2) !== 0 && parent._isBound()) {\n this._setBoundTo(parent._boundTo);\n }\n}\n\nfunction bindingPropagateFrom(parent, flags) {\n if ((flags & 2) !== 0 && parent._isBound()) {\n this._setBoundTo(parent._boundTo);\n }\n}\nvar propagateFromFunction = bindingPropagateFrom;\n\nfunction boundValueFunction() {\n var ret = this._boundTo;\n if (ret !== undefined) {\n if (ret instanceof Promise) {\n if (ret.isFulfilled()) {\n return ret.value();\n } else {\n return undefined;\n }\n }\n }\n return ret;\n}\n\nfunction longStackTracesCaptureStackTrace() {\n this._trace = new CapturedTrace(this._peekContext());\n}\n\nfunction longStackTracesAttachExtraTrace(error, ignoreSelf) {\n if (canAttachTrace(error)) {\n var trace = this._trace;\n if (trace !== undefined) {\n if (ignoreSelf) trace = trace._parent;\n }\n if (trace !== undefined) {\n trace.attachExtraTrace(error);\n } else if (!error.__stackCleaned__) {\n var parsed = parseStackAndMessage(error);\n util.notEnumerableProp(error, \"stack\",\n parsed.message + \"\\n\" + parsed.stack.join(\"\\n\"));\n util.notEnumerableProp(error, \"__stackCleaned__\", true);\n }\n }\n}\n\nfunction longStackTracesDereferenceTrace() {\n this._trace = undefined;\n}\n\nfunction checkForgottenReturns(returnValue, promiseCreated, name, promise,\n parent) {\n if (returnValue === undefined && promiseCreated !== null &&\n wForgottenReturn) {\n if (parent !== undefined && parent._returnedNonUndefined()) return;\n if ((promise._bitField & 65535) === 0) return;\n\n if (name) name = name + \" \";\n var handlerLine = \"\";\n var creatorLine = \"\";\n if (promiseCreated._trace) {\n var traceLines = promiseCreated._trace.stack.split(\"\\n\");\n var stack = cleanStack(traceLines);\n for (var i = stack.length - 1; i >= 0; --i) {\n var line = stack[i];\n if (!nodeFramePattern.test(line)) {\n var lineMatches = line.match(parseLinePattern);\n if (lineMatches) {\n handlerLine = \"at \" + lineMatches[1] +\n \":\" + lineMatches[2] + \":\" + lineMatches[3] + \" \";\n }\n break;\n }\n }\n\n if (stack.length > 0) {\n var firstUserLine = stack[0];\n for (var i = 0; i < traceLines.length; ++i) {\n\n if (traceLines[i] === firstUserLine) {\n if (i > 0) {\n creatorLine = \"\\n\" + traceLines[i - 1];\n }\n break;\n }\n }\n\n }\n }\n var msg = \"a promise was created in a \" + name +\n \"handler \" + handlerLine + \"but was not returned from it, \" +\n \"see http://goo.gl/rRqMUw\" +\n creatorLine;\n promise._warn(msg, true, promiseCreated);\n }\n}\n\nfunction deprecated(name, replacement) {\n var message = name +\n \" is deprecated and will be removed in a future version.\";\n if (replacement) message += \" Use \" + replacement + \" instead.\";\n return warn(message);\n}\n\nfunction warn(message, shouldUseOwnTrace, promise) {\n if (!config.warnings) return;\n var warning = new Warning(message);\n var ctx;\n if (shouldUseOwnTrace) {\n promise._attachExtraTrace(warning);\n } else if (config.longStackTraces && (ctx = Promise._peekContext())) {\n ctx.attachExtraTrace(warning);\n } else {\n var parsed = parseStackAndMessage(warning);\n warning.stack = parsed.message + \"\\n\" + parsed.stack.join(\"\\n\");\n }\n\n if (!activeFireEvent(\"warning\", warning)) {\n formatAndLogError(warning, \"\", true);\n }\n}\n\nfunction reconstructStack(message, stacks) {\n for (var i = 0; i < stacks.length - 1; ++i) {\n stacks[i].push(\"From previous event:\");\n stacks[i] = stacks[i].join(\"\\n\");\n }\n if (i < stacks.length) {\n stacks[i] = stacks[i].join(\"\\n\");\n }\n return message + \"\\n\" + stacks.join(\"\\n\");\n}\n\nfunction removeDuplicateOrEmptyJumps(stacks) {\n for (var i = 0; i < stacks.length; ++i) {\n if (stacks[i].length === 0 ||\n ((i + 1 < stacks.length) && stacks[i][0] === stacks[i+1][0])) {\n stacks.splice(i, 1);\n i--;\n }\n }\n}\n\nfunction removeCommonRoots(stacks) {\n var current = stacks[0];\n for (var i = 1; i < stacks.length; ++i) {\n var prev = stacks[i];\n var currentLastIndex = current.length - 1;\n var currentLastLine = current[currentLastIndex];\n var commonRootMeetPoint = -1;\n\n for (var j = prev.length - 1; j >= 0; --j) {\n if (prev[j] === currentLastLine) {\n commonRootMeetPoint = j;\n break;\n }\n }\n\n for (var j = commonRootMeetPoint; j >= 0; --j) {\n var line = prev[j];\n if (current[currentLastIndex] === line) {\n current.pop();\n currentLastIndex--;\n } else {\n break;\n }\n }\n current = prev;\n }\n}\n\nfunction cleanStack(stack) {\n var ret = [];\n for (var i = 0; i < stack.length; ++i) {\n var line = stack[i];\n var isTraceLine = \" (No stack trace)\" === line ||\n stackFramePattern.test(line);\n var isInternalFrame = isTraceLine && shouldIgnore(line);\n if (isTraceLine && !isInternalFrame) {\n if (indentStackFrames && line.charAt(0) !== \" \") {\n line = \" \" + line;\n }\n ret.push(line);\n }\n }\n return ret;\n}\n\nfunction stackFramesAsArray(error) {\n var stack = error.stack.replace(/\\s+$/g, \"\").split(\"\\n\");\n for (var i = 0; i < stack.length; ++i) {\n var line = stack[i];\n if (\" (No stack trace)\" === line || stackFramePattern.test(line)) {\n break;\n }\n }\n if (i > 0 && error.name != \"SyntaxError\") {\n stack = stack.slice(i);\n }\n return stack;\n}\n\nfunction parseStackAndMessage(error) {\n var stack = error.stack;\n var message = error.toString();\n stack = typeof stack === \"string\" && stack.length > 0\n ? stackFramesAsArray(error) : [\" (No stack trace)\"];\n return {\n message: message,\n stack: error.name == \"SyntaxError\" ? stack : cleanStack(stack)\n };\n}\n\nfunction formatAndLogError(error, title, isSoft) {\n if (typeof console !== \"undefined\") {\n var message;\n if (util.isObject(error)) {\n var stack = error.stack;\n message = title + formatStack(stack, error);\n } else {\n message = title + String(error);\n }\n if (typeof printWarning === \"function\") {\n printWarning(message, isSoft);\n } else if (typeof console.log === \"function\" ||\n typeof console.log === \"object\") {\n console.log(message);\n }\n }\n}\n\nfunction fireRejectionEvent(name, localHandler, reason, promise) {\n var localEventFired = false;\n try {\n if (typeof localHandler === \"function\") {\n localEventFired = true;\n if (name === \"rejectionHandled\") {\n localHandler(promise);\n } else {\n localHandler(reason, promise);\n }\n }\n } catch (e) {\n async.throwLater(e);\n }\n\n if (name === \"unhandledRejection\") {\n if (!activeFireEvent(name, reason, promise) && !localEventFired) {\n formatAndLogError(reason, \"Unhandled rejection \");\n }\n } else {\n activeFireEvent(name, promise);\n }\n}\n\nfunction formatNonError(obj) {\n var str;\n if (typeof obj === \"function\") {\n str = \"[function \" +\n (obj.name || \"anonymous\") +\n \"]\";\n } else {\n str = obj && typeof obj.toString === \"function\"\n ? obj.toString() : util.toString(obj);\n var ruselessToString = /\\[object [a-zA-Z0-9$_]+\\]/;\n if (ruselessToString.test(str)) {\n try {\n var newStr = JSON.stringify(obj);\n str = newStr;\n }\n catch(e) {\n\n }\n }\n if (str.length === 0) {\n str = \"(empty array)\";\n }\n }\n return (\"(<\" + snip(str) + \">, no stack trace)\");\n}\n\nfunction snip(str) {\n var maxChars = 41;\n if (str.length < maxChars) {\n return str;\n }\n return str.substr(0, maxChars - 3) + \"...\";\n}\n\nfunction longStackTracesIsSupported() {\n return typeof captureStackTrace === \"function\";\n}\n\nvar shouldIgnore = function() { return false; };\nvar parseLineInfoRegex = /[\\/<\\(]([^:\\/]+):(\\d+):(?:\\d+)\\)?\\s*$/;\nfunction parseLineInfo(line) {\n var matches = line.match(parseLineInfoRegex);\n if (matches) {\n return {\n fileName: matches[1],\n line: parseInt(matches[2], 10)\n };\n }\n}\n\nfunction setBounds(firstLineError, lastLineError) {\n if (!longStackTracesIsSupported()) return;\n var firstStackLines = (firstLineError.stack || \"\").split(\"\\n\");\n var lastStackLines = (lastLineError.stack || \"\").split(\"\\n\");\n var firstIndex = -1;\n var lastIndex = -1;\n var firstFileName;\n var lastFileName;\n for (var i = 0; i < firstStackLines.length; ++i) {\n var result = parseLineInfo(firstStackLines[i]);\n if (result) {\n firstFileName = result.fileName;\n firstIndex = result.line;\n break;\n }\n }\n for (var i = 0; i < lastStackLines.length; ++i) {\n var result = parseLineInfo(lastStackLines[i]);\n if (result) {\n lastFileName = result.fileName;\n lastIndex = result.line;\n break;\n }\n }\n if (firstIndex < 0 || lastIndex < 0 || !firstFileName || !lastFileName ||\n firstFileName !== lastFileName || firstIndex >= lastIndex) {\n return;\n }\n\n shouldIgnore = function(line) {\n if (bluebirdFramePattern.test(line)) return true;\n var info = parseLineInfo(line);\n if (info) {\n if (info.fileName === firstFileName &&\n (firstIndex <= info.line && info.line <= lastIndex)) {\n return true;\n }\n }\n return false;\n };\n}\n\nfunction CapturedTrace(parent) {\n this._parent = parent;\n this._promisesCreated = 0;\n var length = this._length = 1 + (parent === undefined ? 0 : parent._length);\n captureStackTrace(this, CapturedTrace);\n if (length > 32) this.uncycle();\n}\nutil.inherits(CapturedTrace, Error);\nContext.CapturedTrace = CapturedTrace;\n\nCapturedTrace.prototype.uncycle = function() {\n var length = this._length;\n if (length < 2) return;\n var nodes = [];\n var stackToIndex = {};\n\n for (var i = 0, node = this; node !== undefined; ++i) {\n nodes.push(node);\n node = node._parent;\n }\n length = this._length = i;\n for (var i = length - 1; i >= 0; --i) {\n var stack = nodes[i].stack;\n if (stackToIndex[stack] === undefined) {\n stackToIndex[stack] = i;\n }\n }\n for (var i = 0; i < length; ++i) {\n var currentStack = nodes[i].stack;\n var index = stackToIndex[currentStack];\n if (index !== undefined && index !== i) {\n if (index > 0) {\n nodes[index - 1]._parent = undefined;\n nodes[index - 1]._length = 1;\n }\n nodes[i]._parent = undefined;\n nodes[i]._length = 1;\n var cycleEdgeNode = i > 0 ? nodes[i - 1] : this;\n\n if (index < length - 1) {\n cycleEdgeNode._parent = nodes[index + 1];\n cycleEdgeNode._parent.uncycle();\n cycleEdgeNode._length =\n cycleEdgeNode._parent._length + 1;\n } else {\n cycleEdgeNode._parent = undefined;\n cycleEdgeNode._length = 1;\n }\n var currentChildLength = cycleEdgeNode._length + 1;\n for (var j = i - 2; j >= 0; --j) {\n nodes[j]._length = currentChildLength;\n currentChildLength++;\n }\n return;\n }\n }\n};\n\nCapturedTrace.prototype.attachExtraTrace = function(error) {\n if (error.__stackCleaned__) return;\n this.uncycle();\n var parsed = parseStackAndMessage(error);\n var message = parsed.message;\n var stacks = [parsed.stack];\n\n var trace = this;\n while (trace !== undefined) {\n stacks.push(cleanStack(trace.stack.split(\"\\n\")));\n trace = trace._parent;\n }\n removeCommonRoots(stacks);\n removeDuplicateOrEmptyJumps(stacks);\n util.notEnumerableProp(error, \"stack\", reconstructStack(message, stacks));\n util.notEnumerableProp(error, \"__stackCleaned__\", true);\n};\n\nvar captureStackTrace = (function stackDetection() {\n var v8stackFramePattern = /^\\s*at\\s*/;\n var v8stackFormatter = function(stack, error) {\n if (typeof stack === \"string\") return stack;\n\n if (error.name !== undefined &&\n error.message !== undefined) {\n return error.toString();\n }\n return formatNonError(error);\n };\n\n if (typeof Error.stackTraceLimit === \"number\" &&\n typeof Error.captureStackTrace === \"function\") {\n Error.stackTraceLimit += 6;\n stackFramePattern = v8stackFramePattern;\n formatStack = v8stackFormatter;\n var captureStackTrace = Error.captureStackTrace;\n\n shouldIgnore = function(line) {\n return bluebirdFramePattern.test(line);\n };\n return function(receiver, ignoreUntil) {\n Error.stackTraceLimit += 6;\n captureStackTrace(receiver, ignoreUntil);\n Error.stackTraceLimit -= 6;\n };\n }\n var err = new Error();\n\n if (typeof err.stack === \"string\" &&\n err.stack.split(\"\\n\")[0].indexOf(\"stackDetection@\") >= 0) {\n stackFramePattern = /@/;\n formatStack = v8stackFormatter;\n indentStackFrames = true;\n return function captureStackTrace(o) {\n o.stack = new Error().stack;\n };\n }\n\n var hasStackAfterThrow;\n try { throw new Error(); }\n catch(e) {\n hasStackAfterThrow = (\"stack\" in e);\n }\n if (!(\"stack\" in err) && hasStackAfterThrow &&\n typeof Error.stackTraceLimit === \"number\") {\n stackFramePattern = v8stackFramePattern;\n formatStack = v8stackFormatter;\n return function captureStackTrace(o) {\n Error.stackTraceLimit += 6;\n try { throw new Error(); }\n catch(e) { o.stack = e.stack; }\n Error.stackTraceLimit -= 6;\n };\n }\n\n formatStack = function(stack, error) {\n if (typeof stack === \"string\") return stack;\n\n if ((typeof error === \"object\" ||\n typeof error === \"function\") &&\n error.name !== undefined &&\n error.message !== undefined) {\n return error.toString();\n }\n return formatNonError(error);\n };\n\n return null;\n\n})([]);\n\nif (typeof console !== \"undefined\" && typeof console.warn !== \"undefined\") {\n printWarning = function (message) {\n console.warn(message);\n };\n if (util.isNode && process.stderr.isTTY) {\n printWarning = function(message, isSoft) {\n var color = isSoft ? \"\\u001b[33m\" : \"\\u001b[31m\";\n console.warn(color + message + \"\\u001b[0m\\n\");\n };\n } else if (!util.isNode && typeof (new Error().stack) === \"string\") {\n printWarning = function(message, isSoft) {\n console.warn(\"%c\" + message,\n isSoft ? \"color: darkorange\" : \"color: red\");\n };\n }\n}\n\nvar config = {\n warnings: warnings,\n longStackTraces: false,\n cancellation: false,\n monitoring: false\n};\n\nif (longStackTraces) Promise.longStackTraces();\n\nreturn {\n longStackTraces: function() {\n return config.longStackTraces;\n },\n warnings: function() {\n return config.warnings;\n },\n cancellation: function() {\n return config.cancellation;\n },\n monitoring: function() {\n return config.monitoring;\n },\n propagateFromFunction: function() {\n return propagateFromFunction;\n },\n boundValueFunction: function() {\n return boundValueFunction;\n },\n checkForgottenReturns: checkForgottenReturns,\n setBounds: setBounds,\n warn: warn,\n deprecated: deprecated,\n CapturedTrace: CapturedTrace,\n fireDomEvent: fireDomEvent,\n fireGlobalEvent: fireGlobalEvent\n};\n};\n\n},{\"./errors\":12,\"./es5\":13,\"./util\":36}],10:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise) {\nfunction returner() {\n return this.value;\n}\nfunction thrower() {\n throw this.reason;\n}\n\nPromise.prototype[\"return\"] =\nPromise.prototype.thenReturn = function (value) {\n if (value instanceof Promise) value.suppressUnhandledRejections();\n return this._then(\n returner, undefined, undefined, {value: value}, undefined);\n};\n\nPromise.prototype[\"throw\"] =\nPromise.prototype.thenThrow = function (reason) {\n return this._then(\n thrower, undefined, undefined, {reason: reason}, undefined);\n};\n\nPromise.prototype.catchThrow = function (reason) {\n if (arguments.length <= 1) {\n return this._then(\n undefined, thrower, undefined, {reason: reason}, undefined);\n } else {\n var _reason = arguments[1];\n var handler = function() {throw _reason;};\n return this.caught(reason, handler);\n }\n};\n\nPromise.prototype.catchReturn = function (value) {\n if (arguments.length <= 1) {\n if (value instanceof Promise) value.suppressUnhandledRejections();\n return this._then(\n undefined, returner, undefined, {value: value}, undefined);\n } else {\n var _value = arguments[1];\n if (_value instanceof Promise) _value.suppressUnhandledRejections();\n var handler = function() {return _value;};\n return this.caught(value, handler);\n }\n};\n};\n\n},{}],11:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise, INTERNAL) {\nvar PromiseReduce = Promise.reduce;\nvar PromiseAll = Promise.all;\n\nfunction promiseAllThis() {\n return PromiseAll(this);\n}\n\nfunction PromiseMapSeries(promises, fn) {\n return PromiseReduce(promises, fn, INTERNAL, INTERNAL);\n}\n\nPromise.prototype.each = function (fn) {\n return PromiseReduce(this, fn, INTERNAL, 0)\n ._then(promiseAllThis, undefined, undefined, this, undefined);\n};\n\nPromise.prototype.mapSeries = function (fn) {\n return PromiseReduce(this, fn, INTERNAL, INTERNAL);\n};\n\nPromise.each = function (promises, fn) {\n return PromiseReduce(promises, fn, INTERNAL, 0)\n ._then(promiseAllThis, undefined, undefined, promises, undefined);\n};\n\nPromise.mapSeries = PromiseMapSeries;\n};\n\n\n},{}],12:[function(_dereq_,module,exports){\n\"use strict\";\nvar es5 = _dereq_(\"./es5\");\nvar Objectfreeze = es5.freeze;\nvar util = _dereq_(\"./util\");\nvar inherits = util.inherits;\nvar notEnumerableProp = util.notEnumerableProp;\n\nfunction subError(nameProperty, defaultMessage) {\n function SubError(message) {\n if (!(this instanceof SubError)) return new SubError(message);\n notEnumerableProp(this, \"message\",\n typeof message === \"string\" ? message : defaultMessage);\n notEnumerableProp(this, \"name\", nameProperty);\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n Error.call(this);\n }\n }\n inherits(SubError, Error);\n return SubError;\n}\n\nvar _TypeError, _RangeError;\nvar Warning = subError(\"Warning\", \"warning\");\nvar CancellationError = subError(\"CancellationError\", \"cancellation error\");\nvar TimeoutError = subError(\"TimeoutError\", \"timeout error\");\nvar AggregateError = subError(\"AggregateError\", \"aggregate error\");\ntry {\n _TypeError = TypeError;\n _RangeError = RangeError;\n} catch(e) {\n _TypeError = subError(\"TypeError\", \"type error\");\n _RangeError = subError(\"RangeError\", \"range error\");\n}\n\nvar methods = (\"join pop push shift unshift slice filter forEach some \" +\n \"every map indexOf lastIndexOf reduce reduceRight sort reverse\").split(\" \");\n\nfor (var i = 0; i < methods.length; ++i) {\n if (typeof Array.prototype[methods[i]] === \"function\") {\n AggregateError.prototype[methods[i]] = Array.prototype[methods[i]];\n }\n}\n\nes5.defineProperty(AggregateError.prototype, \"length\", {\n value: 0,\n configurable: false,\n writable: true,\n enumerable: true\n});\nAggregateError.prototype[\"isOperational\"] = true;\nvar level = 0;\nAggregateError.prototype.toString = function() {\n var indent = Array(level * 4 + 1).join(\" \");\n var ret = \"\\n\" + indent + \"AggregateError of:\" + \"\\n\";\n level++;\n indent = Array(level * 4 + 1).join(\" \");\n for (var i = 0; i < this.length; ++i) {\n var str = this[i] === this ? \"[Circular AggregateError]\" : this[i] + \"\";\n var lines = str.split(\"\\n\");\n for (var j = 0; j < lines.length; ++j) {\n lines[j] = indent + lines[j];\n }\n str = lines.join(\"\\n\");\n ret += str + \"\\n\";\n }\n level--;\n return ret;\n};\n\nfunction OperationalError(message) {\n if (!(this instanceof OperationalError))\n return new OperationalError(message);\n notEnumerableProp(this, \"name\", \"OperationalError\");\n notEnumerableProp(this, \"message\", message);\n this.cause = message;\n this[\"isOperational\"] = true;\n\n if (message instanceof Error) {\n notEnumerableProp(this, \"message\", message.message);\n notEnumerableProp(this, \"stack\", message.stack);\n } else if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n\n}\ninherits(OperationalError, Error);\n\nvar errorTypes = Error[\"__BluebirdErrorTypes__\"];\nif (!errorTypes) {\n errorTypes = Objectfreeze({\n CancellationError: CancellationError,\n TimeoutError: TimeoutError,\n OperationalError: OperationalError,\n RejectionError: OperationalError,\n AggregateError: AggregateError\n });\n es5.defineProperty(Error, \"__BluebirdErrorTypes__\", {\n value: errorTypes,\n writable: false,\n enumerable: false,\n configurable: false\n });\n}\n\nmodule.exports = {\n Error: Error,\n TypeError: _TypeError,\n RangeError: _RangeError,\n CancellationError: errorTypes.CancellationError,\n OperationalError: errorTypes.OperationalError,\n TimeoutError: errorTypes.TimeoutError,\n AggregateError: errorTypes.AggregateError,\n Warning: Warning\n};\n\n},{\"./es5\":13,\"./util\":36}],13:[function(_dereq_,module,exports){\nvar isES5 = (function(){\n \"use strict\";\n return this === undefined;\n})();\n\nif (isES5) {\n module.exports = {\n freeze: Object.freeze,\n defineProperty: Object.defineProperty,\n getDescriptor: Object.getOwnPropertyDescriptor,\n keys: Object.keys,\n names: Object.getOwnPropertyNames,\n getPrototypeOf: Object.getPrototypeOf,\n isArray: Array.isArray,\n isES5: isES5,\n propertyIsWritable: function(obj, prop) {\n var descriptor = Object.getOwnPropertyDescriptor(obj, prop);\n return !!(!descriptor || descriptor.writable || descriptor.set);\n }\n };\n} else {\n var has = {}.hasOwnProperty;\n var str = {}.toString;\n var proto = {}.constructor.prototype;\n\n var ObjectKeys = function (o) {\n var ret = [];\n for (var key in o) {\n if (has.call(o, key)) {\n ret.push(key);\n }\n }\n return ret;\n };\n\n var ObjectGetDescriptor = function(o, key) {\n return {value: o[key]};\n };\n\n var ObjectDefineProperty = function (o, key, desc) {\n o[key] = desc.value;\n return o;\n };\n\n var ObjectFreeze = function (obj) {\n return obj;\n };\n\n var ObjectGetPrototypeOf = function (obj) {\n try {\n return Object(obj).constructor.prototype;\n }\n catch (e) {\n return proto;\n }\n };\n\n var ArrayIsArray = function (obj) {\n try {\n return str.call(obj) === \"[object Array]\";\n }\n catch(e) {\n return false;\n }\n };\n\n module.exports = {\n isArray: ArrayIsArray,\n keys: ObjectKeys,\n names: ObjectKeys,\n defineProperty: ObjectDefineProperty,\n getDescriptor: ObjectGetDescriptor,\n freeze: ObjectFreeze,\n getPrototypeOf: ObjectGetPrototypeOf,\n isES5: isES5,\n propertyIsWritable: function() {\n return true;\n }\n };\n}\n\n},{}],14:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise, INTERNAL) {\nvar PromiseMap = Promise.map;\n\nPromise.prototype.filter = function (fn, options) {\n return PromiseMap(this, fn, options, INTERNAL);\n};\n\nPromise.filter = function (promises, fn, options) {\n return PromiseMap(promises, fn, options, INTERNAL);\n};\n};\n\n},{}],15:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise, tryConvertToPromise, NEXT_FILTER) {\nvar util = _dereq_(\"./util\");\nvar CancellationError = Promise.CancellationError;\nvar errorObj = util.errorObj;\nvar catchFilter = _dereq_(\"./catch_filter\")(NEXT_FILTER);\n\nfunction PassThroughHandlerContext(promise, type, handler) {\n this.promise = promise;\n this.type = type;\n this.handler = handler;\n this.called = false;\n this.cancelPromise = null;\n}\n\nPassThroughHandlerContext.prototype.isFinallyHandler = function() {\n return this.type === 0;\n};\n\nfunction FinallyHandlerCancelReaction(finallyHandler) {\n this.finallyHandler = finallyHandler;\n}\n\nFinallyHandlerCancelReaction.prototype._resultCancelled = function() {\n checkCancel(this.finallyHandler);\n};\n\nfunction checkCancel(ctx, reason) {\n if (ctx.cancelPromise != null) {\n if (arguments.length > 1) {\n ctx.cancelPromise._reject(reason);\n } else {\n ctx.cancelPromise._cancel();\n }\n ctx.cancelPromise = null;\n return true;\n }\n return false;\n}\n\nfunction succeed() {\n return finallyHandler.call(this, this.promise._target()._settledValue());\n}\nfunction fail(reason) {\n if (checkCancel(this, reason)) return;\n errorObj.e = reason;\n return errorObj;\n}\nfunction finallyHandler(reasonOrValue) {\n var promise = this.promise;\n var handler = this.handler;\n\n if (!this.called) {\n this.called = true;\n var ret = this.isFinallyHandler()\n ? handler.call(promise._boundValue())\n : handler.call(promise._boundValue(), reasonOrValue);\n if (ret === NEXT_FILTER) {\n return ret;\n } else if (ret !== undefined) {\n promise._setReturnedNonUndefined();\n var maybePromise = tryConvertToPromise(ret, promise);\n if (maybePromise instanceof Promise) {\n if (this.cancelPromise != null) {\n if (maybePromise._isCancelled()) {\n var reason =\n new CancellationError(\"late cancellation observer\");\n promise._attachExtraTrace(reason);\n errorObj.e = reason;\n return errorObj;\n } else if (maybePromise.isPending()) {\n maybePromise._attachCancellationCallback(\n new FinallyHandlerCancelReaction(this));\n }\n }\n return maybePromise._then(\n succeed, fail, undefined, this, undefined);\n }\n }\n }\n\n if (promise.isRejected()) {\n checkCancel(this);\n errorObj.e = reasonOrValue;\n return errorObj;\n } else {\n checkCancel(this);\n return reasonOrValue;\n }\n}\n\nPromise.prototype._passThrough = function(handler, type, success, fail) {\n if (typeof handler !== \"function\") return this.then();\n return this._then(success,\n fail,\n undefined,\n new PassThroughHandlerContext(this, type, handler),\n undefined);\n};\n\nPromise.prototype.lastly =\nPromise.prototype[\"finally\"] = function (handler) {\n return this._passThrough(handler,\n 0,\n finallyHandler,\n finallyHandler);\n};\n\n\nPromise.prototype.tap = function (handler) {\n return this._passThrough(handler, 1, finallyHandler);\n};\n\nPromise.prototype.tapCatch = function (handlerOrPredicate) {\n var len = arguments.length;\n if(len === 1) {\n return this._passThrough(handlerOrPredicate,\n 1,\n undefined,\n finallyHandler);\n } else {\n var catchInstances = new Array(len - 1),\n j = 0, i;\n for (i = 0; i < len - 1; ++i) {\n var item = arguments[i];\n if (util.isObject(item)) {\n catchInstances[j++] = item;\n } else {\n return Promise.reject(new TypeError(\n \"tapCatch statement predicate: \"\n + \"expecting an object but got \" + util.classString(item)\n ));\n }\n }\n catchInstances.length = j;\n var handler = arguments[i];\n return this._passThrough(catchFilter(catchInstances, handler, this),\n 1,\n undefined,\n finallyHandler);\n }\n\n};\n\nreturn PassThroughHandlerContext;\n};\n\n},{\"./catch_filter\":7,\"./util\":36}],16:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise,\n apiRejection,\n INTERNAL,\n tryConvertToPromise,\n Proxyable,\n debug) {\nvar errors = _dereq_(\"./errors\");\nvar TypeError = errors.TypeError;\nvar util = _dereq_(\"./util\");\nvar errorObj = util.errorObj;\nvar tryCatch = util.tryCatch;\nvar yieldHandlers = [];\n\nfunction promiseFromYieldHandler(value, yieldHandlers, traceParent) {\n for (var i = 0; i < yieldHandlers.length; ++i) {\n traceParent._pushContext();\n var result = tryCatch(yieldHandlers[i])(value);\n traceParent._popContext();\n if (result === errorObj) {\n traceParent._pushContext();\n var ret = Promise.reject(errorObj.e);\n traceParent._popContext();\n return ret;\n }\n var maybePromise = tryConvertToPromise(result, traceParent);\n if (maybePromise instanceof Promise) return maybePromise;\n }\n return null;\n}\n\nfunction PromiseSpawn(generatorFunction, receiver, yieldHandler, stack) {\n if (debug.cancellation()) {\n var internal = new Promise(INTERNAL);\n var _finallyPromise = this._finallyPromise = new Promise(INTERNAL);\n this._promise = internal.lastly(function() {\n return _finallyPromise;\n });\n internal._captureStackTrace();\n internal._setOnCancel(this);\n } else {\n var promise = this._promise = new Promise(INTERNAL);\n promise._captureStackTrace();\n }\n this._stack = stack;\n this._generatorFunction = generatorFunction;\n this._receiver = receiver;\n this._generator = undefined;\n this._yieldHandlers = typeof yieldHandler === \"function\"\n ? [yieldHandler].concat(yieldHandlers)\n : yieldHandlers;\n this._yieldedPromise = null;\n this._cancellationPhase = false;\n}\nutil.inherits(PromiseSpawn, Proxyable);\n\nPromiseSpawn.prototype._isResolved = function() {\n return this._promise === null;\n};\n\nPromiseSpawn.prototype._cleanup = function() {\n this._promise = this._generator = null;\n if (debug.cancellation() && this._finallyPromise !== null) {\n this._finallyPromise._fulfill();\n this._finallyPromise = null;\n }\n};\n\nPromiseSpawn.prototype._promiseCancelled = function() {\n if (this._isResolved()) return;\n var implementsReturn = typeof this._generator[\"return\"] !== \"undefined\";\n\n var result;\n if (!implementsReturn) {\n var reason = new Promise.CancellationError(\n \"generator .return() sentinel\");\n Promise.coroutine.returnSentinel = reason;\n this._promise._attachExtraTrace(reason);\n this._promise._pushContext();\n result = tryCatch(this._generator[\"throw\"]).call(this._generator,\n reason);\n this._promise._popContext();\n } else {\n this._promise._pushContext();\n result = tryCatch(this._generator[\"return\"]).call(this._generator,\n undefined);\n this._promise._popContext();\n }\n this._cancellationPhase = true;\n this._yieldedPromise = null;\n this._continue(result);\n};\n\nPromiseSpawn.prototype._promiseFulfilled = function(value) {\n this._yieldedPromise = null;\n this._promise._pushContext();\n var result = tryCatch(this._generator.next).call(this._generator, value);\n this._promise._popContext();\n this._continue(result);\n};\n\nPromiseSpawn.prototype._promiseRejected = function(reason) {\n this._yieldedPromise = null;\n this._promise._attachExtraTrace(reason);\n this._promise._pushContext();\n var result = tryCatch(this._generator[\"throw\"])\n .call(this._generator, reason);\n this._promise._popContext();\n this._continue(result);\n};\n\nPromiseSpawn.prototype._resultCancelled = function() {\n if (this._yieldedPromise instanceof Promise) {\n var promise = this._yieldedPromise;\n this._yieldedPromise = null;\n promise.cancel();\n }\n};\n\nPromiseSpawn.prototype.promise = function () {\n return this._promise;\n};\n\nPromiseSpawn.prototype._run = function () {\n this._generator = this._generatorFunction.call(this._receiver);\n this._receiver =\n this._generatorFunction = undefined;\n this._promiseFulfilled(undefined);\n};\n\nPromiseSpawn.prototype._continue = function (result) {\n var promise = this._promise;\n if (result === errorObj) {\n this._cleanup();\n if (this._cancellationPhase) {\n return promise.cancel();\n } else {\n return promise._rejectCallback(result.e, false);\n }\n }\n\n var value = result.value;\n if (result.done === true) {\n this._cleanup();\n if (this._cancellationPhase) {\n return promise.cancel();\n } else {\n return promise._resolveCallback(value);\n }\n } else {\n var maybePromise = tryConvertToPromise(value, this._promise);\n if (!(maybePromise instanceof Promise)) {\n maybePromise =\n promiseFromYieldHandler(maybePromise,\n this._yieldHandlers,\n this._promise);\n if (maybePromise === null) {\n this._promiseRejected(\n new TypeError(\n \"A value %s was yielded that could not be treated as a promise\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\\u000a\".replace(\"%s\", String(value)) +\n \"From coroutine:\\u000a\" +\n this._stack.split(\"\\n\").slice(1, -7).join(\"\\n\")\n )\n );\n return;\n }\n }\n maybePromise = maybePromise._target();\n var bitField = maybePromise._bitField;\n ;\n if (((bitField & 50397184) === 0)) {\n this._yieldedPromise = maybePromise;\n maybePromise._proxy(this, null);\n } else if (((bitField & 33554432) !== 0)) {\n Promise._async.invoke(\n this._promiseFulfilled, this, maybePromise._value()\n );\n } else if (((bitField & 16777216) !== 0)) {\n Promise._async.invoke(\n this._promiseRejected, this, maybePromise._reason()\n );\n } else {\n this._promiseCancelled();\n }\n }\n};\n\nPromise.coroutine = function (generatorFunction, options) {\n if (typeof generatorFunction !== \"function\") {\n throw new TypeError(\"generatorFunction must be a function\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n var yieldHandler = Object(options).yieldHandler;\n var PromiseSpawn$ = PromiseSpawn;\n var stack = new Error().stack;\n return function () {\n var generator = generatorFunction.apply(this, arguments);\n var spawn = new PromiseSpawn$(undefined, undefined, yieldHandler,\n stack);\n var ret = spawn.promise();\n spawn._generator = generator;\n spawn._promiseFulfilled(undefined);\n return ret;\n };\n};\n\nPromise.coroutine.addYieldHandler = function(fn) {\n if (typeof fn !== \"function\") {\n throw new TypeError(\"expecting a function but got \" + util.classString(fn));\n }\n yieldHandlers.push(fn);\n};\n\nPromise.spawn = function (generatorFunction) {\n debug.deprecated(\"Promise.spawn()\", \"Promise.coroutine()\");\n if (typeof generatorFunction !== \"function\") {\n return apiRejection(\"generatorFunction must be a function\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n var spawn = new PromiseSpawn(generatorFunction, this);\n var ret = spawn.promise();\n spawn._run(Promise.spawn);\n return ret;\n};\n};\n\n},{\"./errors\":12,\"./util\":36}],17:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports =\nfunction(Promise, PromiseArray, tryConvertToPromise, INTERNAL, async,\n getDomain) {\nvar util = _dereq_(\"./util\");\nvar canEvaluate = util.canEvaluate;\nvar tryCatch = util.tryCatch;\nvar errorObj = util.errorObj;\nvar reject;\n\nif (false) { var i, promiseSetters, thenCallbacks, holderClasses, generateHolderClass, promiseSetter, thenCallback; }\n\nPromise.join = function () {\n var last = arguments.length - 1;\n var fn;\n if (last > 0 && typeof arguments[last] === \"function\") {\n fn = arguments[last];\n if (false) { var domain, bitField, maybePromise, i, callbacks, holder, HolderClass, ret; }\n }\n var args = [].slice.call(arguments);;\n if (fn) args.pop();\n var ret = new PromiseArray(args).promise();\n return fn !== undefined ? ret.spread(fn) : ret;\n};\n\n};\n\n},{\"./util\":36}],18:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise,\n PromiseArray,\n apiRejection,\n tryConvertToPromise,\n INTERNAL,\n debug) {\nvar getDomain = Promise._getDomain;\nvar util = _dereq_(\"./util\");\nvar tryCatch = util.tryCatch;\nvar errorObj = util.errorObj;\nvar async = Promise._async;\n\nfunction MappingPromiseArray(promises, fn, limit, _filter) {\n this.constructor$(promises);\n this._promise._captureStackTrace();\n var domain = getDomain();\n this._callback = domain === null ? fn : util.domainBind(domain, fn);\n this._preservedValues = _filter === INTERNAL\n ? new Array(this.length())\n : null;\n this._limit = limit;\n this._inFlight = 0;\n this._queue = [];\n async.invoke(this._asyncInit, this, undefined);\n}\nutil.inherits(MappingPromiseArray, PromiseArray);\n\nMappingPromiseArray.prototype._asyncInit = function() {\n this._init$(undefined, -2);\n};\n\nMappingPromiseArray.prototype._init = function () {};\n\nMappingPromiseArray.prototype._promiseFulfilled = function (value, index) {\n var values = this._values;\n var length = this.length();\n var preservedValues = this._preservedValues;\n var limit = this._limit;\n\n if (index < 0) {\n index = (index * -1) - 1;\n values[index] = value;\n if (limit >= 1) {\n this._inFlight--;\n this._drainQueue();\n if (this._isResolved()) return true;\n }\n } else {\n if (limit >= 1 && this._inFlight >= limit) {\n values[index] = value;\n this._queue.push(index);\n return false;\n }\n if (preservedValues !== null) preservedValues[index] = value;\n\n var promise = this._promise;\n var callback = this._callback;\n var receiver = promise._boundValue();\n promise._pushContext();\n var ret = tryCatch(callback).call(receiver, value, index, length);\n var promiseCreated = promise._popContext();\n debug.checkForgottenReturns(\n ret,\n promiseCreated,\n preservedValues !== null ? \"Promise.filter\" : \"Promise.map\",\n promise\n );\n if (ret === errorObj) {\n this._reject(ret.e);\n return true;\n }\n\n var maybePromise = tryConvertToPromise(ret, this._promise);\n if (maybePromise instanceof Promise) {\n maybePromise = maybePromise._target();\n var bitField = maybePromise._bitField;\n ;\n if (((bitField & 50397184) === 0)) {\n if (limit >= 1) this._inFlight++;\n values[index] = maybePromise;\n maybePromise._proxy(this, (index + 1) * -1);\n return false;\n } else if (((bitField & 33554432) !== 0)) {\n ret = maybePromise._value();\n } else if (((bitField & 16777216) !== 0)) {\n this._reject(maybePromise._reason());\n return true;\n } else {\n this._cancel();\n return true;\n }\n }\n values[index] = ret;\n }\n var totalResolved = ++this._totalResolved;\n if (totalResolved >= length) {\n if (preservedValues !== null) {\n this._filter(values, preservedValues);\n } else {\n this._resolve(values);\n }\n return true;\n }\n return false;\n};\n\nMappingPromiseArray.prototype._drainQueue = function () {\n var queue = this._queue;\n var limit = this._limit;\n var values = this._values;\n while (queue.length > 0 && this._inFlight < limit) {\n if (this._isResolved()) return;\n var index = queue.pop();\n this._promiseFulfilled(values[index], index);\n }\n};\n\nMappingPromiseArray.prototype._filter = function (booleans, values) {\n var len = values.length;\n var ret = new Array(len);\n var j = 0;\n for (var i = 0; i < len; ++i) {\n if (booleans[i]) ret[j++] = values[i];\n }\n ret.length = j;\n this._resolve(ret);\n};\n\nMappingPromiseArray.prototype.preservedValues = function () {\n return this._preservedValues;\n};\n\nfunction map(promises, fn, options, _filter) {\n if (typeof fn !== \"function\") {\n return apiRejection(\"expecting a function but got \" + util.classString(fn));\n }\n\n var limit = 0;\n if (options !== undefined) {\n if (typeof options === \"object\" && options !== null) {\n if (typeof options.concurrency !== \"number\") {\n return Promise.reject(\n new TypeError(\"'concurrency' must be a number but it is \" +\n util.classString(options.concurrency)));\n }\n limit = options.concurrency;\n } else {\n return Promise.reject(new TypeError(\n \"options argument must be an object but it is \" +\n util.classString(options)));\n }\n }\n limit = typeof limit === \"number\" &&\n isFinite(limit) && limit >= 1 ? limit : 0;\n return new MappingPromiseArray(promises, fn, limit, _filter).promise();\n}\n\nPromise.prototype.map = function (fn, options) {\n return map(this, fn, options, null);\n};\n\nPromise.map = function (promises, fn, options, _filter) {\n return map(promises, fn, options, _filter);\n};\n\n\n};\n\n},{\"./util\":36}],19:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports =\nfunction(Promise, INTERNAL, tryConvertToPromise, apiRejection, debug) {\nvar util = _dereq_(\"./util\");\nvar tryCatch = util.tryCatch;\n\nPromise.method = function (fn) {\n if (typeof fn !== \"function\") {\n throw new Promise.TypeError(\"expecting a function but got \" + util.classString(fn));\n }\n return function () {\n var ret = new Promise(INTERNAL);\n ret._captureStackTrace();\n ret._pushContext();\n var value = tryCatch(fn).apply(this, arguments);\n var promiseCreated = ret._popContext();\n debug.checkForgottenReturns(\n value, promiseCreated, \"Promise.method\", ret);\n ret._resolveFromSyncValue(value);\n return ret;\n };\n};\n\nPromise.attempt = Promise[\"try\"] = function (fn) {\n if (typeof fn !== \"function\") {\n return apiRejection(\"expecting a function but got \" + util.classString(fn));\n }\n var ret = new Promise(INTERNAL);\n ret._captureStackTrace();\n ret._pushContext();\n var value;\n if (arguments.length > 1) {\n debug.deprecated(\"calling Promise.try with more than 1 argument\");\n var arg = arguments[1];\n var ctx = arguments[2];\n value = util.isArray(arg) ? tryCatch(fn).apply(ctx, arg)\n : tryCatch(fn).call(ctx, arg);\n } else {\n value = tryCatch(fn)();\n }\n var promiseCreated = ret._popContext();\n debug.checkForgottenReturns(\n value, promiseCreated, \"Promise.try\", ret);\n ret._resolveFromSyncValue(value);\n return ret;\n};\n\nPromise.prototype._resolveFromSyncValue = function (value) {\n if (value === util.errorObj) {\n this._rejectCallback(value.e, false);\n } else {\n this._resolveCallback(value, true);\n }\n};\n};\n\n},{\"./util\":36}],20:[function(_dereq_,module,exports){\n\"use strict\";\nvar util = _dereq_(\"./util\");\nvar maybeWrapAsError = util.maybeWrapAsError;\nvar errors = _dereq_(\"./errors\");\nvar OperationalError = errors.OperationalError;\nvar es5 = _dereq_(\"./es5\");\n\nfunction isUntypedError(obj) {\n return obj instanceof Error &&\n es5.getPrototypeOf(obj) === Error.prototype;\n}\n\nvar rErrorKey = /^(?:name|message|stack|cause)$/;\nfunction wrapAsOperationalError(obj) {\n var ret;\n if (isUntypedError(obj)) {\n ret = new OperationalError(obj);\n ret.name = obj.name;\n ret.message = obj.message;\n ret.stack = obj.stack;\n var keys = es5.keys(obj);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!rErrorKey.test(key)) {\n ret[key] = obj[key];\n }\n }\n return ret;\n }\n util.markAsOriginatingFromRejection(obj);\n return obj;\n}\n\nfunction nodebackForPromise(promise, multiArgs) {\n return function(err, value) {\n if (promise === null) return;\n if (err) {\n var wrapped = wrapAsOperationalError(maybeWrapAsError(err));\n promise._attachExtraTrace(wrapped);\n promise._reject(wrapped);\n } else if (!multiArgs) {\n promise._fulfill(value);\n } else {\n var args = [].slice.call(arguments, 1);;\n promise._fulfill(args);\n }\n promise = null;\n };\n}\n\nmodule.exports = nodebackForPromise;\n\n},{\"./errors\":12,\"./es5\":13,\"./util\":36}],21:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise) {\nvar util = _dereq_(\"./util\");\nvar async = Promise._async;\nvar tryCatch = util.tryCatch;\nvar errorObj = util.errorObj;\n\nfunction spreadAdapter(val, nodeback) {\n var promise = this;\n if (!util.isArray(val)) return successAdapter.call(promise, val, nodeback);\n var ret =\n tryCatch(nodeback).apply(promise._boundValue(), [null].concat(val));\n if (ret === errorObj) {\n async.throwLater(ret.e);\n }\n}\n\nfunction successAdapter(val, nodeback) {\n var promise = this;\n var receiver = promise._boundValue();\n var ret = val === undefined\n ? tryCatch(nodeback).call(receiver, null)\n : tryCatch(nodeback).call(receiver, null, val);\n if (ret === errorObj) {\n async.throwLater(ret.e);\n }\n}\nfunction errorAdapter(reason, nodeback) {\n var promise = this;\n if (!reason) {\n var newReason = new Error(reason + \"\");\n newReason.cause = reason;\n reason = newReason;\n }\n var ret = tryCatch(nodeback).call(promise._boundValue(), reason);\n if (ret === errorObj) {\n async.throwLater(ret.e);\n }\n}\n\nPromise.prototype.asCallback = Promise.prototype.nodeify = function (nodeback,\n options) {\n if (typeof nodeback == \"function\") {\n var adapter = successAdapter;\n if (options !== undefined && Object(options).spread) {\n adapter = spreadAdapter;\n }\n this._then(\n adapter,\n errorAdapter,\n undefined,\n this,\n nodeback\n );\n }\n return this;\n};\n};\n\n},{\"./util\":36}],22:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function() {\nvar makeSelfResolutionError = function () {\n return new TypeError(\"circular promise resolution chain\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n};\nvar reflectHandler = function() {\n return new Promise.PromiseInspection(this._target());\n};\nvar apiRejection = function(msg) {\n return Promise.reject(new TypeError(msg));\n};\nfunction Proxyable() {}\nvar UNDEFINED_BINDING = {};\nvar util = _dereq_(\"./util\");\n\nvar getDomain;\nif (util.isNode) {\n getDomain = function() {\n var ret = process.domain;\n if (ret === undefined) ret = null;\n return ret;\n };\n} else {\n getDomain = function() {\n return null;\n };\n}\nutil.notEnumerableProp(Promise, \"_getDomain\", getDomain);\n\nvar es5 = _dereq_(\"./es5\");\nvar Async = _dereq_(\"./async\");\nvar async = new Async();\nes5.defineProperty(Promise, \"_async\", {value: async});\nvar errors = _dereq_(\"./errors\");\nvar TypeError = Promise.TypeError = errors.TypeError;\nPromise.RangeError = errors.RangeError;\nvar CancellationError = Promise.CancellationError = errors.CancellationError;\nPromise.TimeoutError = errors.TimeoutError;\nPromise.OperationalError = errors.OperationalError;\nPromise.RejectionError = errors.OperationalError;\nPromise.AggregateError = errors.AggregateError;\nvar INTERNAL = function(){};\nvar APPLY = {};\nvar NEXT_FILTER = {};\nvar tryConvertToPromise = _dereq_(\"./thenables\")(Promise, INTERNAL);\nvar PromiseArray =\n _dereq_(\"./promise_array\")(Promise, INTERNAL,\n tryConvertToPromise, apiRejection, Proxyable);\nvar Context = _dereq_(\"./context\")(Promise);\n /*jshint unused:false*/\nvar createContext = Context.create;\nvar debug = _dereq_(\"./debuggability\")(Promise, Context);\nvar CapturedTrace = debug.CapturedTrace;\nvar PassThroughHandlerContext =\n _dereq_(\"./finally\")(Promise, tryConvertToPromise, NEXT_FILTER);\nvar catchFilter = _dereq_(\"./catch_filter\")(NEXT_FILTER);\nvar nodebackForPromise = _dereq_(\"./nodeback\");\nvar errorObj = util.errorObj;\nvar tryCatch = util.tryCatch;\nfunction check(self, executor) {\n if (self == null || self.constructor !== Promise) {\n throw new TypeError(\"the promise constructor cannot be invoked directly\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n if (typeof executor !== \"function\") {\n throw new TypeError(\"expecting a function but got \" + util.classString(executor));\n }\n\n}\n\nfunction Promise(executor) {\n if (executor !== INTERNAL) {\n check(this, executor);\n }\n this._bitField = 0;\n this._fulfillmentHandler0 = undefined;\n this._rejectionHandler0 = undefined;\n this._promise0 = undefined;\n this._receiver0 = undefined;\n this._resolveFromExecutor(executor);\n this._promiseCreated();\n this._fireEvent(\"promiseCreated\", this);\n}\n\nPromise.prototype.toString = function () {\n return \"[object Promise]\";\n};\n\nPromise.prototype.caught = Promise.prototype[\"catch\"] = function (fn) {\n var len = arguments.length;\n if (len > 1) {\n var catchInstances = new Array(len - 1),\n j = 0, i;\n for (i = 0; i < len - 1; ++i) {\n var item = arguments[i];\n if (util.isObject(item)) {\n catchInstances[j++] = item;\n } else {\n return apiRejection(\"Catch statement predicate: \" +\n \"expecting an object but got \" + util.classString(item));\n }\n }\n catchInstances.length = j;\n fn = arguments[i];\n\n if (typeof fn !== \"function\") {\n throw new TypeError(\"The last argument to .catch() \" +\n \"must be a function, got \" + util.toString(fn));\n }\n return this.then(undefined, catchFilter(catchInstances, fn, this));\n }\n return this.then(undefined, fn);\n};\n\nPromise.prototype.reflect = function () {\n return this._then(reflectHandler,\n reflectHandler, undefined, this, undefined);\n};\n\nPromise.prototype.then = function (didFulfill, didReject) {\n if (debug.warnings() && arguments.length > 0 &&\n typeof didFulfill !== \"function\" &&\n typeof didReject !== \"function\") {\n var msg = \".then() only accepts functions but was passed: \" +\n util.classString(didFulfill);\n if (arguments.length > 1) {\n msg += \", \" + util.classString(didReject);\n }\n this._warn(msg);\n }\n return this._then(didFulfill, didReject, undefined, undefined, undefined);\n};\n\nPromise.prototype.done = function (didFulfill, didReject) {\n var promise =\n this._then(didFulfill, didReject, undefined, undefined, undefined);\n promise._setIsFinal();\n};\n\nPromise.prototype.spread = function (fn) {\n if (typeof fn !== \"function\") {\n return apiRejection(\"expecting a function but got \" + util.classString(fn));\n }\n return this.all()._then(fn, undefined, undefined, APPLY, undefined);\n};\n\nPromise.prototype.toJSON = function () {\n var ret = {\n isFulfilled: false,\n isRejected: false,\n fulfillmentValue: undefined,\n rejectionReason: undefined\n };\n if (this.isFulfilled()) {\n ret.fulfillmentValue = this.value();\n ret.isFulfilled = true;\n } else if (this.isRejected()) {\n ret.rejectionReason = this.reason();\n ret.isRejected = true;\n }\n return ret;\n};\n\nPromise.prototype.all = function () {\n if (arguments.length > 0) {\n this._warn(\".all() was passed arguments but it does not take any\");\n }\n return new PromiseArray(this).promise();\n};\n\nPromise.prototype.error = function (fn) {\n return this.caught(util.originatesFromRejection, fn);\n};\n\nPromise.getNewLibraryCopy = module.exports;\n\nPromise.is = function (val) {\n return val instanceof Promise;\n};\n\nPromise.fromNode = Promise.fromCallback = function(fn) {\n var ret = new Promise(INTERNAL);\n ret._captureStackTrace();\n var multiArgs = arguments.length > 1 ? !!Object(arguments[1]).multiArgs\n : false;\n var result = tryCatch(fn)(nodebackForPromise(ret, multiArgs));\n if (result === errorObj) {\n ret._rejectCallback(result.e, true);\n }\n if (!ret._isFateSealed()) ret._setAsyncGuaranteed();\n return ret;\n};\n\nPromise.all = function (promises) {\n return new PromiseArray(promises).promise();\n};\n\nPromise.cast = function (obj) {\n var ret = tryConvertToPromise(obj);\n if (!(ret instanceof Promise)) {\n ret = new Promise(INTERNAL);\n ret._captureStackTrace();\n ret._setFulfilled();\n ret._rejectionHandler0 = obj;\n }\n return ret;\n};\n\nPromise.resolve = Promise.fulfilled = Promise.cast;\n\nPromise.reject = Promise.rejected = function (reason) {\n var ret = new Promise(INTERNAL);\n ret._captureStackTrace();\n ret._rejectCallback(reason, true);\n return ret;\n};\n\nPromise.setScheduler = function(fn) {\n if (typeof fn !== \"function\") {\n throw new TypeError(\"expecting a function but got \" + util.classString(fn));\n }\n return async.setScheduler(fn);\n};\n\nPromise.prototype._then = function (\n didFulfill,\n didReject,\n _, receiver,\n internalData\n) {\n var haveInternalData = internalData !== undefined;\n var promise = haveInternalData ? internalData : new Promise(INTERNAL);\n var target = this._target();\n var bitField = target._bitField;\n\n if (!haveInternalData) {\n promise._propagateFrom(this, 3);\n promise._captureStackTrace();\n if (receiver === undefined &&\n ((this._bitField & 2097152) !== 0)) {\n if (!((bitField & 50397184) === 0)) {\n receiver = this._boundValue();\n } else {\n receiver = target === this ? undefined : this._boundTo;\n }\n }\n this._fireEvent(\"promiseChained\", this, promise);\n }\n\n var domain = getDomain();\n if (!((bitField & 50397184) === 0)) {\n var handler, value, settler = target._settlePromiseCtx;\n if (((bitField & 33554432) !== 0)) {\n value = target._rejectionHandler0;\n handler = didFulfill;\n } else if (((bitField & 16777216) !== 0)) {\n value = target._fulfillmentHandler0;\n handler = didReject;\n target._unsetRejectionIsUnhandled();\n } else {\n settler = target._settlePromiseLateCancellationObserver;\n value = new CancellationError(\"late cancellation observer\");\n target._attachExtraTrace(value);\n handler = didReject;\n }\n\n async.invoke(settler, target, {\n handler: domain === null ? handler\n : (typeof handler === \"function\" &&\n util.domainBind(domain, handler)),\n promise: promise,\n receiver: receiver,\n value: value\n });\n } else {\n target._addCallbacks(didFulfill, didReject, promise, receiver, domain);\n }\n\n return promise;\n};\n\nPromise.prototype._length = function () {\n return this._bitField & 65535;\n};\n\nPromise.prototype._isFateSealed = function () {\n return (this._bitField & 117506048) !== 0;\n};\n\nPromise.prototype._isFollowing = function () {\n return (this._bitField & 67108864) === 67108864;\n};\n\nPromise.prototype._setLength = function (len) {\n this._bitField = (this._bitField & -65536) |\n (len & 65535);\n};\n\nPromise.prototype._setFulfilled = function () {\n this._bitField = this._bitField | 33554432;\n this._fireEvent(\"promiseFulfilled\", this);\n};\n\nPromise.prototype._setRejected = function () {\n this._bitField = this._bitField | 16777216;\n this._fireEvent(\"promiseRejected\", this);\n};\n\nPromise.prototype._setFollowing = function () {\n this._bitField = this._bitField | 67108864;\n this._fireEvent(\"promiseResolved\", this);\n};\n\nPromise.prototype._setIsFinal = function () {\n this._bitField = this._bitField | 4194304;\n};\n\nPromise.prototype._isFinal = function () {\n return (this._bitField & 4194304) > 0;\n};\n\nPromise.prototype._unsetCancelled = function() {\n this._bitField = this._bitField & (~65536);\n};\n\nPromise.prototype._setCancelled = function() {\n this._bitField = this._bitField | 65536;\n this._fireEvent(\"promiseCancelled\", this);\n};\n\nPromise.prototype._setWillBeCancelled = function() {\n this._bitField = this._bitField | 8388608;\n};\n\nPromise.prototype._setAsyncGuaranteed = function() {\n if (async.hasCustomScheduler()) return;\n this._bitField = this._bitField | 134217728;\n};\n\nPromise.prototype._receiverAt = function (index) {\n var ret = index === 0 ? this._receiver0 : this[\n index * 4 - 4 + 3];\n if (ret === UNDEFINED_BINDING) {\n return undefined;\n } else if (ret === undefined && this._isBound()) {\n return this._boundValue();\n }\n return ret;\n};\n\nPromise.prototype._promiseAt = function (index) {\n return this[\n index * 4 - 4 + 2];\n};\n\nPromise.prototype._fulfillmentHandlerAt = function (index) {\n return this[\n index * 4 - 4 + 0];\n};\n\nPromise.prototype._rejectionHandlerAt = function (index) {\n return this[\n index * 4 - 4 + 1];\n};\n\nPromise.prototype._boundValue = function() {};\n\nPromise.prototype._migrateCallback0 = function (follower) {\n var bitField = follower._bitField;\n var fulfill = follower._fulfillmentHandler0;\n var reject = follower._rejectionHandler0;\n var promise = follower._promise0;\n var receiver = follower._receiverAt(0);\n if (receiver === undefined) receiver = UNDEFINED_BINDING;\n this._addCallbacks(fulfill, reject, promise, receiver, null);\n};\n\nPromise.prototype._migrateCallbackAt = function (follower, index) {\n var fulfill = follower._fulfillmentHandlerAt(index);\n var reject = follower._rejectionHandlerAt(index);\n var promise = follower._promiseAt(index);\n var receiver = follower._receiverAt(index);\n if (receiver === undefined) receiver = UNDEFINED_BINDING;\n this._addCallbacks(fulfill, reject, promise, receiver, null);\n};\n\nPromise.prototype._addCallbacks = function (\n fulfill,\n reject,\n promise,\n receiver,\n domain\n) {\n var index = this._length();\n\n if (index >= 65535 - 4) {\n index = 0;\n this._setLength(0);\n }\n\n if (index === 0) {\n this._promise0 = promise;\n this._receiver0 = receiver;\n if (typeof fulfill === \"function\") {\n this._fulfillmentHandler0 =\n domain === null ? fulfill : util.domainBind(domain, fulfill);\n }\n if (typeof reject === \"function\") {\n this._rejectionHandler0 =\n domain === null ? reject : util.domainBind(domain, reject);\n }\n } else {\n var base = index * 4 - 4;\n this[base + 2] = promise;\n this[base + 3] = receiver;\n if (typeof fulfill === \"function\") {\n this[base + 0] =\n domain === null ? fulfill : util.domainBind(domain, fulfill);\n }\n if (typeof reject === \"function\") {\n this[base + 1] =\n domain === null ? reject : util.domainBind(domain, reject);\n }\n }\n this._setLength(index + 1);\n return index;\n};\n\nPromise.prototype._proxy = function (proxyable, arg) {\n this._addCallbacks(undefined, undefined, arg, proxyable, null);\n};\n\nPromise.prototype._resolveCallback = function(value, shouldBind) {\n if (((this._bitField & 117506048) !== 0)) return;\n if (value === this)\n return this._rejectCallback(makeSelfResolutionError(), false);\n var maybePromise = tryConvertToPromise(value, this);\n if (!(maybePromise instanceof Promise)) return this._fulfill(value);\n\n if (shouldBind) this._propagateFrom(maybePromise, 2);\n\n var promise = maybePromise._target();\n\n if (promise === this) {\n this._reject(makeSelfResolutionError());\n return;\n }\n\n var bitField = promise._bitField;\n if (((bitField & 50397184) === 0)) {\n var len = this._length();\n if (len > 0) promise._migrateCallback0(this);\n for (var i = 1; i < len; ++i) {\n promise._migrateCallbackAt(this, i);\n }\n this._setFollowing();\n this._setLength(0);\n this._setFollowee(promise);\n } else if (((bitField & 33554432) !== 0)) {\n this._fulfill(promise._value());\n } else if (((bitField & 16777216) !== 0)) {\n this._reject(promise._reason());\n } else {\n var reason = new CancellationError(\"late cancellation observer\");\n promise._attachExtraTrace(reason);\n this._reject(reason);\n }\n};\n\nPromise.prototype._rejectCallback =\nfunction(reason, synchronous, ignoreNonErrorWarnings) {\n var trace = util.ensureErrorObject(reason);\n var hasStack = trace === reason;\n if (!hasStack && !ignoreNonErrorWarnings && debug.warnings()) {\n var message = \"a promise was rejected with a non-error: \" +\n util.classString(reason);\n this._warn(message, true);\n }\n this._attachExtraTrace(trace, synchronous ? hasStack : false);\n this._reject(reason);\n};\n\nPromise.prototype._resolveFromExecutor = function (executor) {\n if (executor === INTERNAL) return;\n var promise = this;\n this._captureStackTrace();\n this._pushContext();\n var synchronous = true;\n var r = this._execute(executor, function(value) {\n promise._resolveCallback(value);\n }, function (reason) {\n promise._rejectCallback(reason, synchronous);\n });\n synchronous = false;\n this._popContext();\n\n if (r !== undefined) {\n promise._rejectCallback(r, true);\n }\n};\n\nPromise.prototype._settlePromiseFromHandler = function (\n handler, receiver, value, promise\n) {\n var bitField = promise._bitField;\n if (((bitField & 65536) !== 0)) return;\n promise._pushContext();\n var x;\n if (receiver === APPLY) {\n if (!value || typeof value.length !== \"number\") {\n x = errorObj;\n x.e = new TypeError(\"cannot .spread() a non-array: \" +\n util.classString(value));\n } else {\n x = tryCatch(handler).apply(this._boundValue(), value);\n }\n } else {\n x = tryCatch(handler).call(receiver, value);\n }\n var promiseCreated = promise._popContext();\n bitField = promise._bitField;\n if (((bitField & 65536) !== 0)) return;\n\n if (x === NEXT_FILTER) {\n promise._reject(value);\n } else if (x === errorObj) {\n promise._rejectCallback(x.e, false);\n } else {\n debug.checkForgottenReturns(x, promiseCreated, \"\", promise, this);\n promise._resolveCallback(x);\n }\n};\n\nPromise.prototype._target = function() {\n var ret = this;\n while (ret._isFollowing()) ret = ret._followee();\n return ret;\n};\n\nPromise.prototype._followee = function() {\n return this._rejectionHandler0;\n};\n\nPromise.prototype._setFollowee = function(promise) {\n this._rejectionHandler0 = promise;\n};\n\nPromise.prototype._settlePromise = function(promise, handler, receiver, value) {\n var isPromise = promise instanceof Promise;\n var bitField = this._bitField;\n var asyncGuaranteed = ((bitField & 134217728) !== 0);\n if (((bitField & 65536) !== 0)) {\n if (isPromise) promise._invokeInternalOnCancel();\n\n if (receiver instanceof PassThroughHandlerContext &&\n receiver.isFinallyHandler()) {\n receiver.cancelPromise = promise;\n if (tryCatch(handler).call(receiver, value) === errorObj) {\n promise._reject(errorObj.e);\n }\n } else if (handler === reflectHandler) {\n promise._fulfill(reflectHandler.call(receiver));\n } else if (receiver instanceof Proxyable) {\n receiver._promiseCancelled(promise);\n } else if (isPromise || promise instanceof PromiseArray) {\n promise._cancel();\n } else {\n receiver.cancel();\n }\n } else if (typeof handler === \"function\") {\n if (!isPromise) {\n handler.call(receiver, value, promise);\n } else {\n if (asyncGuaranteed) promise._setAsyncGuaranteed();\n this._settlePromiseFromHandler(handler, receiver, value, promise);\n }\n } else if (receiver instanceof Proxyable) {\n if (!receiver._isResolved()) {\n if (((bitField & 33554432) !== 0)) {\n receiver._promiseFulfilled(value, promise);\n } else {\n receiver._promiseRejected(value, promise);\n }\n }\n } else if (isPromise) {\n if (asyncGuaranteed) promise._setAsyncGuaranteed();\n if (((bitField & 33554432) !== 0)) {\n promise._fulfill(value);\n } else {\n promise._reject(value);\n }\n }\n};\n\nPromise.prototype._settlePromiseLateCancellationObserver = function(ctx) {\n var handler = ctx.handler;\n var promise = ctx.promise;\n var receiver = ctx.receiver;\n var value = ctx.value;\n if (typeof handler === \"function\") {\n if (!(promise instanceof Promise)) {\n handler.call(receiver, value, promise);\n } else {\n this._settlePromiseFromHandler(handler, receiver, value, promise);\n }\n } else if (promise instanceof Promise) {\n promise._reject(value);\n }\n};\n\nPromise.prototype._settlePromiseCtx = function(ctx) {\n this._settlePromise(ctx.promise, ctx.handler, ctx.receiver, ctx.value);\n};\n\nPromise.prototype._settlePromise0 = function(handler, value, bitField) {\n var promise = this._promise0;\n var receiver = this._receiverAt(0);\n this._promise0 = undefined;\n this._receiver0 = undefined;\n this._settlePromise(promise, handler, receiver, value);\n};\n\nPromise.prototype._clearCallbackDataAtIndex = function(index) {\n var base = index * 4 - 4;\n this[base + 2] =\n this[base + 3] =\n this[base + 0] =\n this[base + 1] = undefined;\n};\n\nPromise.prototype._fulfill = function (value) {\n var bitField = this._bitField;\n if (((bitField & 117506048) >>> 16)) return;\n if (value === this) {\n var err = makeSelfResolutionError();\n this._attachExtraTrace(err);\n return this._reject(err);\n }\n this._setFulfilled();\n this._rejectionHandler0 = value;\n\n if ((bitField & 65535) > 0) {\n if (((bitField & 134217728) !== 0)) {\n this._settlePromises();\n } else {\n async.settlePromises(this);\n }\n this._dereferenceTrace();\n }\n};\n\nPromise.prototype._reject = function (reason) {\n var bitField = this._bitField;\n if (((bitField & 117506048) >>> 16)) return;\n this._setRejected();\n this._fulfillmentHandler0 = reason;\n\n if (this._isFinal()) {\n return async.fatalError(reason, util.isNode);\n }\n\n if ((bitField & 65535) > 0) {\n async.settlePromises(this);\n } else {\n this._ensurePossibleRejectionHandled();\n }\n};\n\nPromise.prototype._fulfillPromises = function (len, value) {\n for (var i = 1; i < len; i++) {\n var handler = this._fulfillmentHandlerAt(i);\n var promise = this._promiseAt(i);\n var receiver = this._receiverAt(i);\n this._clearCallbackDataAtIndex(i);\n this._settlePromise(promise, handler, receiver, value);\n }\n};\n\nPromise.prototype._rejectPromises = function (len, reason) {\n for (var i = 1; i < len; i++) {\n var handler = this._rejectionHandlerAt(i);\n var promise = this._promiseAt(i);\n var receiver = this._receiverAt(i);\n this._clearCallbackDataAtIndex(i);\n this._settlePromise(promise, handler, receiver, reason);\n }\n};\n\nPromise.prototype._settlePromises = function () {\n var bitField = this._bitField;\n var len = (bitField & 65535);\n\n if (len > 0) {\n if (((bitField & 16842752) !== 0)) {\n var reason = this._fulfillmentHandler0;\n this._settlePromise0(this._rejectionHandler0, reason, bitField);\n this._rejectPromises(len, reason);\n } else {\n var value = this._rejectionHandler0;\n this._settlePromise0(this._fulfillmentHandler0, value, bitField);\n this._fulfillPromises(len, value);\n }\n this._setLength(0);\n }\n this._clearCancellationData();\n};\n\nPromise.prototype._settledValue = function() {\n var bitField = this._bitField;\n if (((bitField & 33554432) !== 0)) {\n return this._rejectionHandler0;\n } else if (((bitField & 16777216) !== 0)) {\n return this._fulfillmentHandler0;\n }\n};\n\nif (typeof Symbol !== \"undefined\" && Symbol.toStringTag) {\n es5.defineProperty(Promise.prototype, Symbol.toStringTag, {\n get: function () {\n return \"Object\";\n }\n });\n}\n\nfunction deferResolve(v) {this.promise._resolveCallback(v);}\nfunction deferReject(v) {this.promise._rejectCallback(v, false);}\n\nPromise.defer = Promise.pending = function() {\n debug.deprecated(\"Promise.defer\", \"new Promise\");\n var promise = new Promise(INTERNAL);\n return {\n promise: promise,\n resolve: deferResolve,\n reject: deferReject\n };\n};\n\nutil.notEnumerableProp(Promise,\n \"_makeSelfResolutionError\",\n makeSelfResolutionError);\n\n_dereq_(\"./method\")(Promise, INTERNAL, tryConvertToPromise, apiRejection,\n debug);\n_dereq_(\"./bind\")(Promise, INTERNAL, tryConvertToPromise, debug);\n_dereq_(\"./cancel\")(Promise, PromiseArray, apiRejection, debug);\n_dereq_(\"./direct_resolve\")(Promise);\n_dereq_(\"./synchronous_inspection\")(Promise);\n_dereq_(\"./join\")(\n Promise, PromiseArray, tryConvertToPromise, INTERNAL, async, getDomain);\nPromise.Promise = Promise;\nPromise.version = \"3.5.5\";\n_dereq_('./call_get.js')(Promise);\n_dereq_('./generators.js')(Promise, apiRejection, INTERNAL, tryConvertToPromise, Proxyable, debug);\n_dereq_('./map.js')(Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug);\n_dereq_('./nodeify.js')(Promise);\n_dereq_('./promisify.js')(Promise, INTERNAL);\n_dereq_('./props.js')(Promise, PromiseArray, tryConvertToPromise, apiRejection);\n_dereq_('./race.js')(Promise, INTERNAL, tryConvertToPromise, apiRejection);\n_dereq_('./reduce.js')(Promise, PromiseArray, apiRejection, tryConvertToPromise, INTERNAL, debug);\n_dereq_('./settle.js')(Promise, PromiseArray, debug);\n_dereq_('./some.js')(Promise, PromiseArray, apiRejection);\n_dereq_('./timers.js')(Promise, INTERNAL, debug);\n_dereq_('./using.js')(Promise, apiRejection, tryConvertToPromise, createContext, INTERNAL, debug);\n_dereq_('./any.js')(Promise);\n_dereq_('./each.js')(Promise, INTERNAL);\n_dereq_('./filter.js')(Promise, INTERNAL);\n \n util.toFastProperties(Promise); \n util.toFastProperties(Promise.prototype); \n function fillTypes(value) { \n var p = new Promise(INTERNAL); \n p._fulfillmentHandler0 = value; \n p._rejectionHandler0 = value; \n p._promise0 = value; \n p._receiver0 = value; \n } \n // Complete slack tracking, opt out of field-type tracking and \n // stabilize map \n fillTypes({a: 1}); \n fillTypes({b: 2}); \n fillTypes({c: 3}); \n fillTypes(1); \n fillTypes(function(){}); \n fillTypes(undefined); \n fillTypes(false); \n fillTypes(new Promise(INTERNAL)); \n debug.setBounds(Async.firstLineError, util.lastLineError); \n return Promise; \n\n};\n\n},{\"./any.js\":1,\"./async\":2,\"./bind\":3,\"./call_get.js\":5,\"./cancel\":6,\"./catch_filter\":7,\"./context\":8,\"./debuggability\":9,\"./direct_resolve\":10,\"./each.js\":11,\"./errors\":12,\"./es5\":13,\"./filter.js\":14,\"./finally\":15,\"./generators.js\":16,\"./join\":17,\"./map.js\":18,\"./method\":19,\"./nodeback\":20,\"./nodeify.js\":21,\"./promise_array\":23,\"./promisify.js\":24,\"./props.js\":25,\"./race.js\":27,\"./reduce.js\":28,\"./settle.js\":30,\"./some.js\":31,\"./synchronous_inspection\":32,\"./thenables\":33,\"./timers.js\":34,\"./using.js\":35,\"./util\":36}],23:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise, INTERNAL, tryConvertToPromise,\n apiRejection, Proxyable) {\nvar util = _dereq_(\"./util\");\nvar isArray = util.isArray;\n\nfunction toResolutionValue(val) {\n switch(val) {\n case -2: return [];\n case -3: return {};\n case -6: return new Map();\n }\n}\n\nfunction PromiseArray(values) {\n var promise = this._promise = new Promise(INTERNAL);\n if (values instanceof Promise) {\n promise._propagateFrom(values, 3);\n }\n promise._setOnCancel(this);\n this._values = values;\n this._length = 0;\n this._totalResolved = 0;\n this._init(undefined, -2);\n}\nutil.inherits(PromiseArray, Proxyable);\n\nPromiseArray.prototype.length = function () {\n return this._length;\n};\n\nPromiseArray.prototype.promise = function () {\n return this._promise;\n};\n\nPromiseArray.prototype._init = function init(_, resolveValueIfEmpty) {\n var values = tryConvertToPromise(this._values, this._promise);\n if (values instanceof Promise) {\n values = values._target();\n var bitField = values._bitField;\n ;\n this._values = values;\n\n if (((bitField & 50397184) === 0)) {\n this._promise._setAsyncGuaranteed();\n return values._then(\n init,\n this._reject,\n undefined,\n this,\n resolveValueIfEmpty\n );\n } else if (((bitField & 33554432) !== 0)) {\n values = values._value();\n } else if (((bitField & 16777216) !== 0)) {\n return this._reject(values._reason());\n } else {\n return this._cancel();\n }\n }\n values = util.asArray(values);\n if (values === null) {\n var err = apiRejection(\n \"expecting an array or an iterable object but got \" + util.classString(values)).reason();\n this._promise._rejectCallback(err, false);\n return;\n }\n\n if (values.length === 0) {\n if (resolveValueIfEmpty === -5) {\n this._resolveEmptyArray();\n }\n else {\n this._resolve(toResolutionValue(resolveValueIfEmpty));\n }\n return;\n }\n this._iterate(values);\n};\n\nPromiseArray.prototype._iterate = function(values) {\n var len = this.getActualLength(values.length);\n this._length = len;\n this._values = this.shouldCopyValues() ? new Array(len) : this._values;\n var result = this._promise;\n var isResolved = false;\n var bitField = null;\n for (var i = 0; i < len; ++i) {\n var maybePromise = tryConvertToPromise(values[i], result);\n\n if (maybePromise instanceof Promise) {\n maybePromise = maybePromise._target();\n bitField = maybePromise._bitField;\n } else {\n bitField = null;\n }\n\n if (isResolved) {\n if (bitField !== null) {\n maybePromise.suppressUnhandledRejections();\n }\n } else if (bitField !== null) {\n if (((bitField & 50397184) === 0)) {\n maybePromise._proxy(this, i);\n this._values[i] = maybePromise;\n } else if (((bitField & 33554432) !== 0)) {\n isResolved = this._promiseFulfilled(maybePromise._value(), i);\n } else if (((bitField & 16777216) !== 0)) {\n isResolved = this._promiseRejected(maybePromise._reason(), i);\n } else {\n isResolved = this._promiseCancelled(i);\n }\n } else {\n isResolved = this._promiseFulfilled(maybePromise, i);\n }\n }\n if (!isResolved) result._setAsyncGuaranteed();\n};\n\nPromiseArray.prototype._isResolved = function () {\n return this._values === null;\n};\n\nPromiseArray.prototype._resolve = function (value) {\n this._values = null;\n this._promise._fulfill(value);\n};\n\nPromiseArray.prototype._cancel = function() {\n if (this._isResolved() || !this._promise._isCancellable()) return;\n this._values = null;\n this._promise._cancel();\n};\n\nPromiseArray.prototype._reject = function (reason) {\n this._values = null;\n this._promise._rejectCallback(reason, false);\n};\n\nPromiseArray.prototype._promiseFulfilled = function (value, index) {\n this._values[index] = value;\n var totalResolved = ++this._totalResolved;\n if (totalResolved >= this._length) {\n this._resolve(this._values);\n return true;\n }\n return false;\n};\n\nPromiseArray.prototype._promiseCancelled = function() {\n this._cancel();\n return true;\n};\n\nPromiseArray.prototype._promiseRejected = function (reason) {\n this._totalResolved++;\n this._reject(reason);\n return true;\n};\n\nPromiseArray.prototype._resultCancelled = function() {\n if (this._isResolved()) return;\n var values = this._values;\n this._cancel();\n if (values instanceof Promise) {\n values.cancel();\n } else {\n for (var i = 0; i < values.length; ++i) {\n if (values[i] instanceof Promise) {\n values[i].cancel();\n }\n }\n }\n};\n\nPromiseArray.prototype.shouldCopyValues = function () {\n return true;\n};\n\nPromiseArray.prototype.getActualLength = function (len) {\n return len;\n};\n\nreturn PromiseArray;\n};\n\n},{\"./util\":36}],24:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise, INTERNAL) {\nvar THIS = {};\nvar util = _dereq_(\"./util\");\nvar nodebackForPromise = _dereq_(\"./nodeback\");\nvar withAppended = util.withAppended;\nvar maybeWrapAsError = util.maybeWrapAsError;\nvar canEvaluate = util.canEvaluate;\nvar TypeError = _dereq_(\"./errors\").TypeError;\nvar defaultSuffix = \"Async\";\nvar defaultPromisified = {__isPromisified__: true};\nvar noCopyProps = [\n \"arity\", \"length\",\n \"name\",\n \"arguments\",\n \"caller\",\n \"callee\",\n \"prototype\",\n \"__isPromisified__\"\n];\nvar noCopyPropsPattern = new RegExp(\"^(?:\" + noCopyProps.join(\"|\") + \")$\");\n\nvar defaultFilter = function(name) {\n return util.isIdentifier(name) &&\n name.charAt(0) !== \"_\" &&\n name !== \"constructor\";\n};\n\nfunction propsFilter(key) {\n return !noCopyPropsPattern.test(key);\n}\n\nfunction isPromisified(fn) {\n try {\n return fn.__isPromisified__ === true;\n }\n catch (e) {\n return false;\n }\n}\n\nfunction hasPromisified(obj, key, suffix) {\n var val = util.getDataPropertyOrDefault(obj, key + suffix,\n defaultPromisified);\n return val ? isPromisified(val) : false;\n}\nfunction checkValid(ret, suffix, suffixRegexp) {\n for (var i = 0; i < ret.length; i += 2) {\n var key = ret[i];\n if (suffixRegexp.test(key)) {\n var keyWithoutAsyncSuffix = key.replace(suffixRegexp, \"\");\n for (var j = 0; j < ret.length; j += 2) {\n if (ret[j] === keyWithoutAsyncSuffix) {\n throw new TypeError(\"Cannot promisify an API that has normal methods with '%s'-suffix\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\"\n .replace(\"%s\", suffix));\n }\n }\n }\n }\n}\n\nfunction promisifiableMethods(obj, suffix, suffixRegexp, filter) {\n var keys = util.inheritedDataKeys(obj);\n var ret = [];\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n var value = obj[key];\n var passesDefaultFilter = filter === defaultFilter\n ? true : defaultFilter(key, value, obj);\n if (typeof value === \"function\" &&\n !isPromisified(value) &&\n !hasPromisified(obj, key, suffix) &&\n filter(key, value, obj, passesDefaultFilter)) {\n ret.push(key, value);\n }\n }\n checkValid(ret, suffix, suffixRegexp);\n return ret;\n}\n\nvar escapeIdentRegex = function(str) {\n return str.replace(/([$])/, \"\\\\$\");\n};\n\nvar makeNodePromisifiedEval;\nif (false) { var parameterCount, parameterDeclaration, argumentSequence, switchCaseArgumentOrder; }\n\nfunction makeNodePromisifiedClosure(callback, receiver, _, fn, __, multiArgs) {\n var defaultThis = (function() {return this;})();\n var method = callback;\n if (typeof method === \"string\") {\n callback = fn;\n }\n function promisified() {\n var _receiver = receiver;\n if (receiver === THIS) _receiver = this;\n var promise = new Promise(INTERNAL);\n promise._captureStackTrace();\n var cb = typeof method === \"string\" && this !== defaultThis\n ? this[method] : callback;\n var fn = nodebackForPromise(promise, multiArgs);\n try {\n cb.apply(_receiver, withAppended(arguments, fn));\n } catch(e) {\n promise._rejectCallback(maybeWrapAsError(e), true, true);\n }\n if (!promise._isFateSealed()) promise._setAsyncGuaranteed();\n return promise;\n }\n util.notEnumerableProp(promisified, \"__isPromisified__\", true);\n return promisified;\n}\n\nvar makeNodePromisified = canEvaluate\n ? makeNodePromisifiedEval\n : makeNodePromisifiedClosure;\n\nfunction promisifyAll(obj, suffix, filter, promisifier, multiArgs) {\n var suffixRegexp = new RegExp(escapeIdentRegex(suffix) + \"$\");\n var methods =\n promisifiableMethods(obj, suffix, suffixRegexp, filter);\n\n for (var i = 0, len = methods.length; i < len; i+= 2) {\n var key = methods[i];\n var fn = methods[i+1];\n var promisifiedKey = key + suffix;\n if (promisifier === makeNodePromisified) {\n obj[promisifiedKey] =\n makeNodePromisified(key, THIS, key, fn, suffix, multiArgs);\n } else {\n var promisified = promisifier(fn, function() {\n return makeNodePromisified(key, THIS, key,\n fn, suffix, multiArgs);\n });\n util.notEnumerableProp(promisified, \"__isPromisified__\", true);\n obj[promisifiedKey] = promisified;\n }\n }\n util.toFastProperties(obj);\n return obj;\n}\n\nfunction promisify(callback, receiver, multiArgs) {\n return makeNodePromisified(callback, receiver, undefined,\n callback, null, multiArgs);\n}\n\nPromise.promisify = function (fn, options) {\n if (typeof fn !== \"function\") {\n throw new TypeError(\"expecting a function but got \" + util.classString(fn));\n }\n if (isPromisified(fn)) {\n return fn;\n }\n options = Object(options);\n var receiver = options.context === undefined ? THIS : options.context;\n var multiArgs = !!options.multiArgs;\n var ret = promisify(fn, receiver, multiArgs);\n util.copyDescriptors(fn, ret, propsFilter);\n return ret;\n};\n\nPromise.promisifyAll = function (target, options) {\n if (typeof target !== \"function\" && typeof target !== \"object\") {\n throw new TypeError(\"the target of promisifyAll must be an object or a function\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n options = Object(options);\n var multiArgs = !!options.multiArgs;\n var suffix = options.suffix;\n if (typeof suffix !== \"string\") suffix = defaultSuffix;\n var filter = options.filter;\n if (typeof filter !== \"function\") filter = defaultFilter;\n var promisifier = options.promisifier;\n if (typeof promisifier !== \"function\") promisifier = makeNodePromisified;\n\n if (!util.isIdentifier(suffix)) {\n throw new RangeError(\"suffix must be a valid identifier\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n\n var keys = util.inheritedDataKeys(target);\n for (var i = 0; i < keys.length; ++i) {\n var value = target[keys[i]];\n if (keys[i] !== \"constructor\" &&\n util.isClass(value)) {\n promisifyAll(value.prototype, suffix, filter, promisifier,\n multiArgs);\n promisifyAll(value, suffix, filter, promisifier, multiArgs);\n }\n }\n\n return promisifyAll(target, suffix, filter, promisifier, multiArgs);\n};\n};\n\n\n},{\"./errors\":12,\"./nodeback\":20,\"./util\":36}],25:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(\n Promise, PromiseArray, tryConvertToPromise, apiRejection) {\nvar util = _dereq_(\"./util\");\nvar isObject = util.isObject;\nvar es5 = _dereq_(\"./es5\");\nvar Es6Map;\nif (typeof Map === \"function\") Es6Map = Map;\n\nvar mapToEntries = (function() {\n var index = 0;\n var size = 0;\n\n function extractEntry(value, key) {\n this[index] = value;\n this[index + size] = key;\n index++;\n }\n\n return function mapToEntries(map) {\n size = map.size;\n index = 0;\n var ret = new Array(map.size * 2);\n map.forEach(extractEntry, ret);\n return ret;\n };\n})();\n\nvar entriesToMap = function(entries) {\n var ret = new Es6Map();\n var length = entries.length / 2 | 0;\n for (var i = 0; i < length; ++i) {\n var key = entries[length + i];\n var value = entries[i];\n ret.set(key, value);\n }\n return ret;\n};\n\nfunction PropertiesPromiseArray(obj) {\n var isMap = false;\n var entries;\n if (Es6Map !== undefined && obj instanceof Es6Map) {\n entries = mapToEntries(obj);\n isMap = true;\n } else {\n var keys = es5.keys(obj);\n var len = keys.length;\n entries = new Array(len * 2);\n for (var i = 0; i < len; ++i) {\n var key = keys[i];\n entries[i] = obj[key];\n entries[i + len] = key;\n }\n }\n this.constructor$(entries);\n this._isMap = isMap;\n this._init$(undefined, isMap ? -6 : -3);\n}\nutil.inherits(PropertiesPromiseArray, PromiseArray);\n\nPropertiesPromiseArray.prototype._init = function () {};\n\nPropertiesPromiseArray.prototype._promiseFulfilled = function (value, index) {\n this._values[index] = value;\n var totalResolved = ++this._totalResolved;\n if (totalResolved >= this._length) {\n var val;\n if (this._isMap) {\n val = entriesToMap(this._values);\n } else {\n val = {};\n var keyOffset = this.length();\n for (var i = 0, len = this.length(); i < len; ++i) {\n val[this._values[i + keyOffset]] = this._values[i];\n }\n }\n this._resolve(val);\n return true;\n }\n return false;\n};\n\nPropertiesPromiseArray.prototype.shouldCopyValues = function () {\n return false;\n};\n\nPropertiesPromiseArray.prototype.getActualLength = function (len) {\n return len >> 1;\n};\n\nfunction props(promises) {\n var ret;\n var castValue = tryConvertToPromise(promises);\n\n if (!isObject(castValue)) {\n return apiRejection(\"cannot await properties of a non-object\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n } else if (castValue instanceof Promise) {\n ret = castValue._then(\n Promise.props, undefined, undefined, undefined, undefined);\n } else {\n ret = new PropertiesPromiseArray(castValue).promise();\n }\n\n if (castValue instanceof Promise) {\n ret._propagateFrom(castValue, 2);\n }\n return ret;\n}\n\nPromise.prototype.props = function () {\n return props(this);\n};\n\nPromise.props = function (promises) {\n return props(promises);\n};\n};\n\n},{\"./es5\":13,\"./util\":36}],26:[function(_dereq_,module,exports){\n\"use strict\";\nfunction arrayMove(src, srcIndex, dst, dstIndex, len) {\n for (var j = 0; j < len; ++j) {\n dst[j + dstIndex] = src[j + srcIndex];\n src[j + srcIndex] = void 0;\n }\n}\n\nfunction Queue(capacity) {\n this._capacity = capacity;\n this._length = 0;\n this._front = 0;\n}\n\nQueue.prototype._willBeOverCapacity = function (size) {\n return this._capacity < size;\n};\n\nQueue.prototype._pushOne = function (arg) {\n var length = this.length();\n this._checkCapacity(length + 1);\n var i = (this._front + length) & (this._capacity - 1);\n this[i] = arg;\n this._length = length + 1;\n};\n\nQueue.prototype.push = function (fn, receiver, arg) {\n var length = this.length() + 3;\n if (this._willBeOverCapacity(length)) {\n this._pushOne(fn);\n this._pushOne(receiver);\n this._pushOne(arg);\n return;\n }\n var j = this._front + length - 3;\n this._checkCapacity(length);\n var wrapMask = this._capacity - 1;\n this[(j + 0) & wrapMask] = fn;\n this[(j + 1) & wrapMask] = receiver;\n this[(j + 2) & wrapMask] = arg;\n this._length = length;\n};\n\nQueue.prototype.shift = function () {\n var front = this._front,\n ret = this[front];\n\n this[front] = undefined;\n this._front = (front + 1) & (this._capacity - 1);\n this._length--;\n return ret;\n};\n\nQueue.prototype.length = function () {\n return this._length;\n};\n\nQueue.prototype._checkCapacity = function (size) {\n if (this._capacity < size) {\n this._resizeTo(this._capacity << 1);\n }\n};\n\nQueue.prototype._resizeTo = function (capacity) {\n var oldCapacity = this._capacity;\n this._capacity = capacity;\n var front = this._front;\n var length = this._length;\n var moveItemsCount = (front + length) & (oldCapacity - 1);\n arrayMove(this, 0, this, oldCapacity, moveItemsCount);\n};\n\nmodule.exports = Queue;\n\n},{}],27:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(\n Promise, INTERNAL, tryConvertToPromise, apiRejection) {\nvar util = _dereq_(\"./util\");\n\nvar raceLater = function (promise) {\n return promise.then(function(array) {\n return race(array, promise);\n });\n};\n\nfunction race(promises, parent) {\n var maybePromise = tryConvertToPromise(promises);\n\n if (maybePromise instanceof Promise) {\n return raceLater(maybePromise);\n } else {\n promises = util.asArray(promises);\n if (promises === null)\n return apiRejection(\"expecting an array or an iterable object but got \" + util.classString(promises));\n }\n\n var ret = new Promise(INTERNAL);\n if (parent !== undefined) {\n ret._propagateFrom(parent, 3);\n }\n var fulfill = ret._fulfill;\n var reject = ret._reject;\n for (var i = 0, len = promises.length; i < len; ++i) {\n var val = promises[i];\n\n if (val === undefined && !(i in promises)) {\n continue;\n }\n\n Promise.cast(val)._then(fulfill, reject, undefined, ret, null);\n }\n return ret;\n}\n\nPromise.race = function (promises) {\n return race(promises, undefined);\n};\n\nPromise.prototype.race = function () {\n return race(this, undefined);\n};\n\n};\n\n},{\"./util\":36}],28:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise,\n PromiseArray,\n apiRejection,\n tryConvertToPromise,\n INTERNAL,\n debug) {\nvar getDomain = Promise._getDomain;\nvar util = _dereq_(\"./util\");\nvar tryCatch = util.tryCatch;\n\nfunction ReductionPromiseArray(promises, fn, initialValue, _each) {\n this.constructor$(promises);\n var domain = getDomain();\n this._fn = domain === null ? fn : util.domainBind(domain, fn);\n if (initialValue !== undefined) {\n initialValue = Promise.resolve(initialValue);\n initialValue._attachCancellationCallback(this);\n }\n this._initialValue = initialValue;\n this._currentCancellable = null;\n if(_each === INTERNAL) {\n this._eachValues = Array(this._length);\n } else if (_each === 0) {\n this._eachValues = null;\n } else {\n this._eachValues = undefined;\n }\n this._promise._captureStackTrace();\n this._init$(undefined, -5);\n}\nutil.inherits(ReductionPromiseArray, PromiseArray);\n\nReductionPromiseArray.prototype._gotAccum = function(accum) {\n if (this._eachValues !== undefined && \n this._eachValues !== null && \n accum !== INTERNAL) {\n this._eachValues.push(accum);\n }\n};\n\nReductionPromiseArray.prototype._eachComplete = function(value) {\n if (this._eachValues !== null) {\n this._eachValues.push(value);\n }\n return this._eachValues;\n};\n\nReductionPromiseArray.prototype._init = function() {};\n\nReductionPromiseArray.prototype._resolveEmptyArray = function() {\n this._resolve(this._eachValues !== undefined ? this._eachValues\n : this._initialValue);\n};\n\nReductionPromiseArray.prototype.shouldCopyValues = function () {\n return false;\n};\n\nReductionPromiseArray.prototype._resolve = function(value) {\n this._promise._resolveCallback(value);\n this._values = null;\n};\n\nReductionPromiseArray.prototype._resultCancelled = function(sender) {\n if (sender === this._initialValue) return this._cancel();\n if (this._isResolved()) return;\n this._resultCancelled$();\n if (this._currentCancellable instanceof Promise) {\n this._currentCancellable.cancel();\n }\n if (this._initialValue instanceof Promise) {\n this._initialValue.cancel();\n }\n};\n\nReductionPromiseArray.prototype._iterate = function (values) {\n this._values = values;\n var value;\n var i;\n var length = values.length;\n if (this._initialValue !== undefined) {\n value = this._initialValue;\n i = 0;\n } else {\n value = Promise.resolve(values[0]);\n i = 1;\n }\n\n this._currentCancellable = value;\n\n if (!value.isRejected()) {\n for (; i < length; ++i) {\n var ctx = {\n accum: null,\n value: values[i],\n index: i,\n length: length,\n array: this\n };\n value = value._then(gotAccum, undefined, undefined, ctx, undefined);\n }\n }\n\n if (this._eachValues !== undefined) {\n value = value\n ._then(this._eachComplete, undefined, undefined, this, undefined);\n }\n value._then(completed, completed, undefined, value, this);\n};\n\nPromise.prototype.reduce = function (fn, initialValue) {\n return reduce(this, fn, initialValue, null);\n};\n\nPromise.reduce = function (promises, fn, initialValue, _each) {\n return reduce(promises, fn, initialValue, _each);\n};\n\nfunction completed(valueOrReason, array) {\n if (this.isFulfilled()) {\n array._resolve(valueOrReason);\n } else {\n array._reject(valueOrReason);\n }\n}\n\nfunction reduce(promises, fn, initialValue, _each) {\n if (typeof fn !== \"function\") {\n return apiRejection(\"expecting a function but got \" + util.classString(fn));\n }\n var array = new ReductionPromiseArray(promises, fn, initialValue, _each);\n return array.promise();\n}\n\nfunction gotAccum(accum) {\n this.accum = accum;\n this.array._gotAccum(accum);\n var value = tryConvertToPromise(this.value, this.array._promise);\n if (value instanceof Promise) {\n this.array._currentCancellable = value;\n return value._then(gotValue, undefined, undefined, this, undefined);\n } else {\n return gotValue.call(this, value);\n }\n}\n\nfunction gotValue(value) {\n var array = this.array;\n var promise = array._promise;\n var fn = tryCatch(array._fn);\n promise._pushContext();\n var ret;\n if (array._eachValues !== undefined) {\n ret = fn.call(promise._boundValue(), value, this.index, this.length);\n } else {\n ret = fn.call(promise._boundValue(),\n this.accum, value, this.index, this.length);\n }\n if (ret instanceof Promise) {\n array._currentCancellable = ret;\n }\n var promiseCreated = promise._popContext();\n debug.checkForgottenReturns(\n ret,\n promiseCreated,\n array._eachValues !== undefined ? \"Promise.each\" : \"Promise.reduce\",\n promise\n );\n return ret;\n}\n};\n\n},{\"./util\":36}],29:[function(_dereq_,module,exports){\n\"use strict\";\nvar util = _dereq_(\"./util\");\nvar schedule;\nvar noAsyncScheduler = function() {\n throw new Error(\"No async scheduler available\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n};\nvar NativePromise = util.getNativePromise();\nif (util.isNode && typeof MutationObserver === \"undefined\") {\n var GlobalSetImmediate = global.setImmediate;\n var ProcessNextTick = process.nextTick;\n schedule = util.isRecentNode\n ? function(fn) { GlobalSetImmediate.call(global, fn); }\n : function(fn) { ProcessNextTick.call(process, fn); };\n} else if (typeof NativePromise === \"function\" &&\n typeof NativePromise.resolve === \"function\") {\n var nativePromise = NativePromise.resolve();\n schedule = function(fn) {\n nativePromise.then(fn);\n };\n} else if ((typeof MutationObserver !== \"undefined\") &&\n !(typeof window !== \"undefined\" &&\n window.navigator &&\n (window.navigator.standalone || window.cordova)) &&\n (\"classList\" in document.documentElement)) {\n schedule = (function() {\n var div = document.createElement(\"div\");\n var opts = {attributes: true};\n var toggleScheduled = false;\n var div2 = document.createElement(\"div\");\n var o2 = new MutationObserver(function() {\n div.classList.toggle(\"foo\");\n toggleScheduled = false;\n });\n o2.observe(div2, opts);\n\n var scheduleToggle = function() {\n if (toggleScheduled) return;\n toggleScheduled = true;\n div2.classList.toggle(\"foo\");\n };\n\n return function schedule(fn) {\n var o = new MutationObserver(function() {\n o.disconnect();\n fn();\n });\n o.observe(div, opts);\n scheduleToggle();\n };\n })();\n} else if (typeof setImmediate !== \"undefined\") {\n schedule = function (fn) {\n setImmediate(fn);\n };\n} else if (typeof setTimeout !== \"undefined\") {\n schedule = function (fn) {\n setTimeout(fn, 0);\n };\n} else {\n schedule = noAsyncScheduler;\n}\nmodule.exports = schedule;\n\n},{\"./util\":36}],30:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports =\n function(Promise, PromiseArray, debug) {\nvar PromiseInspection = Promise.PromiseInspection;\nvar util = _dereq_(\"./util\");\n\nfunction SettledPromiseArray(values) {\n this.constructor$(values);\n}\nutil.inherits(SettledPromiseArray, PromiseArray);\n\nSettledPromiseArray.prototype._promiseResolved = function (index, inspection) {\n this._values[index] = inspection;\n var totalResolved = ++this._totalResolved;\n if (totalResolved >= this._length) {\n this._resolve(this._values);\n return true;\n }\n return false;\n};\n\nSettledPromiseArray.prototype._promiseFulfilled = function (value, index) {\n var ret = new PromiseInspection();\n ret._bitField = 33554432;\n ret._settledValueField = value;\n return this._promiseResolved(index, ret);\n};\nSettledPromiseArray.prototype._promiseRejected = function (reason, index) {\n var ret = new PromiseInspection();\n ret._bitField = 16777216;\n ret._settledValueField = reason;\n return this._promiseResolved(index, ret);\n};\n\nPromise.settle = function (promises) {\n debug.deprecated(\".settle()\", \".reflect()\");\n return new SettledPromiseArray(promises).promise();\n};\n\nPromise.prototype.settle = function () {\n return Promise.settle(this);\n};\n};\n\n},{\"./util\":36}],31:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports =\nfunction(Promise, PromiseArray, apiRejection) {\nvar util = _dereq_(\"./util\");\nvar RangeError = _dereq_(\"./errors\").RangeError;\nvar AggregateError = _dereq_(\"./errors\").AggregateError;\nvar isArray = util.isArray;\nvar CANCELLATION = {};\n\n\nfunction SomePromiseArray(values) {\n this.constructor$(values);\n this._howMany = 0;\n this._unwrap = false;\n this._initialized = false;\n}\nutil.inherits(SomePromiseArray, PromiseArray);\n\nSomePromiseArray.prototype._init = function () {\n if (!this._initialized) {\n return;\n }\n if (this._howMany === 0) {\n this._resolve([]);\n return;\n }\n this._init$(undefined, -5);\n var isArrayResolved = isArray(this._values);\n if (!this._isResolved() &&\n isArrayResolved &&\n this._howMany > this._canPossiblyFulfill()) {\n this._reject(this._getRangeError(this.length()));\n }\n};\n\nSomePromiseArray.prototype.init = function () {\n this._initialized = true;\n this._init();\n};\n\nSomePromiseArray.prototype.setUnwrap = function () {\n this._unwrap = true;\n};\n\nSomePromiseArray.prototype.howMany = function () {\n return this._howMany;\n};\n\nSomePromiseArray.prototype.setHowMany = function (count) {\n this._howMany = count;\n};\n\nSomePromiseArray.prototype._promiseFulfilled = function (value) {\n this._addFulfilled(value);\n if (this._fulfilled() === this.howMany()) {\n this._values.length = this.howMany();\n if (this.howMany() === 1 && this._unwrap) {\n this._resolve(this._values[0]);\n } else {\n this._resolve(this._values);\n }\n return true;\n }\n return false;\n\n};\nSomePromiseArray.prototype._promiseRejected = function (reason) {\n this._addRejected(reason);\n return this._checkOutcome();\n};\n\nSomePromiseArray.prototype._promiseCancelled = function () {\n if (this._values instanceof Promise || this._values == null) {\n return this._cancel();\n }\n this._addRejected(CANCELLATION);\n return this._checkOutcome();\n};\n\nSomePromiseArray.prototype._checkOutcome = function() {\n if (this.howMany() > this._canPossiblyFulfill()) {\n var e = new AggregateError();\n for (var i = this.length(); i < this._values.length; ++i) {\n if (this._values[i] !== CANCELLATION) {\n e.push(this._values[i]);\n }\n }\n if (e.length > 0) {\n this._reject(e);\n } else {\n this._cancel();\n }\n return true;\n }\n return false;\n};\n\nSomePromiseArray.prototype._fulfilled = function () {\n return this._totalResolved;\n};\n\nSomePromiseArray.prototype._rejected = function () {\n return this._values.length - this.length();\n};\n\nSomePromiseArray.prototype._addRejected = function (reason) {\n this._values.push(reason);\n};\n\nSomePromiseArray.prototype._addFulfilled = function (value) {\n this._values[this._totalResolved++] = value;\n};\n\nSomePromiseArray.prototype._canPossiblyFulfill = function () {\n return this.length() - this._rejected();\n};\n\nSomePromiseArray.prototype._getRangeError = function (count) {\n var message = \"Input array must contain at least \" +\n this._howMany + \" items but contains only \" + count + \" items\";\n return new RangeError(message);\n};\n\nSomePromiseArray.prototype._resolveEmptyArray = function () {\n this._reject(this._getRangeError(0));\n};\n\nfunction some(promises, howMany) {\n if ((howMany | 0) !== howMany || howMany < 0) {\n return apiRejection(\"expecting a positive integer\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n var ret = new SomePromiseArray(promises);\n var promise = ret.promise();\n ret.setHowMany(howMany);\n ret.init();\n return promise;\n}\n\nPromise.some = function (promises, howMany) {\n return some(promises, howMany);\n};\n\nPromise.prototype.some = function (howMany) {\n return some(this, howMany);\n};\n\nPromise._SomePromiseArray = SomePromiseArray;\n};\n\n},{\"./errors\":12,\"./util\":36}],32:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise) {\nfunction PromiseInspection(promise) {\n if (promise !== undefined) {\n promise = promise._target();\n this._bitField = promise._bitField;\n this._settledValueField = promise._isFateSealed()\n ? promise._settledValue() : undefined;\n }\n else {\n this._bitField = 0;\n this._settledValueField = undefined;\n }\n}\n\nPromiseInspection.prototype._settledValue = function() {\n return this._settledValueField;\n};\n\nvar value = PromiseInspection.prototype.value = function () {\n if (!this.isFulfilled()) {\n throw new TypeError(\"cannot get fulfillment value of a non-fulfilled promise\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n return this._settledValue();\n};\n\nvar reason = PromiseInspection.prototype.error =\nPromiseInspection.prototype.reason = function () {\n if (!this.isRejected()) {\n throw new TypeError(\"cannot get rejection reason of a non-rejected promise\\u000a\\u000a See http://goo.gl/MqrFmX\\u000a\");\n }\n return this._settledValue();\n};\n\nvar isFulfilled = PromiseInspection.prototype.isFulfilled = function() {\n return (this._bitField & 33554432) !== 0;\n};\n\nvar isRejected = PromiseInspection.prototype.isRejected = function () {\n return (this._bitField & 16777216) !== 0;\n};\n\nvar isPending = PromiseInspection.prototype.isPending = function () {\n return (this._bitField & 50397184) === 0;\n};\n\nvar isResolved = PromiseInspection.prototype.isResolved = function () {\n return (this._bitField & 50331648) !== 0;\n};\n\nPromiseInspection.prototype.isCancelled = function() {\n return (this._bitField & 8454144) !== 0;\n};\n\nPromise.prototype.__isCancelled = function() {\n return (this._bitField & 65536) === 65536;\n};\n\nPromise.prototype._isCancelled = function() {\n return this._target().__isCancelled();\n};\n\nPromise.prototype.isCancelled = function() {\n return (this._target()._bitField & 8454144) !== 0;\n};\n\nPromise.prototype.isPending = function() {\n return isPending.call(this._target());\n};\n\nPromise.prototype.isRejected = function() {\n return isRejected.call(this._target());\n};\n\nPromise.prototype.isFulfilled = function() {\n return isFulfilled.call(this._target());\n};\n\nPromise.prototype.isResolved = function() {\n return isResolved.call(this._target());\n};\n\nPromise.prototype.value = function() {\n return value.call(this._target());\n};\n\nPromise.prototype.reason = function() {\n var target = this._target();\n target._unsetRejectionIsUnhandled();\n return reason.call(target);\n};\n\nPromise.prototype._value = function() {\n return this._settledValue();\n};\n\nPromise.prototype._reason = function() {\n this._unsetRejectionIsUnhandled();\n return this._settledValue();\n};\n\nPromise.PromiseInspection = PromiseInspection;\n};\n\n},{}],33:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise, INTERNAL) {\nvar util = _dereq_(\"./util\");\nvar errorObj = util.errorObj;\nvar isObject = util.isObject;\n\nfunction tryConvertToPromise(obj, context) {\n if (isObject(obj)) {\n if (obj instanceof Promise) return obj;\n var then = getThen(obj);\n if (then === errorObj) {\n if (context) context._pushContext();\n var ret = Promise.reject(then.e);\n if (context) context._popContext();\n return ret;\n } else if (typeof then === \"function\") {\n if (isAnyBluebirdPromise(obj)) {\n var ret = new Promise(INTERNAL);\n obj._then(\n ret._fulfill,\n ret._reject,\n undefined,\n ret,\n null\n );\n return ret;\n }\n return doThenable(obj, then, context);\n }\n }\n return obj;\n}\n\nfunction doGetThen(obj) {\n return obj.then;\n}\n\nfunction getThen(obj) {\n try {\n return doGetThen(obj);\n } catch (e) {\n errorObj.e = e;\n return errorObj;\n }\n}\n\nvar hasProp = {}.hasOwnProperty;\nfunction isAnyBluebirdPromise(obj) {\n try {\n return hasProp.call(obj, \"_promise0\");\n } catch (e) {\n return false;\n }\n}\n\nfunction doThenable(x, then, context) {\n var promise = new Promise(INTERNAL);\n var ret = promise;\n if (context) context._pushContext();\n promise._captureStackTrace();\n if (context) context._popContext();\n var synchronous = true;\n var result = util.tryCatch(then).call(x, resolve, reject);\n synchronous = false;\n\n if (promise && result === errorObj) {\n promise._rejectCallback(result.e, true, true);\n promise = null;\n }\n\n function resolve(value) {\n if (!promise) return;\n promise._resolveCallback(value);\n promise = null;\n }\n\n function reject(reason) {\n if (!promise) return;\n promise._rejectCallback(reason, synchronous, true);\n promise = null;\n }\n return ret;\n}\n\nreturn tryConvertToPromise;\n};\n\n},{\"./util\":36}],34:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function(Promise, INTERNAL, debug) {\nvar util = _dereq_(\"./util\");\nvar TimeoutError = Promise.TimeoutError;\n\nfunction HandleWrapper(handle) {\n this.handle = handle;\n}\n\nHandleWrapper.prototype._resultCancelled = function() {\n clearTimeout(this.handle);\n};\n\nvar afterValue = function(value) { return delay(+this).thenReturn(value); };\nvar delay = Promise.delay = function (ms, value) {\n var ret;\n var handle;\n if (value !== undefined) {\n ret = Promise.resolve(value)\n ._then(afterValue, null, null, ms, undefined);\n if (debug.cancellation() && value instanceof Promise) {\n ret._setOnCancel(value);\n }\n } else {\n ret = new Promise(INTERNAL);\n handle = setTimeout(function() { ret._fulfill(); }, +ms);\n if (debug.cancellation()) {\n ret._setOnCancel(new HandleWrapper(handle));\n }\n ret._captureStackTrace();\n }\n ret._setAsyncGuaranteed();\n return ret;\n};\n\nPromise.prototype.delay = function (ms) {\n return delay(ms, this);\n};\n\nvar afterTimeout = function (promise, message, parent) {\n var err;\n if (typeof message !== \"string\") {\n if (message instanceof Error) {\n err = message;\n } else {\n err = new TimeoutError(\"operation timed out\");\n }\n } else {\n err = new TimeoutError(message);\n }\n util.markAsOriginatingFromRejection(err);\n promise._attachExtraTrace(err);\n promise._reject(err);\n\n if (parent != null) {\n parent.cancel();\n }\n};\n\nfunction successClear(value) {\n clearTimeout(this.handle);\n return value;\n}\n\nfunction failureClear(reason) {\n clearTimeout(this.handle);\n throw reason;\n}\n\nPromise.prototype.timeout = function (ms, message) {\n ms = +ms;\n var ret, parent;\n\n var handleWrapper = new HandleWrapper(setTimeout(function timeoutTimeout() {\n if (ret.isPending()) {\n afterTimeout(ret, message, parent);\n }\n }, ms));\n\n if (debug.cancellation()) {\n parent = this.then();\n ret = parent._then(successClear, failureClear,\n undefined, handleWrapper, undefined);\n ret._setOnCancel(handleWrapper);\n } else {\n ret = this._then(successClear, failureClear,\n undefined, handleWrapper, undefined);\n }\n\n return ret;\n};\n\n};\n\n},{\"./util\":36}],35:[function(_dereq_,module,exports){\n\"use strict\";\nmodule.exports = function (Promise, apiRejection, tryConvertToPromise,\n createContext, INTERNAL, debug) {\n var util = _dereq_(\"./util\");\n var TypeError = _dereq_(\"./errors\").TypeError;\n var inherits = _dereq_(\"./util\").inherits;\n var errorObj = util.errorObj;\n var tryCatch = util.tryCatch;\n var NULL = {};\n\n function thrower(e) {\n setTimeout(function(){throw e;}, 0);\n }\n\n function castPreservingDisposable(thenable) {\n var maybePromise = tryConvertToPromise(thenable);\n if (maybePromise !== thenable &&\n typeof thenable._isDisposable === \"function\" &&\n typeof thenable._getDisposer === \"function\" &&\n thenable._isDisposable()) {\n maybePromise._setDisposable(thenable._getDisposer());\n }\n return maybePromise;\n }\n function dispose(resources, inspection) {\n var i = 0;\n var len = resources.length;\n var ret = new Promise(INTERNAL);\n function iterator() {\n if (i >= len) return ret._fulfill();\n var maybePromise = castPreservingDisposable(resources[i++]);\n if (maybePromise instanceof Promise &&\n maybePromise._isDisposable()) {\n try {\n maybePromise = tryConvertToPromise(\n maybePromise._getDisposer().tryDispose(inspection),\n resources.promise);\n } catch (e) {\n return thrower(e);\n }\n if (maybePromise instanceof Promise) {\n return maybePromise._then(iterator, thrower,\n null, null, null);\n }\n }\n iterator();\n }\n iterator();\n return ret;\n }\n\n function Disposer(data, promise, context) {\n this._data = data;\n this._promise = promise;\n this._context = context;\n }\n\n Disposer.prototype.data = function () {\n return this._data;\n };\n\n Disposer.prototype.promise = function () {\n return this._promise;\n };\n\n Disposer.prototype.resource = function () {\n if (this.promise().isFulfilled()) {\n return this.promise().value();\n }\n return NULL;\n };\n\n Disposer.prototype.tryDispose = function(inspection) {\n var resource = this.resource();\n var context = this._context;\n if (context !== undefined) context._pushContext();\n var ret = resource !== NULL\n ? this.doDispose(resource, inspection) : null;\n if (context !== undefined) context._popContext();\n this._promise._unsetDisposable();\n this._data = null;\n return ret;\n };\n\n Disposer.isDisposer = function (d) {\n return (d != null &&\n typeof d.resource === \"function\" &&\n typeof d.tryDispose === \"function\");\n };\n\n function FunctionDisposer(fn, promise, context) {\n this.constructor$(fn, promise, context);\n }\n inherits(FunctionDisposer, Disposer);\n\n FunctionDisposer.prototype.doDispose = function (resource, inspection) {\n var fn = this.data();\n return fn.call(resource, resource, inspection);\n };\n\n function maybeUnwrapDisposer(value) {\n if (Disposer.isDisposer(value)) {\n this.resources[this.index]._setDisposable(value);\n return value.promise();\n }\n return value;\n }\n\n function ResourceList(length) {\n this.length = length;\n this.promise = null;\n this[length-1] = null;\n }\n\n ResourceList.prototype._resultCancelled = function() {\n var len = this.length;\n for (var i = 0; i < len; ++i) {\n var item = this[i];\n if (item instanceof Promise) {\n item.cancel();\n }\n }\n };\n\n Promise.using = function () {\n var len = arguments.length;\n if (len < 2) return apiRejection(\n \"you must pass at least 2 arguments to Promise.using\");\n var fn = arguments[len - 1];\n if (typeof fn !== \"function\") {\n return apiRejection(\"expecting a function but got \" + util.classString(fn));\n }\n var input;\n var spreadArgs = true;\n if (len === 2 && Array.isArray(arguments[0])) {\n input = arguments[0];\n len = input.length;\n spreadArgs = false;\n } else {\n input = arguments;\n len--;\n }\n var resources = new ResourceList(len);\n for (var i = 0; i < len; ++i) {\n var resource = input[i];\n if (Disposer.isDisposer(resource)) {\n var disposer = resource;\n resource = resource.promise();\n resource._setDisposable(disposer);\n } else {\n var maybePromise = tryConvertToPromise(resource);\n if (maybePromise instanceof Promise) {\n resource =\n maybePromise._then(maybeUnwrapDisposer, null, null, {\n resources: resources,\n index: i\n }, undefined);\n }\n }\n resources[i] = resource;\n }\n\n var reflectedResources = new Array(resources.length);\n for (var i = 0; i < reflectedResources.length; ++i) {\n reflectedResources[i] = Promise.resolve(resources[i]).reflect();\n }\n\n var resultPromise = Promise.all(reflectedResources)\n .then(function(inspections) {\n for (var i = 0; i < inspections.length; ++i) {\n var inspection = inspections[i];\n if (inspection.isRejected()) {\n errorObj.e = inspection.error();\n return errorObj;\n } else if (!inspection.isFulfilled()) {\n resultPromise.cancel();\n return;\n }\n inspections[i] = inspection.value();\n }\n promise._pushContext();\n\n fn = tryCatch(fn);\n var ret = spreadArgs\n ? fn.apply(undefined, inspections) : fn(inspections);\n var promiseCreated = promise._popContext();\n debug.checkForgottenReturns(\n ret, promiseCreated, \"Promise.using\", promise);\n return ret;\n });\n\n var promise = resultPromise.lastly(function() {\n var inspection = new Promise.PromiseInspection(resultPromise);\n return dispose(resources, inspection);\n });\n resources.promise = promise;\n promise._setOnCancel(resources);\n return promise;\n };\n\n Promise.prototype._setDisposable = function (disposer) {\n this._bitField = this._bitField | 131072;\n this._disposer = disposer;\n };\n\n Promise.prototype._isDisposable = function () {\n return (this._bitField & 131072) > 0;\n };\n\n Promise.prototype._getDisposer = function () {\n return this._disposer;\n };\n\n Promise.prototype._unsetDisposable = function () {\n this._bitField = this._bitField & (~131072);\n this._disposer = undefined;\n };\n\n Promise.prototype.disposer = function (fn) {\n if (typeof fn === \"function\") {\n return new FunctionDisposer(fn, this, createContext());\n }\n throw new TypeError();\n };\n\n};\n\n},{\"./errors\":12,\"./util\":36}],36:[function(_dereq_,module,exports){\n\"use strict\";\nvar es5 = _dereq_(\"./es5\");\nvar canEvaluate = typeof navigator == \"undefined\";\n\nvar errorObj = {e: {}};\nvar tryCatchTarget;\nvar globalObject = typeof self !== \"undefined\" ? self :\n typeof window !== \"undefined\" ? window :\n typeof global !== \"undefined\" ? global :\n this !== undefined ? this : null;\n\nfunction tryCatcher() {\n try {\n var target = tryCatchTarget;\n tryCatchTarget = null;\n return target.apply(this, arguments);\n } catch (e) {\n errorObj.e = e;\n return errorObj;\n }\n}\nfunction tryCatch(fn) {\n tryCatchTarget = fn;\n return tryCatcher;\n}\n\nvar inherits = function(Child, Parent) {\n var hasProp = {}.hasOwnProperty;\n\n function T() {\n this.constructor = Child;\n this.constructor$ = Parent;\n for (var propertyName in Parent.prototype) {\n if (hasProp.call(Parent.prototype, propertyName) &&\n propertyName.charAt(propertyName.length-1) !== \"$\"\n ) {\n this[propertyName + \"$\"] = Parent.prototype[propertyName];\n }\n }\n }\n T.prototype = Parent.prototype;\n Child.prototype = new T();\n return Child.prototype;\n};\n\n\nfunction isPrimitive(val) {\n return val == null || val === true || val === false ||\n typeof val === \"string\" || typeof val === \"number\";\n\n}\n\nfunction isObject(value) {\n return typeof value === \"function\" ||\n typeof value === \"object\" && value !== null;\n}\n\nfunction maybeWrapAsError(maybeError) {\n if (!isPrimitive(maybeError)) return maybeError;\n\n return new Error(safeToString(maybeError));\n}\n\nfunction withAppended(target, appendee) {\n var len = target.length;\n var ret = new Array(len + 1);\n var i;\n for (i = 0; i < len; ++i) {\n ret[i] = target[i];\n }\n ret[i] = appendee;\n return ret;\n}\n\nfunction getDataPropertyOrDefault(obj, key, defaultValue) {\n if (es5.isES5) {\n var desc = Object.getOwnPropertyDescriptor(obj, key);\n\n if (desc != null) {\n return desc.get == null && desc.set == null\n ? desc.value\n : defaultValue;\n }\n } else {\n return {}.hasOwnProperty.call(obj, key) ? obj[key] : undefined;\n }\n}\n\nfunction notEnumerableProp(obj, name, value) {\n if (isPrimitive(obj)) return obj;\n var descriptor = {\n value: value,\n configurable: true,\n enumerable: false,\n writable: true\n };\n es5.defineProperty(obj, name, descriptor);\n return obj;\n}\n\nfunction thrower(r) {\n throw r;\n}\n\nvar inheritedDataKeys = (function() {\n var excludedPrototypes = [\n Array.prototype,\n Object.prototype,\n Function.prototype\n ];\n\n var isExcludedProto = function(val) {\n for (var i = 0; i < excludedPrototypes.length; ++i) {\n if (excludedPrototypes[i] === val) {\n return true;\n }\n }\n return false;\n };\n\n if (es5.isES5) {\n var getKeys = Object.getOwnPropertyNames;\n return function(obj) {\n var ret = [];\n var visitedKeys = Object.create(null);\n while (obj != null && !isExcludedProto(obj)) {\n var keys;\n try {\n keys = getKeys(obj);\n } catch (e) {\n return ret;\n }\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (visitedKeys[key]) continue;\n visitedKeys[key] = true;\n var desc = Object.getOwnPropertyDescriptor(obj, key);\n if (desc != null && desc.get == null && desc.set == null) {\n ret.push(key);\n }\n }\n obj = es5.getPrototypeOf(obj);\n }\n return ret;\n };\n } else {\n var hasProp = {}.hasOwnProperty;\n return function(obj) {\n if (isExcludedProto(obj)) return [];\n var ret = [];\n\n /*jshint forin:false */\n enumeration: for (var key in obj) {\n if (hasProp.call(obj, key)) {\n ret.push(key);\n } else {\n for (var i = 0; i < excludedPrototypes.length; ++i) {\n if (hasProp.call(excludedPrototypes[i], key)) {\n continue enumeration;\n }\n }\n ret.push(key);\n }\n }\n return ret;\n };\n }\n\n})();\n\nvar thisAssignmentPattern = /this\\s*\\.\\s*\\S+\\s*=/;\nfunction isClass(fn) {\n try {\n if (typeof fn === \"function\") {\n var keys = es5.names(fn.prototype);\n\n var hasMethods = es5.isES5 && keys.length > 1;\n var hasMethodsOtherThanConstructor = keys.length > 0 &&\n !(keys.length === 1 && keys[0] === \"constructor\");\n var hasThisAssignmentAndStaticMethods =\n thisAssignmentPattern.test(fn + \"\") && es5.names(fn).length > 0;\n\n if (hasMethods || hasMethodsOtherThanConstructor ||\n hasThisAssignmentAndStaticMethods) {\n return true;\n }\n }\n return false;\n } catch (e) {\n return false;\n }\n}\n\nfunction toFastProperties(obj) {\n /*jshint -W027,-W055,-W031*/\n function FakeConstructor() {}\n FakeConstructor.prototype = obj;\n var receiver = new FakeConstructor();\n function ic() {\n return typeof receiver.foo;\n }\n ic();\n ic();\n return obj;\n eval(obj);\n}\n\nvar rident = /^[a-z$_][a-z$_0-9]*$/i;\nfunction isIdentifier(str) {\n return rident.test(str);\n}\n\nfunction filledRange(count, prefix, suffix) {\n var ret = new Array(count);\n for(var i = 0; i < count; ++i) {\n ret[i] = prefix + i + suffix;\n }\n return ret;\n}\n\nfunction safeToString(obj) {\n try {\n return obj + \"\";\n } catch (e) {\n return \"[no string representation]\";\n }\n}\n\nfunction isError(obj) {\n return obj instanceof Error ||\n (obj !== null &&\n typeof obj === \"object\" &&\n typeof obj.message === \"string\" &&\n typeof obj.name === \"string\");\n}\n\nfunction markAsOriginatingFromRejection(e) {\n try {\n notEnumerableProp(e, \"isOperational\", true);\n }\n catch(ignore) {}\n}\n\nfunction originatesFromRejection(e) {\n if (e == null) return false;\n return ((e instanceof Error[\"__BluebirdErrorTypes__\"].OperationalError) ||\n e[\"isOperational\"] === true);\n}\n\nfunction canAttachTrace(obj) {\n return isError(obj) && es5.propertyIsWritable(obj, \"stack\");\n}\n\nvar ensureErrorObject = (function() {\n if (!(\"stack\" in new Error())) {\n return function(value) {\n if (canAttachTrace(value)) return value;\n try {throw new Error(safeToString(value));}\n catch(err) {return err;}\n };\n } else {\n return function(value) {\n if (canAttachTrace(value)) return value;\n return new Error(safeToString(value));\n };\n }\n})();\n\nfunction classString(obj) {\n return {}.toString.call(obj);\n}\n\nfunction copyDescriptors(from, to, filter) {\n var keys = es5.names(from);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (filter(key)) {\n try {\n es5.defineProperty(to, key, es5.getDescriptor(from, key));\n } catch (ignore) {}\n }\n }\n}\n\nvar asArray = function(v) {\n if (es5.isArray(v)) {\n return v;\n }\n return null;\n};\n\nif (typeof Symbol !== \"undefined\" && Symbol.iterator) {\n var ArrayFrom = typeof Array.from === \"function\" ? function(v) {\n return Array.from(v);\n } : function(v) {\n var ret = [];\n var it = v[Symbol.iterator]();\n var itResult;\n while (!((itResult = it.next()).done)) {\n ret.push(itResult.value);\n }\n return ret;\n };\n\n asArray = function(v) {\n if (es5.isArray(v)) {\n return v;\n } else if (v != null && typeof v[Symbol.iterator] === \"function\") {\n return ArrayFrom(v);\n }\n return null;\n };\n}\n\nvar isNode = typeof process !== \"undefined\" &&\n classString(process).toLowerCase() === \"[object process]\";\n\nvar hasEnvVariables = typeof process !== \"undefined\" &&\n typeof process.env !== \"undefined\";\n\nfunction env(key) {\n return hasEnvVariables ? process.env[key] : undefined;\n}\n\nfunction getNativePromise() {\n if (typeof Promise === \"function\") {\n try {\n var promise = new Promise(function(){});\n if ({}.toString.call(promise) === \"[object Promise]\") {\n return Promise;\n }\n } catch (e) {}\n }\n}\n\nfunction domainBind(self, cb) {\n return self.bind(cb);\n}\n\nvar ret = {\n isClass: isClass,\n isIdentifier: isIdentifier,\n inheritedDataKeys: inheritedDataKeys,\n getDataPropertyOrDefault: getDataPropertyOrDefault,\n thrower: thrower,\n isArray: es5.isArray,\n asArray: asArray,\n notEnumerableProp: notEnumerableProp,\n isPrimitive: isPrimitive,\n isObject: isObject,\n isError: isError,\n canEvaluate: canEvaluate,\n errorObj: errorObj,\n tryCatch: tryCatch,\n inherits: inherits,\n withAppended: withAppended,\n maybeWrapAsError: maybeWrapAsError,\n toFastProperties: toFastProperties,\n filledRange: filledRange,\n toString: safeToString,\n canAttachTrace: canAttachTrace,\n ensureErrorObject: ensureErrorObject,\n originatesFromRejection: originatesFromRejection,\n markAsOriginatingFromRejection: markAsOriginatingFromRejection,\n classString: classString,\n copyDescriptors: copyDescriptors,\n hasDevTools: typeof chrome !== \"undefined\" && chrome &&\n typeof chrome.loadTimes === \"function\",\n isNode: isNode,\n hasEnvVariables: hasEnvVariables,\n env: env,\n global: globalObject,\n getNativePromise: getNativePromise,\n domainBind: domainBind\n};\nret.isRecentNode = ret.isNode && (function() {\n var version;\n if (process.versions && process.versions.node) { \n version = process.versions.node.split(\".\").map(Number);\n } else if (process.version) {\n version = process.version.split(\".\").map(Number);\n }\n return (version[0] === 0 && version[1] > 10) || (version[0] > 0);\n})();\n\nif (ret.isNode) ret.toFastProperties(process);\n\ntry {throw new Error(); } catch (e) {ret.lastLineError = e;}\nmodule.exports = ret;\n\n},{\"./es5\":13}]},{},[4])(4)\n}); ;if (typeof window !== 'undefined' && window !== null) { window.P = window.Promise; } else if (typeof self !== 'undefined' && self !== null) { self.P = self.Promise; }\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../process/browser.js */ \"./node_modules/process/browser.js\"), __webpack_require__(/*! bluebird */ \"./node_modules/bluebird/js/browser/bluebird.js\"), __webpack_require__(/*! ./../../../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\"), __webpack_require__(/*! ./../../../timers-browserify/main.js */ \"./node_modules/timers-browserify/main.js\").setImmediate))\n\n//# sourceURL=webpack:///./node_modules/bluebird/js/browser/bluebird.js?"); - -/***/ }), - -/***/ "./node_modules/buffer/index.js": -/*!**************************************!*\ - !*** ./node_modules/buffer/index.js ***! - \**************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("/* WEBPACK VAR INJECTION */(function(global) {/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n\n\nvar base64 = __webpack_require__(/*! base64-js */ \"./node_modules/base64-js/index.js\")\nvar ieee754 = __webpack_require__(/*! ieee754 */ \"./node_modules/ieee754/index.js\")\nvar isArray = __webpack_require__(/*! isarray */ \"./node_modules/isarray/index.js\")\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))\n\n//# sourceURL=webpack:///./node_modules/buffer/index.js?"); - -/***/ }), - -/***/ "./node_modules/colorbrewer/index.js": -/*!*******************************************!*\ - !*** ./node_modules/colorbrewer/index.js ***! - \*******************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;// This product includes color specifications and designs developed by Cynthia Brewer (http://colorbrewer.org/).\n// JavaScript specs as packaged in the D3 library (d3js.org). Please see license at http://colorbrewer.org/export/LICENSE.txt\n!function() {\n\nvar colorbrewer = {schemeGroups: {\nsequential: [\"BuGn\",\"BuPu\",\"GnBu\",\"OrRd\",\"PuBu\",\"PuBuGn\",\"PuRd\",\"RdPu\",\"YlGn\",\"YlGnBu\",\"YlOrBr\",\"YlOrRd\"],\nsinglehue:[\"Blues\",\"Greens\",\"Greys\",\"Oranges\",\"Purples\",\"Reds\"],\ndiverging: [\"BrBG\",\"PiYG\",\"PRGn\",\"PuOr\",\"RdBu\",\"RdGy\",\"RdYlBu\",\"RdYlGn\",\"Spectral\"],\nqualitative: [\"Accent\",\"Dark2\",\"Paired\",\"Pastel1\",\"Pastel2\",\"Set1\",\"Set2\",\"Set3\"]\n}, YlGn: {\n3: [\"#f7fcb9\",\"#addd8e\",\"#31a354\"],\n4: [\"#ffffcc\",\"#c2e699\",\"#78c679\",\"#238443\"],\n5: [\"#ffffcc\",\"#c2e699\",\"#78c679\",\"#31a354\",\"#006837\"],\n6: [\"#ffffcc\",\"#d9f0a3\",\"#addd8e\",\"#78c679\",\"#31a354\",\"#006837\"],\n7: [\"#ffffcc\",\"#d9f0a3\",\"#addd8e\",\"#78c679\",\"#41ab5d\",\"#238443\",\"#005a32\"],\n8: [\"#ffffe5\",\"#f7fcb9\",\"#d9f0a3\",\"#addd8e\",\"#78c679\",\"#41ab5d\",\"#238443\",\"#005a32\"],\n9: [\"#ffffe5\",\"#f7fcb9\",\"#d9f0a3\",\"#addd8e\",\"#78c679\",\"#41ab5d\",\"#238443\",\"#006837\",\"#004529\"]\n},YlGnBu: {\n3: [\"#edf8b1\",\"#7fcdbb\",\"#2c7fb8\"],\n4: [\"#ffffcc\",\"#a1dab4\",\"#41b6c4\",\"#225ea8\"],\n5: [\"#ffffcc\",\"#a1dab4\",\"#41b6c4\",\"#2c7fb8\",\"#253494\"],\n6: [\"#ffffcc\",\"#c7e9b4\",\"#7fcdbb\",\"#41b6c4\",\"#2c7fb8\",\"#253494\"],\n7: [\"#ffffcc\",\"#c7e9b4\",\"#7fcdbb\",\"#41b6c4\",\"#1d91c0\",\"#225ea8\",\"#0c2c84\"],\n8: [\"#ffffd9\",\"#edf8b1\",\"#c7e9b4\",\"#7fcdbb\",\"#41b6c4\",\"#1d91c0\",\"#225ea8\",\"#0c2c84\"],\n9: [\"#ffffd9\",\"#edf8b1\",\"#c7e9b4\",\"#7fcdbb\",\"#41b6c4\",\"#1d91c0\",\"#225ea8\",\"#253494\",\"#081d58\"]\n},GnBu: {\n3: [\"#e0f3db\",\"#a8ddb5\",\"#43a2ca\"],\n4: [\"#f0f9e8\",\"#bae4bc\",\"#7bccc4\",\"#2b8cbe\"],\n5: [\"#f0f9e8\",\"#bae4bc\",\"#7bccc4\",\"#43a2ca\",\"#0868ac\"],\n6: [\"#f0f9e8\",\"#ccebc5\",\"#a8ddb5\",\"#7bccc4\",\"#43a2ca\",\"#0868ac\"],\n7: [\"#f0f9e8\",\"#ccebc5\",\"#a8ddb5\",\"#7bccc4\",\"#4eb3d3\",\"#2b8cbe\",\"#08589e\"],\n8: [\"#f7fcf0\",\"#e0f3db\",\"#ccebc5\",\"#a8ddb5\",\"#7bccc4\",\"#4eb3d3\",\"#2b8cbe\",\"#08589e\"],\n9: [\"#f7fcf0\",\"#e0f3db\",\"#ccebc5\",\"#a8ddb5\",\"#7bccc4\",\"#4eb3d3\",\"#2b8cbe\",\"#0868ac\",\"#084081\"]\n},BuGn: {\n3: [\"#e5f5f9\",\"#99d8c9\",\"#2ca25f\"],\n4: [\"#edf8fb\",\"#b2e2e2\",\"#66c2a4\",\"#238b45\"],\n5: [\"#edf8fb\",\"#b2e2e2\",\"#66c2a4\",\"#2ca25f\",\"#006d2c\"],\n6: [\"#edf8fb\",\"#ccece6\",\"#99d8c9\",\"#66c2a4\",\"#2ca25f\",\"#006d2c\"],\n7: [\"#edf8fb\",\"#ccece6\",\"#99d8c9\",\"#66c2a4\",\"#41ae76\",\"#238b45\",\"#005824\"],\n8: [\"#f7fcfd\",\"#e5f5f9\",\"#ccece6\",\"#99d8c9\",\"#66c2a4\",\"#41ae76\",\"#238b45\",\"#005824\"],\n9: [\"#f7fcfd\",\"#e5f5f9\",\"#ccece6\",\"#99d8c9\",\"#66c2a4\",\"#41ae76\",\"#238b45\",\"#006d2c\",\"#00441b\"]\n},PuBuGn: {\n3: [\"#ece2f0\",\"#a6bddb\",\"#1c9099\"],\n4: [\"#f6eff7\",\"#bdc9e1\",\"#67a9cf\",\"#02818a\"],\n5: [\"#f6eff7\",\"#bdc9e1\",\"#67a9cf\",\"#1c9099\",\"#016c59\"],\n6: [\"#f6eff7\",\"#d0d1e6\",\"#a6bddb\",\"#67a9cf\",\"#1c9099\",\"#016c59\"],\n7: [\"#f6eff7\",\"#d0d1e6\",\"#a6bddb\",\"#67a9cf\",\"#3690c0\",\"#02818a\",\"#016450\"],\n8: [\"#fff7fb\",\"#ece2f0\",\"#d0d1e6\",\"#a6bddb\",\"#67a9cf\",\"#3690c0\",\"#02818a\",\"#016450\"],\n9: [\"#fff7fb\",\"#ece2f0\",\"#d0d1e6\",\"#a6bddb\",\"#67a9cf\",\"#3690c0\",\"#02818a\",\"#016c59\",\"#014636\"]\n},PuBu: {\n3: [\"#ece7f2\",\"#a6bddb\",\"#2b8cbe\"],\n4: [\"#f1eef6\",\"#bdc9e1\",\"#74a9cf\",\"#0570b0\"],\n5: [\"#f1eef6\",\"#bdc9e1\",\"#74a9cf\",\"#2b8cbe\",\"#045a8d\"],\n6: [\"#f1eef6\",\"#d0d1e6\",\"#a6bddb\",\"#74a9cf\",\"#2b8cbe\",\"#045a8d\"],\n7: [\"#f1eef6\",\"#d0d1e6\",\"#a6bddb\",\"#74a9cf\",\"#3690c0\",\"#0570b0\",\"#034e7b\"],\n8: [\"#fff7fb\",\"#ece7f2\",\"#d0d1e6\",\"#a6bddb\",\"#74a9cf\",\"#3690c0\",\"#0570b0\",\"#034e7b\"],\n9: [\"#fff7fb\",\"#ece7f2\",\"#d0d1e6\",\"#a6bddb\",\"#74a9cf\",\"#3690c0\",\"#0570b0\",\"#045a8d\",\"#023858\"]\n},BuPu: {\n3: [\"#e0ecf4\",\"#9ebcda\",\"#8856a7\"],\n4: [\"#edf8fb\",\"#b3cde3\",\"#8c96c6\",\"#88419d\"],\n5: [\"#edf8fb\",\"#b3cde3\",\"#8c96c6\",\"#8856a7\",\"#810f7c\"],\n6: [\"#edf8fb\",\"#bfd3e6\",\"#9ebcda\",\"#8c96c6\",\"#8856a7\",\"#810f7c\"],\n7: [\"#edf8fb\",\"#bfd3e6\",\"#9ebcda\",\"#8c96c6\",\"#8c6bb1\",\"#88419d\",\"#6e016b\"],\n8: [\"#f7fcfd\",\"#e0ecf4\",\"#bfd3e6\",\"#9ebcda\",\"#8c96c6\",\"#8c6bb1\",\"#88419d\",\"#6e016b\"],\n9: [\"#f7fcfd\",\"#e0ecf4\",\"#bfd3e6\",\"#9ebcda\",\"#8c96c6\",\"#8c6bb1\",\"#88419d\",\"#810f7c\",\"#4d004b\"]\n},RdPu: {\n3: [\"#fde0dd\",\"#fa9fb5\",\"#c51b8a\"],\n4: [\"#feebe2\",\"#fbb4b9\",\"#f768a1\",\"#ae017e\"],\n5: [\"#feebe2\",\"#fbb4b9\",\"#f768a1\",\"#c51b8a\",\"#7a0177\"],\n6: [\"#feebe2\",\"#fcc5c0\",\"#fa9fb5\",\"#f768a1\",\"#c51b8a\",\"#7a0177\"],\n7: [\"#feebe2\",\"#fcc5c0\",\"#fa9fb5\",\"#f768a1\",\"#dd3497\",\"#ae017e\",\"#7a0177\"],\n8: [\"#fff7f3\",\"#fde0dd\",\"#fcc5c0\",\"#fa9fb5\",\"#f768a1\",\"#dd3497\",\"#ae017e\",\"#7a0177\"],\n9: [\"#fff7f3\",\"#fde0dd\",\"#fcc5c0\",\"#fa9fb5\",\"#f768a1\",\"#dd3497\",\"#ae017e\",\"#7a0177\",\"#49006a\"]\n},PuRd: {\n3: [\"#e7e1ef\",\"#c994c7\",\"#dd1c77\"],\n4: [\"#f1eef6\",\"#d7b5d8\",\"#df65b0\",\"#ce1256\"],\n5: [\"#f1eef6\",\"#d7b5d8\",\"#df65b0\",\"#dd1c77\",\"#980043\"],\n6: [\"#f1eef6\",\"#d4b9da\",\"#c994c7\",\"#df65b0\",\"#dd1c77\",\"#980043\"],\n7: [\"#f1eef6\",\"#d4b9da\",\"#c994c7\",\"#df65b0\",\"#e7298a\",\"#ce1256\",\"#91003f\"],\n8: [\"#f7f4f9\",\"#e7e1ef\",\"#d4b9da\",\"#c994c7\",\"#df65b0\",\"#e7298a\",\"#ce1256\",\"#91003f\"],\n9: [\"#f7f4f9\",\"#e7e1ef\",\"#d4b9da\",\"#c994c7\",\"#df65b0\",\"#e7298a\",\"#ce1256\",\"#980043\",\"#67001f\"]\n},OrRd: {\n3: [\"#fee8c8\",\"#fdbb84\",\"#e34a33\"],\n4: [\"#fef0d9\",\"#fdcc8a\",\"#fc8d59\",\"#d7301f\"],\n5: [\"#fef0d9\",\"#fdcc8a\",\"#fc8d59\",\"#e34a33\",\"#b30000\"],\n6: [\"#fef0d9\",\"#fdd49e\",\"#fdbb84\",\"#fc8d59\",\"#e34a33\",\"#b30000\"],\n7: [\"#fef0d9\",\"#fdd49e\",\"#fdbb84\",\"#fc8d59\",\"#ef6548\",\"#d7301f\",\"#990000\"],\n8: [\"#fff7ec\",\"#fee8c8\",\"#fdd49e\",\"#fdbb84\",\"#fc8d59\",\"#ef6548\",\"#d7301f\",\"#990000\"],\n9: [\"#fff7ec\",\"#fee8c8\",\"#fdd49e\",\"#fdbb84\",\"#fc8d59\",\"#ef6548\",\"#d7301f\",\"#b30000\",\"#7f0000\"]\n},YlOrRd: {\n3: [\"#ffeda0\",\"#feb24c\",\"#f03b20\"],\n4: [\"#ffffb2\",\"#fecc5c\",\"#fd8d3c\",\"#e31a1c\"],\n5: [\"#ffffb2\",\"#fecc5c\",\"#fd8d3c\",\"#f03b20\",\"#bd0026\"],\n6: [\"#ffffb2\",\"#fed976\",\"#feb24c\",\"#fd8d3c\",\"#f03b20\",\"#bd0026\"],\n7: [\"#ffffb2\",\"#fed976\",\"#feb24c\",\"#fd8d3c\",\"#fc4e2a\",\"#e31a1c\",\"#b10026\"],\n8: [\"#ffffcc\",\"#ffeda0\",\"#fed976\",\"#feb24c\",\"#fd8d3c\",\"#fc4e2a\",\"#e31a1c\",\"#b10026\"],\n9: [\"#ffffcc\",\"#ffeda0\",\"#fed976\",\"#feb24c\",\"#fd8d3c\",\"#fc4e2a\",\"#e31a1c\",\"#bd0026\",\"#800026\"]\n},YlOrBr: {\n3: [\"#fff7bc\",\"#fec44f\",\"#d95f0e\"],\n4: [\"#ffffd4\",\"#fed98e\",\"#fe9929\",\"#cc4c02\"],\n5: [\"#ffffd4\",\"#fed98e\",\"#fe9929\",\"#d95f0e\",\"#993404\"],\n6: [\"#ffffd4\",\"#fee391\",\"#fec44f\",\"#fe9929\",\"#d95f0e\",\"#993404\"],\n7: [\"#ffffd4\",\"#fee391\",\"#fec44f\",\"#fe9929\",\"#ec7014\",\"#cc4c02\",\"#8c2d04\"],\n8: [\"#ffffe5\",\"#fff7bc\",\"#fee391\",\"#fec44f\",\"#fe9929\",\"#ec7014\",\"#cc4c02\",\"#8c2d04\"],\n9: [\"#ffffe5\",\"#fff7bc\",\"#fee391\",\"#fec44f\",\"#fe9929\",\"#ec7014\",\"#cc4c02\",\"#993404\",\"#662506\"]\n},Purples: {\n3: [\"#efedf5\",\"#bcbddc\",\"#756bb1\"],\n4: [\"#f2f0f7\",\"#cbc9e2\",\"#9e9ac8\",\"#6a51a3\"],\n5: [\"#f2f0f7\",\"#cbc9e2\",\"#9e9ac8\",\"#756bb1\",\"#54278f\"],\n6: [\"#f2f0f7\",\"#dadaeb\",\"#bcbddc\",\"#9e9ac8\",\"#756bb1\",\"#54278f\"],\n7: [\"#f2f0f7\",\"#dadaeb\",\"#bcbddc\",\"#9e9ac8\",\"#807dba\",\"#6a51a3\",\"#4a1486\"],\n8: [\"#fcfbfd\",\"#efedf5\",\"#dadaeb\",\"#bcbddc\",\"#9e9ac8\",\"#807dba\",\"#6a51a3\",\"#4a1486\"],\n9: [\"#fcfbfd\",\"#efedf5\",\"#dadaeb\",\"#bcbddc\",\"#9e9ac8\",\"#807dba\",\"#6a51a3\",\"#54278f\",\"#3f007d\"]\n},Blues: {\n3: [\"#deebf7\",\"#9ecae1\",\"#3182bd\"],\n4: [\"#eff3ff\",\"#bdd7e7\",\"#6baed6\",\"#2171b5\"],\n5: [\"#eff3ff\",\"#bdd7e7\",\"#6baed6\",\"#3182bd\",\"#08519c\"],\n6: [\"#eff3ff\",\"#c6dbef\",\"#9ecae1\",\"#6baed6\",\"#3182bd\",\"#08519c\"],\n7: [\"#eff3ff\",\"#c6dbef\",\"#9ecae1\",\"#6baed6\",\"#4292c6\",\"#2171b5\",\"#084594\"],\n8: [\"#f7fbff\",\"#deebf7\",\"#c6dbef\",\"#9ecae1\",\"#6baed6\",\"#4292c6\",\"#2171b5\",\"#084594\"],\n9: [\"#f7fbff\",\"#deebf7\",\"#c6dbef\",\"#9ecae1\",\"#6baed6\",\"#4292c6\",\"#2171b5\",\"#08519c\",\"#08306b\"]\n},Greens: {\n3: [\"#e5f5e0\",\"#a1d99b\",\"#31a354\"],\n4: [\"#edf8e9\",\"#bae4b3\",\"#74c476\",\"#238b45\"],\n5: [\"#edf8e9\",\"#bae4b3\",\"#74c476\",\"#31a354\",\"#006d2c\"],\n6: [\"#edf8e9\",\"#c7e9c0\",\"#a1d99b\",\"#74c476\",\"#31a354\",\"#006d2c\"],\n7: [\"#edf8e9\",\"#c7e9c0\",\"#a1d99b\",\"#74c476\",\"#41ab5d\",\"#238b45\",\"#005a32\"],\n8: [\"#f7fcf5\",\"#e5f5e0\",\"#c7e9c0\",\"#a1d99b\",\"#74c476\",\"#41ab5d\",\"#238b45\",\"#005a32\"],\n9: [\"#f7fcf5\",\"#e5f5e0\",\"#c7e9c0\",\"#a1d99b\",\"#74c476\",\"#41ab5d\",\"#238b45\",\"#006d2c\",\"#00441b\"]\n},Oranges: {\n3: [\"#fee6ce\",\"#fdae6b\",\"#e6550d\"],\n4: [\"#feedde\",\"#fdbe85\",\"#fd8d3c\",\"#d94701\"],\n5: [\"#feedde\",\"#fdbe85\",\"#fd8d3c\",\"#e6550d\",\"#a63603\"],\n6: [\"#feedde\",\"#fdd0a2\",\"#fdae6b\",\"#fd8d3c\",\"#e6550d\",\"#a63603\"],\n7: [\"#feedde\",\"#fdd0a2\",\"#fdae6b\",\"#fd8d3c\",\"#f16913\",\"#d94801\",\"#8c2d04\"],\n8: [\"#fff5eb\",\"#fee6ce\",\"#fdd0a2\",\"#fdae6b\",\"#fd8d3c\",\"#f16913\",\"#d94801\",\"#8c2d04\"],\n9: [\"#fff5eb\",\"#fee6ce\",\"#fdd0a2\",\"#fdae6b\",\"#fd8d3c\",\"#f16913\",\"#d94801\",\"#a63603\",\"#7f2704\"]\n},Reds: {\n3: [\"#fee0d2\",\"#fc9272\",\"#de2d26\"],\n4: [\"#fee5d9\",\"#fcae91\",\"#fb6a4a\",\"#cb181d\"],\n5: [\"#fee5d9\",\"#fcae91\",\"#fb6a4a\",\"#de2d26\",\"#a50f15\"],\n6: [\"#fee5d9\",\"#fcbba1\",\"#fc9272\",\"#fb6a4a\",\"#de2d26\",\"#a50f15\"],\n7: [\"#fee5d9\",\"#fcbba1\",\"#fc9272\",\"#fb6a4a\",\"#ef3b2c\",\"#cb181d\",\"#99000d\"],\n8: [\"#fff5f0\",\"#fee0d2\",\"#fcbba1\",\"#fc9272\",\"#fb6a4a\",\"#ef3b2c\",\"#cb181d\",\"#99000d\"],\n9: [\"#fff5f0\",\"#fee0d2\",\"#fcbba1\",\"#fc9272\",\"#fb6a4a\",\"#ef3b2c\",\"#cb181d\",\"#a50f15\",\"#67000d\"]\n},Greys: {\n3: [\"#f0f0f0\",\"#bdbdbd\",\"#636363\"],\n4: [\"#f7f7f7\",\"#cccccc\",\"#969696\",\"#525252\"],\n5: [\"#f7f7f7\",\"#cccccc\",\"#969696\",\"#636363\",\"#252525\"],\n6: [\"#f7f7f7\",\"#d9d9d9\",\"#bdbdbd\",\"#969696\",\"#636363\",\"#252525\"],\n7: [\"#f7f7f7\",\"#d9d9d9\",\"#bdbdbd\",\"#969696\",\"#737373\",\"#525252\",\"#252525\"],\n8: [\"#ffffff\",\"#f0f0f0\",\"#d9d9d9\",\"#bdbdbd\",\"#969696\",\"#737373\",\"#525252\",\"#252525\"],\n9: [\"#ffffff\",\"#f0f0f0\",\"#d9d9d9\",\"#bdbdbd\",\"#969696\",\"#737373\",\"#525252\",\"#252525\",\"#000000\"]\n},PuOr: {\n3: [\"#f1a340\",\"#f7f7f7\",\"#998ec3\"],\n4: [\"#e66101\",\"#fdb863\",\"#b2abd2\",\"#5e3c99\"],\n5: [\"#e66101\",\"#fdb863\",\"#f7f7f7\",\"#b2abd2\",\"#5e3c99\"],\n6: [\"#b35806\",\"#f1a340\",\"#fee0b6\",\"#d8daeb\",\"#998ec3\",\"#542788\"],\n7: [\"#b35806\",\"#f1a340\",\"#fee0b6\",\"#f7f7f7\",\"#d8daeb\",\"#998ec3\",\"#542788\"],\n8: [\"#b35806\",\"#e08214\",\"#fdb863\",\"#fee0b6\",\"#d8daeb\",\"#b2abd2\",\"#8073ac\",\"#542788\"],\n9: [\"#b35806\",\"#e08214\",\"#fdb863\",\"#fee0b6\",\"#f7f7f7\",\"#d8daeb\",\"#b2abd2\",\"#8073ac\",\"#542788\"],\n10: [\"#7f3b08\",\"#b35806\",\"#e08214\",\"#fdb863\",\"#fee0b6\",\"#d8daeb\",\"#b2abd2\",\"#8073ac\",\"#542788\",\"#2d004b\"],\n11: [\"#7f3b08\",\"#b35806\",\"#e08214\",\"#fdb863\",\"#fee0b6\",\"#f7f7f7\",\"#d8daeb\",\"#b2abd2\",\"#8073ac\",\"#542788\",\"#2d004b\"]\n},BrBG: {\n3: [\"#d8b365\",\"#f5f5f5\",\"#5ab4ac\"],\n4: [\"#a6611a\",\"#dfc27d\",\"#80cdc1\",\"#018571\"],\n5: [\"#a6611a\",\"#dfc27d\",\"#f5f5f5\",\"#80cdc1\",\"#018571\"],\n6: [\"#8c510a\",\"#d8b365\",\"#f6e8c3\",\"#c7eae5\",\"#5ab4ac\",\"#01665e\"],\n7: [\"#8c510a\",\"#d8b365\",\"#f6e8c3\",\"#f5f5f5\",\"#c7eae5\",\"#5ab4ac\",\"#01665e\"],\n8: [\"#8c510a\",\"#bf812d\",\"#dfc27d\",\"#f6e8c3\",\"#c7eae5\",\"#80cdc1\",\"#35978f\",\"#01665e\"],\n9: [\"#8c510a\",\"#bf812d\",\"#dfc27d\",\"#f6e8c3\",\"#f5f5f5\",\"#c7eae5\",\"#80cdc1\",\"#35978f\",\"#01665e\"],\n10: [\"#543005\",\"#8c510a\",\"#bf812d\",\"#dfc27d\",\"#f6e8c3\",\"#c7eae5\",\"#80cdc1\",\"#35978f\",\"#01665e\",\"#003c30\"],\n11: [\"#543005\",\"#8c510a\",\"#bf812d\",\"#dfc27d\",\"#f6e8c3\",\"#f5f5f5\",\"#c7eae5\",\"#80cdc1\",\"#35978f\",\"#01665e\",\"#003c30\"]\n},PRGn: {\n3: [\"#af8dc3\",\"#f7f7f7\",\"#7fbf7b\"],\n4: [\"#7b3294\",\"#c2a5cf\",\"#a6dba0\",\"#008837\"],\n5: [\"#7b3294\",\"#c2a5cf\",\"#f7f7f7\",\"#a6dba0\",\"#008837\"],\n6: [\"#762a83\",\"#af8dc3\",\"#e7d4e8\",\"#d9f0d3\",\"#7fbf7b\",\"#1b7837\"],\n7: [\"#762a83\",\"#af8dc3\",\"#e7d4e8\",\"#f7f7f7\",\"#d9f0d3\",\"#7fbf7b\",\"#1b7837\"],\n8: [\"#762a83\",\"#9970ab\",\"#c2a5cf\",\"#e7d4e8\",\"#d9f0d3\",\"#a6dba0\",\"#5aae61\",\"#1b7837\"],\n9: [\"#762a83\",\"#9970ab\",\"#c2a5cf\",\"#e7d4e8\",\"#f7f7f7\",\"#d9f0d3\",\"#a6dba0\",\"#5aae61\",\"#1b7837\"],\n10: [\"#40004b\",\"#762a83\",\"#9970ab\",\"#c2a5cf\",\"#e7d4e8\",\"#d9f0d3\",\"#a6dba0\",\"#5aae61\",\"#1b7837\",\"#00441b\"],\n11: [\"#40004b\",\"#762a83\",\"#9970ab\",\"#c2a5cf\",\"#e7d4e8\",\"#f7f7f7\",\"#d9f0d3\",\"#a6dba0\",\"#5aae61\",\"#1b7837\",\"#00441b\"]\n},PiYG: {\n3: [\"#e9a3c9\",\"#f7f7f7\",\"#a1d76a\"],\n4: [\"#d01c8b\",\"#f1b6da\",\"#b8e186\",\"#4dac26\"],\n5: [\"#d01c8b\",\"#f1b6da\",\"#f7f7f7\",\"#b8e186\",\"#4dac26\"],\n6: [\"#c51b7d\",\"#e9a3c9\",\"#fde0ef\",\"#e6f5d0\",\"#a1d76a\",\"#4d9221\"],\n7: [\"#c51b7d\",\"#e9a3c9\",\"#fde0ef\",\"#f7f7f7\",\"#e6f5d0\",\"#a1d76a\",\"#4d9221\"],\n8: [\"#c51b7d\",\"#de77ae\",\"#f1b6da\",\"#fde0ef\",\"#e6f5d0\",\"#b8e186\",\"#7fbc41\",\"#4d9221\"],\n9: [\"#c51b7d\",\"#de77ae\",\"#f1b6da\",\"#fde0ef\",\"#f7f7f7\",\"#e6f5d0\",\"#b8e186\",\"#7fbc41\",\"#4d9221\"],\n10: [\"#8e0152\",\"#c51b7d\",\"#de77ae\",\"#f1b6da\",\"#fde0ef\",\"#e6f5d0\",\"#b8e186\",\"#7fbc41\",\"#4d9221\",\"#276419\"],\n11: [\"#8e0152\",\"#c51b7d\",\"#de77ae\",\"#f1b6da\",\"#fde0ef\",\"#f7f7f7\",\"#e6f5d0\",\"#b8e186\",\"#7fbc41\",\"#4d9221\",\"#276419\"]\n},RdBu: {\n3: [\"#ef8a62\",\"#f7f7f7\",\"#67a9cf\"],\n4: [\"#ca0020\",\"#f4a582\",\"#92c5de\",\"#0571b0\"],\n5: [\"#ca0020\",\"#f4a582\",\"#f7f7f7\",\"#92c5de\",\"#0571b0\"],\n6: [\"#b2182b\",\"#ef8a62\",\"#fddbc7\",\"#d1e5f0\",\"#67a9cf\",\"#2166ac\"],\n7: [\"#b2182b\",\"#ef8a62\",\"#fddbc7\",\"#f7f7f7\",\"#d1e5f0\",\"#67a9cf\",\"#2166ac\"],\n8: [\"#b2182b\",\"#d6604d\",\"#f4a582\",\"#fddbc7\",\"#d1e5f0\",\"#92c5de\",\"#4393c3\",\"#2166ac\"],\n9: [\"#b2182b\",\"#d6604d\",\"#f4a582\",\"#fddbc7\",\"#f7f7f7\",\"#d1e5f0\",\"#92c5de\",\"#4393c3\",\"#2166ac\"],\n10: [\"#67001f\",\"#b2182b\",\"#d6604d\",\"#f4a582\",\"#fddbc7\",\"#d1e5f0\",\"#92c5de\",\"#4393c3\",\"#2166ac\",\"#053061\"],\n11: [\"#67001f\",\"#b2182b\",\"#d6604d\",\"#f4a582\",\"#fddbc7\",\"#f7f7f7\",\"#d1e5f0\",\"#92c5de\",\"#4393c3\",\"#2166ac\",\"#053061\"]\n},RdGy: {\n3: [\"#ef8a62\",\"#ffffff\",\"#999999\"],\n4: [\"#ca0020\",\"#f4a582\",\"#bababa\",\"#404040\"],\n5: [\"#ca0020\",\"#f4a582\",\"#ffffff\",\"#bababa\",\"#404040\"],\n6: [\"#b2182b\",\"#ef8a62\",\"#fddbc7\",\"#e0e0e0\",\"#999999\",\"#4d4d4d\"],\n7: [\"#b2182b\",\"#ef8a62\",\"#fddbc7\",\"#ffffff\",\"#e0e0e0\",\"#999999\",\"#4d4d4d\"],\n8: [\"#b2182b\",\"#d6604d\",\"#f4a582\",\"#fddbc7\",\"#e0e0e0\",\"#bababa\",\"#878787\",\"#4d4d4d\"],\n9: [\"#b2182b\",\"#d6604d\",\"#f4a582\",\"#fddbc7\",\"#ffffff\",\"#e0e0e0\",\"#bababa\",\"#878787\",\"#4d4d4d\"],\n10: [\"#67001f\",\"#b2182b\",\"#d6604d\",\"#f4a582\",\"#fddbc7\",\"#e0e0e0\",\"#bababa\",\"#878787\",\"#4d4d4d\",\"#1a1a1a\"],\n11: [\"#67001f\",\"#b2182b\",\"#d6604d\",\"#f4a582\",\"#fddbc7\",\"#ffffff\",\"#e0e0e0\",\"#bababa\",\"#878787\",\"#4d4d4d\",\"#1a1a1a\"]\n},RdYlBu: {\n3: [\"#fc8d59\",\"#ffffbf\",\"#91bfdb\"],\n4: [\"#d7191c\",\"#fdae61\",\"#abd9e9\",\"#2c7bb6\"],\n5: [\"#d7191c\",\"#fdae61\",\"#ffffbf\",\"#abd9e9\",\"#2c7bb6\"],\n6: [\"#d73027\",\"#fc8d59\",\"#fee090\",\"#e0f3f8\",\"#91bfdb\",\"#4575b4\"],\n7: [\"#d73027\",\"#fc8d59\",\"#fee090\",\"#ffffbf\",\"#e0f3f8\",\"#91bfdb\",\"#4575b4\"],\n8: [\"#d73027\",\"#f46d43\",\"#fdae61\",\"#fee090\",\"#e0f3f8\",\"#abd9e9\",\"#74add1\",\"#4575b4\"],\n9: [\"#d73027\",\"#f46d43\",\"#fdae61\",\"#fee090\",\"#ffffbf\",\"#e0f3f8\",\"#abd9e9\",\"#74add1\",\"#4575b4\"],\n10: [\"#a50026\",\"#d73027\",\"#f46d43\",\"#fdae61\",\"#fee090\",\"#e0f3f8\",\"#abd9e9\",\"#74add1\",\"#4575b4\",\"#313695\"],\n11: [\"#a50026\",\"#d73027\",\"#f46d43\",\"#fdae61\",\"#fee090\",\"#ffffbf\",\"#e0f3f8\",\"#abd9e9\",\"#74add1\",\"#4575b4\",\"#313695\"]\n},Spectral: {\n3: [\"#fc8d59\",\"#ffffbf\",\"#99d594\"],\n4: [\"#d7191c\",\"#fdae61\",\"#abdda4\",\"#2b83ba\"],\n5: [\"#d7191c\",\"#fdae61\",\"#ffffbf\",\"#abdda4\",\"#2b83ba\"],\n6: [\"#d53e4f\",\"#fc8d59\",\"#fee08b\",\"#e6f598\",\"#99d594\",\"#3288bd\"],\n7: [\"#d53e4f\",\"#fc8d59\",\"#fee08b\",\"#ffffbf\",\"#e6f598\",\"#99d594\",\"#3288bd\"],\n8: [\"#d53e4f\",\"#f46d43\",\"#fdae61\",\"#fee08b\",\"#e6f598\",\"#abdda4\",\"#66c2a5\",\"#3288bd\"],\n9: [\"#d53e4f\",\"#f46d43\",\"#fdae61\",\"#fee08b\",\"#ffffbf\",\"#e6f598\",\"#abdda4\",\"#66c2a5\",\"#3288bd\"],\n10: [\"#9e0142\",\"#d53e4f\",\"#f46d43\",\"#fdae61\",\"#fee08b\",\"#e6f598\",\"#abdda4\",\"#66c2a5\",\"#3288bd\",\"#5e4fa2\"],\n11: [\"#9e0142\",\"#d53e4f\",\"#f46d43\",\"#fdae61\",\"#fee08b\",\"#ffffbf\",\"#e6f598\",\"#abdda4\",\"#66c2a5\",\"#3288bd\",\"#5e4fa2\"]\n},RdYlGn: {\n3: [\"#fc8d59\",\"#ffffbf\",\"#91cf60\"],\n4: [\"#d7191c\",\"#fdae61\",\"#a6d96a\",\"#1a9641\"],\n5: [\"#d7191c\",\"#fdae61\",\"#ffffbf\",\"#a6d96a\",\"#1a9641\"],\n6: [\"#d73027\",\"#fc8d59\",\"#fee08b\",\"#d9ef8b\",\"#91cf60\",\"#1a9850\"],\n7: [\"#d73027\",\"#fc8d59\",\"#fee08b\",\"#ffffbf\",\"#d9ef8b\",\"#91cf60\",\"#1a9850\"],\n8: [\"#d73027\",\"#f46d43\",\"#fdae61\",\"#fee08b\",\"#d9ef8b\",\"#a6d96a\",\"#66bd63\",\"#1a9850\"],\n9: [\"#d73027\",\"#f46d43\",\"#fdae61\",\"#fee08b\",\"#ffffbf\",\"#d9ef8b\",\"#a6d96a\",\"#66bd63\",\"#1a9850\"],\n10: [\"#a50026\",\"#d73027\",\"#f46d43\",\"#fdae61\",\"#fee08b\",\"#d9ef8b\",\"#a6d96a\",\"#66bd63\",\"#1a9850\",\"#006837\"],\n11: [\"#a50026\",\"#d73027\",\"#f46d43\",\"#fdae61\",\"#fee08b\",\"#ffffbf\",\"#d9ef8b\",\"#a6d96a\",\"#66bd63\",\"#1a9850\",\"#006837\"]\n},Accent: {\n3: [\"#7fc97f\",\"#beaed4\",\"#fdc086\"],\n4: [\"#7fc97f\",\"#beaed4\",\"#fdc086\",\"#ffff99\"],\n5: [\"#7fc97f\",\"#beaed4\",\"#fdc086\",\"#ffff99\",\"#386cb0\"],\n6: [\"#7fc97f\",\"#beaed4\",\"#fdc086\",\"#ffff99\",\"#386cb0\",\"#f0027f\"],\n7: [\"#7fc97f\",\"#beaed4\",\"#fdc086\",\"#ffff99\",\"#386cb0\",\"#f0027f\",\"#bf5b17\"],\n8: [\"#7fc97f\",\"#beaed4\",\"#fdc086\",\"#ffff99\",\"#386cb0\",\"#f0027f\",\"#bf5b17\",\"#666666\"]\n},Dark2: {\n3: [\"#1b9e77\",\"#d95f02\",\"#7570b3\"],\n4: [\"#1b9e77\",\"#d95f02\",\"#7570b3\",\"#e7298a\"],\n5: [\"#1b9e77\",\"#d95f02\",\"#7570b3\",\"#e7298a\",\"#66a61e\"],\n6: [\"#1b9e77\",\"#d95f02\",\"#7570b3\",\"#e7298a\",\"#66a61e\",\"#e6ab02\"],\n7: [\"#1b9e77\",\"#d95f02\",\"#7570b3\",\"#e7298a\",\"#66a61e\",\"#e6ab02\",\"#a6761d\"],\n8: [\"#1b9e77\",\"#d95f02\",\"#7570b3\",\"#e7298a\",\"#66a61e\",\"#e6ab02\",\"#a6761d\",\"#666666\"]\n},Paired: {\n3: [\"#a6cee3\",\"#1f78b4\",\"#b2df8a\"],\n4: [\"#a6cee3\",\"#1f78b4\",\"#b2df8a\",\"#33a02c\"],\n5: [\"#a6cee3\",\"#1f78b4\",\"#b2df8a\",\"#33a02c\",\"#fb9a99\"],\n6: [\"#a6cee3\",\"#1f78b4\",\"#b2df8a\",\"#33a02c\",\"#fb9a99\",\"#e31a1c\"],\n7: [\"#a6cee3\",\"#1f78b4\",\"#b2df8a\",\"#33a02c\",\"#fb9a99\",\"#e31a1c\",\"#fdbf6f\"],\n8: [\"#a6cee3\",\"#1f78b4\",\"#b2df8a\",\"#33a02c\",\"#fb9a99\",\"#e31a1c\",\"#fdbf6f\",\"#ff7f00\"],\n9: [\"#a6cee3\",\"#1f78b4\",\"#b2df8a\",\"#33a02c\",\"#fb9a99\",\"#e31a1c\",\"#fdbf6f\",\"#ff7f00\",\"#cab2d6\"],\n10: [\"#a6cee3\",\"#1f78b4\",\"#b2df8a\",\"#33a02c\",\"#fb9a99\",\"#e31a1c\",\"#fdbf6f\",\"#ff7f00\",\"#cab2d6\",\"#6a3d9a\"],\n11: [\"#a6cee3\",\"#1f78b4\",\"#b2df8a\",\"#33a02c\",\"#fb9a99\",\"#e31a1c\",\"#fdbf6f\",\"#ff7f00\",\"#cab2d6\",\"#6a3d9a\",\"#ffff99\"],\n12: [\"#a6cee3\",\"#1f78b4\",\"#b2df8a\",\"#33a02c\",\"#fb9a99\",\"#e31a1c\",\"#fdbf6f\",\"#ff7f00\",\"#cab2d6\",\"#6a3d9a\",\"#ffff99\",\"#b15928\"]\n},Pastel1: {\n3: [\"#fbb4ae\",\"#b3cde3\",\"#ccebc5\"],\n4: [\"#fbb4ae\",\"#b3cde3\",\"#ccebc5\",\"#decbe4\"],\n5: [\"#fbb4ae\",\"#b3cde3\",\"#ccebc5\",\"#decbe4\",\"#fed9a6\"],\n6: [\"#fbb4ae\",\"#b3cde3\",\"#ccebc5\",\"#decbe4\",\"#fed9a6\",\"#ffffcc\"],\n7: [\"#fbb4ae\",\"#b3cde3\",\"#ccebc5\",\"#decbe4\",\"#fed9a6\",\"#ffffcc\",\"#e5d8bd\"],\n8: [\"#fbb4ae\",\"#b3cde3\",\"#ccebc5\",\"#decbe4\",\"#fed9a6\",\"#ffffcc\",\"#e5d8bd\",\"#fddaec\"],\n9: [\"#fbb4ae\",\"#b3cde3\",\"#ccebc5\",\"#decbe4\",\"#fed9a6\",\"#ffffcc\",\"#e5d8bd\",\"#fddaec\",\"#f2f2f2\"]\n},Pastel2: {\n3: [\"#b3e2cd\",\"#fdcdac\",\"#cbd5e8\"],\n4: [\"#b3e2cd\",\"#fdcdac\",\"#cbd5e8\",\"#f4cae4\"],\n5: [\"#b3e2cd\",\"#fdcdac\",\"#cbd5e8\",\"#f4cae4\",\"#e6f5c9\"],\n6: [\"#b3e2cd\",\"#fdcdac\",\"#cbd5e8\",\"#f4cae4\",\"#e6f5c9\",\"#fff2ae\"],\n7: [\"#b3e2cd\",\"#fdcdac\",\"#cbd5e8\",\"#f4cae4\",\"#e6f5c9\",\"#fff2ae\",\"#f1e2cc\"],\n8: [\"#b3e2cd\",\"#fdcdac\",\"#cbd5e8\",\"#f4cae4\",\"#e6f5c9\",\"#fff2ae\",\"#f1e2cc\",\"#cccccc\"]\n},Set1: {\n3: [\"#e41a1c\",\"#377eb8\",\"#4daf4a\"],\n4: [\"#e41a1c\",\"#377eb8\",\"#4daf4a\",\"#984ea3\"],\n5: [\"#e41a1c\",\"#377eb8\",\"#4daf4a\",\"#984ea3\",\"#ff7f00\"],\n6: [\"#e41a1c\",\"#377eb8\",\"#4daf4a\",\"#984ea3\",\"#ff7f00\",\"#ffff33\"],\n7: [\"#e41a1c\",\"#377eb8\",\"#4daf4a\",\"#984ea3\",\"#ff7f00\",\"#ffff33\",\"#a65628\"],\n8: [\"#e41a1c\",\"#377eb8\",\"#4daf4a\",\"#984ea3\",\"#ff7f00\",\"#ffff33\",\"#a65628\",\"#f781bf\"],\n9: [\"#e41a1c\",\"#377eb8\",\"#4daf4a\",\"#984ea3\",\"#ff7f00\",\"#ffff33\",\"#a65628\",\"#f781bf\",\"#999999\"]\n},Set2: {\n3: [\"#66c2a5\",\"#fc8d62\",\"#8da0cb\"],\n4: [\"#66c2a5\",\"#fc8d62\",\"#8da0cb\",\"#e78ac3\"],\n5: [\"#66c2a5\",\"#fc8d62\",\"#8da0cb\",\"#e78ac3\",\"#a6d854\"],\n6: [\"#66c2a5\",\"#fc8d62\",\"#8da0cb\",\"#e78ac3\",\"#a6d854\",\"#ffd92f\"],\n7: [\"#66c2a5\",\"#fc8d62\",\"#8da0cb\",\"#e78ac3\",\"#a6d854\",\"#ffd92f\",\"#e5c494\"],\n8: [\"#66c2a5\",\"#fc8d62\",\"#8da0cb\",\"#e78ac3\",\"#a6d854\",\"#ffd92f\",\"#e5c494\",\"#b3b3b3\"]\n},Set3: {\n3: [\"#8dd3c7\",\"#ffffb3\",\"#bebada\"],\n4: [\"#8dd3c7\",\"#ffffb3\",\"#bebada\",\"#fb8072\"],\n5: [\"#8dd3c7\",\"#ffffb3\",\"#bebada\",\"#fb8072\",\"#80b1d3\"],\n6: [\"#8dd3c7\",\"#ffffb3\",\"#bebada\",\"#fb8072\",\"#80b1d3\",\"#fdb462\"],\n7: [\"#8dd3c7\",\"#ffffb3\",\"#bebada\",\"#fb8072\",\"#80b1d3\",\"#fdb462\",\"#b3de69\"],\n8: [\"#8dd3c7\",\"#ffffb3\",\"#bebada\",\"#fb8072\",\"#80b1d3\",\"#fdb462\",\"#b3de69\",\"#fccde5\"],\n9: [\"#8dd3c7\",\"#ffffb3\",\"#bebada\",\"#fb8072\",\"#80b1d3\",\"#fdb462\",\"#b3de69\",\"#fccde5\",\"#d9d9d9\"],\n10: [\"#8dd3c7\",\"#ffffb3\",\"#bebada\",\"#fb8072\",\"#80b1d3\",\"#fdb462\",\"#b3de69\",\"#fccde5\",\"#d9d9d9\",\"#bc80bd\"],\n11: [\"#8dd3c7\",\"#ffffb3\",\"#bebada\",\"#fb8072\",\"#80b1d3\",\"#fdb462\",\"#b3de69\",\"#fccde5\",\"#d9d9d9\",\"#bc80bd\",\"#ccebc5\"],\n12: [\"#8dd3c7\",\"#ffffb3\",\"#bebada\",\"#fb8072\",\"#80b1d3\",\"#fdb462\",\"#b3de69\",\"#fccde5\",\"#d9d9d9\",\"#bc80bd\",\"#ccebc5\",\"#ffed6f\"]\n}};\n\nif (true) {\n !(__WEBPACK_AMD_DEFINE_FACTORY__ = (colorbrewer),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :\n\t\t\t\t__WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n} else {}\n\n}();\n\n\n//# sourceURL=webpack:///./node_modules/colorbrewer/index.js?"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/alertifyjs/build/css/alertify.min.css": -/*!**************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/alertifyjs/build/css/alertify.min.css ***! - \**************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("exports = module.exports = __webpack_require__(/*! ../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.i, \"/**\\r\\n * alertifyjs 1.11.4 http://alertifyjs.com\\r\\n * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications.\\r\\n * Copyright 2019 Mohammad Younes (http://alertifyjs.com) \\r\\n * Licensed under GPL 3 */\\r\\n.alertify .ajs-dimmer{position:fixed;z-index:1981;top:0;right:0;bottom:0;left:0;padding:0;margin:0;background-color:#252525;opacity:.5}.alertify .ajs-modal{position:fixed;top:0;right:0;left:0;bottom:0;padding:0;overflow-y:auto;z-index:1981}.alertify .ajs-dialog{position:relative;margin:5% auto;min-height:110px;max-width:500px;padding:24px 24px 0 24px;outline:0;background-color:#fff}.alertify .ajs-dialog.ajs-capture:before{content:'';position:absolute;top:0;right:0;bottom:0;left:0;display:block;z-index:1}.alertify .ajs-reset{position:absolute!important;display:inline!important;width:0!important;height:0!important;opacity:0!important}.alertify .ajs-commands{position:absolute;right:4px;margin:-14px 24px 0 0;z-index:2}.alertify .ajs-commands button{display:none;width:10px;height:10px;margin-left:10px;padding:10px;border:0;background-color:transparent;background-repeat:no-repeat;background-position:center;cursor:pointer}.alertify .ajs-commands button.ajs-close{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAh0lEQVQYlY2QsQ0EIQwEB9cBAR1CJUaI/gigDnwR6NBL/7/xWLNrZ2b8EwGotVpr7eOitWa1VjugiNB7R1UPrKrWe0dEAHBbXUqxMQbeewDmnHjvyTm7C3zDwAUd9c63YQdUVdu6EAJzzquz7HXvTiklt+H9DQFYaxFjvDqllFyMkbXWvfpXHjJrWFgdBq/hAAAAAElFTkSuQmCC)}.alertify .ajs-commands button.ajs-maximize{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAOUlEQVQYlWP8//8/AzGAhYGBgaG4uBiv6t7eXkYmooxjYGAgWiELsvHYFMCcRX2rSXcjoSBiJDbAAeD+EGu+8BZcAAAAAElFTkSuQmCC)}.alertify .ajs-header{margin:-24px;margin-bottom:0;padding:16px 24px;background-color:#fff}.alertify .ajs-body{min-height:56px}.alertify .ajs-body .ajs-content{padding:16px 24px 16px 16px}.alertify .ajs-footer{padding:4px;margin-left:-24px;margin-right:-24px;min-height:43px;background-color:#fff}.alertify .ajs-footer .ajs-buttons.ajs-primary{text-align:right}.alertify .ajs-footer .ajs-buttons.ajs-primary .ajs-button{margin:4px}.alertify .ajs-footer .ajs-buttons.ajs-auxiliary{float:left;clear:none;text-align:left}.alertify .ajs-footer .ajs-buttons.ajs-auxiliary .ajs-button{margin:4px}.alertify .ajs-footer .ajs-buttons .ajs-button{min-width:88px;min-height:35px}.alertify .ajs-handle{position:absolute;display:none;width:10px;height:10px;right:0;bottom:0;z-index:1;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMS8xNEDQYmMAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAQ0lEQVQYlaXNMQoAIAxD0dT7H657l0KX3iJuUlBUNOsPPCGJm7VDp6ryeMxMuDsAQH7owW3pyn3RS26iKxERMLN3ugOaAkaL3sWVigAAAABJRU5ErkJggg==);-webkit-transform:scaleX(1);transform:scaleX(1);cursor:se-resize}.alertify.ajs-no-overflow .ajs-body .ajs-content{overflow:hidden!important}.alertify.ajs-no-padding.ajs-maximized .ajs-body .ajs-content{left:0;right:0;padding:0}.alertify.ajs-no-padding:not(.ajs-maximized) .ajs-body{margin-left:-24px;margin-right:-24px}.alertify.ajs-no-padding:not(.ajs-maximized) .ajs-body .ajs-content{padding:0}.alertify.ajs-no-padding.ajs-resizable .ajs-body .ajs-content{left:0;right:0}.alertify.ajs-maximizable .ajs-commands button.ajs-maximize,.alertify.ajs-maximizable .ajs-commands button.ajs-restore{display:inline-block}.alertify.ajs-closable .ajs-commands button.ajs-close{display:inline-block}.alertify.ajs-maximized .ajs-dialog{width:100%!important;height:100%!important;max-width:none!important;margin:0 auto!important;top:0!important;left:0!important}.alertify.ajs-maximized.ajs-modeless .ajs-modal{position:fixed!important;min-height:100%!important;max-height:none!important;margin:0!important}.alertify.ajs-maximized .ajs-commands button.ajs-maximize{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAASklEQVQYlZWQ0QkAMQhDtXRincOZX78KVtrDCwgqJNEoIB3MPLj7lRUROlpyVXGzby6zWuY+kz6tj5sBMTMAyVV3/595RbOh3cAXsww1raeiOcoAAAAASUVORK5CYII=)}.alertify.ajs-maximized .ajs-dialog,.alertify.ajs-resizable .ajs-dialog{padding:0}.alertify.ajs-maximized .ajs-commands,.alertify.ajs-resizable .ajs-commands{margin:14px 24px 0 0}.alertify.ajs-maximized .ajs-header,.alertify.ajs-resizable .ajs-header{position:absolute;top:0;left:0;right:0;margin:0;padding:16px 24px}.alertify.ajs-maximized .ajs-body,.alertify.ajs-resizable .ajs-body{min-height:224px;display:inline-block}.alertify.ajs-maximized .ajs-body .ajs-content,.alertify.ajs-resizable .ajs-body .ajs-content{position:absolute;top:50px;right:24px;bottom:50px;left:24px;overflow:auto}.alertify.ajs-maximized .ajs-footer,.alertify.ajs-resizable .ajs-footer{position:absolute;left:0;right:0;bottom:0;margin:0}.alertify.ajs-resizable:not(.ajs-maximized) .ajs-dialog{min-width:548px}.alertify.ajs-resizable:not(.ajs-maximized) .ajs-handle{display:block}.alertify.ajs-movable:not(.ajs-maximized) .ajs-header{cursor:move}.alertify.ajs-modeless .ajs-dimmer,.alertify.ajs-modeless .ajs-reset{display:none}.alertify.ajs-modeless .ajs-modal{overflow:visible;max-width:none;max-height:0}.alertify.ajs-modeless.ajs-pinnable .ajs-commands button.ajs-pin{display:inline-block;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAQklEQVQYlcWPMQ4AIAwCqU9u38GbcbHRWN1MvKQDhQFMEpKImGJA0gCgnYw0V0rwxseg5erT4oSkQVI5d9f+e9+xA0NbLpWfitPXAAAAAElFTkSuQmCC)}.alertify.ajs-modeless.ajs-unpinned .ajs-modal{position:absolute}.alertify.ajs-modeless.ajs-unpinned .ajs-commands button.ajs-pin{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNy8xMy8xNOrZqugAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAAO0lEQVQYlWP8//8/AzGAiShV6AqLi4txGs+CLoBLMYbC3t5eRmyaWfBZhwwYkX2NTxPRvibKjRhW4wMAhxkYGbLu3pEAAAAASUVORK5CYII=)}.alertify.ajs-modeless:not(.ajs-unpinned) .ajs-body{max-height:500px;overflow:auto}.alertify.ajs-basic .ajs-header{opacity:0}.alertify.ajs-basic .ajs-footer{visibility:hidden}.alertify.ajs-frameless .ajs-header{position:absolute;top:0;left:0;right:0;min-height:60px;margin:0;padding:0;opacity:0;z-index:1}.alertify.ajs-frameless .ajs-footer{display:none}.alertify.ajs-frameless .ajs-body .ajs-content{position:absolute;top:0;right:0;bottom:0;left:0}.alertify.ajs-frameless:not(.ajs-resizable) .ajs-dialog{padding-top:0}.alertify.ajs-frameless:not(.ajs-resizable) .ajs-dialog .ajs-commands{margin-top:0}.ajs-no-overflow{overflow:hidden!important;outline:0}.ajs-no-overflow.ajs-fixed{position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:scroll!important}.ajs-no-selection,.ajs-no-selection *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@media screen and (max-width:568px){.alertify .ajs-dialog{min-width:150px}.alertify:not(.ajs-maximized) .ajs-modal{padding:0 5%}.alertify:not(.ajs-maximized).ajs-resizable .ajs-dialog{min-width:initial;min-width:auto}}@-moz-document url-prefix(){.alertify button:focus{outline:1px dotted #3593d2}}.alertify .ajs-dimmer,.alertify .ajs-modal{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition-property:opacity,visibility;transition-property:opacity,visibility;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transition-duration:250ms;transition-duration:250ms}.alertify.ajs-hidden .ajs-dimmer,.alertify.ajs-hidden .ajs-modal{visibility:hidden;opacity:0}.alertify.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-duration:.5s;animation-duration:.5s}.alertify.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-duration:250ms;animation-duration:250ms}.alertify .ajs-dialog.ajs-shake{-webkit-animation-name:ajs-shake;animation-name:ajs-shake;-webkit-animation-duration:.1s;animation-duration:.1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}@-webkit-keyframes ajs-shake{0%,100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes ajs-shake{0%,100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.alertify.ajs-slide.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-name:ajs-slideIn;animation-name:ajs-slideIn;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1.275);animation-timing-function:cubic-bezier(.175,.885,.32,1.275)}.alertify.ajs-slide.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-name:ajs-slideOut;animation-name:ajs-slideOut;-webkit-animation-timing-function:cubic-bezier(.6,-.28,.735,.045);animation-timing-function:cubic-bezier(.6,-.28,.735,.045)}.alertify.ajs-zoom.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-name:ajs-zoomIn;animation-name:ajs-zoomIn}.alertify.ajs-zoom.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-name:ajs-zoomOut;animation-name:ajs-zoomOut}.alertify.ajs-fade.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-name:ajs-fadeIn;animation-name:ajs-fadeIn}.alertify.ajs-fade.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-name:ajs-fadeOut;animation-name:ajs-fadeOut}.alertify.ajs-pulse.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-name:ajs-pulseIn;animation-name:ajs-pulseIn}.alertify.ajs-pulse.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-name:ajs-pulseOut;animation-name:ajs-pulseOut}.alertify.ajs-flipx.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-name:ajs-flipInX;animation-name:ajs-flipInX}.alertify.ajs-flipx.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-name:ajs-flipOutX;animation-name:ajs-flipOutX}.alertify.ajs-flipy.ajs-in:not(.ajs-hidden) .ajs-dialog{-webkit-animation-name:ajs-flipInY;animation-name:ajs-flipInY}.alertify.ajs-flipy.ajs-out.ajs-hidden .ajs-dialog{-webkit-animation-name:ajs-flipOutY;animation-name:ajs-flipOutY}@-webkit-keyframes ajs-pulseIn{0%,100%,20%,40%,60%,80%{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes ajs-pulseIn{0%,100%,20%,40%,60%,80%{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@-webkit-keyframes ajs-pulseOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}100%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes ajs-pulseOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}100%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@-webkit-keyframes ajs-zoomIn{0%{opacity:0;-webkit-transform:scale3d(.25,.25,.25);transform:scale3d(.25,.25,.25)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes ajs-zoomIn{0%{opacity:0;-webkit-transform:scale3d(.25,.25,.25);transform:scale3d(.25,.25,.25)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@-webkit-keyframes ajs-zoomOut{0%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}100%{opacity:0;-webkit-transform:scale3d(.25,.25,.25);transform:scale3d(.25,.25,.25)}}@keyframes ajs-zoomOut{0%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}100%{opacity:0;-webkit-transform:scale3d(.25,.25,.25);transform:scale3d(.25,.25,.25)}}@-webkit-keyframes ajs-fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes ajs-fadeIn{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes ajs-fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes ajs-fadeOut{0%{opacity:1}100%{opacity:0}}@-webkit-keyframes ajs-flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes ajs-flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@-webkit-keyframes ajs-flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}@keyframes ajs-flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}@-webkit-keyframes ajs-flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes ajs-flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@-webkit-keyframes ajs-flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}@keyframes ajs-flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}@-webkit-keyframes ajs-slideIn{0%{margin-top:-100%}100%{margin-top:5%}}@keyframes ajs-slideIn{0%{margin-top:-100%}100%{margin-top:5%}}@-webkit-keyframes ajs-slideOut{0%{margin-top:5%}100%{margin-top:-100%}}@keyframes ajs-slideOut{0%{margin-top:5%}100%{margin-top:-100%}}.alertify-notifier{position:fixed;width:0;overflow:visible;z-index:1982;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.alertify-notifier .ajs-message{position:relative;width:260px;max-height:0;padding:0;opacity:0;margin:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition-duration:250ms;transition-duration:250ms;-webkit-transition-timing-function:linear;transition-timing-function:linear}.alertify-notifier .ajs-message.ajs-visible{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:cubic-bezier(.175,.885,.32,1.275);transition-timing-function:cubic-bezier(.175,.885,.32,1.275);opacity:1;max-height:100%;padding:15px;margin-top:10px}.alertify-notifier .ajs-message.ajs-success{background:rgba(91,189,114,.95)}.alertify-notifier .ajs-message.ajs-error{background:rgba(217,92,92,.95)}.alertify-notifier .ajs-message.ajs-warning{background:rgba(252,248,215,.95)}.alertify-notifier .ajs-message .ajs-close{position:absolute;top:0;right:0;width:16px;height:16px;cursor:pointer;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAABGdBTUEAALGPC/xhBQAAAFBJREFUGBl1j0EKADEIA+ve/P9f9bh1hEihNBfjVCO1v7RKVqJK4h8gM5cAPR42AkQEpSXPwMTyoi13n5N9YqJehm3Fnr7nL1D0ZEbD5OubGyC7a9gx+9eNAAAAAElFTkSuQmCC);background-repeat:no-repeat;background-position:center center;background-color:rgba(0,0,0,.5);border-top-right-radius:2px}.alertify-notifier.ajs-top{top:10px}.alertify-notifier.ajs-bottom{bottom:10px}.alertify-notifier.ajs-right{right:10px}.alertify-notifier.ajs-right .ajs-message{right:-320px}.alertify-notifier.ajs-right .ajs-message.ajs-visible{right:290px}.alertify-notifier.ajs-left{left:10px}.alertify-notifier.ajs-left .ajs-message{left:-300px}.alertify-notifier.ajs-left .ajs-message.ajs-visible{left:0}.alertify-notifier.ajs-center{left:50%}.alertify-notifier.ajs-center .ajs-message{-webkit-transform:translateX(-50%);transform:translateX(-50%)}.alertify-notifier.ajs-center .ajs-message.ajs-visible{left:50%;-webkit-transition-timing-function:cubic-bezier(.57,.43,.1,.65);transition-timing-function:cubic-bezier(.57,.43,.1,.65)}.alertify-notifier.ajs-center.ajs-top .ajs-message{top:-300px}.alertify-notifier.ajs-center.ajs-top .ajs-message.ajs-visible{top:0}.alertify-notifier.ajs-center.ajs-bottom .ajs-message{bottom:-300px}.alertify-notifier.ajs-center.ajs-bottom .ajs-message.ajs-visible{bottom:0}\", \"\"]);\n\n\n//# sourceURL=webpack:///./node_modules/alertifyjs/build/css/alertify.min.css?./node_modules/css-loader/dist/cjs.js"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/alertifyjs/build/css/themes/semantic.min.css": -/*!*********************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./node_modules/alertifyjs/build/css/themes/semantic.min.css ***! - \*********************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("exports = module.exports = __webpack_require__(/*! ../../../../css-loader/dist/runtime/api.js */ \"./node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.i, \"/**\\r\\n * alertifyjs 1.11.4 http://alertifyjs.com\\r\\n * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications.\\r\\n * Copyright 2019 Mohammad Younes (http://alertifyjs.com) \\r\\n * Licensed under GPL 3 */\\r\\n.alertify .ajs-dimmer{background-color:rgba(0,0,0,.85);opacity:1}.alertify .ajs-dialog{max-width:50%;min-height:137px;background-color:#f4f4f4;border:1px solid #ddd;-webkit-box-shadow:none;box-shadow:none;border-radius:5px}.alertify .ajs-header{padding:1.5rem 2rem;border-bottom:none;border-radius:5px 5px 0 0;color:#555;background-color:#fff;font-family:\\\"Helvetica Neue\\\",Helvetica,Arial,sans-serif;font-size:1.6em;font-weight:700}.alertify .ajs-body{font-family:Roboto,sans-serif;color:#555}.alertify .ajs-body .ajs-content .ajs-input{width:100%;margin:0;padding:.65em 1em;font-size:1em;background-color:#fff;border:1px solid rgba(0,0,0,.15);outline:0;color:rgba(0,0,0,.7);border-radius:.3125em;-webkit-transition:background-color .3s ease-out,border-color .2s ease,-webkit-box-shadow .2s ease;transition:background-color .3s ease-out,border-color .2s ease,-webkit-box-shadow .2s ease;transition:background-color .3s ease-out,box-shadow .2s ease,border-color .2s ease;transition:background-color .3s ease-out,box-shadow .2s ease,border-color .2s ease,-webkit-box-shadow .2s ease;-webkit-box-sizing:border-box;box-sizing:border-box}.alertify .ajs-body .ajs-content .ajs-input:active{border-color:rgba(0,0,0,.3);background-color:#fafafa}.alertify .ajs-body .ajs-content .ajs-input:focus{border-color:rgba(0,0,0,.2);color:rgba(0,0,0,.85)}.alertify.ajs-maximized:not(.ajs-resizable) .ajs-content,.alertify.ajs-resizable .ajs-content{top:64px;bottom:74px}.alertify .ajs-footer{background-color:#fff;padding:1rem 2rem;border-top:none;border-radius:0 0 5px 5px}.alertify-notifier .ajs-message{background:rgba(255,255,255,.95);color:#000;text-align:center;border:solid 1px #ddd;border-radius:2px}.alertify-notifier .ajs-message.ajs-success{color:#fff;background:rgba(91,189,114,.95);text-shadow:-1px -1px 0 rgba(0,0,0,.5)}.alertify-notifier .ajs-message.ajs-error{color:#fff;background:rgba(217,92,92,.95);text-shadow:-1px -1px 0 rgba(0,0,0,.5)}.alertify-notifier .ajs-message.ajs-warning{background:rgba(252,248,215,.95);border-color:#999}\", \"\"]);\n\n\n//# sourceURL=webpack:///./node_modules/alertifyjs/build/css/themes/semantic.min.css?./node_modules/css-loader/dist/cjs.js"); - -/***/ }), - -/***/ "./node_modules/css-loader/dist/runtime/api.js": -/*!*****************************************************!*\ - !*** ./node_modules/css-loader/dist/runtime/api.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (useSourceMap) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item, useSourceMap);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \"{\").concat(content, \"}\");\n }\n\n return content;\n }).join('');\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery) {\n if (typeof modules === 'string') {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, '']];\n }\n\n var alreadyImportedModules = {};\n\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = modules[_i]; // skip already imported module\n // this implementation is not 100% perfect for weird media query combinations\n // when a module is imported multiple times with different media queries.\n // I hope this will never occur (Hey this way we have smaller bundles)\n\n if (item[0] == null || !alreadyImportedModules[item[0]]) {\n if (mediaQuery && !item[2]) {\n item[2] = mediaQuery;\n } else if (mediaQuery) {\n item[2] = \"(\".concat(item[2], \") and (\").concat(mediaQuery, \")\");\n }\n\n list.push(item);\n }\n }\n };\n\n return list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring\n\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (useSourceMap && typeof btoa === 'function') {\n var sourceMapping = toComment(cssMapping);\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot).concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n }\n\n return [content].join('\\n');\n} // Adapted from convert-source-map (MIT)\n\n\nfunction toComment(sourceMap) {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n return \"/*# \".concat(data, \" */\");\n}\n\n//# sourceURL=webpack:///./node_modules/css-loader/dist/runtime/api.js?"); - -/***/ }), - -/***/ "./node_modules/i18next-xhr-backend/dist/commonjs/ajax.js": -/*!****************************************************************!*\ - !*** ./node_modules/i18next-xhr-backend/dist/commonjs/ajax.js ***! - \****************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction addQueryString(url, params) {\n if (params && (typeof params === 'undefined' ? 'undefined' : _typeof(params)) === 'object') {\n var queryString = '',\n e = encodeURIComponent;\n\n // Must encode data\n for (var paramName in params) {\n queryString += '&' + e(paramName) + '=' + e(params[paramName]);\n }\n\n if (!queryString) {\n return url;\n }\n\n url = url + (url.indexOf('?') !== -1 ? '&' : '?') + queryString.slice(1);\n }\n\n return url;\n}\n\n// https://gist.github.com/Xeoncross/7663273\nfunction ajax(url, options, callback, data, cache) {\n\n if (data && (typeof data === 'undefined' ? 'undefined' : _typeof(data)) === 'object') {\n if (!cache) {\n data['_t'] = new Date();\n }\n // URL encoded form data must be in querystring format\n data = addQueryString('', data).slice(1);\n }\n\n if (options.queryStringParams) {\n url = addQueryString(url, options.queryStringParams);\n }\n\n try {\n var x;\n if (XMLHttpRequest) {\n x = new XMLHttpRequest();\n } else {\n x = new ActiveXObject('MSXML2.XMLHTTP.3.0');\n }\n x.open(data ? 'POST' : 'GET', url, 1);\n if (!options.crossDomain) {\n x.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n }\n x.withCredentials = !!options.withCredentials;\n if (data) {\n x.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');\n }\n if (x.overrideMimeType) {\n x.overrideMimeType(\"application/json\");\n }\n var h = options.customHeaders;\n if (h) {\n for (var i in h) {\n x.setRequestHeader(i, h[i]);\n }\n }\n x.onreadystatechange = function () {\n x.readyState > 3 && callback && callback(x.responseText, x);\n };\n x.send(data);\n } catch (e) {\n console && console.log(e);\n }\n}\n\nexports.default = ajax;\n\n//# sourceURL=webpack:///./node_modules/i18next-xhr-backend/dist/commonjs/ajax.js?"); - -/***/ }), - -/***/ "./node_modules/i18next-xhr-backend/dist/commonjs/index.js": -/*!*****************************************************************!*\ - !*** ./node_modules/i18next-xhr-backend/dist/commonjs/index.js ***! - \*****************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _utils = __webpack_require__(/*! ./utils.js */ \"./node_modules/i18next-xhr-backend/dist/commonjs/utils.js\");\n\nvar utils = _interopRequireWildcard(_utils);\n\nvar _ajax = __webpack_require__(/*! ./ajax.js */ \"./node_modules/i18next-xhr-backend/dist/commonjs/ajax.js\");\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction getDefaults() {\n return {\n loadPath: '/locales/{{lng}}/{{ns}}.json',\n addPath: '/locales/add/{{lng}}/{{ns}}',\n allowMultiLoading: false,\n parse: JSON.parse,\n crossDomain: false,\n ajax: _ajax2.default\n };\n}\n\nvar Backend = function () {\n function Backend(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Backend);\n\n this.init(services, options);\n\n this.type = 'backend';\n }\n\n _createClass(Backend, [{\n key: 'init',\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n this.services = services;\n this.options = utils.defaults(options, this.options || {}, getDefaults());\n }\n }, {\n key: 'readMulti',\n value: function readMulti(languages, namespaces, callback) {\n var loadPath = this.options.loadPath;\n if (typeof this.options.loadPath === 'function') {\n loadPath = this.options.loadPath(languages, namespaces);\n }\n\n var url = this.services.interpolator.interpolate(loadPath, { lng: languages.join('+'), ns: namespaces.join('+') });\n\n this.loadUrl(url, callback);\n }\n }, {\n key: 'read',\n value: function read(language, namespace, callback) {\n var loadPath = this.options.loadPath;\n if (typeof this.options.loadPath === 'function') {\n loadPath = this.options.loadPath([language], [namespace]);\n }\n\n var url = this.services.interpolator.interpolate(loadPath, { lng: language, ns: namespace });\n\n this.loadUrl(url, callback);\n }\n }, {\n key: 'loadUrl',\n value: function loadUrl(url, callback) {\n var _this = this;\n\n this.options.ajax(url, this.options, function (data, xhr) {\n if (xhr.status >= 500 && xhr.status < 600) return callback('failed loading ' + url, true /* retry */);\n if (xhr.status >= 400 && xhr.status < 500) return callback('failed loading ' + url, false /* no retry */);\n\n var ret = void 0,\n err = void 0;\n try {\n ret = _this.options.parse(data, url);\n } catch (e) {\n err = 'failed parsing ' + url + ' to json';\n }\n if (err) return callback(err, false);\n callback(null, ret);\n });\n }\n }, {\n key: 'create',\n value: function create(languages, namespace, key, fallbackValue) {\n var _this2 = this;\n\n if (typeof languages === 'string') languages = [languages];\n\n var payload = {};\n payload[key] = fallbackValue || '';\n\n languages.forEach(function (lng) {\n var url = _this2.services.interpolator.interpolate(_this2.options.addPath, { lng: lng, ns: namespace });\n\n _this2.options.ajax(url, _this2.options, function (data, xhr) {\n //const statusCode = xhr.status.toString();\n // TODO: if statusCode === 4xx do log\n }, payload);\n });\n }\n }]);\n\n return Backend;\n}();\n\nBackend.type = 'backend';\n\nexports.default = Backend;\n\n//# sourceURL=webpack:///./node_modules/i18next-xhr-backend/dist/commonjs/index.js?"); - -/***/ }), - -/***/ "./node_modules/i18next-xhr-backend/dist/commonjs/utils.js": -/*!*****************************************************************!*\ - !*** ./node_modules/i18next-xhr-backend/dist/commonjs/utils.js ***! - \*****************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.defaults = defaults;\nexports.extend = extend;\nvar arr = [];\nvar each = arr.forEach;\nvar slice = arr.slice;\n\nfunction defaults(obj) {\n each.call(slice.call(arguments, 1), function (source) {\n if (source) {\n for (var prop in source) {\n if (obj[prop] === undefined) obj[prop] = source[prop];\n }\n }\n });\n return obj;\n}\n\nfunction extend(obj) {\n each.call(slice.call(arguments, 1), function (source) {\n if (source) {\n for (var prop in source) {\n obj[prop] = source[prop];\n }\n }\n });\n return obj;\n}\n\n//# sourceURL=webpack:///./node_modules/i18next-xhr-backend/dist/commonjs/utils.js?"); - -/***/ }), - -/***/ "./node_modules/i18next-xhr-backend/index.js": -/*!***************************************************!*\ - !*** ./node_modules/i18next-xhr-backend/index.js ***! - \***************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("module.exports = __webpack_require__(/*! ./dist/commonjs/index.js */ \"./node_modules/i18next-xhr-backend/dist/commonjs/index.js\").default;\n\n\n//# sourceURL=webpack:///./node_modules/i18next-xhr-backend/index.js?"); - -/***/ }), - -/***/ "./node_modules/i18next/dist/es/BackendConnector.js": -/*!**********************************************************!*\ - !*** ./node_modules/i18next/dist/es/BackendConnector.js ***! - \**********************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ \"./node_modules/i18next/dist/es/utils.js\");\n/* harmony import */ var _logger_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./logger.js */ \"./node_modules/i18next/dist/es/logger.js\");\n/* harmony import */ var _EventEmitter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./EventEmitter.js */ \"./node_modules/i18next/dist/es/EventEmitter.js\");\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { 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\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\n\n\n\n\n\nfunction remove(arr, what) {\n var found = arr.indexOf(what);\n\n while (found !== -1) {\n arr.splice(found, 1);\n found = arr.indexOf(what);\n }\n}\n\nvar Connector = function (_EventEmitter) {\n _inherits(Connector, _EventEmitter);\n\n function Connector(backend, store, services) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n _classCallCheck(this, Connector);\n\n var _this = _possibleConstructorReturn(this, _EventEmitter.call(this));\n\n _this.backend = backend;\n _this.store = store;\n _this.languageUtils = services.languageUtils;\n _this.options = options;\n _this.logger = _logger_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].create('backendConnector');\n\n _this.state = {};\n _this.queue = [];\n\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n return _this;\n }\n\n Connector.prototype.queueLoad = function queueLoad(languages, namespaces, callback) {\n var _this2 = this;\n\n // find what needs to be loaded\n var toLoad = [];\n var pending = [];\n var toLoadLanguages = [];\n var toLoadNamespaces = [];\n\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n\n namespaces.forEach(function (ns) {\n var name = lng + '|' + ns;\n\n if (_this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2; // loaded\n } else if (_this2.state[name] < 0) {\n // nothing to do for err\n } else if (_this2.state[name] === 1) {\n if (pending.indexOf(name) < 0) pending.push(name);\n } else {\n _this2.state[name] = 1; // pending\n\n hasAllNamespaces = false;\n\n if (pending.indexOf(name) < 0) pending.push(name);\n if (toLoad.indexOf(name) < 0) toLoad.push(name);\n if (toLoadNamespaces.indexOf(ns) < 0) toLoadNamespaces.push(ns);\n }\n });\n\n if (!hasAllNamespaces) toLoadLanguages.push(lng);\n });\n\n if (toLoad.length || pending.length) {\n this.queue.push({\n pending: pending,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n\n return {\n toLoad: toLoad,\n pending: pending,\n toLoadLanguages: toLoadLanguages,\n toLoadNamespaces: toLoadNamespaces\n };\n };\n\n Connector.prototype.loaded = function loaded(name, err, data) {\n var _name$split = name.split('|'),\n _name$split2 = _slicedToArray(_name$split, 2),\n lng = _name$split2[0],\n ns = _name$split2[1];\n\n if (err) this.emit('failedLoading', lng, ns, err);\n\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n\n // set loaded\n this.state[name] = err ? -1 : 2;\n\n // consolidated loading done in this run - only emit once for a loaded namespace\n var loaded = {};\n\n // callback if ready\n this.queue.forEach(function (q) {\n _utils_js__WEBPACK_IMPORTED_MODULE_0__[\"pushPath\"](q.loaded, [lng], ns);\n remove(q.pending, name);\n\n if (err) q.errors.push(err);\n\n if (q.pending.length === 0 && !q.done) {\n // only do once per loaded -> this.emit('loaded', q.loaded);\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = [];\n if (q.loaded[l].length) {\n q.loaded[l].forEach(function (ns) {\n if (loaded[l].indexOf(ns) < 0) loaded[l].push(ns);\n });\n }\n });\n\n /* eslint no-param-reassign: 0 */\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n\n // emit consolidated loaded event\n this.emit('loaded', loaded);\n\n // remove done load requests\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n };\n\n Connector.prototype.read = function read(lng, ns, fcName) {\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n\n var _this3 = this;\n\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 250;\n var callback = arguments[5];\n\n if (!lng.length) return callback(null, {}); // noting to load\n\n return this.backend[fcName](lng, ns, function (err, data) {\n if (err && data /* = retryFlag */ && tried < 5) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n });\n };\n\n /* eslint consistent-return: 0 */\n\n\n Connector.prototype.load = function load(languages, namespaces, callback) {\n var _this4 = this;\n\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n\n var toLoad = this.queueLoad(languages, namespaces, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback(); // nothing to load and no pendings...callback now\n return null; // pendings will trigger callback\n }\n\n toLoad.toLoad.forEach(function (name) {\n _this4.loadOne(name);\n });\n };\n\n Connector.prototype.reload = function reload(languages, namespaces) {\n var _this5 = this;\n\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n }\n\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n\n languages.forEach(function (l) {\n namespaces.forEach(function (n) {\n _this5.loadOne(l + '|' + n, 're');\n });\n });\n };\n\n Connector.prototype.loadOne = function loadOne(name) {\n var _this6 = this;\n\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n var _name$split3 = name.split('|'),\n _name$split4 = _slicedToArray(_name$split3, 2),\n lng = _name$split4[0],\n ns = _name$split4[1];\n\n this.read(lng, ns, 'read', null, null, function (err, data) {\n if (err) _this6.logger.warn(prefix + 'loading namespace ' + ns + ' for language ' + lng + ' failed', err);\n if (!err && data) _this6.logger.log(prefix + 'loaded namespace ' + ns + ' for language ' + lng, data);\n\n _this6.loaded(name, err, data);\n });\n };\n\n Connector.prototype.saveMissing = function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n\n if (this.backend && this.backend.create) {\n this.backend.create(languages, namespace, key, fallbackValue, null /* unused callback */, _extends({}, options, { isUpdate: isUpdate }));\n }\n\n // write to store to avoid resending\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n };\n\n return Connector;\n}(_EventEmitter_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Connector);\n\n//# sourceURL=webpack:///./node_modules/i18next/dist/es/BackendConnector.js?"); - -/***/ }), - -/***/ "./node_modules/i18next/dist/es/EventEmitter.js": -/*!******************************************************!*\ - !*** ./node_modules/i18next/dist/es/EventEmitter.js ***! - \******************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck(this, EventEmitter);\n\n this.observers = {};\n }\n\n EventEmitter.prototype.on = function on(events, listener) {\n var _this = this;\n\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n _this.observers[event].push(listener);\n });\n return this;\n };\n\n EventEmitter.prototype.off = function off(event, listener) {\n var _this2 = this;\n\n if (!this.observers[event]) {\n return;\n }\n\n this.observers[event].forEach(function () {\n if (!listener) {\n delete _this2.observers[event];\n } else {\n var index = _this2.observers[event].indexOf(listener);\n if (index > -1) {\n _this2.observers[event].splice(index, 1);\n }\n }\n });\n };\n\n EventEmitter.prototype.emit = function emit(event) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(undefined, args);\n });\n }\n\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\n }\n };\n\n return EventEmitter;\n}();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (EventEmitter);\n\n//# sourceURL=webpack:///./node_modules/i18next/dist/es/EventEmitter.js?"); - -/***/ }), - -/***/ "./node_modules/i18next/dist/es/Interpolator.js": -/*!******************************************************!*\ - !*** ./node_modules/i18next/dist/es/Interpolator.js ***! - \******************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ \"./node_modules/i18next/dist/es/utils.js\");\n/* harmony import */ var _logger_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./logger.js */ \"./node_modules/i18next/dist/es/logger.js\");\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n\n\n\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Interpolator);\n\n this.logger = _logger_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"].create('interpolator');\n\n this.init(options, true);\n }\n\n /* eslint no-param-reassign: 0 */\n\n\n Interpolator.prototype.init = function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var reset = arguments[1];\n\n if (reset) {\n this.options = options;\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n }\n if (!options.interpolation) options.interpolation = { escapeValue: true };\n\n var iOpts = options.interpolation;\n\n this.escape = iOpts.escape !== undefined ? iOpts.escape : _utils_js__WEBPACK_IMPORTED_MODULE_0__[\"escape\"];\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n\n this.prefix = iOpts.prefix ? _utils_js__WEBPACK_IMPORTED_MODULE_0__[\"regexEscape\"](iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? _utils_js__WEBPACK_IMPORTED_MODULE_0__[\"regexEscape\"](iOpts.suffix) : iOpts.suffixEscaped || '}}';\n\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n\n this.nestingPrefix = iOpts.nestingPrefix ? _utils_js__WEBPACK_IMPORTED_MODULE_0__[\"regexEscape\"](iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || _utils_js__WEBPACK_IMPORTED_MODULE_0__[\"regexEscape\"]('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? _utils_js__WEBPACK_IMPORTED_MODULE_0__[\"regexEscape\"](iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || _utils_js__WEBPACK_IMPORTED_MODULE_0__[\"regexEscape\"](')');\n\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n\n // the regexp\n this.resetRegExp();\n };\n\n Interpolator.prototype.reset = function reset() {\n if (this.options) this.init(this.options);\n };\n\n Interpolator.prototype.resetRegExp = function resetRegExp() {\n // the regexp\n var regexpStr = this.prefix + '(.+?)' + this.suffix;\n this.regexp = new RegExp(regexpStr, 'g');\n\n var regexpUnescapeStr = '' + this.prefix + this.unescapePrefix + '(.+?)' + this.unescapeSuffix + this.suffix;\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n\n var nestingRegexpStr = this.nestingPrefix + '(.+?)' + this.nestingSuffix;\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n };\n\n Interpolator.prototype.interpolate = function interpolate(str, data, lng) {\n var _this = this;\n\n var match = void 0;\n var value = void 0;\n var replaces = void 0;\n\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) return _utils_js__WEBPACK_IMPORTED_MODULE_0__[\"getPath\"](data, key);\n\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n\n return _this.format(_utils_js__WEBPACK_IMPORTED_MODULE_0__[\"getPath\"](data, k), f, lng);\n };\n\n this.resetRegExp();\n\n replaces = 0;\n // unescape if has unescapePrefix/Suffix\n /* eslint no-cond-assign: 0 */\n while (match = this.regexpUnescape.exec(str)) {\n value = handleFormat(match[1].trim());\n str = str.replace(match[0], value);\n this.regexpUnescape.lastIndex = 0;\n replaces++;\n if (replaces >= this.maxReplaces) {\n break;\n }\n }\n\n replaces = 0;\n // regular escape on demand\n while (match = this.regexp.exec(str)) {\n value = handleFormat(match[1].trim());\n if (value === undefined) {\n if (typeof this.options.missingInterpolationHandler === 'function') {\n var temp = this.options.missingInterpolationHandler(str, match);\n value = typeof temp === 'string' ? temp : '';\n } else {\n this.logger.warn('missed to pass in variable ' + match[1] + ' for interpolating ' + str);\n value = '';\n }\n } else if (typeof value !== 'string' && !this.useRawValueToEscape) {\n value = _utils_js__WEBPACK_IMPORTED_MODULE_0__[\"makeString\"](value);\n }\n value = this.escapeValue ? regexSafe(this.escape(value)) : regexSafe(value);\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n replaces++;\n if (replaces >= this.maxReplaces) {\n break;\n }\n }\n return str;\n };\n\n Interpolator.prototype.nest = function nest(str, fc) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n var match = void 0;\n var value = void 0;\n\n var clonedOptions = _extends({}, options);\n clonedOptions.applyPostProcessor = false; // avoid post processing on nested lookup\n\n // if value is something like \"myKey\": \"lorem $(anotherKey, { \"count\": {{aValueInOptions}} })\"\n function handleHasOptions(key, inheritedOptions) {\n if (key.indexOf(',') < 0) return key;\n\n var p = key.split(',');\n key = p.shift();\n var optionsString = p.join(',');\n optionsString = this.interpolate(optionsString, clonedOptions);\n optionsString = optionsString.replace(/'/g, '\"');\n\n try {\n clonedOptions = JSON.parse(optionsString);\n\n if (inheritedOptions) clonedOptions = _extends({}, inheritedOptions, clonedOptions);\n } catch (e) {\n this.logger.error('failed parsing options string in nesting for key ' + key, e);\n }\n\n return key;\n }\n\n // regular escape on demand\n while (match = this.nestingRegexp.exec(str)) {\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n\n // is only the nesting key (key1 = '$(key2)') return the value without stringify\n if (value && match[0] === str && typeof value !== 'string') return value;\n\n // no string to include or empty\n if (typeof value !== 'string') value = _utils_js__WEBPACK_IMPORTED_MODULE_0__[\"makeString\"](value);\n if (!value) {\n this.logger.warn('missed to resolve ' + match[1] + ' for nesting ' + str);\n value = '';\n }\n // Nested keys should not be escaped by default #854\n // value = this.escapeValue ? regexSafe(utils.escape(value)) : regexSafe(value);\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n };\n\n return Interpolator;\n}();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Interpolator);\n\n//# sourceURL=webpack:///./node_modules/i18next/dist/es/Interpolator.js?"); - -/***/ }), - -/***/ "./node_modules/i18next/dist/es/LanguageUtils.js": -/*!*******************************************************!*\ - !*** ./node_modules/i18next/dist/es/LanguageUtils.js ***! - \*******************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _logger_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./logger.js */ \"./node_modules/i18next/dist/es/logger.js\");\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck(this, LanguageUtil);\n\n this.options = options;\n\n this.whitelist = this.options.whitelist || false;\n this.logger = _logger_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].create('languageUtils');\n }\n\n LanguageUtil.prototype.getScriptPartFromCode = function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n\n var p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n return this.formatLanguageCode(p.join('-'));\n };\n\n LanguageUtil.prototype.getLanguagePartFromCode = function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n };\n\n LanguageUtil.prototype.formatLanguageCode = function formatLanguageCode(code) {\n // http://www.iana.org/assignments/language-tags/language-tags.xhtml\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n\n // if lenght 2 guess it's a country\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n\n return p.join('-');\n }\n\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n };\n\n LanguageUtil.prototype.isWhitelisted = function isWhitelisted(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitWhitelist) {\n code = this.getLanguagePartFromCode(code);\n }\n return !this.whitelist || !this.whitelist.length || this.whitelist.indexOf(code) > -1;\n };\n\n LanguageUtil.prototype.getFallbackCodes = function getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n\n if (!code) return fallbacks.default || [];\n\n // asume we have an object defining fallbacks\n var found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks.default;\n\n return found || [];\n };\n\n LanguageUtil.prototype.toResolveHierarchy = function toResolveHierarchy(code, fallbackCode) {\n var _this = this;\n\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n\n var codes = [];\n var addCode = function addCode(c) {\n if (!c) return;\n if (_this.isWhitelisted(c)) {\n codes.push(c);\n } else {\n _this.logger.warn('rejecting non-whitelisted language code: ' + c);\n }\n };\n\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this.formatLanguageCode(fc));\n });\n\n return codes;\n };\n\n return LanguageUtil;\n}();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (LanguageUtil);\n\n//# sourceURL=webpack:///./node_modules/i18next/dist/es/LanguageUtils.js?"); - -/***/ }), - -/***/ "./node_modules/i18next/dist/es/PluralResolver.js": -/*!********************************************************!*\ - !*** ./node_modules/i18next/dist/es/PluralResolver.js ***! - \********************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _logger_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./logger.js */ \"./node_modules/i18next/dist/es/logger.js\");\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n\n\n// definition http://translate.sourceforge.net/wiki/l10n/pluralforms\n/* eslint-disable */\nvar sets = [{ lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'ti', 'tr', 'uz', 'wa'], nr: [1, 2], fc: 1 }, { lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'he', 'hi', 'hu', 'hy', 'ia', 'it', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'], nr: [1, 2], fc: 2 }, { lngs: ['ay', 'bo', 'cgg', 'fa', 'id', 'ja', 'jbo', 'ka', 'kk', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'], nr: [1], fc: 3 }, { lngs: ['be', 'bs', 'dz', 'hr', 'ru', 'sr', 'uk'], nr: [1, 2, 5], fc: 4 }, { lngs: ['ar'], nr: [0, 1, 2, 3, 11, 100], fc: 5 }, { lngs: ['cs', 'sk'], nr: [1, 2, 5], fc: 6 }, { lngs: ['csb', 'pl'], nr: [1, 2, 5], fc: 7 }, { lngs: ['cy'], nr: [1, 2, 3, 8], fc: 8 }, { lngs: ['fr'], nr: [1, 2], fc: 9 }, { lngs: ['ga'], nr: [1, 2, 3, 7, 11], fc: 10 }, { lngs: ['gd'], nr: [1, 2, 3, 20], fc: 11 }, { lngs: ['is'], nr: [1, 2], fc: 12 }, { lngs: ['jv'], nr: [0, 1], fc: 13 }, { lngs: ['kw'], nr: [1, 2, 3, 4], fc: 14 }, { lngs: ['lt'], nr: [1, 2, 10], fc: 15 }, { lngs: ['lv'], nr: [1, 2, 0], fc: 16 }, { lngs: ['mk'], nr: [1, 2], fc: 17 }, { lngs: ['mnk'], nr: [0, 1, 2], fc: 18 }, { lngs: ['mt'], nr: [1, 2, 11, 20], fc: 19 }, { lngs: ['or'], nr: [2, 1], fc: 2 }, { lngs: ['ro'], nr: [1, 2, 20], fc: 20 }, { lngs: ['sl'], nr: [5, 1, 2, 3], fc: 21 }];\n\nvar _rulesPluralsTypes = {\n 1: function _(n) {\n return Number(n > 1);\n },\n 2: function _(n) {\n return Number(n != 1);\n },\n 3: function _(n) {\n return 0;\n },\n 4: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function _(n) {\n return Number(n === 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function _(n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function _(n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function _(n) {\n return Number(n >= 2);\n },\n 10: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function _(n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function _(n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function _(n) {\n return Number(n !== 0);\n },\n 14: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function _(n) {\n return Number(n == 1 || n % 10 == 1 ? 0 : 1);\n },\n 18: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function _(n) {\n return Number(n == 1 ? 0 : n === 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function _(n) {\n return Number(n == 1 ? 0 : n === 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function _(n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n }\n};\n/* eslint-enable */\n\nfunction createRules() {\n var rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\n\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, PluralResolver);\n\n this.languageUtils = languageUtils;\n this.options = options;\n\n this.logger = _logger_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].create('pluralResolver');\n\n this.rules = createRules();\n }\n\n PluralResolver.prototype.addRule = function addRule(lng, obj) {\n this.rules[lng] = obj;\n };\n\n PluralResolver.prototype.getRule = function getRule(code) {\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n };\n\n PluralResolver.prototype.needsPlural = function needsPlural(code) {\n var rule = this.getRule(code);\n\n return rule && rule.numbers.length > 1;\n };\n\n PluralResolver.prototype.getPluralFormsOfKey = function getPluralFormsOfKey(code, key) {\n var _this = this;\n\n var ret = [];\n\n var rule = this.getRule(code);\n\n if (!rule) return ret;\n\n rule.numbers.forEach(function (n) {\n var suffix = _this.getSuffix(code, n);\n ret.push('' + key + suffix);\n });\n\n return ret;\n };\n\n PluralResolver.prototype.getSuffix = function getSuffix(code, count) {\n var _this2 = this;\n\n var rule = this.getRule(code);\n\n if (rule) {\n // if (rule.numbers.length === 1) return ''; // only singular\n\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n\n // special treatment for lngs only having singular and plural\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\n\n // COMPATIBILITY JSON\n // v1\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return '_plural_' + suffix.toString();\n return returnSuffix();\n } else if ( /* v2 */this.options.compatibilityJSON === 'v2' && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n } else if ( /* v3 - gettext index */this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n\n this.logger.warn('no plural rule found for: ' + code);\n return '';\n };\n\n return PluralResolver;\n}();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (PluralResolver);\n\n//# sourceURL=webpack:///./node_modules/i18next/dist/es/PluralResolver.js?"); - -/***/ }), - -/***/ "./node_modules/i18next/dist/es/ResourceStore.js": -/*!*******************************************************!*\ - !*** ./node_modules/i18next/dist/es/ResourceStore.js ***! - \*******************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _EventEmitter_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./EventEmitter.js */ \"./node_modules/i18next/dist/es/EventEmitter.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils.js */ \"./node_modules/i18next/dist/es/utils.js\");\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\n\n\n\n\nvar ResourceStore = function (_EventEmitter) {\n _inherits(ResourceStore, _EventEmitter);\n\n function ResourceStore(data) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { ns: ['translation'], defaultNS: 'translation' };\n\n _classCallCheck(this, ResourceStore);\n\n var _this = _possibleConstructorReturn(this, _EventEmitter.call(this));\n\n _this.data = data || {};\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n return _this;\n }\n\n ResourceStore.prototype.addNamespaces = function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n };\n\n ResourceStore.prototype.removeNamespaces = function removeNamespaces(ns) {\n var index = this.options.ns.indexOf(ns);\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n };\n\n ResourceStore.prototype.getResource = function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n\n var path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n\n return _utils_js__WEBPACK_IMPORTED_MODULE_1__[\"getPath\"](this.data, path);\n };\n\n ResourceStore.prototype.addResource = function addResource(lng, ns, key, value) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : { silent: false };\n\n var keySeparator = this.options.keySeparator;\n if (keySeparator === undefined) keySeparator = '.';\n\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n\n _utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setPath\"](this.data, path, value);\n\n if (!options.silent) this.emit('added', lng, ns, key, value);\n };\n\n ResourceStore.prototype.addResources = function addResources(lng, ns, resources) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : { silent: false };\n\n /* eslint no-restricted-syntax: 0 */\n for (var m in resources) {\n if (typeof resources[m] === 'string') this.addResource(lng, ns, m, resources[m], { silent: true });\n }\n if (!options.silent) this.emit('added', lng, ns, resources);\n };\n\n ResourceStore.prototype.addResourceBundle = function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : { silent: false };\n\n var path = [lng, ns];\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n\n var pack = _utils_js__WEBPACK_IMPORTED_MODULE_1__[\"getPath\"](this.data, path) || {};\n\n if (deep) {\n _utils_js__WEBPACK_IMPORTED_MODULE_1__[\"deepExtend\"](pack, resources, overwrite);\n } else {\n pack = _extends({}, pack, resources);\n }\n\n _utils_js__WEBPACK_IMPORTED_MODULE_1__[\"setPath\"](this.data, path, pack);\n\n if (!options.silent) this.emit('added', lng, ns, resources);\n };\n\n ResourceStore.prototype.removeResourceBundle = function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n this.removeNamespaces(ns);\n\n this.emit('removed', lng, ns);\n };\n\n ResourceStore.prototype.hasResourceBundle = function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n };\n\n ResourceStore.prototype.getResourceBundle = function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n\n // COMPATIBILITY: remove extend in v2.1.0\n if (this.options.compatibilityAPI === 'v1') return _extends({}, this.getResource(lng, ns));\n\n return this.getResource(lng, ns);\n };\n\n ResourceStore.prototype.getDataByLanguage = function getDataByLanguage(lng) {\n return this.data[lng];\n };\n\n ResourceStore.prototype.toJSON = function toJSON() {\n return this.data;\n };\n\n return ResourceStore;\n}(_EventEmitter_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (ResourceStore);\n\n//# sourceURL=webpack:///./node_modules/i18next/dist/es/ResourceStore.js?"); - -/***/ }), - -/***/ "./node_modules/i18next/dist/es/Translator.js": -/*!****************************************************!*\ - !*** ./node_modules/i18next/dist/es/Translator.js ***! - \****************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _logger_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./logger.js */ \"./node_modules/i18next/dist/es/logger.js\");\n/* harmony import */ var _EventEmitter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./EventEmitter.js */ \"./node_modules/i18next/dist/es/EventEmitter.js\");\n/* harmony import */ var _postProcessor_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./postProcessor.js */ \"./node_modules/i18next/dist/es/postProcessor.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils.js */ \"./node_modules/i18next/dist/es/utils.js\");\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\n\n\n\n\n\n\nvar Translator = function (_EventEmitter) {\n _inherits(Translator, _EventEmitter);\n\n function Translator(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Translator);\n\n var _this = _possibleConstructorReturn(this, _EventEmitter.call(this));\n\n _utils_js__WEBPACK_IMPORTED_MODULE_3__[\"copy\"](['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat'], services, _this);\n\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n _this.logger = _logger_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].create('translator');\n return _this;\n }\n\n Translator.prototype.changeLanguage = function changeLanguage(lng) {\n if (lng) this.language = lng;\n };\n\n Translator.prototype.exists = function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { interpolation: {} };\n\n var resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n };\n\n Translator.prototype.extractFromKey = function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n\n var namespaces = options.ns || this.options.defaultNS;\n if (nsSeparator && key.indexOf(nsSeparator) > -1) {\n var parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n if (typeof namespaces === 'string') namespaces = [namespaces];\n\n return {\n key: key,\n namespaces: namespaces\n };\n };\n\n Translator.prototype.translate = function translate(keys, options) {\n var _this2 = this;\n\n if ((typeof options === 'undefined' ? 'undefined' : _typeof(options)) !== 'object' && this.options.overloadTranslationOptionHandler) {\n /* eslint prefer-rest-params: 0 */\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (!options) options = {};\n\n // non valid keys handling\n if (keys === undefined || keys === null || keys === '') return '';\n if (typeof keys === 'number') keys = String(keys);\n if (typeof keys === 'string') keys = [keys];\n\n // separators\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n\n // get namespace(s)\n\n var _extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _extractFromKey.key,\n namespaces = _extractFromKey.namespaces;\n\n var namespace = namespaces[namespaces.length - 1];\n\n // return key on CIMode\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n return namespace + nsSeparator + key;\n }\n\n return key;\n }\n\n // resolve from store\n var resolved = this.resolve(keys, options);\n var res = resolved && resolved.res;\n var resUsedKey = resolved && resolved.usedKey || key;\n\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n\n // object\n var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n if (res && handleAsObject && noObject.indexOf(resType) < 0 && !(joinArrays && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n return this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, options) : 'key \\'' + key + ' (' + this.language + ')\\' returned an object instead of string.';\n }\n\n // if we got a separator we loop over children - else we just return object as is\n // as having it set to false means no hierarchy so no lookup for nested values\n if (keySeparator) {\n var copy = resType === '[object Array]' ? [] : {}; // apply child translation on a copy\n\n /* eslint no-restricted-syntax: 0 */\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = '' + resUsedKey + keySeparator + m;\n copy[m] = this.translate(deepKey, _extends({}, options, { joinArrays: false, ns: namespaces }));\n if (copy[m] === deepKey) copy[m] = res[m]; // if nothing found use orginal value as fallback\n }\n }\n res = copy;\n }\n } else if (joinArrays && resType === '[object Array]') {\n // array special treatment\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options);\n } else {\n // string, empty or null\n var usedDefault = false;\n var usedKey = false;\n\n // fallback value\n if (!this.isValidLookup(res) && options.defaultValue !== undefined) {\n usedDefault = true;\n\n if (options.count !== undefined) {\n var suffix = this.pluralResolver.getSuffix(lng, options.count);\n res = options['defaultValue' + suffix];\n }\n if (!res) res = options.defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n\n // save missing\n var updateMissing = options.defaultValue && options.defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? options.defaultValue : res);\n\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n\n var send = function send(l, k) {\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, updateMissing ? options.defaultValue : res, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, updateMissing ? options.defaultValue : res, updateMissing, options);\n }\n _this2.emit('missingKey', l, namespace, k, res);\n };\n\n if (this.options.saveMissing) {\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (l) {\n var plurals = _this2.pluralResolver.getPluralFormsOfKey(l, key);\n\n plurals.forEach(function (p) {\n return send([l], p);\n });\n });\n } else {\n send(lngs, key);\n }\n }\n }\n\n // extend\n res = this.extendTranslation(res, keys, options, resolved);\n\n // append namespace if still key\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = namespace + ':' + key;\n\n // parseMissingKeyHandler\n if (usedKey && this.options.parseMissingKeyHandler) res = this.options.parseMissingKeyHandler(res);\n }\n\n // return\n return res;\n };\n\n Translator.prototype.extendTranslation = function extendTranslation(res, key, options, resolved) {\n var _this3 = this;\n\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, options, resolved.usedLng, resolved.usedNS, resolved.usedKey, { resolved: resolved });\n } else if (!options.skipInterpolation) {\n // i18next.parsing\n if (options.interpolation) this.interpolator.init(_extends({}, options, { interpolation: _extends({}, this.options.interpolation, options.interpolation) }));\n\n // interpolate\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _extends({}, this.options.interpolation.defaultVariables, data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language);\n\n // nesting\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n return _this3.translate.apply(_this3, arguments);\n }, options);\n\n if (options.interpolation) this.interpolator.reset();\n }\n\n // post process\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = _postProcessor_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].handle(postProcessorNames, res, key, options, this);\n }\n\n return res;\n };\n\n Translator.prototype.resolve = function resolve(keys) {\n var _this4 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var found = void 0;\n var usedKey = void 0;\n var usedLng = void 0;\n var usedNS = void 0;\n\n if (typeof keys === 'string') keys = [keys];\n\n // forEach possible key\n keys.forEach(function (k) {\n if (_this4.isValidLookup(found)) return;\n var extracted = _this4.extractFromKey(k, options);\n var key = extracted.key;\n usedKey = key;\n var namespaces = extracted.namespaces;\n if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);\n\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var needsContextHandling = options.context !== undefined && typeof options.context === 'string' && options.context !== '';\n\n var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language);\n\n namespaces.forEach(function (ns) {\n if (_this4.isValidLookup(found)) return;\n usedNS = ns;\n\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n\n var finalKey = key;\n var finalKeys = [finalKey];\n\n if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) {\n _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n var pluralSuffix = void 0;\n if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count);\n\n // fallback for plural if context not found\n if (needsPluralHandling && needsContextHandling) finalKeys.push(finalKey + pluralSuffix);\n\n // get key for context if needed\n if (needsContextHandling) finalKeys.push(finalKey += '' + _this4.options.contextSeparator + options.context);\n\n // get key for plural if needed\n if (needsPluralHandling) finalKeys.push(finalKey += pluralSuffix);\n }\n\n // iterate over finalKeys starting with most specific pluralkey (-> contextkey only) -> singularkey only\n var possibleKey = void 0;\n /* eslint no-cond-assign: 0 */\n while (possibleKey = finalKeys.pop()) {\n if (!_this4.isValidLookup(found)) {\n found = _this4.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n\n return { res: found, usedKey: usedKey, usedLng: usedLng, usedNS: usedNS };\n };\n\n Translator.prototype.isValidLookup = function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n };\n\n Translator.prototype.getResource = function getResource(code, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n return this.resourceStore.getResource(code, ns, key, options);\n };\n\n return Translator;\n}(_EventEmitter_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Translator);\n\n//# sourceURL=webpack:///./node_modules/i18next/dist/es/Translator.js?"); - -/***/ }), - -/***/ "./node_modules/i18next/dist/es/defaults.js": -/*!**************************************************!*\ - !*** ./node_modules/i18next/dist/es/defaults.js ***! - \**************************************************/ -/*! exports provided: get, transformOptions */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"get\", function() { return get; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"transformOptions\", function() { return transformOptions; });\n\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false, // string or array of namespaces\n\n whitelist: false, // array with whitelisted languages\n nonExplicitWhitelist: false,\n load: 'all', // | currentOnly | languageOnly\n preload: false, // array with preload languages\n\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n\n saveMissing: false, // enable to send missing values\n updateMissing: false, // enable to update default values if different from translated value (only useful on initial development, or when keeping code as source of truth)\n saveMissingTo: 'fallback', // 'current' || 'all'\n saveMissingPlurals: true, // will save all forms not only singular key\n missingKeyHandler: false, // function(lng, ns, key, fallbackValue) -> override if prefer on handling\n missingInterpolationHandler: false, // function(str, match)\n\n postProcess: false, // string or array of postProcessor names\n returnNull: true, // allows null value as valid translation\n returnEmptyString: true, // allows empty string value as valid translation\n returnObjects: false,\n joinArrays: false, // or string to join array\n returnedObjectHandler: function returnedObjectHandler() {}, // function(key, value, options) triggered if key returns object but returnObjects is set to false\n parseMissingKeyHandler: false, // function(key) parsed a key that was not found in t() before returning\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n var ret = {};\n if (args[1]) ret.defaultValue = args[1];\n if (args[2]) ret.tDescription = args[2];\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n // prefixEscaped: '{{',\n // suffixEscaped: '}}',\n // unescapeSuffix: '',\n unescapePrefix: '-',\n\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n // nestingPrefixEscaped: '$t(',\n // nestingSuffixEscaped: ')',\n // defaultVariables: undefined // object that can have values to interpolate on - extends passed in interpolation data\n maxReplaces: 1000 // max replaces to prevent endless loop\n }\n };\n}\n\n/* eslint no-param-reassign: 0 */\nfunction transformOptions(options) {\n // create namespace object if namespace is passed in as string\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n\n // extend whitelist with cimode\n if (options.whitelist && options.whitelist.indexOf('cimode') < 0) {\n options.whitelist = options.whitelist.concat(['cimode']);\n }\n\n return options;\n}\n\n//# sourceURL=webpack:///./node_modules/i18next/dist/es/defaults.js?"); - -/***/ }), - -/***/ "./node_modules/i18next/dist/es/i18next.js": -/*!*************************************************!*\ - !*** ./node_modules/i18next/dist/es/i18next.js ***! - \*************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _logger_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./logger.js */ \"./node_modules/i18next/dist/es/logger.js\");\n/* harmony import */ var _EventEmitter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./EventEmitter.js */ \"./node_modules/i18next/dist/es/EventEmitter.js\");\n/* harmony import */ var _ResourceStore_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ResourceStore.js */ \"./node_modules/i18next/dist/es/ResourceStore.js\");\n/* harmony import */ var _Translator_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Translator.js */ \"./node_modules/i18next/dist/es/Translator.js\");\n/* harmony import */ var _LanguageUtils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./LanguageUtils.js */ \"./node_modules/i18next/dist/es/LanguageUtils.js\");\n/* harmony import */ var _PluralResolver_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./PluralResolver.js */ \"./node_modules/i18next/dist/es/PluralResolver.js\");\n/* harmony import */ var _Interpolator_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Interpolator.js */ \"./node_modules/i18next/dist/es/Interpolator.js\");\n/* harmony import */ var _BackendConnector_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./BackendConnector.js */ \"./node_modules/i18next/dist/es/BackendConnector.js\");\n/* harmony import */ var _defaults_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./defaults.js */ \"./node_modules/i18next/dist/es/defaults.js\");\n/* harmony import */ var _postProcessor_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./postProcessor.js */ \"./node_modules/i18next/dist/es/postProcessor.js\");\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\n\n\n\n\n\n\n\n\n\n\n\n\nfunction noop() {}\n\nvar I18n = function (_EventEmitter) {\n _inherits(I18n, _EventEmitter);\n\n function I18n() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments[1];\n\n _classCallCheck(this, I18n);\n\n var _this = _possibleConstructorReturn(this, _EventEmitter.call(this));\n\n _this.options = Object(_defaults_js__WEBPACK_IMPORTED_MODULE_8__[\"transformOptions\"])(options);\n _this.services = {};\n _this.logger = _logger_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n _this.modules = { external: [] };\n\n if (callback && !_this.isInitialized && !options.isClone) {\n var _ret;\n\n // https://github.com/i18next/i18next/issues/879\n if (!_this.options.initImmediate) return _ret = _this.init(options, callback), _possibleConstructorReturn(_this, _ret);\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n return _this;\n }\n\n I18n.prototype.init = function init() {\n var _this2 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments[1];\n\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n this.options = _extends({}, Object(_defaults_js__WEBPACK_IMPORTED_MODULE_8__[\"get\"])(), this.options, Object(_defaults_js__WEBPACK_IMPORTED_MODULE_8__[\"transformOptions\"])(options));\n\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n\n // init services\n if (!this.options.isClone) {\n if (this.modules.logger) {\n _logger_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n _logger_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].init(null, this.options);\n }\n\n var lu = new _LanguageUtils_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"](this.options);\n this.store = new _ResourceStore_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"](this.options.resources, this.options);\n\n var s = this.services;\n s.logger = _logger_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new _PluralResolver_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"](lu, { prepend: this.options.pluralSeparator, compatibilityJSON: this.options.compatibilityJSON, simplifyPluralSuffix: this.options.simplifyPluralSuffix });\n s.interpolator = new _Interpolator_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"](this.options);\n\n s.backendConnector = new _BackendConnector_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"](createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n // pipe events from backendConnector\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n s.languageDetector.init(s, this.options.detection, this.options);\n }\n\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n\n this.translator = new _Translator_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"](this.services, this.options);\n // pipe events from translator\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n }\n\n // append api\n var storeApi = ['getResource', 'addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _store;\n\n return (_store = _this2.store)[fcName].apply(_store, arguments);\n };\n });\n\n var load = function load() {\n _this2.changeLanguage(_this2.options.lng, function (err, t) {\n _this2.isInitialized = true;\n _this2.logger.log('initialized', _this2.options);\n _this2.emit('initialized', _this2.options);\n\n callback(err, t);\n });\n };\n\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n\n return this;\n };\n\n /* eslint consistent-return: 0 */\n\n\n I18n.prototype.loadResources = function loadResources() {\n var _this3 = this;\n\n var callback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : noop;\n\n if (!this.options.resources) {\n if (this.language && this.language.toLowerCase() === 'cimode') return callback(); // avoid loading resources for cimode\n\n var toLoad = [];\n\n var append = function append(lng) {\n if (!lng) return;\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n\n if (!this.language) {\n // at least load fallbacks in this case\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(this.language);\n }\n\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n\n this.services.backendConnector.load(toLoad, this.options.ns, callback);\n } else {\n callback(null);\n }\n };\n\n I18n.prototype.reloadResources = function reloadResources(lngs, ns) {\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n this.services.backendConnector.reload(lngs, ns);\n };\n\n I18n.prototype.use = function use(module) {\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n\n if (module.type === 'postProcessor') {\n _postProcessor_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].addPostProcessor(module);\n }\n\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n\n return this;\n };\n\n I18n.prototype.changeLanguage = function changeLanguage(lng, callback) {\n var _this4 = this;\n\n var done = function done(err, l) {\n _this4.translator.changeLanguage(l);\n\n if (l) {\n _this4.emit('languageChanged', l);\n _this4.logger.log('languageChanged', l);\n }\n\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n\n var setLng = function setLng(l) {\n if (l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n\n if (_this4.services.languageDetector) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n\n _this4.loadResources(function (err) {\n done(err, l);\n });\n };\n\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n this.services.languageDetector.detect(setLng);\n } else {\n setLng(lng);\n }\n };\n\n I18n.prototype.getFixedT = function getFixedT(lng, ns) {\n var _this5 = this;\n\n var fixedT = function fixedT(key, opts) {\n for (var _len3 = arguments.length, rest = Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n\n var options = _extends({}, opts);\n if ((typeof opts === 'undefined' ? 'undefined' : _typeof(opts)) !== 'object') {\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n }\n\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n return _this5.t(key, options);\n };\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n return fixedT;\n };\n\n I18n.prototype.t = function t() {\n var _translator;\n\n return this.translator && (_translator = this.translator).translate.apply(_translator, arguments);\n };\n\n I18n.prototype.exists = function exists() {\n var _translator2;\n\n return this.translator && (_translator2 = this.translator).exists.apply(_translator2, arguments);\n };\n\n I18n.prototype.setDefaultNamespace = function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n };\n\n I18n.prototype.loadNamespaces = function loadNamespaces(ns, callback) {\n var _this6 = this;\n\n if (!this.options.ns) return callback && callback();\n if (typeof ns === 'string') ns = [ns];\n\n ns.forEach(function (n) {\n if (_this6.options.ns.indexOf(n) < 0) _this6.options.ns.push(n);\n });\n\n this.loadResources(callback);\n };\n\n I18n.prototype.loadLanguages = function loadLanguages(lngs, callback) {\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n });\n // Exit early if all given languages are already preloaded\n if (!newLngs.length) return callback();\n\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(callback);\n };\n\n I18n.prototype.dir = function dir(lng) {\n if (!lng) lng = this.languages && this.languages.length > 0 ? this.languages[0] : this.language;\n if (!lng) return 'rtl';\n\n var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam'];\n\n return rtlLngs.indexOf(this.services.languageUtils.getLanguagePartFromCode(lng)) >= 0 ? 'rtl' : 'ltr';\n };\n\n /* eslint class-methods-use-this: 0 */\n\n\n I18n.prototype.createInstance = function createInstance() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments[1];\n\n return new I18n(options, callback);\n };\n\n I18n.prototype.cloneInstance = function cloneInstance() {\n var _this7 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n\n var mergedOptions = _extends({}, this.options, options, { isClone: true });\n var clone = new I18n(mergedOptions);\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this7[m];\n });\n clone.translator = new _Translator_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"](clone.services, clone.options);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n\n clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options; // sync options\n\n return clone;\n };\n\n return I18n;\n}(_EventEmitter_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (new I18n());\n\n//# sourceURL=webpack:///./node_modules/i18next/dist/es/i18next.js?"); - -/***/ }), - -/***/ "./node_modules/i18next/dist/es/index.js": -/*!***********************************************!*\ - !*** ./node_modules/i18next/dist/es/index.js ***! - \***********************************************/ -/*! exports provided: default, changeLanguage, cloneInstance, createInstance, dir, exists, getFixedT, init, loadLanguages, loadNamespaces, loadResources, off, on, setDefaultNamespace, t, use */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"changeLanguage\", function() { return changeLanguage; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cloneInstance\", function() { return cloneInstance; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createInstance\", function() { return createInstance; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"dir\", function() { return dir; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"exists\", function() { return exists; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getFixedT\", function() { return getFixedT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"init\", function() { return init; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"loadLanguages\", function() { return loadLanguages; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"loadNamespaces\", function() { return loadNamespaces; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"loadResources\", function() { return loadResources; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"off\", function() { return off; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"on\", function() { return on; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setDefaultNamespace\", function() { return setDefaultNamespace; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"t\", function() { return t; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"use\", function() { return use; });\n/* harmony import */ var _i18next_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./i18next.js */ \"./node_modules/i18next/dist/es/i18next.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_i18next_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\nvar changeLanguage = _i18next_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].changeLanguage.bind(_i18next_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\nvar cloneInstance = _i18next_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].cloneInstance.bind(_i18next_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\nvar createInstance = _i18next_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].createInstance.bind(_i18next_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\nvar dir = _i18next_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].dir.bind(_i18next_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\nvar exists = _i18next_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].exists.bind(_i18next_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\nvar getFixedT = _i18next_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].getFixedT.bind(_i18next_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\nvar init = _i18next_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].init.bind(_i18next_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\nvar loadLanguages = _i18next_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].loadLanguages.bind(_i18next_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\nvar loadNamespaces = _i18next_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].loadNamespaces.bind(_i18next_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\nvar loadResources = _i18next_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].loadResources.bind(_i18next_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\nvar off = _i18next_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].off.bind(_i18next_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\nvar on = _i18next_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].on.bind(_i18next_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\nvar setDefaultNamespace = _i18next_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].setDefaultNamespace.bind(_i18next_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\nvar t = _i18next_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].t.bind(_i18next_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\nvar use = _i18next_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].use.bind(_i18next_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n//# sourceURL=webpack:///./node_modules/i18next/dist/es/index.js?"); - -/***/ }), - -/***/ "./node_modules/i18next/dist/es/logger.js": -/*!************************************************!*\ - !*** ./node_modules/i18next/dist/es/logger.js ***! - \************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nvar consoleLogger = {\n type: 'logger',\n\n log: function log(args) {\n this.output('log', args);\n },\n warn: function warn(args) {\n this.output('warn', args);\n },\n error: function error(args) {\n this.output('error', args);\n },\n output: function output(type, args) {\n var _console;\n\n /* eslint no-console: 0 */\n if (console && console[type]) (_console = console)[type].apply(_console, _toConsumableArray(args));\n }\n};\n\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Logger);\n\n this.init(concreteLogger, options);\n }\n\n Logger.prototype.init = function init(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n };\n\n Logger.prototype.setDebug = function setDebug(bool) {\n this.debug = bool;\n };\n\n Logger.prototype.log = function log() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return this.forward(args, 'log', '', true);\n };\n\n Logger.prototype.warn = function warn() {\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return this.forward(args, 'warn', '', true);\n };\n\n Logger.prototype.error = function error() {\n for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return this.forward(args, 'error', '');\n };\n\n Logger.prototype.deprecate = function deprecate() {\n for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n };\n\n Logger.prototype.forward = function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = '' + prefix + this.prefix + ' ' + args[0];\n return this.logger[lvl](args);\n };\n\n Logger.prototype.create = function create(moduleName) {\n return new Logger(this.logger, _extends({ prefix: this.prefix + ':' + moduleName + ':' }, this.options));\n };\n\n return Logger;\n}();\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (new Logger());\n\n//# sourceURL=webpack:///./node_modules/i18next/dist/es/logger.js?"); - -/***/ }), - -/***/ "./node_modules/i18next/dist/es/postProcessor.js": -/*!*******************************************************!*\ - !*** ./node_modules/i18next/dist/es/postProcessor.js ***! - \*******************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n\n processors: {},\n\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n\n return value;\n }\n});\n\n//# sourceURL=webpack:///./node_modules/i18next/dist/es/postProcessor.js?"); - -/***/ }), - -/***/ "./node_modules/i18next/dist/es/utils.js": -/*!***********************************************!*\ - !*** ./node_modules/i18next/dist/es/utils.js ***! - \***********************************************/ -/*! exports provided: makeString, copy, setPath, pushPath, getPath, deepExtend, regexEscape, escape */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"makeString\", function() { return makeString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"copy\", function() { return copy; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setPath\", function() { return setPath; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"pushPath\", function() { return pushPath; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getPath\", function() { return getPath; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"deepExtend\", function() { return deepExtend; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"regexEscape\", function() { return regexEscape; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"escape\", function() { return escape; });\nfunction makeString(object) {\n if (object == null) return '';\n /* eslint prefer-template: 0 */\n return '' + object;\n}\n\nfunction copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\n\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n object = object[key];\n }\n\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\n\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n\n obj[k] = newValue;\n}\n\nfunction pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\n\nfunction getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n\n if (!obj) return undefined;\n return obj[k];\n}\n\nfunction deepExtend(target, source, overwrite) {\n /* eslint no-restricted-syntax: 0 */\n for (var prop in source) {\n if (prop in target) {\n // If we reached a leaf string in target or source then replace with source or skip depending on the 'overwrite' switch\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n return target;\n}\n\nfunction regexEscape(str) {\n /* eslint no-useless-escape: 0 */\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\n\n/* eslint-disable */\nvar _entityMap = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': '"',\n \"'\": ''',\n \"/\": '/'\n};\n/* eslint-enable */\n\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n }\n\n return data;\n}\n\n//# sourceURL=webpack:///./node_modules/i18next/dist/es/utils.js?"); - -/***/ }), - -/***/ "./node_modules/ieee754/index.js": -/*!***************************************!*\ - !*** ./node_modules/ieee754/index.js ***! - \***************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -eval("exports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n\n\n//# sourceURL=webpack:///./node_modules/ieee754/index.js?"); - -/***/ }), - -/***/ "./node_modules/isarray/index.js": -/*!***************************************!*\ - !*** ./node_modules/isarray/index.js ***! - \***************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -eval("var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n\n\n//# sourceURL=webpack:///./node_modules/isarray/index.js?"); - -/***/ }), - -/***/ "./node_modules/jschardet/src/big5freq.js": -/*!************************************************!*\ - !*** ./node_modules/jschardet/src/big5freq.js ***! - \************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/*\n * The Original Code is Mozilla Universal charset detector code.\n *\n * The Initial Developer of the Original Code is\n * Netscape Communications Corporation.\n * Portions created by the Initial Developer are Copyright (C) 2001\n * the Initial Developer. All Rights Reserved.\n *\n * Contributor(s):\n * António Afonso (antonio.afonso gmail.com) - port to JavaScript\n * Mark Pilgrim - port to Python\n * Shy Shalom - original C code\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA\n */\n\n!function(jschardet) {\n\n// Big5 frequency table\n// by Taiwan's Mandarin Promotion Council\n// \n//\n// 128 --> 0.42261\n// 256 --> 0.57851\n// 512 --> 0.74851\n// 1024 --> 0.89384\n// 2048 --> 0.97583\n//\n// Ideal Distribution Ratio = 0.74851/(1-0.74851) =2.98\n// Random Distribution Ration = 512/(5401-512)=0.105\n//\n// Typical Distribution Ratio about 25% of Ideal one, still much higher than RDR\n\njschardet.BIG5_TYPICAL_DISTRIBUTION_RATIO = 0.75;\n\n//Char to FreqOrder table\njschardet.BIG5_TABLE_SIZE = 5376;\n\njschardet.Big5CharToFreqOrder = [\n 1,1801,1506, 255,1431, 198, 9, 82, 6,5008, 177, 202,3681,1256,2821, 110, // 16\n3814, 33,3274, 261, 76, 44,2114, 16,2946,2187,1176, 659,3971, 26,3451,2653, // 32\n1198,3972,3350,4202, 410,2215, 302, 590, 361,1964, 8, 204, 58,4510,5009,1932, // 48\n 63,5010,5011, 317,1614, 75, 222, 159,4203,2417,1480,5012,3555,3091, 224,2822, // 64\n3682, 3, 10,3973,1471, 29,2787,1135,2866,1940, 873, 130,3275,1123, 312,5013, // 80\n4511,2052, 507, 252, 682,5014, 142,1915, 124, 206,2947, 34,3556,3204, 64, 604, // 96\n5015,2501,1977,1978, 155,1991, 645, 641,1606,5016,3452, 337, 72, 406,5017, 80, // 112\n 630, 238,3205,1509, 263, 939,1092,2654, 756,1440,1094,3453, 449, 69,2987, 591, // 128\n 179,2096, 471, 115,2035,1844, 60, 50,2988, 134, 806,1869, 734,2036,3454, 180, // 144\n 995,1607, 156, 537,2907, 688,5018, 319,1305, 779,2145, 514,2379, 298,4512, 359, // 160\n2502, 90,2716,1338, 663, 11, 906,1099,2553, 20,2441, 182, 532,1716,5019, 732, // 176\n1376,4204,1311,1420,3206, 25,2317,1056, 113, 399, 382,1950, 242,3455,2474, 529, // 192\n3276, 475,1447,3683,5020, 117, 21, 656, 810,1297,2300,2334,3557,5021, 126,4205, // 208\n 706, 456, 150, 613,4513, 71,1118,2037,4206, 145,3092, 85, 835, 486,2115,1246, // 224\n1426, 428, 727,1285,1015, 800, 106, 623, 303,1281,5022,2128,2359, 347,3815, 221, // 240\n3558,3135,5023,1956,1153,4207, 83, 296,1199,3093, 192, 624, 93,5024, 822,1898, // 256\n2823,3136, 795,2065, 991,1554,1542,1592, 27, 43,2867, 859, 139,1456, 860,4514, // 272\n 437, 712,3974, 164,2397,3137, 695, 211,3037,2097, 195,3975,1608,3559,3560,3684, // 288\n3976, 234, 811,2989,2098,3977,2233,1441,3561,1615,2380, 668,2077,1638, 305, 228, // 304\n1664,4515, 467, 415,5025, 262,2099,1593, 239, 108, 300, 200,1033, 512,1247,2078, // 320\n5026,5027,2176,3207,3685,2682, 593, 845,1062,3277, 88,1723,2038,3978,1951, 212, // 336\n 266, 152, 149, 468,1899,4208,4516, 77, 187,5028,3038, 37, 5,2990,5029,3979, // 352\n5030,5031, 39,2524,4517,2908,3208,2079, 55, 148, 74,4518, 545, 483,1474,1029, // 368\n1665, 217,1870,1531,3138,1104,2655,4209, 24, 172,3562, 900,3980,3563,3564,4519, // 384\n 32,1408,2824,1312, 329, 487,2360,2251,2717, 784,2683, 4,3039,3351,1427,1789, // 400\n 188, 109, 499,5032,3686,1717,1790, 888,1217,3040,4520,5033,3565,5034,3352,1520, // 416\n3687,3981, 196,1034, 775,5035,5036, 929,1816, 249, 439, 38,5037,1063,5038, 794, // 432\n3982,1435,2301, 46, 178,3278,2066,5039,2381,5040, 214,1709,4521, 804, 35, 707, // 448\n 324,3688,1601,2554, 140, 459,4210,5041,5042,1365, 839, 272, 978,2262,2580,3456, // 464\n2129,1363,3689,1423, 697, 100,3094, 48, 70,1231, 495,3139,2196,5043,1294,5044, // 480\n2080, 462, 586,1042,3279, 853, 256, 988, 185,2382,3457,1698, 434,1084,5045,3458, // 496\n 314,2625,2788,4522,2335,2336, 569,2285, 637,1817,2525, 757,1162,1879,1616,3459, // 512\n 287,1577,2116, 768,4523,1671,2868,3566,2526,1321,3816, 909,2418,5046,4211, 933, // 528\n3817,4212,2053,2361,1222,4524, 765,2419,1322, 786,4525,5047,1920,1462,1677,2909, // 544\n1699,5048,4526,1424,2442,3140,3690,2600,3353,1775,1941,3460,3983,4213, 309,1369, // 560\n1130,2825, 364,2234,1653,1299,3984,3567,3985,3986,2656, 525,1085,3041, 902,2001, // 576\n1475, 964,4527, 421,1845,1415,1057,2286, 940,1364,3141, 376,4528,4529,1381, 7, // 592\n2527, 983,2383, 336,1710,2684,1846, 321,3461, 559,1131,3042,2752,1809,1132,1313, // 608\n 265,1481,1858,5049, 352,1203,2826,3280, 167,1089, 420,2827, 776, 792,1724,3568, // 624\n4214,2443,3281,5050,4215,5051, 446, 229, 333,2753, 901,3818,1200,1557,4530,2657, // 640\n1921, 395,2754,2685,3819,4216,1836, 125, 916,3209,2626,4531,5052,5053,3820,5054, // 656\n5055,5056,4532,3142,3691,1133,2555,1757,3462,1510,2318,1409,3569,5057,2146, 438, // 672\n2601,2910,2384,3354,1068, 958,3043, 461, 311,2869,2686,4217,1916,3210,4218,1979, // 688\n 383, 750,2755,2627,4219, 274, 539, 385,1278,1442,5058,1154,1965, 384, 561, 210, // 704\n 98,1295,2556,3570,5059,1711,2420,1482,3463,3987,2911,1257, 129,5060,3821, 642, // 720\n 523,2789,2790,2658,5061, 141,2235,1333, 68, 176, 441, 876, 907,4220, 603,2602, // 736\n 710, 171,3464, 404, 549, 18,3143,2398,1410,3692,1666,5062,3571,4533,2912,4534, // 752\n5063,2991, 368,5064, 146, 366, 99, 871,3693,1543, 748, 807,1586,1185, 22,2263, // 768\n 379,3822,3211,5065,3212, 505,1942,2628,1992,1382,2319,5066, 380,2362, 218, 702, // 784\n1818,1248,3465,3044,3572,3355,3282,5067,2992,3694, 930,3283,3823,5068, 59,5069, // 800\n 585, 601,4221, 497,3466,1112,1314,4535,1802,5070,1223,1472,2177,5071, 749,1837, // 816\n 690,1900,3824,1773,3988,1476, 429,1043,1791,2236,2117, 917,4222, 447,1086,1629, // 832\n5072, 556,5073,5074,2021,1654, 844,1090, 105, 550, 966,1758,2828,1008,1783, 686, // 848\n1095,5075,2287, 793,1602,5076,3573,2603,4536,4223,2948,2302,4537,3825, 980,2503, // 864\n 544, 353, 527,4538, 908,2687,2913,5077, 381,2629,1943,1348,5078,1341,1252, 560, // 880\n3095,5079,3467,2870,5080,2054, 973, 886,2081, 143,4539,5081,5082, 157,3989, 496, // 896\n4224, 57, 840, 540,2039,4540,4541,3468,2118,1445, 970,2264,1748,1966,2082,4225, // 912\n3144,1234,1776,3284,2829,3695, 773,1206,2130,1066,2040,1326,3990,1738,1725,4226, // 928\n 279,3145, 51,1544,2604, 423,1578,2131,2067, 173,4542,1880,5083,5084,1583, 264, // 944\n 610,3696,4543,2444, 280, 154,5085,5086,5087,1739, 338,1282,3096, 693,2871,1411, // 960\n1074,3826,2445,5088,4544,5089,5090,1240, 952,2399,5091,2914,1538,2688, 685,1483, // 976\n4227,2475,1436, 953,4228,2055,4545, 671,2400, 79,4229,2446,3285, 608, 567,2689, // 992\n3469,4230,4231,1691, 393,1261,1792,2401,5092,4546,5093,5094,5095,5096,1383,1672, // 1008\n3827,3213,1464, 522,1119, 661,1150, 216, 675,4547,3991,1432,3574, 609,4548,2690, // 1024\n2402,5097,5098,5099,4232,3045, 0,5100,2476, 315, 231,2447, 301,3356,4549,2385, // 1040\n5101, 233,4233,3697,1819,4550,4551,5102, 96,1777,1315,2083,5103, 257,5104,1810, // 1056\n3698,2718,1139,1820,4234,2022,1124,2164,2791,1778,2659,5105,3097, 363,1655,3214, // 1072\n5106,2993,5107,5108,5109,3992,1567,3993, 718, 103,3215, 849,1443, 341,3357,2949, // 1088\n1484,5110,1712, 127, 67, 339,4235,2403, 679,1412, 821,5111,5112, 834, 738, 351, // 1104\n2994,2147, 846, 235,1497,1881, 418,1993,3828,2719, 186,1100,2148,2756,3575,1545, // 1120\n1355,2950,2872,1377, 583,3994,4236,2581,2995,5113,1298,3699,1078,2557,3700,2363, // 1136\n 78,3829,3830, 267,1289,2100,2002,1594,4237, 348, 369,1274,2197,2178,1838,4552, // 1152\n1821,2830,3701,2757,2288,2003,4553,2951,2758, 144,3358, 882,4554,3995,2759,3470, // 1168\n4555,2915,5114,4238,1726, 320,5115,3996,3046, 788,2996,5116,2831,1774,1327,2873, // 1184\n3997,2832,5117,1306,4556,2004,1700,3831,3576,2364,2660, 787,2023, 506, 824,3702, // 1200\n 534, 323,4557,1044,3359,2024,1901, 946,3471,5118,1779,1500,1678,5119,1882,4558, // 1216\n 165, 243,4559,3703,2528, 123, 683,4239, 764,4560, 36,3998,1793, 589,2916, 816, // 1232\n 626,1667,3047,2237,1639,1555,1622,3832,3999,5120,4000,2874,1370,1228,1933, 891, // 1248\n2084,2917, 304,4240,5121, 292,2997,2720,3577, 691,2101,4241,1115,4561, 118, 662, // 1264\n5122, 611,1156, 854,2386,1316,2875, 2, 386, 515,2918,5123,5124,3286, 868,2238, // 1280\n1486, 855,2661, 785,2216,3048,5125,1040,3216,3578,5126,3146, 448,5127,1525,5128, // 1296\n2165,4562,5129,3833,5130,4242,2833,3579,3147, 503, 818,4001,3148,1568, 814, 676, // 1312\n1444, 306,1749,5131,3834,1416,1030, 197,1428, 805,2834,1501,4563,5132,5133,5134, // 1328\n1994,5135,4564,5136,5137,2198, 13,2792,3704,2998,3149,1229,1917,5138,3835,2132, // 1344\n5139,4243,4565,2404,3580,5140,2217,1511,1727,1120,5141,5142, 646,3836,2448, 307, // 1360\n5143,5144,1595,3217,5145,5146,5147,3705,1113,1356,4002,1465,2529,2530,5148, 519, // 1376\n5149, 128,2133, 92,2289,1980,5150,4003,1512, 342,3150,2199,5151,2793,2218,1981, // 1392\n3360,4244, 290,1656,1317, 789, 827,2365,5152,3837,4566, 562, 581,4004,5153, 401, // 1408\n4567,2252, 94,4568,5154,1399,2794,5155,1463,2025,4569,3218,1944,5156, 828,1105, // 1424\n4245,1262,1394,5157,4246, 605,4570,5158,1784,2876,5159,2835, 819,2102, 578,2200, // 1440\n2952,5160,1502, 436,3287,4247,3288,2836,4005,2919,3472,3473,5161,2721,2320,5162, // 1456\n5163,2337,2068, 23,4571, 193, 826,3838,2103, 699,1630,4248,3098, 390,1794,1064, // 1472\n3581,5164,1579,3099,3100,1400,5165,4249,1839,1640,2877,5166,4572,4573, 137,4250, // 1488\n 598,3101,1967, 780, 104, 974,2953,5167, 278, 899, 253, 402, 572, 504, 493,1339, // 1504\n5168,4006,1275,4574,2582,2558,5169,3706,3049,3102,2253, 565,1334,2722, 863, 41, // 1520\n5170,5171,4575,5172,1657,2338, 19, 463,2760,4251, 606,5173,2999,3289,1087,2085, // 1536\n1323,2662,3000,5174,1631,1623,1750,4252,2691,5175,2878, 791,2723,2663,2339, 232, // 1552\n2421,5176,3001,1498,5177,2664,2630, 755,1366,3707,3290,3151,2026,1609, 119,1918, // 1568\n3474, 862,1026,4253,5178,4007,3839,4576,4008,4577,2265,1952,2477,5179,1125, 817, // 1584\n4254,4255,4009,1513,1766,2041,1487,4256,3050,3291,2837,3840,3152,5180,5181,1507, // 1600\n5182,2692, 733, 40,1632,1106,2879, 345,4257, 841,2531, 230,4578,3002,1847,3292, // 1616\n3475,5183,1263, 986,3476,5184, 735, 879, 254,1137, 857, 622,1300,1180,1388,1562, // 1632\n4010,4011,2954, 967,2761,2665,1349, 592,2134,1692,3361,3003,1995,4258,1679,4012, // 1648\n1902,2188,5185, 739,3708,2724,1296,1290,5186,4259,2201,2202,1922,1563,2605,2559, // 1664\n1871,2762,3004,5187, 435,5188, 343,1108, 596, 17,1751,4579,2239,3477,3709,5189, // 1680\n4580, 294,3582,2955,1693, 477, 979, 281,2042,3583, 643,2043,3710,2631,2795,2266, // 1696\n1031,2340,2135,2303,3584,4581, 367,1249,2560,5190,3585,5191,4582,1283,3362,2005, // 1712\n 240,1762,3363,4583,4584, 836,1069,3153, 474,5192,2149,2532, 268,3586,5193,3219, // 1728\n1521,1284,5194,1658,1546,4260,5195,3587,3588,5196,4261,3364,2693,1685,4262, 961, // 1744\n1673,2632, 190,2006,2203,3841,4585,4586,5197, 570,2504,3711,1490,5198,4587,2633, // 1760\n3293,1957,4588, 584,1514, 396,1045,1945,5199,4589,1968,2449,5200,5201,4590,4013, // 1776\n 619,5202,3154,3294, 215,2007,2796,2561,3220,4591,3221,4592, 763,4263,3842,4593, // 1792\n5203,5204,1958,1767,2956,3365,3712,1174, 452,1477,4594,3366,3155,5205,2838,1253, // 1808\n2387,2189,1091,2290,4264, 492,5206, 638,1169,1825,2136,1752,4014, 648, 926,1021, // 1824\n1324,4595, 520,4596, 997, 847,1007, 892,4597,3843,2267,1872,3713,2405,1785,4598, // 1840\n1953,2957,3103,3222,1728,4265,2044,3714,4599,2008,1701,3156,1551, 30,2268,4266, // 1856\n5207,2027,4600,3589,5208, 501,5209,4267, 594,3478,2166,1822,3590,3479,3591,3223, // 1872\n 829,2839,4268,5210,1680,3157,1225,4269,5211,3295,4601,4270,3158,2341,5212,4602, // 1888\n4271,5213,4015,4016,5214,1848,2388,2606,3367,5215,4603, 374,4017, 652,4272,4273, // 1904\n 375,1140, 798,5216,5217,5218,2366,4604,2269, 546,1659, 138,3051,2450,4605,5219, // 1920\n2254, 612,1849, 910, 796,3844,1740,1371, 825,3845,3846,5220,2920,2562,5221, 692, // 1936\n 444,3052,2634, 801,4606,4274,5222,1491, 244,1053,3053,4275,4276, 340,5223,4018, // 1952\n1041,3005, 293,1168, 87,1357,5224,1539, 959,5225,2240, 721, 694,4277,3847, 219, // 1968\n1478, 644,1417,3368,2666,1413,1401,1335,1389,4019,5226,5227,3006,2367,3159,1826, // 1984\n 730,1515, 184,2840, 66,4607,5228,1660,2958, 246,3369, 378,1457, 226,3480, 975, // 2000\n4020,2959,1264,3592, 674, 696,5229, 163,5230,1141,2422,2167, 713,3593,3370,4608, // 2016\n4021,5231,5232,1186, 15,5233,1079,1070,5234,1522,3224,3594, 276,1050,2725, 758, // 2032\n1126, 653,2960,3296,5235,2342, 889,3595,4022,3104,3007, 903,1250,4609,4023,3481, // 2048\n3596,1342,1681,1718, 766,3297, 286, 89,2961,3715,5236,1713,5237,2607,3371,3008, // 2064\n5238,2962,2219,3225,2880,5239,4610,2505,2533, 181, 387,1075,4024, 731,2190,3372, // 2080\n5240,3298, 310, 313,3482,2304, 770,4278, 54,3054, 189,4611,3105,3848,4025,5241, // 2096\n1230,1617,1850, 355,3597,4279,4612,3373, 111,4280,3716,1350,3160,3483,3055,4281, // 2112\n2150,3299,3598,5242,2797,4026,4027,3009, 722,2009,5243,1071, 247,1207,2343,2478, // 2128\n1378,4613,2010, 864,1437,1214,4614, 373,3849,1142,2220, 667,4615, 442,2763,2563, // 2144\n3850,4028,1969,4282,3300,1840, 837, 170,1107, 934,1336,1883,5244,5245,2119,4283, // 2160\n2841, 743,1569,5246,4616,4284, 582,2389,1418,3484,5247,1803,5248, 357,1395,1729, // 2176\n3717,3301,2423,1564,2241,5249,3106,3851,1633,4617,1114,2086,4285,1532,5250, 482, // 2192\n2451,4618,5251,5252,1492, 833,1466,5253,2726,3599,1641,2842,5254,1526,1272,3718, // 2208\n4286,1686,1795, 416,2564,1903,1954,1804,5255,3852,2798,3853,1159,2321,5256,2881, // 2224\n4619,1610,1584,3056,2424,2764, 443,3302,1163,3161,5257,5258,4029,5259,4287,2506, // 2240\n3057,4620,4030,3162,2104,1647,3600,2011,1873,4288,5260,4289, 431,3485,5261, 250, // 2256\n 97, 81,4290,5262,1648,1851,1558, 160, 848,5263, 866, 740,1694,5264,2204,2843, // 2272\n3226,4291,4621,3719,1687, 950,2479, 426, 469,3227,3720,3721,4031,5265,5266,1188, // 2288\n 424,1996, 861,3601,4292,3854,2205,2694, 168,1235,3602,4293,5267,2087,1674,4622, // 2304\n3374,3303, 220,2565,1009,5268,3855, 670,3010, 332,1208, 717,5269,5270,3603,2452, // 2320\n4032,3375,5271, 513,5272,1209,2882,3376,3163,4623,1080,5273,5274,5275,5276,2534, // 2336\n3722,3604, 815,1587,4033,4034,5277,3605,3486,3856,1254,4624,1328,3058,1390,4035, // 2352\n1741,4036,3857,4037,5278, 236,3858,2453,3304,5279,5280,3723,3859,1273,3860,4625, // 2368\n5281, 308,5282,4626, 245,4627,1852,2480,1307,2583, 430, 715,2137,2454,5283, 270, // 2384\n 199,2883,4038,5284,3606,2727,1753, 761,1754, 725,1661,1841,4628,3487,3724,5285, // 2400\n5286, 587, 14,3305, 227,2608, 326, 480,2270, 943,2765,3607, 291, 650,1884,5287, // 2416\n1702,1226, 102,1547, 62,3488, 904,4629,3489,1164,4294,5288,5289,1224,1548,2766, // 2432\n 391, 498,1493,5290,1386,1419,5291,2056,1177,4630, 813, 880,1081,2368, 566,1145, // 2448\n4631,2291,1001,1035,2566,2609,2242, 394,1286,5292,5293,2069,5294, 86,1494,1730, // 2464\n4039, 491,1588, 745, 897,2963, 843,3377,4040,2767,2884,3306,1768, 998,2221,2070, // 2480\n 397,1827,1195,1970,3725,3011,3378, 284,5295,3861,2507,2138,2120,1904,5296,4041, // 2496\n2151,4042,4295,1036,3490,1905, 114,2567,4296, 209,1527,5297,5298,2964,2844,2635, // 2512\n2390,2728,3164, 812,2568,5299,3307,5300,1559, 737,1885,3726,1210, 885, 28,2695, // 2528\n3608,3862,5301,4297,1004,1780,4632,5302, 346,1982,2222,2696,4633,3863,1742, 797, // 2544\n1642,4043,1934,1072,1384,2152, 896,4044,3308,3727,3228,2885,3609,5303,2569,1959, // 2560\n4634,2455,1786,5304,5305,5306,4045,4298,1005,1308,3728,4299,2729,4635,4636,1528, // 2576\n2610, 161,1178,4300,1983, 987,4637,1101,4301, 631,4046,1157,3229,2425,1343,1241, // 2592\n1016,2243,2570, 372, 877,2344,2508,1160, 555,1935, 911,4047,5307, 466,1170, 169, // 2608\n1051,2921,2697,3729,2481,3012,1182,2012,2571,1251,2636,5308, 992,2345,3491,1540, // 2624\n2730,1201,2071,2406,1997,2482,5309,4638, 528,1923,2191,1503,1874,1570,2369,3379, // 2640\n3309,5310, 557,1073,5311,1828,3492,2088,2271,3165,3059,3107, 767,3108,2799,4639, // 2656\n1006,4302,4640,2346,1267,2179,3730,3230, 778,4048,3231,2731,1597,2667,5312,4641, // 2672\n5313,3493,5314,5315,5316,3310,2698,1433,3311, 131, 95,1504,4049, 723,4303,3166, // 2688\n1842,3610,2768,2192,4050,2028,2105,3731,5317,3013,4051,1218,5318,3380,3232,4052, // 2704\n4304,2584, 248,1634,3864, 912,5319,2845,3732,3060,3865, 654, 53,5320,3014,5321, // 2720\n1688,4642, 777,3494,1032,4053,1425,5322, 191, 820,2121,2846, 971,4643, 931,3233, // 2736\n 135, 664, 783,3866,1998, 772,2922,1936,4054,3867,4644,2923,3234, 282,2732, 640, // 2752\n1372,3495,1127, 922, 325,3381,5323,5324, 711,2045,5325,5326,4055,2223,2800,1937, // 2768\n4056,3382,2224,2255,3868,2305,5327,4645,3869,1258,3312,4057,3235,2139,2965,4058, // 2784\n4059,5328,2225, 258,3236,4646, 101,1227,5329,3313,1755,5330,1391,3314,5331,2924, // 2800\n2057, 893,5332,5333,5334,1402,4305,2347,5335,5336,3237,3611,5337,5338, 878,1325, // 2816\n1781,2801,4647, 259,1385,2585, 744,1183,2272,4648,5339,4060,2509,5340, 684,1024, // 2832\n4306,5341, 472,3612,3496,1165,3315,4061,4062, 322,2153, 881, 455,1695,1152,1340, // 2848\n 660, 554,2154,4649,1058,4650,4307, 830,1065,3383,4063,4651,1924,5342,1703,1919, // 2864\n5343, 932,2273, 122,5344,4652, 947, 677,5345,3870,2637, 297,1906,1925,2274,4653, // 2880\n2322,3316,5346,5347,4308,5348,4309, 84,4310, 112, 989,5349, 547,1059,4064, 701, // 2896\n3613,1019,5350,4311,5351,3497, 942, 639, 457,2306,2456, 993,2966, 407, 851, 494, // 2912\n4654,3384, 927,5352,1237,5353,2426,3385, 573,4312, 680, 921,2925,1279,1875, 285, // 2928\n 790,1448,1984, 719,2168,5354,5355,4655,4065,4066,1649,5356,1541, 563,5357,1077, // 2944\n5358,3386,3061,3498, 511,3015,4067,4068,3733,4069,1268,2572,3387,3238,4656,4657, // 2960\n5359, 535,1048,1276,1189,2926,2029,3167,1438,1373,2847,2967,1134,2013,5360,4313, // 2976\n1238,2586,3109,1259,5361, 700,5362,2968,3168,3734,4314,5363,4315,1146,1876,1907, // 2992\n4658,2611,4070, 781,2427, 132,1589, 203, 147, 273,2802,2407, 898,1787,2155,4071, // 3008\n4072,5364,3871,2803,5365,5366,4659,4660,5367,3239,5368,1635,3872, 965,5369,1805, // 3024\n2699,1516,3614,1121,1082,1329,3317,4073,1449,3873, 65,1128,2848,2927,2769,1590, // 3040\n3874,5370,5371, 12,2668, 45, 976,2587,3169,4661, 517,2535,1013,1037,3240,5372, // 3056\n3875,2849,5373,3876,5374,3499,5375,2612, 614,1999,2323,3877,3110,2733,2638,5376, // 3072\n2588,4316, 599,1269,5377,1811,3735,5378,2700,3111, 759,1060, 489,1806,3388,3318, // 3088\n1358,5379,5380,2391,1387,1215,2639,2256, 490,5381,5382,4317,1759,2392,2348,5383, // 3104\n4662,3878,1908,4074,2640,1807,3241,4663,3500,3319,2770,2349, 874,5384,5385,3501, // 3120\n3736,1859, 91,2928,3737,3062,3879,4664,5386,3170,4075,2669,5387,3502,1202,1403, // 3136\n3880,2969,2536,1517,2510,4665,3503,2511,5388,4666,5389,2701,1886,1495,1731,4076, // 3152\n2370,4667,5390,2030,5391,5392,4077,2702,1216, 237,2589,4318,2324,4078,3881,4668, // 3168\n4669,2703,3615,3504, 445,4670,5393,5394,5395,5396,2771, 61,4079,3738,1823,4080, // 3184\n5397, 687,2046, 935, 925, 405,2670, 703,1096,1860,2734,4671,4081,1877,1367,2704, // 3200\n3389, 918,2106,1782,2483, 334,3320,1611,1093,4672, 564,3171,3505,3739,3390, 945, // 3216\n2641,2058,4673,5398,1926, 872,4319,5399,3506,2705,3112, 349,4320,3740,4082,4674, // 3232\n3882,4321,3741,2156,4083,4675,4676,4322,4677,2408,2047, 782,4084, 400, 251,4323, // 3248\n1624,5400,5401, 277,3742, 299,1265, 476,1191,3883,2122,4324,4325,1109, 205,5402, // 3264\n2590,1000,2157,3616,1861,5403,5404,5405,4678,5406,4679,2573, 107,2484,2158,4085, // 3280\n3507,3172,5407,1533, 541,1301, 158, 753,4326,2886,3617,5408,1696, 370,1088,4327, // 3296\n4680,3618, 579, 327, 440, 162,2244, 269,1938,1374,3508, 968,3063, 56,1396,3113, // 3312\n2107,3321,3391,5409,1927,2159,4681,3016,5410,3619,5411,5412,3743,4682,2485,5413, // 3328\n2804,5414,1650,4683,5415,2613,5416,5417,4086,2671,3392,1149,3393,4087,3884,4088, // 3344\n5418,1076, 49,5419, 951,3242,3322,3323, 450,2850, 920,5420,1812,2805,2371,4328, // 3360\n1909,1138,2372,3885,3509,5421,3243,4684,1910,1147,1518,2428,4685,3886,5422,4686, // 3376\n2393,2614, 260,1796,3244,5423,5424,3887,3324, 708,5425,3620,1704,5426,3621,1351, // 3392\n1618,3394,3017,1887, 944,4329,3395,4330,3064,3396,4331,5427,3744, 422, 413,1714, // 3408\n3325, 500,2059,2350,4332,2486,5428,1344,1911, 954,5429,1668,5430,5431,4089,2409, // 3424\n4333,3622,3888,4334,5432,2307,1318,2512,3114, 133,3115,2887,4687, 629, 31,2851, // 3440\n2706,3889,4688, 850, 949,4689,4090,2970,1732,2089,4335,1496,1853,5433,4091, 620, // 3456\n3245, 981,1242,3745,3397,1619,3746,1643,3326,2140,2457,1971,1719,3510,2169,5434, // 3472\n3246,5435,5436,3398,1829,5437,1277,4690,1565,2048,5438,1636,3623,3116,5439, 869, // 3488\n2852, 655,3890,3891,3117,4092,3018,3892,1310,3624,4691,5440,5441,5442,1733, 558, // 3504\n4692,3747, 335,1549,3065,1756,4336,3748,1946,3511,1830,1291,1192, 470,2735,2108, // 3520\n2806, 913,1054,4093,5443,1027,5444,3066,4094,4693, 982,2672,3399,3173,3512,3247, // 3536\n3248,1947,2807,5445, 571,4694,5446,1831,5447,3625,2591,1523,2429,5448,2090, 984, // 3552\n4695,3749,1960,5449,3750, 852, 923,2808,3513,3751, 969,1519, 999,2049,2325,1705, // 3568\n5450,3118, 615,1662, 151, 597,4095,2410,2326,1049, 275,4696,3752,4337, 568,3753, // 3584\n3626,2487,4338,3754,5451,2430,2275, 409,3249,5452,1566,2888,3514,1002, 769,2853, // 3600\n 194,2091,3174,3755,2226,3327,4339, 628,1505,5453,5454,1763,2180,3019,4096, 521, // 3616\n1161,2592,1788,2206,2411,4697,4097,1625,4340,4341, 412, 42,3119, 464,5455,2642, // 3632\n4698,3400,1760,1571,2889,3515,2537,1219,2207,3893,2643,2141,2373,4699,4700,3328, // 3648\n1651,3401,3627,5456,5457,3628,2488,3516,5458,3756,5459,5460,2276,2092, 460,5461, // 3664\n4701,5462,3020, 962, 588,3629, 289,3250,2644,1116, 52,5463,3067,1797,5464,5465, // 3680\n5466,1467,5467,1598,1143,3757,4342,1985,1734,1067,4702,1280,3402, 465,4703,1572, // 3696\n 510,5468,1928,2245,1813,1644,3630,5469,4704,3758,5470,5471,2673,1573,1534,5472, // 3712\n5473, 536,1808,1761,3517,3894,3175,2645,5474,5475,5476,4705,3518,2929,1912,2809, // 3728\n5477,3329,1122, 377,3251,5478, 360,5479,5480,4343,1529, 551,5481,2060,3759,1769, // 3744\n2431,5482,2930,4344,3330,3120,2327,2109,2031,4706,1404, 136,1468,1479, 672,1171, // 3760\n3252,2308, 271,3176,5483,2772,5484,2050, 678,2736, 865,1948,4707,5485,2014,4098, // 3776\n2971,5486,2737,2227,1397,3068,3760,4708,4709,1735,2931,3403,3631,5487,3895, 509, // 3792\n2854,2458,2890,3896,5488,5489,3177,3178,4710,4345,2538,4711,2309,1166,1010, 552, // 3808\n 681,1888,5490,5491,2972,2973,4099,1287,1596,1862,3179, 358, 453, 736, 175, 478, // 3824\n1117, 905,1167,1097,5492,1854,1530,5493,1706,5494,2181,3519,2292,3761,3520,3632, // 3840\n4346,2093,4347,5495,3404,1193,2489,4348,1458,2193,2208,1863,1889,1421,3331,2932, // 3856\n3069,2182,3521, 595,2123,5496,4100,5497,5498,4349,1707,2646, 223,3762,1359, 751, // 3872\n3121, 183,3522,5499,2810,3021, 419,2374, 633, 704,3897,2394, 241,5500,5501,5502, // 3888\n 838,3022,3763,2277,2773,2459,3898,1939,2051,4101,1309,3122,2246,1181,5503,1136, // 3904\n2209,3899,2375,1446,4350,2310,4712,5504,5505,4351,1055,2615, 484,3764,5506,4102, // 3920\n 625,4352,2278,3405,1499,4353,4103,5507,4104,4354,3253,2279,2280,3523,5508,5509, // 3936\n2774, 808,2616,3765,3406,4105,4355,3123,2539, 526,3407,3900,4356, 955,5510,1620, // 3952\n4357,2647,2432,5511,1429,3766,1669,1832, 994, 928,5512,3633,1260,5513,5514,5515, // 3968\n1949,2293, 741,2933,1626,4358,2738,2460, 867,1184, 362,3408,1392,5516,5517,4106, // 3984\n4359,1770,1736,3254,2934,4713,4714,1929,2707,1459,1158,5518,3070,3409,2891,1292, // 4000\n1930,2513,2855,3767,1986,1187,2072,2015,2617,4360,5519,2574,2514,2170,3768,2490, // 4016\n3332,5520,3769,4715,5521,5522, 666,1003,3023,1022,3634,4361,5523,4716,1814,2257, // 4032\n 574,3901,1603, 295,1535, 705,3902,4362, 283, 858, 417,5524,5525,3255,4717,4718, // 4048\n3071,1220,1890,1046,2281,2461,4107,1393,1599, 689,2575, 388,4363,5526,2491, 802, // 4064\n5527,2811,3903,2061,1405,2258,5528,4719,3904,2110,1052,1345,3256,1585,5529, 809, // 4080\n5530,5531,5532, 575,2739,3524, 956,1552,1469,1144,2328,5533,2329,1560,2462,3635, // 4096\n3257,4108, 616,2210,4364,3180,2183,2294,5534,1833,5535,3525,4720,5536,1319,3770, // 4112\n3771,1211,3636,1023,3258,1293,2812,5537,5538,5539,3905, 607,2311,3906, 762,2892, // 4128\n1439,4365,1360,4721,1485,3072,5540,4722,1038,4366,1450,2062,2648,4367,1379,4723, // 4144\n2593,5541,5542,4368,1352,1414,2330,2935,1172,5543,5544,3907,3908,4724,1798,1451, // 4160\n5545,5546,5547,5548,2936,4109,4110,2492,2351, 411,4111,4112,3637,3333,3124,4725, // 4176\n1561,2674,1452,4113,1375,5549,5550, 47,2974, 316,5551,1406,1591,2937,3181,5552, // 4192\n1025,2142,3125,3182, 354,2740, 884,2228,4369,2412, 508,3772, 726,3638, 996,2433, // 4208\n3639, 729,5553, 392,2194,1453,4114,4726,3773,5554,5555,2463,3640,2618,1675,2813, // 4224\n 919,2352,2975,2353,1270,4727,4115, 73,5556,5557, 647,5558,3259,2856,2259,1550, // 4240\n1346,3024,5559,1332, 883,3526,5560,5561,5562,5563,3334,2775,5564,1212, 831,1347, // 4256\n4370,4728,2331,3909,1864,3073, 720,3910,4729,4730,3911,5565,4371,5566,5567,4731, // 4272\n5568,5569,1799,4732,3774,2619,4733,3641,1645,2376,4734,5570,2938, 669,2211,2675, // 4288\n2434,5571,2893,5572,5573,1028,3260,5574,4372,2413,5575,2260,1353,5576,5577,4735, // 4304\n3183, 518,5578,4116,5579,4373,1961,5580,2143,4374,5581,5582,3025,2354,2355,3912, // 4320\n 516,1834,1454,4117,2708,4375,4736,2229,2620,1972,1129,3642,5583,2776,5584,2976, // 4336\n1422, 577,1470,3026,1524,3410,5585,5586, 432,4376,3074,3527,5587,2594,1455,2515, // 4352\n2230,1973,1175,5588,1020,2741,4118,3528,4737,5589,2742,5590,1743,1361,3075,3529, // 4368\n2649,4119,4377,4738,2295, 895, 924,4378,2171, 331,2247,3076, 166,1627,3077,1098, // 4384\n5591,1232,2894,2231,3411,4739, 657, 403,1196,2377, 542,3775,3412,1600,4379,3530, // 4400\n5592,4740,2777,3261, 576, 530,1362,4741,4742,2540,2676,3776,4120,5593, 842,3913, // 4416\n5594,2814,2032,1014,4121, 213,2709,3413, 665, 621,4380,5595,3777,2939,2435,5596, // 4432\n2436,3335,3643,3414,4743,4381,2541,4382,4744,3644,1682,4383,3531,1380,5597, 724, // 4448\n2282, 600,1670,5598,1337,1233,4745,3126,2248,5599,1621,4746,5600, 651,4384,5601, // 4464\n1612,4385,2621,5602,2857,5603,2743,2312,3078,5604, 716,2464,3079, 174,1255,2710, // 4480\n4122,3645, 548,1320,1398, 728,4123,1574,5605,1891,1197,3080,4124,5606,3081,3082, // 4496\n3778,3646,3779, 747,5607, 635,4386,4747,5608,5609,5610,4387,5611,5612,4748,5613, // 4512\n3415,4749,2437, 451,5614,3780,2542,2073,4388,2744,4389,4125,5615,1764,4750,5616, // 4528\n4390, 350,4751,2283,2395,2493,5617,4391,4126,2249,1434,4127, 488,4752, 458,4392, // 4544\n4128,3781, 771,1330,2396,3914,2576,3184,2160,2414,1553,2677,3185,4393,5618,2494, // 4560\n2895,2622,1720,2711,4394,3416,4753,5619,2543,4395,5620,3262,4396,2778,5621,2016, // 4576\n2745,5622,1155,1017,3782,3915,5623,3336,2313, 201,1865,4397,1430,5624,4129,5625, // 4592\n5626,5627,5628,5629,4398,1604,5630, 414,1866, 371,2595,4754,4755,3532,2017,3127, // 4608\n4756,1708, 960,4399, 887, 389,2172,1536,1663,1721,5631,2232,4130,2356,2940,1580, // 4624\n5632,5633,1744,4757,2544,4758,4759,5634,4760,5635,2074,5636,4761,3647,3417,2896, // 4640\n4400,5637,4401,2650,3418,2815, 673,2712,2465, 709,3533,4131,3648,4402,5638,1148, // 4656\n 502, 634,5639,5640,1204,4762,3649,1575,4763,2623,3783,5641,3784,3128, 948,3263, // 4672\n 121,1745,3916,1110,5642,4403,3083,2516,3027,4132,3785,1151,1771,3917,1488,4133, // 4688\n1987,5643,2438,3534,5644,5645,2094,5646,4404,3918,1213,1407,2816, 531,2746,2545, // 4704\n3264,1011,1537,4764,2779,4405,3129,1061,5647,3786,3787,1867,2897,5648,2018, 120, // 4720\n4406,4407,2063,3650,3265,2314,3919,2678,3419,1955,4765,4134,5649,3535,1047,2713, // 4736\n1266,5650,1368,4766,2858, 649,3420,3920,2546,2747,1102,2859,2679,5651,5652,2000, // 4752\n5653,1111,3651,2977,5654,2495,3921,3652,2817,1855,3421,3788,5655,5656,3422,2415, // 4768\n2898,3337,3266,3653,5657,2577,5658,3654,2818,4135,1460, 856,5659,3655,5660,2899, // 4784\n2978,5661,2900,3922,5662,4408, 632,2517, 875,3923,1697,3924,2296,5663,5664,4767, // 4800\n3028,1239, 580,4768,4409,5665, 914, 936,2075,1190,4136,1039,2124,5666,5667,5668, // 4816\n5669,3423,1473,5670,1354,4410,3925,4769,2173,3084,4137, 915,3338,4411,4412,3339, // 4832\n1605,1835,5671,2748, 398,3656,4413,3926,4138, 328,1913,2860,4139,3927,1331,4414, // 4848\n3029, 937,4415,5672,3657,4140,4141,3424,2161,4770,3425, 524, 742, 538,3085,1012, // 4864\n5673,5674,3928,2466,5675, 658,1103, 225,3929,5676,5677,4771,5678,4772,5679,3267, // 4880\n1243,5680,4142, 963,2250,4773,5681,2714,3658,3186,5682,5683,2596,2332,5684,4774, // 4896\n5685,5686,5687,3536, 957,3426,2547,2033,1931,2941,2467, 870,2019,3659,1746,2780, // 4912\n2781,2439,2468,5688,3930,5689,3789,3130,3790,3537,3427,3791,5690,1179,3086,5691, // 4928\n3187,2378,4416,3792,2548,3188,3131,2749,4143,5692,3428,1556,2549,2297, 977,2901, // 4944\n2034,4144,1205,3429,5693,1765,3430,3189,2125,1271, 714,1689,4775,3538,5694,2333, // 4960\n3931, 533,4417,3660,2184, 617,5695,2469,3340,3539,2315,5696,5697,3190,5698,5699, // 4976\n3932,1988, 618, 427,2651,3540,3431,5700,5701,1244,1690,5702,2819,4418,4776,5703, // 4992\n3541,4777,5704,2284,1576, 473,3661,4419,3432, 972,5705,3662,5706,3087,5707,5708, // 5008\n4778,4779,5709,3793,4145,4146,5710, 153,4780, 356,5711,1892,2902,4420,2144, 408, // 5024\n 803,2357,5712,3933,5713,4421,1646,2578,2518,4781,4782,3934,5714,3935,4422,5715, // 5040\n2416,3433, 752,5716,5717,1962,3341,2979,5718, 746,3030,2470,4783,4423,3794, 698, // 5056\n4784,1893,4424,3663,2550,4785,3664,3936,5719,3191,3434,5720,1824,1302,4147,2715, // 5072\n3937,1974,4425,5721,4426,3192, 823,1303,1288,1236,2861,3542,4148,3435, 774,3938, // 5088\n5722,1581,4786,1304,2862,3939,4787,5723,2440,2162,1083,3268,4427,4149,4428, 344, // 5104\n1173, 288,2316, 454,1683,5724,5725,1461,4788,4150,2597,5726,5727,4789, 985, 894, // 5120\n5728,3436,3193,5729,1914,2942,3795,1989,5730,2111,1975,5731,4151,5732,2579,1194, // 5136\n 425,5733,4790,3194,1245,3796,4429,5734,5735,2863,5736, 636,4791,1856,3940, 760, // 5152\n1800,5737,4430,2212,1508,4792,4152,1894,1684,2298,5738,5739,4793,4431,4432,2213, // 5168\n 479,5740,5741, 832,5742,4153,2496,5743,2980,2497,3797, 990,3132, 627,1815,2652, // 5184\n4433,1582,4434,2126,2112,3543,4794,5744, 799,4435,3195,5745,4795,2113,1737,3031, // 5200\n1018, 543, 754,4436,3342,1676,4796,4797,4154,4798,1489,5746,3544,5747,2624,2903, // 5216\n4155,5748,5749,2981,5750,5751,5752,5753,3196,4799,4800,2185,1722,5754,3269,3270, // 5232\n1843,3665,1715, 481, 365,1976,1857,5755,5756,1963,2498,4801,5757,2127,3666,3271, // 5248\n 433,1895,2064,2076,5758, 602,2750,5759,5760,5761,5762,5763,3032,1628,3437,5764, // 5264\n3197,4802,4156,2904,4803,2519,5765,2551,2782,5766,5767,5768,3343,4804,2905,5769, // 5280\n4805,5770,2864,4806,4807,1221,2982,4157,2520,5771,5772,5773,1868,1990,5774,5775, // 5296\n5776,1896,5777,5778,4808,1897,4158, 318,5779,2095,4159,4437,5780,5781, 485,5782, // 5312\n 938,3941, 553,2680, 116,5783,3942,3667,5784,3545,2681,2783,3438,3344,2820,5785, // 5328\n3668,2943,4160,1747,2944,2983,5786,5787, 207,5788,4809,5789,4810,2521,5790,3033, // 5344\n 890,3669,3943,5791,1878,3798,3439,5792,2186,2358,3440,1652,5793,5794,5795, 941, // 5360\n2299, 208,3546,4161,2020, 330,4438,3944,2906,2499,3799,4439,4811,5796,5797,5798, // 5376 //last 512\n//Everything below is of no interest for detection purpose\n2522,1613,4812,5799,3345,3945,2523,5800,4162,5801,1637,4163,2471,4813,3946,5802, // 5392\n2500,3034,3800,5803,5804,2195,4814,5805,2163,5806,5807,5808,5809,5810,5811,5812, // 5408\n5813,5814,5815,5816,5817,5818,5819,5820,5821,5822,5823,5824,5825,5826,5827,5828, // 5424\n5829,5830,5831,5832,5833,5834,5835,5836,5837,5838,5839,5840,5841,5842,5843,5844, // 5440\n5845,5846,5847,5848,5849,5850,5851,5852,5853,5854,5855,5856,5857,5858,5859,5860, // 5456\n5861,5862,5863,5864,5865,5866,5867,5868,5869,5870,5871,5872,5873,5874,5875,5876, // 5472\n5877,5878,5879,5880,5881,5882,5883,5884,5885,5886,5887,5888,5889,5890,5891,5892, // 5488\n5893,5894,5895,5896,5897,5898,5899,5900,5901,5902,5903,5904,5905,5906,5907,5908, // 5504\n5909,5910,5911,5912,5913,5914,5915,5916,5917,5918,5919,5920,5921,5922,5923,5924, // 5520\n5925,5926,5927,5928,5929,5930,5931,5932,5933,5934,5935,5936,5937,5938,5939,5940, // 5536\n5941,5942,5943,5944,5945,5946,5947,5948,5949,5950,5951,5952,5953,5954,5955,5956, // 5552\n5957,5958,5959,5960,5961,5962,5963,5964,5965,5966,5967,5968,5969,5970,5971,5972, // 5568\n5973,5974,5975,5976,5977,5978,5979,5980,5981,5982,5983,5984,5985,5986,5987,5988, // 5584\n5989,5990,5991,5992,5993,5994,5995,5996,5997,5998,5999,6000,6001,6002,6003,6004, // 5600\n6005,6006,6007,6008,6009,6010,6011,6012,6013,6014,6015,6016,6017,6018,6019,6020, // 5616\n6021,6022,6023,6024,6025,6026,6027,6028,6029,6030,6031,6032,6033,6034,6035,6036, // 5632\n6037,6038,6039,6040,6041,6042,6043,6044,6045,6046,6047,6048,6049,6050,6051,6052, // 5648\n6053,6054,6055,6056,6057,6058,6059,6060,6061,6062,6063,6064,6065,6066,6067,6068, // 5664\n6069,6070,6071,6072,6073,6074,6075,6076,6077,6078,6079,6080,6081,6082,6083,6084, // 5680\n6085,6086,6087,6088,6089,6090,6091,6092,6093,6094,6095,6096,6097,6098,6099,6100, // 5696\n6101,6102,6103,6104,6105,6106,6107,6108,6109,6110,6111,6112,6113,6114,6115,6116, // 5712\n6117,6118,6119,6120,6121,6122,6123,6124,6125,6126,6127,6128,6129,6130,6131,6132, // 5728\n6133,6134,6135,6136,6137,6138,6139,6140,6141,6142,6143,6144,6145,6146,6147,6148, // 5744\n6149,6150,6151,6152,6153,6154,6155,6156,6157,6158,6159,6160,6161,6162,6163,6164, // 5760\n6165,6166,6167,6168,6169,6170,6171,6172,6173,6174,6175,6176,6177,6178,6179,6180, // 5776\n6181,6182,6183,6184,6185,6186,6187,6188,6189,6190,6191,6192,6193,6194,6195,6196, // 5792\n6197,6198,6199,6200,6201,6202,6203,6204,6205,6206,6207,6208,6209,6210,6211,6212, // 5808\n6213,6214,6215,6216,6217,6218,6219,6220,6221,6222,6223,3670,6224,6225,6226,6227, // 5824\n6228,6229,6230,6231,6232,6233,6234,6235,6236,6237,6238,6239,6240,6241,6242,6243, // 5840\n6244,6245,6246,6247,6248,6249,6250,6251,6252,6253,6254,6255,6256,6257,6258,6259, // 5856\n6260,6261,6262,6263,6264,6265,6266,6267,6268,6269,6270,6271,6272,6273,6274,6275, // 5872\n6276,6277,6278,6279,6280,6281,6282,6283,6284,6285,4815,6286,6287,6288,6289,6290, // 5888\n6291,6292,4816,6293,6294,6295,6296,6297,6298,6299,6300,6301,6302,6303,6304,6305, // 5904\n6306,6307,6308,6309,6310,6311,4817,4818,6312,6313,6314,6315,6316,6317,6318,4819, // 5920\n6319,6320,6321,6322,6323,6324,6325,6326,6327,6328,6329,6330,6331,6332,6333,6334, // 5936\n6335,6336,6337,4820,6338,6339,6340,6341,6342,6343,6344,6345,6346,6347,6348,6349, // 5952\n6350,6351,6352,6353,6354,6355,6356,6357,6358,6359,6360,6361,6362,6363,6364,6365, // 5968\n6366,6367,6368,6369,6370,6371,6372,6373,6374,6375,6376,6377,6378,6379,6380,6381, // 5984\n6382,6383,6384,6385,6386,6387,6388,6389,6390,6391,6392,6393,6394,6395,6396,6397, // 6000\n6398,6399,6400,6401,6402,6403,6404,6405,6406,6407,6408,6409,6410,3441,6411,6412, // 6016\n6413,6414,6415,6416,6417,6418,6419,6420,6421,6422,6423,6424,6425,4440,6426,6427, // 6032\n6428,6429,6430,6431,6432,6433,6434,6435,6436,6437,6438,6439,6440,6441,6442,6443, // 6048\n6444,6445,6446,6447,6448,6449,6450,6451,6452,6453,6454,4821,6455,6456,6457,6458, // 6064\n6459,6460,6461,6462,6463,6464,6465,6466,6467,6468,6469,6470,6471,6472,6473,6474, // 6080\n6475,6476,6477,3947,3948,6478,6479,6480,6481,3272,4441,6482,6483,6484,6485,4442, // 6096\n6486,6487,6488,6489,6490,6491,6492,6493,6494,6495,6496,4822,6497,6498,6499,6500, // 6112\n6501,6502,6503,6504,6505,6506,6507,6508,6509,6510,6511,6512,6513,6514,6515,6516, // 6128\n6517,6518,6519,6520,6521,6522,6523,6524,6525,6526,6527,6528,6529,6530,6531,6532, // 6144\n6533,6534,6535,6536,6537,6538,6539,6540,6541,6542,6543,6544,6545,6546,6547,6548, // 6160\n6549,6550,6551,6552,6553,6554,6555,6556,2784,6557,4823,6558,6559,6560,6561,6562, // 6176\n6563,6564,6565,6566,6567,6568,6569,3949,6570,6571,6572,4824,6573,6574,6575,6576, // 6192\n6577,6578,6579,6580,6581,6582,6583,4825,6584,6585,6586,3950,2785,6587,6588,6589, // 6208\n6590,6591,6592,6593,6594,6595,6596,6597,6598,6599,6600,6601,6602,6603,6604,6605, // 6224\n6606,6607,6608,6609,6610,6611,6612,4826,6613,6614,6615,4827,6616,6617,6618,6619, // 6240\n6620,6621,6622,6623,6624,6625,4164,6626,6627,6628,6629,6630,6631,6632,6633,6634, // 6256\n3547,6635,4828,6636,6637,6638,6639,6640,6641,6642,3951,2984,6643,6644,6645,6646, // 6272\n6647,6648,6649,4165,6650,4829,6651,6652,4830,6653,6654,6655,6656,6657,6658,6659, // 6288\n6660,6661,6662,4831,6663,6664,6665,6666,6667,6668,6669,6670,6671,4166,6672,4832, // 6304\n3952,6673,6674,6675,6676,4833,6677,6678,6679,4167,6680,6681,6682,3198,6683,6684, // 6320\n6685,6686,6687,6688,6689,6690,6691,6692,6693,6694,6695,6696,6697,4834,6698,6699, // 6336\n6700,6701,6702,6703,6704,6705,6706,6707,6708,6709,6710,6711,6712,6713,6714,6715, // 6352\n6716,6717,6718,6719,6720,6721,6722,6723,6724,6725,6726,6727,6728,6729,6730,6731, // 6368\n6732,6733,6734,4443,6735,6736,6737,6738,6739,6740,6741,6742,6743,6744,6745,4444, // 6384\n6746,6747,6748,6749,6750,6751,6752,6753,6754,6755,6756,6757,6758,6759,6760,6761, // 6400\n6762,6763,6764,6765,6766,6767,6768,6769,6770,6771,6772,6773,6774,6775,6776,6777, // 6416\n6778,6779,6780,6781,4168,6782,6783,3442,6784,6785,6786,6787,6788,6789,6790,6791, // 6432\n4169,6792,6793,6794,6795,6796,6797,6798,6799,6800,6801,6802,6803,6804,6805,6806, // 6448\n6807,6808,6809,6810,6811,4835,6812,6813,6814,4445,6815,6816,4446,6817,6818,6819, // 6464\n6820,6821,6822,6823,6824,6825,6826,6827,6828,6829,6830,6831,6832,6833,6834,6835, // 6480\n3548,6836,6837,6838,6839,6840,6841,6842,6843,6844,6845,6846,4836,6847,6848,6849, // 6496\n6850,6851,6852,6853,6854,3953,6855,6856,6857,6858,6859,6860,6861,6862,6863,6864, // 6512\n6865,6866,6867,6868,6869,6870,6871,6872,6873,6874,6875,6876,6877,3199,6878,6879, // 6528\n6880,6881,6882,4447,6883,6884,6885,6886,6887,6888,6889,6890,6891,6892,6893,6894, // 6544\n6895,6896,6897,6898,6899,6900,6901,6902,6903,6904,4170,6905,6906,6907,6908,6909, // 6560\n6910,6911,6912,6913,6914,6915,6916,6917,6918,6919,6920,6921,6922,6923,6924,6925, // 6576\n6926,6927,4837,6928,6929,6930,6931,6932,6933,6934,6935,6936,3346,6937,6938,4838, // 6592\n6939,6940,6941,4448,6942,6943,6944,6945,6946,4449,6947,6948,6949,6950,6951,6952, // 6608\n6953,6954,6955,6956,6957,6958,6959,6960,6961,6962,6963,6964,6965,6966,6967,6968, // 6624\n6969,6970,6971,6972,6973,6974,6975,6976,6977,6978,6979,6980,6981,6982,6983,6984, // 6640\n6985,6986,6987,6988,6989,6990,6991,6992,6993,6994,3671,6995,6996,6997,6998,4839, // 6656\n6999,7000,7001,7002,3549,7003,7004,7005,7006,7007,7008,7009,7010,7011,7012,7013, // 6672\n7014,7015,7016,7017,7018,7019,7020,7021,7022,7023,7024,7025,7026,7027,7028,7029, // 6688\n7030,4840,7031,7032,7033,7034,7035,7036,7037,7038,4841,7039,7040,7041,7042,7043, // 6704\n7044,7045,7046,7047,7048,7049,7050,7051,7052,7053,7054,7055,7056,7057,7058,7059, // 6720\n7060,7061,7062,7063,7064,7065,7066,7067,7068,7069,7070,2985,7071,7072,7073,7074, // 6736\n7075,7076,7077,7078,7079,7080,4842,7081,7082,7083,7084,7085,7086,7087,7088,7089, // 6752\n7090,7091,7092,7093,7094,7095,7096,7097,7098,7099,7100,7101,7102,7103,7104,7105, // 6768\n7106,7107,7108,7109,7110,7111,7112,7113,7114,7115,7116,7117,7118,4450,7119,7120, // 6784\n7121,7122,7123,7124,7125,7126,7127,7128,7129,7130,7131,7132,7133,7134,7135,7136, // 6800\n7137,7138,7139,7140,7141,7142,7143,4843,7144,7145,7146,7147,7148,7149,7150,7151, // 6816\n7152,7153,7154,7155,7156,7157,7158,7159,7160,7161,7162,7163,7164,7165,7166,7167, // 6832\n7168,7169,7170,7171,7172,7173,7174,7175,7176,7177,7178,7179,7180,7181,7182,7183, // 6848\n7184,7185,7186,7187,7188,4171,4172,7189,7190,7191,7192,7193,7194,7195,7196,7197, // 6864\n7198,7199,7200,7201,7202,7203,7204,7205,7206,7207,7208,7209,7210,7211,7212,7213, // 6880\n7214,7215,7216,7217,7218,7219,7220,7221,7222,7223,7224,7225,7226,7227,7228,7229, // 6896\n7230,7231,7232,7233,7234,7235,7236,7237,7238,7239,7240,7241,7242,7243,7244,7245, // 6912\n7246,7247,7248,7249,7250,7251,7252,7253,7254,7255,7256,7257,7258,7259,7260,7261, // 6928\n7262,7263,7264,7265,7266,7267,7268,7269,7270,7271,7272,7273,7274,7275,7276,7277, // 6944\n7278,7279,7280,7281,7282,7283,7284,7285,7286,7287,7288,7289,7290,7291,7292,7293, // 6960\n7294,7295,7296,4844,7297,7298,7299,7300,7301,7302,7303,7304,7305,7306,7307,7308, // 6976\n7309,7310,7311,7312,7313,7314,7315,7316,4451,7317,7318,7319,7320,7321,7322,7323, // 6992\n7324,7325,7326,7327,7328,7329,7330,7331,7332,7333,7334,7335,7336,7337,7338,7339, // 7008\n7340,7341,7342,7343,7344,7345,7346,7347,7348,7349,7350,7351,7352,7353,4173,7354, // 7024\n7355,4845,7356,7357,7358,7359,7360,7361,7362,7363,7364,7365,7366,7367,7368,7369, // 7040\n7370,7371,7372,7373,7374,7375,7376,7377,7378,7379,7380,7381,7382,7383,7384,7385, // 7056\n7386,7387,7388,4846,7389,7390,7391,7392,7393,7394,7395,7396,7397,7398,7399,7400, // 7072\n7401,7402,7403,7404,7405,3672,7406,7407,7408,7409,7410,7411,7412,7413,7414,7415, // 7088\n7416,7417,7418,7419,7420,7421,7422,7423,7424,7425,7426,7427,7428,7429,7430,7431, // 7104\n7432,7433,7434,7435,7436,7437,7438,7439,7440,7441,7442,7443,7444,7445,7446,7447, // 7120\n7448,7449,7450,7451,7452,7453,4452,7454,3200,7455,7456,7457,7458,7459,7460,7461, // 7136\n7462,7463,7464,7465,7466,7467,7468,7469,7470,7471,7472,7473,7474,4847,7475,7476, // 7152\n7477,3133,7478,7479,7480,7481,7482,7483,7484,7485,7486,7487,7488,7489,7490,7491, // 7168\n7492,7493,7494,7495,7496,7497,7498,7499,7500,7501,7502,3347,7503,7504,7505,7506, // 7184\n7507,7508,7509,7510,7511,7512,7513,7514,7515,7516,7517,7518,7519,7520,7521,4848, // 7200\n7522,7523,7524,7525,7526,7527,7528,7529,7530,7531,7532,7533,7534,7535,7536,7537, // 7216\n7538,7539,7540,7541,7542,7543,7544,7545,7546,7547,7548,7549,3801,4849,7550,7551, // 7232\n7552,7553,7554,7555,7556,7557,7558,7559,7560,7561,7562,7563,7564,7565,7566,7567, // 7248\n7568,7569,3035,7570,7571,7572,7573,7574,7575,7576,7577,7578,7579,7580,7581,7582, // 7264\n7583,7584,7585,7586,7587,7588,7589,7590,7591,7592,7593,7594,7595,7596,7597,7598, // 7280\n7599,7600,7601,7602,7603,7604,7605,7606,7607,7608,7609,7610,7611,7612,7613,7614, // 7296\n7615,7616,4850,7617,7618,3802,7619,7620,7621,7622,7623,7624,7625,7626,7627,7628, // 7312\n7629,7630,7631,7632,4851,7633,7634,7635,7636,7637,7638,7639,7640,7641,7642,7643, // 7328\n7644,7645,7646,7647,7648,7649,7650,7651,7652,7653,7654,7655,7656,7657,7658,7659, // 7344\n7660,7661,7662,7663,7664,7665,7666,7667,7668,7669,7670,4453,7671,7672,7673,7674, // 7360\n7675,7676,7677,7678,7679,7680,7681,7682,7683,7684,7685,7686,7687,7688,7689,7690, // 7376\n7691,7692,7693,7694,7695,7696,7697,3443,7698,7699,7700,7701,7702,4454,7703,7704, // 7392\n7705,7706,7707,7708,7709,7710,7711,7712,7713,2472,7714,7715,7716,7717,7718,7719, // 7408\n7720,7721,7722,7723,7724,7725,7726,7727,7728,7729,7730,7731,3954,7732,7733,7734, // 7424\n7735,7736,7737,7738,7739,7740,7741,7742,7743,7744,7745,7746,7747,7748,7749,7750, // 7440\n3134,7751,7752,4852,7753,7754,7755,4853,7756,7757,7758,7759,7760,4174,7761,7762, // 7456\n7763,7764,7765,7766,7767,7768,7769,7770,7771,7772,7773,7774,7775,7776,7777,7778, // 7472\n7779,7780,7781,7782,7783,7784,7785,7786,7787,7788,7789,7790,7791,7792,7793,7794, // 7488\n7795,7796,7797,7798,7799,7800,7801,7802,7803,7804,7805,4854,7806,7807,7808,7809, // 7504\n7810,7811,7812,7813,7814,7815,7816,7817,7818,7819,7820,7821,7822,7823,7824,7825, // 7520\n4855,7826,7827,7828,7829,7830,7831,7832,7833,7834,7835,7836,7837,7838,7839,7840, // 7536\n7841,7842,7843,7844,7845,7846,7847,3955,7848,7849,7850,7851,7852,7853,7854,7855, // 7552\n7856,7857,7858,7859,7860,3444,7861,7862,7863,7864,7865,7866,7867,7868,7869,7870, // 7568\n7871,7872,7873,7874,7875,7876,7877,7878,7879,7880,7881,7882,7883,7884,7885,7886, // 7584\n7887,7888,7889,7890,7891,4175,7892,7893,7894,7895,7896,4856,4857,7897,7898,7899, // 7600\n7900,2598,7901,7902,7903,7904,7905,7906,7907,7908,4455,7909,7910,7911,7912,7913, // 7616\n7914,3201,7915,7916,7917,7918,7919,7920,7921,4858,7922,7923,7924,7925,7926,7927, // 7632\n7928,7929,7930,7931,7932,7933,7934,7935,7936,7937,7938,7939,7940,7941,7942,7943, // 7648\n7944,7945,7946,7947,7948,7949,7950,7951,7952,7953,7954,7955,7956,7957,7958,7959, // 7664\n7960,7961,7962,7963,7964,7965,7966,7967,7968,7969,7970,7971,7972,7973,7974,7975, // 7680\n7976,7977,7978,7979,7980,7981,4859,7982,7983,7984,7985,7986,7987,7988,7989,7990, // 7696\n7991,7992,7993,7994,7995,7996,4860,7997,7998,7999,8000,8001,8002,8003,8004,8005, // 7712\n8006,8007,8008,8009,8010,8011,8012,8013,8014,8015,8016,4176,8017,8018,8019,8020, // 7728\n8021,8022,8023,4861,8024,8025,8026,8027,8028,8029,8030,8031,8032,8033,8034,8035, // 7744\n8036,4862,4456,8037,8038,8039,8040,4863,8041,8042,8043,8044,8045,8046,8047,8048, // 7760\n8049,8050,8051,8052,8053,8054,8055,8056,8057,8058,8059,8060,8061,8062,8063,8064, // 7776\n8065,8066,8067,8068,8069,8070,8071,8072,8073,8074,8075,8076,8077,8078,8079,8080, // 7792\n8081,8082,8083,8084,8085,8086,8087,8088,8089,8090,8091,8092,8093,8094,8095,8096, // 7808\n8097,8098,8099,4864,4177,8100,8101,8102,8103,8104,8105,8106,8107,8108,8109,8110, // 7824\n8111,8112,8113,8114,8115,8116,8117,8118,8119,8120,4178,8121,8122,8123,8124,8125, // 7840\n8126,8127,8128,8129,8130,8131,8132,8133,8134,8135,8136,8137,8138,8139,8140,8141, // 7856\n8142,8143,8144,8145,4865,4866,8146,8147,8148,8149,8150,8151,8152,8153,8154,8155, // 7872\n8156,8157,8158,8159,8160,8161,8162,8163,8164,8165,4179,8166,8167,8168,8169,8170, // 7888\n8171,8172,8173,8174,8175,8176,8177,8178,8179,8180,8181,4457,8182,8183,8184,8185, // 7904\n8186,8187,8188,8189,8190,8191,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201, // 7920\n8202,8203,8204,8205,8206,8207,8208,8209,8210,8211,8212,8213,8214,8215,8216,8217, // 7936\n8218,8219,8220,8221,8222,8223,8224,8225,8226,8227,8228,8229,8230,8231,8232,8233, // 7952\n8234,8235,8236,8237,8238,8239,8240,8241,8242,8243,8244,8245,8246,8247,8248,8249, // 7968\n8250,8251,8252,8253,8254,8255,8256,3445,8257,8258,8259,8260,8261,8262,4458,8263, // 7984\n8264,8265,8266,8267,8268,8269,8270,8271,8272,4459,8273,8274,8275,8276,3550,8277, // 8000\n8278,8279,8280,8281,8282,8283,8284,8285,8286,8287,8288,8289,4460,8290,8291,8292, // 8016\n8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,8304,8305,8306,8307,4867, // 8032\n8308,8309,8310,8311,8312,3551,8313,8314,8315,8316,8317,8318,8319,8320,8321,8322, // 8048\n8323,8324,8325,8326,4868,8327,8328,8329,8330,8331,8332,8333,8334,8335,8336,8337, // 8064\n8338,8339,8340,8341,8342,8343,8344,8345,8346,8347,8348,8349,8350,8351,8352,8353, // 8080\n8354,8355,8356,8357,8358,8359,8360,8361,8362,8363,4869,4461,8364,8365,8366,8367, // 8096\n8368,8369,8370,4870,8371,8372,8373,8374,8375,8376,8377,8378,8379,8380,8381,8382, // 8112\n8383,8384,8385,8386,8387,8388,8389,8390,8391,8392,8393,8394,8395,8396,8397,8398, // 8128\n8399,8400,8401,8402,8403,8404,8405,8406,8407,8408,8409,8410,4871,8411,8412,8413, // 8144\n8414,8415,8416,8417,8418,8419,8420,8421,8422,4462,8423,8424,8425,8426,8427,8428, // 8160\n8429,8430,8431,8432,8433,2986,8434,8435,8436,8437,8438,8439,8440,8441,8442,8443, // 8176\n8444,8445,8446,8447,8448,8449,8450,8451,8452,8453,8454,8455,8456,8457,8458,8459, // 8192\n8460,8461,8462,8463,8464,8465,8466,8467,8468,8469,8470,8471,8472,8473,8474,8475, // 8208\n8476,8477,8478,4180,8479,8480,8481,8482,8483,8484,8485,8486,8487,8488,8489,8490, // 8224\n8491,8492,8493,8494,8495,8496,8497,8498,8499,8500,8501,8502,8503,8504,8505,8506, // 8240\n8507,8508,8509,8510,8511,8512,8513,8514,8515,8516,8517,8518,8519,8520,8521,8522, // 8256\n8523,8524,8525,8526,8527,8528,8529,8530,8531,8532,8533,8534,8535,8536,8537,8538, // 8272\n8539,8540,8541,8542,8543,8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,8554, // 8288\n8555,8556,8557,8558,8559,8560,8561,8562,8563,8564,4872,8565,8566,8567,8568,8569, // 8304\n8570,8571,8572,8573,4873,8574,8575,8576,8577,8578,8579,8580,8581,8582,8583,8584, // 8320\n8585,8586,8587,8588,8589,8590,8591,8592,8593,8594,8595,8596,8597,8598,8599,8600, // 8336\n8601,8602,8603,8604,8605,3803,8606,8607,8608,8609,8610,8611,8612,8613,4874,3804, // 8352\n8614,8615,8616,8617,8618,8619,8620,8621,3956,8622,8623,8624,8625,8626,8627,8628, // 8368\n8629,8630,8631,8632,8633,8634,8635,8636,8637,8638,2865,8639,8640,8641,8642,8643, // 8384\n8644,8645,8646,8647,8648,8649,8650,8651,8652,8653,8654,8655,8656,4463,8657,8658, // 8400\n8659,4875,4876,8660,8661,8662,8663,8664,8665,8666,8667,8668,8669,8670,8671,8672, // 8416\n8673,8674,8675,8676,8677,8678,8679,8680,8681,4464,8682,8683,8684,8685,8686,8687, // 8432\n8688,8689,8690,8691,8692,8693,8694,8695,8696,8697,8698,8699,8700,8701,8702,8703, // 8448\n8704,8705,8706,8707,8708,8709,2261,8710,8711,8712,8713,8714,8715,8716,8717,8718, // 8464\n8719,8720,8721,8722,8723,8724,8725,8726,8727,8728,8729,8730,8731,8732,8733,4181, // 8480\n8734,8735,8736,8737,8738,8739,8740,8741,8742,8743,8744,8745,8746,8747,8748,8749, // 8496\n8750,8751,8752,8753,8754,8755,8756,8757,8758,8759,8760,8761,8762,8763,4877,8764, // 8512\n8765,8766,8767,8768,8769,8770,8771,8772,8773,8774,8775,8776,8777,8778,8779,8780, // 8528\n8781,8782,8783,8784,8785,8786,8787,8788,4878,8789,4879,8790,8791,8792,4880,8793, // 8544\n8794,8795,8796,8797,8798,8799,8800,8801,4881,8802,8803,8804,8805,8806,8807,8808, // 8560\n8809,8810,8811,8812,8813,8814,8815,3957,8816,8817,8818,8819,8820,8821,8822,8823, // 8576\n8824,8825,8826,8827,8828,8829,8830,8831,8832,8833,8834,8835,8836,8837,8838,8839, // 8592\n8840,8841,8842,8843,8844,8845,8846,8847,4882,8848,8849,8850,8851,8852,8853,8854, // 8608\n8855,8856,8857,8858,8859,8860,8861,8862,8863,8864,8865,8866,8867,8868,8869,8870, // 8624\n8871,8872,8873,8874,8875,8876,8877,8878,8879,8880,8881,8882,8883,8884,3202,8885, // 8640\n8886,8887,8888,8889,8890,8891,8892,8893,8894,8895,8896,8897,8898,8899,8900,8901, // 8656\n8902,8903,8904,8905,8906,8907,8908,8909,8910,8911,8912,8913,8914,8915,8916,8917, // 8672\n8918,8919,8920,8921,8922,8923,8924,4465,8925,8926,8927,8928,8929,8930,8931,8932, // 8688\n4883,8933,8934,8935,8936,8937,8938,8939,8940,8941,8942,8943,2214,8944,8945,8946, // 8704\n8947,8948,8949,8950,8951,8952,8953,8954,8955,8956,8957,8958,8959,8960,8961,8962, // 8720\n8963,8964,8965,4884,8966,8967,8968,8969,8970,8971,8972,8973,8974,8975,8976,8977, // 8736\n8978,8979,8980,8981,8982,8983,8984,8985,8986,8987,8988,8989,8990,8991,8992,4885, // 8752\n8993,8994,8995,8996,8997,8998,8999,9000,9001,9002,9003,9004,9005,9006,9007,9008, // 8768\n9009,9010,9011,9012,9013,9014,9015,9016,9017,9018,9019,9020,9021,4182,9022,9023, // 8784\n9024,9025,9026,9027,9028,9029,9030,9031,9032,9033,9034,9035,9036,9037,9038,9039, // 8800\n9040,9041,9042,9043,9044,9045,9046,9047,9048,9049,9050,9051,9052,9053,9054,9055, // 8816\n9056,9057,9058,9059,9060,9061,9062,9063,4886,9064,9065,9066,9067,9068,9069,4887, // 8832\n9070,9071,9072,9073,9074,9075,9076,9077,9078,9079,9080,9081,9082,9083,9084,9085, // 8848\n9086,9087,9088,9089,9090,9091,9092,9093,9094,9095,9096,9097,9098,9099,9100,9101, // 8864\n9102,9103,9104,9105,9106,9107,9108,9109,9110,9111,9112,9113,9114,9115,9116,9117, // 8880\n9118,9119,9120,9121,9122,9123,9124,9125,9126,9127,9128,9129,9130,9131,9132,9133, // 8896\n9134,9135,9136,9137,9138,9139,9140,9141,3958,9142,9143,9144,9145,9146,9147,9148, // 8912\n9149,9150,9151,4888,9152,9153,9154,9155,9156,9157,9158,9159,9160,9161,9162,9163, // 8928\n9164,9165,9166,9167,9168,9169,9170,9171,9172,9173,9174,9175,4889,9176,9177,9178, // 8944\n9179,9180,9181,9182,9183,9184,9185,9186,9187,9188,9189,9190,9191,9192,9193,9194, // 8960\n9195,9196,9197,9198,9199,9200,9201,9202,9203,4890,9204,9205,9206,9207,9208,9209, // 8976\n9210,9211,9212,9213,9214,9215,9216,9217,9218,9219,9220,9221,9222,4466,9223,9224, // 8992\n9225,9226,9227,9228,9229,9230,9231,9232,9233,9234,9235,9236,9237,9238,9239,9240, // 9008\n9241,9242,9243,9244,9245,4891,9246,9247,9248,9249,9250,9251,9252,9253,9254,9255, // 9024\n9256,9257,4892,9258,9259,9260,9261,4893,4894,9262,9263,9264,9265,9266,9267,9268, // 9040\n9269,9270,9271,9272,9273,4467,9274,9275,9276,9277,9278,9279,9280,9281,9282,9283, // 9056\n9284,9285,3673,9286,9287,9288,9289,9290,9291,9292,9293,9294,9295,9296,9297,9298, // 9072\n9299,9300,9301,9302,9303,9304,9305,9306,9307,9308,9309,9310,9311,9312,9313,9314, // 9088\n9315,9316,9317,9318,9319,9320,9321,9322,4895,9323,9324,9325,9326,9327,9328,9329, // 9104\n9330,9331,9332,9333,9334,9335,9336,9337,9338,9339,9340,9341,9342,9343,9344,9345, // 9120\n9346,9347,4468,9348,9349,9350,9351,9352,9353,9354,9355,9356,9357,9358,9359,9360, // 9136\n9361,9362,9363,9364,9365,9366,9367,9368,9369,9370,9371,9372,9373,4896,9374,4469, // 9152\n9375,9376,9377,9378,9379,4897,9380,9381,9382,9383,9384,9385,9386,9387,9388,9389, // 9168\n9390,9391,9392,9393,9394,9395,9396,9397,9398,9399,9400,9401,9402,9403,9404,9405, // 9184\n9406,4470,9407,2751,9408,9409,3674,3552,9410,9411,9412,9413,9414,9415,9416,9417, // 9200\n9418,9419,9420,9421,4898,9422,9423,9424,9425,9426,9427,9428,9429,3959,9430,9431, // 9216\n9432,9433,9434,9435,9436,4471,9437,9438,9439,9440,9441,9442,9443,9444,9445,9446, // 9232\n9447,9448,9449,9450,3348,9451,9452,9453,9454,9455,9456,9457,9458,9459,9460,9461, // 9248\n9462,9463,9464,9465,9466,9467,9468,9469,9470,9471,9472,4899,9473,9474,9475,9476, // 9264\n9477,4900,9478,9479,9480,9481,9482,9483,9484,9485,9486,9487,9488,3349,9489,9490, // 9280\n9491,9492,9493,9494,9495,9496,9497,9498,9499,9500,9501,9502,9503,9504,9505,9506, // 9296\n9507,9508,9509,9510,9511,9512,9513,9514,9515,9516,9517,9518,9519,9520,4901,9521, // 9312\n9522,9523,9524,9525,9526,4902,9527,9528,9529,9530,9531,9532,9533,9534,9535,9536, // 9328\n9537,9538,9539,9540,9541,9542,9543,9544,9545,9546,9547,9548,9549,9550,9551,9552, // 9344\n9553,9554,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568, // 9360\n9569,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,9581,9582,9583,9584, // 9376\n3805,9585,9586,9587,9588,9589,9590,9591,9592,9593,9594,9595,9596,9597,9598,9599, // 9392\n9600,9601,9602,4903,9603,9604,9605,9606,9607,4904,9608,9609,9610,9611,9612,9613, // 9408\n9614,4905,9615,9616,9617,9618,9619,9620,9621,9622,9623,9624,9625,9626,9627,9628, // 9424\n9629,9630,9631,9632,4906,9633,9634,9635,9636,9637,9638,9639,9640,9641,9642,9643, // 9440\n4907,9644,9645,9646,9647,9648,9649,9650,9651,9652,9653,9654,9655,9656,9657,9658, // 9456\n9659,9660,9661,9662,9663,9664,9665,9666,9667,9668,9669,9670,9671,9672,4183,9673, // 9472\n9674,9675,9676,9677,4908,9678,9679,9680,9681,4909,9682,9683,9684,9685,9686,9687, // 9488\n9688,9689,9690,4910,9691,9692,9693,3675,9694,9695,9696,2945,9697,9698,9699,9700, // 9504\n9701,9702,9703,9704,9705,4911,9706,9707,9708,9709,9710,9711,9712,9713,9714,9715, // 9520\n9716,9717,9718,9719,9720,9721,9722,9723,9724,9725,9726,9727,9728,9729,9730,9731, // 9536\n9732,9733,9734,9735,4912,9736,9737,9738,9739,9740,4913,9741,9742,9743,9744,9745, // 9552\n9746,9747,9748,9749,9750,9751,9752,9753,9754,9755,9756,9757,9758,4914,9759,9760, // 9568\n9761,9762,9763,9764,9765,9766,9767,9768,9769,9770,9771,9772,9773,9774,9775,9776, // 9584\n9777,9778,9779,9780,9781,9782,4915,9783,9784,9785,9786,9787,9788,9789,9790,9791, // 9600\n9792,9793,4916,9794,9795,9796,9797,9798,9799,9800,9801,9802,9803,9804,9805,9806, // 9616\n9807,9808,9809,9810,9811,9812,9813,9814,9815,9816,9817,9818,9819,9820,9821,9822, // 9632\n9823,9824,9825,9826,9827,9828,9829,9830,9831,9832,9833,9834,9835,9836,9837,9838, // 9648\n9839,9840,9841,9842,9843,9844,9845,9846,9847,9848,9849,9850,9851,9852,9853,9854, // 9664\n9855,9856,9857,9858,9859,9860,9861,9862,9863,9864,9865,9866,9867,9868,4917,9869, // 9680\n9870,9871,9872,9873,9874,9875,9876,9877,9878,9879,9880,9881,9882,9883,9884,9885, // 9696\n9886,9887,9888,9889,9890,9891,9892,4472,9893,9894,9895,9896,9897,3806,9898,9899, // 9712\n9900,9901,9902,9903,9904,9905,9906,9907,9908,9909,9910,9911,9912,9913,9914,4918, // 9728\n9915,9916,9917,4919,9918,9919,9920,9921,4184,9922,9923,9924,9925,9926,9927,9928, // 9744\n9929,9930,9931,9932,9933,9934,9935,9936,9937,9938,9939,9940,9941,9942,9943,9944, // 9760\n9945,9946,4920,9947,9948,9949,9950,9951,9952,9953,9954,9955,4185,9956,9957,9958, // 9776\n9959,9960,9961,9962,9963,9964,9965,4921,9966,9967,9968,4473,9969,9970,9971,9972, // 9792\n9973,9974,9975,9976,9977,4474,9978,9979,9980,9981,9982,9983,9984,9985,9986,9987, // 9808\n9988,9989,9990,9991,9992,9993,9994,9995,9996,9997,9998,9999,10000,10001,10002,10003, // 9824\n10004,10005,10006,10007,10008,10009,10010,10011,10012,10013,10014,10015,10016,10017,10018,10019, // 9840\n10020,10021,4922,10022,4923,10023,10024,10025,10026,10027,10028,10029,10030,10031,10032,10033, // 9856\n10034,10035,10036,10037,10038,10039,10040,10041,10042,10043,10044,10045,10046,10047,10048,4924, // 9872\n10049,10050,10051,10052,10053,10054,10055,10056,10057,10058,10059,10060,10061,10062,10063,10064, // 9888\n10065,10066,10067,10068,10069,10070,10071,10072,10073,10074,10075,10076,10077,10078,10079,10080, // 9904\n10081,10082,10083,10084,10085,10086,10087,4475,10088,10089,10090,10091,10092,10093,10094,10095, // 9920\n10096,10097,4476,10098,10099,10100,10101,10102,10103,10104,10105,10106,10107,10108,10109,10110, // 9936\n10111,2174,10112,10113,10114,10115,10116,10117,10118,10119,10120,10121,10122,10123,10124,10125, // 9952\n10126,10127,10128,10129,10130,10131,10132,10133,10134,10135,10136,10137,10138,10139,10140,3807, // 9968\n4186,4925,10141,10142,10143,10144,10145,10146,10147,4477,4187,10148,10149,10150,10151,10152, // 9984\n10153,4188,10154,10155,10156,10157,10158,10159,10160,10161,4926,10162,10163,10164,10165,10166, //10000\n10167,10168,10169,10170,10171,10172,10173,10174,10175,10176,10177,10178,10179,10180,10181,10182, //10016\n10183,10184,10185,10186,10187,10188,10189,10190,10191,10192,3203,10193,10194,10195,10196,10197, //10032\n10198,10199,10200,4478,10201,10202,10203,10204,4479,10205,10206,10207,10208,10209,10210,10211, //10048\n10212,10213,10214,10215,10216,10217,10218,10219,10220,10221,10222,10223,10224,10225,10226,10227, //10064\n10228,10229,10230,10231,10232,10233,10234,4927,10235,10236,10237,10238,10239,10240,10241,10242, //10080\n10243,10244,10245,10246,10247,10248,10249,10250,10251,10252,10253,10254,10255,10256,10257,10258, //10096\n10259,10260,10261,10262,10263,10264,10265,10266,10267,10268,10269,10270,10271,10272,10273,4480, //10112\n4928,4929,10274,10275,10276,10277,10278,10279,10280,10281,10282,10283,10284,10285,10286,10287, //10128\n10288,10289,10290,10291,10292,10293,10294,10295,10296,10297,10298,10299,10300,10301,10302,10303, //10144\n10304,10305,10306,10307,10308,10309,10310,10311,10312,10313,10314,10315,10316,10317,10318,10319, //10160\n10320,10321,10322,10323,10324,10325,10326,10327,10328,10329,10330,10331,10332,10333,10334,4930, //10176\n10335,10336,10337,10338,10339,10340,10341,10342,4931,10343,10344,10345,10346,10347,10348,10349, //10192\n10350,10351,10352,10353,10354,10355,3088,10356,2786,10357,10358,10359,10360,4189,10361,10362, //10208\n10363,10364,10365,10366,10367,10368,10369,10370,10371,10372,10373,10374,10375,4932,10376,10377, //10224\n10378,10379,10380,10381,10382,10383,10384,10385,10386,10387,10388,10389,10390,10391,10392,4933, //10240\n10393,10394,10395,4934,10396,10397,10398,10399,10400,10401,10402,10403,10404,10405,10406,10407, //10256\n10408,10409,10410,10411,10412,3446,10413,10414,10415,10416,10417,10418,10419,10420,10421,10422, //10272\n10423,4935,10424,10425,10426,10427,10428,10429,10430,4936,10431,10432,10433,10434,10435,10436, //10288\n10437,10438,10439,10440,10441,10442,10443,4937,10444,10445,10446,10447,4481,10448,10449,10450, //10304\n10451,10452,10453,10454,10455,10456,10457,10458,10459,10460,10461,10462,10463,10464,10465,10466, //10320\n10467,10468,10469,10470,10471,10472,10473,10474,10475,10476,10477,10478,10479,10480,10481,10482, //10336\n10483,10484,10485,10486,10487,10488,10489,10490,10491,10492,10493,10494,10495,10496,10497,10498, //10352\n10499,10500,10501,10502,10503,10504,10505,4938,10506,10507,10508,10509,10510,2552,10511,10512, //10368\n10513,10514,10515,10516,3447,10517,10518,10519,10520,10521,10522,10523,10524,10525,10526,10527, //10384\n10528,10529,10530,10531,10532,10533,10534,10535,10536,10537,10538,10539,10540,10541,10542,10543, //10400\n4482,10544,4939,10545,10546,10547,10548,10549,10550,10551,10552,10553,10554,10555,10556,10557, //10416\n10558,10559,10560,10561,10562,10563,10564,10565,10566,10567,3676,4483,10568,10569,10570,10571, //10432\n10572,3448,10573,10574,10575,10576,10577,10578,10579,10580,10581,10582,10583,10584,10585,10586, //10448\n10587,10588,10589,10590,10591,10592,10593,10594,10595,10596,10597,10598,10599,10600,10601,10602, //10464\n10603,10604,10605,10606,10607,10608,10609,10610,10611,10612,10613,10614,10615,10616,10617,10618, //10480\n10619,10620,10621,10622,10623,10624,10625,10626,10627,4484,10628,10629,10630,10631,10632,4940, //10496\n10633,10634,10635,10636,10637,10638,10639,10640,10641,10642,10643,10644,10645,10646,10647,10648, //10512\n10649,10650,10651,10652,10653,10654,10655,10656,4941,10657,10658,10659,2599,10660,10661,10662, //10528\n10663,10664,10665,10666,3089,10667,10668,10669,10670,10671,10672,10673,10674,10675,10676,10677, //10544\n10678,10679,10680,4942,10681,10682,10683,10684,10685,10686,10687,10688,10689,10690,10691,10692, //10560\n10693,10694,10695,10696,10697,4485,10698,10699,10700,10701,10702,10703,10704,4943,10705,3677, //10576\n10706,10707,10708,10709,10710,10711,10712,4944,10713,10714,10715,10716,10717,10718,10719,10720, //10592\n10721,10722,10723,10724,10725,10726,10727,10728,4945,10729,10730,10731,10732,10733,10734,10735, //10608\n10736,10737,10738,10739,10740,10741,10742,10743,10744,10745,10746,10747,10748,10749,10750,10751, //10624\n10752,10753,10754,10755,10756,10757,10758,10759,10760,10761,4946,10762,10763,10764,10765,10766, //10640\n10767,4947,4948,10768,10769,10770,10771,10772,10773,10774,10775,10776,10777,10778,10779,10780, //10656\n10781,10782,10783,10784,10785,10786,10787,10788,10789,10790,10791,10792,10793,10794,10795,10796, //10672\n10797,10798,10799,10800,10801,10802,10803,10804,10805,10806,10807,10808,10809,10810,10811,10812, //10688\n10813,10814,10815,10816,10817,10818,10819,10820,10821,10822,10823,10824,10825,10826,10827,10828, //10704\n10829,10830,10831,10832,10833,10834,10835,10836,10837,10838,10839,10840,10841,10842,10843,10844, //10720\n10845,10846,10847,10848,10849,10850,10851,10852,10853,10854,10855,10856,10857,10858,10859,10860, //10736\n10861,10862,10863,10864,10865,10866,10867,10868,10869,10870,10871,10872,10873,10874,10875,10876, //10752\n10877,10878,4486,10879,10880,10881,10882,10883,10884,10885,4949,10886,10887,10888,10889,10890, //10768\n10891,10892,10893,10894,10895,10896,10897,10898,10899,10900,10901,10902,10903,10904,10905,10906, //10784\n10907,10908,10909,10910,10911,10912,10913,10914,10915,10916,10917,10918,10919,4487,10920,10921, //10800\n10922,10923,10924,10925,10926,10927,10928,10929,10930,10931,10932,4950,10933,10934,10935,10936, //10816\n10937,10938,10939,10940,10941,10942,10943,10944,10945,10946,10947,10948,10949,4488,10950,10951, //10832\n10952,10953,10954,10955,10956,10957,10958,10959,4190,10960,10961,10962,10963,10964,10965,10966, //10848\n10967,10968,10969,10970,10971,10972,10973,10974,10975,10976,10977,10978,10979,10980,10981,10982, //10864\n10983,10984,10985,10986,10987,10988,10989,10990,10991,10992,10993,10994,10995,10996,10997,10998, //10880\n10999,11000,11001,11002,11003,11004,11005,11006,3960,11007,11008,11009,11010,11011,11012,11013, //10896\n11014,11015,11016,11017,11018,11019,11020,11021,11022,11023,11024,11025,11026,11027,11028,11029, //10912\n11030,11031,11032,4951,11033,11034,11035,11036,11037,11038,11039,11040,11041,11042,11043,11044, //10928\n11045,11046,11047,4489,11048,11049,11050,11051,4952,11052,11053,11054,11055,11056,11057,11058, //10944\n4953,11059,11060,11061,11062,11063,11064,11065,11066,11067,11068,11069,11070,11071,4954,11072, //10960\n11073,11074,11075,11076,11077,11078,11079,11080,11081,11082,11083,11084,11085,11086,11087,11088, //10976\n11089,11090,11091,11092,11093,11094,11095,11096,11097,11098,11099,11100,11101,11102,11103,11104, //10992\n11105,11106,11107,11108,11109,11110,11111,11112,11113,11114,11115,3808,11116,11117,11118,11119, //11008\n11120,11121,11122,11123,11124,11125,11126,11127,11128,11129,11130,11131,11132,11133,11134,4955, //11024\n11135,11136,11137,11138,11139,11140,11141,11142,11143,11144,11145,11146,11147,11148,11149,11150, //11040\n11151,11152,11153,11154,11155,11156,11157,11158,11159,11160,11161,4956,11162,11163,11164,11165, //11056\n11166,11167,11168,11169,11170,11171,11172,11173,11174,11175,11176,11177,11178,11179,11180,4957, //11072\n11181,11182,11183,11184,11185,11186,4958,11187,11188,11189,11190,11191,11192,11193,11194,11195, //11088\n11196,11197,11198,11199,11200,3678,11201,11202,11203,11204,11205,11206,4191,11207,11208,11209, //11104\n11210,11211,11212,11213,11214,11215,11216,11217,11218,11219,11220,11221,11222,11223,11224,11225, //11120\n11226,11227,11228,11229,11230,11231,11232,11233,11234,11235,11236,11237,11238,11239,11240,11241, //11136\n11242,11243,11244,11245,11246,11247,11248,11249,11250,11251,4959,11252,11253,11254,11255,11256, //11152\n11257,11258,11259,11260,11261,11262,11263,11264,11265,11266,11267,11268,11269,11270,11271,11272, //11168\n11273,11274,11275,11276,11277,11278,11279,11280,11281,11282,11283,11284,11285,11286,11287,11288, //11184\n11289,11290,11291,11292,11293,11294,11295,11296,11297,11298,11299,11300,11301,11302,11303,11304, //11200\n11305,11306,11307,11308,11309,11310,11311,11312,11313,11314,3679,11315,11316,11317,11318,4490, //11216\n11319,11320,11321,11322,11323,11324,11325,11326,11327,11328,11329,11330,11331,11332,11333,11334, //11232\n11335,11336,11337,11338,11339,11340,11341,11342,11343,11344,11345,11346,11347,4960,11348,11349, //11248\n11350,11351,11352,11353,11354,11355,11356,11357,11358,11359,11360,11361,11362,11363,11364,11365, //11264\n11366,11367,11368,11369,11370,11371,11372,11373,11374,11375,11376,11377,3961,4961,11378,11379, //11280\n11380,11381,11382,11383,11384,11385,11386,11387,11388,11389,11390,11391,11392,11393,11394,11395, //11296\n11396,11397,4192,11398,11399,11400,11401,11402,11403,11404,11405,11406,11407,11408,11409,11410, //11312\n11411,4962,11412,11413,11414,11415,11416,11417,11418,11419,11420,11421,11422,11423,11424,11425, //11328\n11426,11427,11428,11429,11430,11431,11432,11433,11434,11435,11436,11437,11438,11439,11440,11441, //11344\n11442,11443,11444,11445,11446,11447,11448,11449,11450,11451,11452,11453,11454,11455,11456,11457, //11360\n11458,11459,11460,11461,11462,11463,11464,11465,11466,11467,11468,11469,4963,11470,11471,4491, //11376\n11472,11473,11474,11475,4964,11476,11477,11478,11479,11480,11481,11482,11483,11484,11485,11486, //11392\n11487,11488,11489,11490,11491,11492,4965,11493,11494,11495,11496,11497,11498,11499,11500,11501, //11408\n11502,11503,11504,11505,11506,11507,11508,11509,11510,11511,11512,11513,11514,11515,11516,11517, //11424\n11518,11519,11520,11521,11522,11523,11524,11525,11526,11527,11528,11529,3962,11530,11531,11532, //11440\n11533,11534,11535,11536,11537,11538,11539,11540,11541,11542,11543,11544,11545,11546,11547,11548, //11456\n11549,11550,11551,11552,11553,11554,11555,11556,11557,11558,11559,11560,11561,11562,11563,11564, //11472\n4193,4194,11565,11566,11567,11568,11569,11570,11571,11572,11573,11574,11575,11576,11577,11578, //11488\n11579,11580,11581,11582,11583,11584,11585,11586,11587,11588,11589,11590,11591,4966,4195,11592, //11504\n11593,11594,11595,11596,11597,11598,11599,11600,11601,11602,11603,11604,3090,11605,11606,11607, //11520\n11608,11609,11610,4967,11611,11612,11613,11614,11615,11616,11617,11618,11619,11620,11621,11622, //11536\n11623,11624,11625,11626,11627,11628,11629,11630,11631,11632,11633,11634,11635,11636,11637,11638, //11552\n11639,11640,11641,11642,11643,11644,11645,11646,11647,11648,11649,11650,11651,11652,11653,11654, //11568\n11655,11656,11657,11658,11659,11660,11661,11662,11663,11664,11665,11666,11667,11668,11669,11670, //11584\n11671,11672,11673,11674,4968,11675,11676,11677,11678,11679,11680,11681,11682,11683,11684,11685, //11600\n11686,11687,11688,11689,11690,11691,11692,11693,3809,11694,11695,11696,11697,11698,11699,11700, //11616\n11701,11702,11703,11704,11705,11706,11707,11708,11709,11710,11711,11712,11713,11714,11715,11716, //11632\n11717,11718,3553,11719,11720,11721,11722,11723,11724,11725,11726,11727,11728,11729,11730,4969, //11648\n11731,11732,11733,11734,11735,11736,11737,11738,11739,11740,4492,11741,11742,11743,11744,11745, //11664\n11746,11747,11748,11749,11750,11751,11752,4970,11753,11754,11755,11756,11757,11758,11759,11760, //11680\n11761,11762,11763,11764,11765,11766,11767,11768,11769,11770,11771,11772,11773,11774,11775,11776, //11696\n11777,11778,11779,11780,11781,11782,11783,11784,11785,11786,11787,11788,11789,11790,4971,11791, //11712\n11792,11793,11794,11795,11796,11797,4972,11798,11799,11800,11801,11802,11803,11804,11805,11806, //11728\n11807,11808,11809,11810,4973,11811,11812,11813,11814,11815,11816,11817,11818,11819,11820,11821, //11744\n11822,11823,11824,11825,11826,11827,11828,11829,11830,11831,11832,11833,11834,3680,3810,11835, //11760\n11836,4974,11837,11838,11839,11840,11841,11842,11843,11844,11845,11846,11847,11848,11849,11850, //11776\n11851,11852,11853,11854,11855,11856,11857,11858,11859,11860,11861,11862,11863,11864,11865,11866, //11792\n11867,11868,11869,11870,11871,11872,11873,11874,11875,11876,11877,11878,11879,11880,11881,11882, //11808\n11883,11884,4493,11885,11886,11887,11888,11889,11890,11891,11892,11893,11894,11895,11896,11897, //11824\n11898,11899,11900,11901,11902,11903,11904,11905,11906,11907,11908,11909,11910,11911,11912,11913, //11840\n11914,11915,4975,11916,11917,11918,11919,11920,11921,11922,11923,11924,11925,11926,11927,11928, //11856\n11929,11930,11931,11932,11933,11934,11935,11936,11937,11938,11939,11940,11941,11942,11943,11944, //11872\n11945,11946,11947,11948,11949,4976,11950,11951,11952,11953,11954,11955,11956,11957,11958,11959, //11888\n11960,11961,11962,11963,11964,11965,11966,11967,11968,11969,11970,11971,11972,11973,11974,11975, //11904\n11976,11977,11978,11979,11980,11981,11982,11983,11984,11985,11986,11987,4196,11988,11989,11990, //11920\n11991,11992,4977,11993,11994,11995,11996,11997,11998,11999,12000,12001,12002,12003,12004,12005, //11936\n12006,12007,12008,12009,12010,12011,12012,12013,12014,12015,12016,12017,12018,12019,12020,12021, //11952\n12022,12023,12024,12025,12026,12027,12028,12029,12030,12031,12032,12033,12034,12035,12036,12037, //11968\n12038,12039,12040,12041,12042,12043,12044,12045,12046,12047,12048,12049,12050,12051,12052,12053, //11984\n12054,12055,12056,12057,12058,12059,12060,12061,4978,12062,12063,12064,12065,12066,12067,12068, //12000\n12069,12070,12071,12072,12073,12074,12075,12076,12077,12078,12079,12080,12081,12082,12083,12084, //12016\n12085,12086,12087,12088,12089,12090,12091,12092,12093,12094,12095,12096,12097,12098,12099,12100, //12032\n12101,12102,12103,12104,12105,12106,12107,12108,12109,12110,12111,12112,12113,12114,12115,12116, //12048\n12117,12118,12119,12120,12121,12122,12123,4979,12124,12125,12126,12127,12128,4197,12129,12130, //12064\n12131,12132,12133,12134,12135,12136,12137,12138,12139,12140,12141,12142,12143,12144,12145,12146, //12080\n12147,12148,12149,12150,12151,12152,12153,12154,4980,12155,12156,12157,12158,12159,12160,4494, //12096\n12161,12162,12163,12164,3811,12165,12166,12167,12168,12169,4495,12170,12171,4496,12172,12173, //12112\n12174,12175,12176,3812,12177,12178,12179,12180,12181,12182,12183,12184,12185,12186,12187,12188, //12128\n12189,12190,12191,12192,12193,12194,12195,12196,12197,12198,12199,12200,12201,12202,12203,12204, //12144\n12205,12206,12207,12208,12209,12210,12211,12212,12213,12214,12215,12216,12217,12218,12219,12220, //12160\n12221,4981,12222,12223,12224,12225,12226,12227,12228,12229,12230,12231,12232,12233,12234,12235, //12176\n4982,12236,12237,12238,12239,12240,12241,12242,12243,12244,12245,4983,12246,12247,12248,12249, //12192\n4984,12250,12251,12252,12253,12254,12255,12256,12257,12258,12259,12260,12261,12262,12263,12264, //12208\n4985,12265,4497,12266,12267,12268,12269,12270,12271,12272,12273,12274,12275,12276,12277,12278, //12224\n12279,12280,12281,12282,12283,12284,12285,12286,12287,4986,12288,12289,12290,12291,12292,12293, //12240\n12294,12295,12296,2473,12297,12298,12299,12300,12301,12302,12303,12304,12305,12306,12307,12308, //12256\n12309,12310,12311,12312,12313,12314,12315,12316,12317,12318,12319,3963,12320,12321,12322,12323, //12272\n12324,12325,12326,12327,12328,12329,12330,12331,12332,4987,12333,12334,12335,12336,12337,12338, //12288\n12339,12340,12341,12342,12343,12344,12345,12346,12347,12348,12349,12350,12351,12352,12353,12354, //12304\n12355,12356,12357,12358,12359,3964,12360,12361,12362,12363,12364,12365,12366,12367,12368,12369, //12320\n12370,3965,12371,12372,12373,12374,12375,12376,12377,12378,12379,12380,12381,12382,12383,12384, //12336\n12385,12386,12387,12388,12389,12390,12391,12392,12393,12394,12395,12396,12397,12398,12399,12400, //12352\n12401,12402,12403,12404,12405,12406,12407,12408,4988,12409,12410,12411,12412,12413,12414,12415, //12368\n12416,12417,12418,12419,12420,12421,12422,12423,12424,12425,12426,12427,12428,12429,12430,12431, //12384\n12432,12433,12434,12435,12436,12437,12438,3554,12439,12440,12441,12442,12443,12444,12445,12446, //12400\n12447,12448,12449,12450,12451,12452,12453,12454,12455,12456,12457,12458,12459,12460,12461,12462, //12416\n12463,12464,4989,12465,12466,12467,12468,12469,12470,12471,12472,12473,12474,12475,12476,12477, //12432\n12478,12479,12480,4990,12481,12482,12483,12484,12485,12486,12487,12488,12489,4498,12490,12491, //12448\n12492,12493,12494,12495,12496,12497,12498,12499,12500,12501,12502,12503,12504,12505,12506,12507, //12464\n12508,12509,12510,12511,12512,12513,12514,12515,12516,12517,12518,12519,12520,12521,12522,12523, //12480\n12524,12525,12526,12527,12528,12529,12530,12531,12532,12533,12534,12535,12536,12537,12538,12539, //12496\n12540,12541,12542,12543,12544,12545,12546,12547,12548,12549,12550,12551,4991,12552,12553,12554, //12512\n12555,12556,12557,12558,12559,12560,12561,12562,12563,12564,12565,12566,12567,12568,12569,12570, //12528\n12571,12572,12573,12574,12575,12576,12577,12578,3036,12579,12580,12581,12582,12583,3966,12584, //12544\n12585,12586,12587,12588,12589,12590,12591,12592,12593,12594,12595,12596,12597,12598,12599,12600, //12560\n12601,12602,12603,12604,12605,12606,12607,12608,12609,12610,12611,12612,12613,12614,12615,12616, //12576\n12617,12618,12619,12620,12621,12622,12623,12624,12625,12626,12627,12628,12629,12630,12631,12632, //12592\n12633,12634,12635,12636,12637,12638,12639,12640,12641,12642,12643,12644,12645,12646,4499,12647, //12608\n12648,12649,12650,12651,12652,12653,12654,12655,12656,12657,12658,12659,12660,12661,12662,12663, //12624\n12664,12665,12666,12667,12668,12669,12670,12671,12672,12673,12674,12675,12676,12677,12678,12679, //12640\n12680,12681,12682,12683,12684,12685,12686,12687,12688,12689,12690,12691,12692,12693,12694,12695, //12656\n12696,12697,12698,4992,12699,12700,12701,12702,12703,12704,12705,12706,12707,12708,12709,12710, //12672\n12711,12712,12713,12714,12715,12716,12717,12718,12719,12720,12721,12722,12723,12724,12725,12726, //12688\n12727,12728,12729,12730,12731,12732,12733,12734,12735,12736,12737,12738,12739,12740,12741,12742, //12704\n12743,12744,12745,12746,12747,12748,12749,12750,12751,12752,12753,12754,12755,12756,12757,12758, //12720\n12759,12760,12761,12762,12763,12764,12765,12766,12767,12768,12769,12770,12771,12772,12773,12774, //12736\n12775,12776,12777,12778,4993,2175,12779,12780,12781,12782,12783,12784,12785,12786,4500,12787, //12752\n12788,12789,12790,12791,12792,12793,12794,12795,12796,12797,12798,12799,12800,12801,12802,12803, //12768\n12804,12805,12806,12807,12808,12809,12810,12811,12812,12813,12814,12815,12816,12817,12818,12819, //12784\n12820,12821,12822,12823,12824,12825,12826,4198,3967,12827,12828,12829,12830,12831,12832,12833, //12800\n12834,12835,12836,12837,12838,12839,12840,12841,12842,12843,12844,12845,12846,12847,12848,12849, //12816\n12850,12851,12852,12853,12854,12855,12856,12857,12858,12859,12860,12861,4199,12862,12863,12864, //12832\n12865,12866,12867,12868,12869,12870,12871,12872,12873,12874,12875,12876,12877,12878,12879,12880, //12848\n12881,12882,12883,12884,12885,12886,12887,4501,12888,12889,12890,12891,12892,12893,12894,12895, //12864\n12896,12897,12898,12899,12900,12901,12902,12903,12904,12905,12906,12907,12908,12909,12910,12911, //12880\n12912,4994,12913,12914,12915,12916,12917,12918,12919,12920,12921,12922,12923,12924,12925,12926, //12896\n12927,12928,12929,12930,12931,12932,12933,12934,12935,12936,12937,12938,12939,12940,12941,12942, //12912\n12943,12944,12945,12946,12947,12948,12949,12950,12951,12952,12953,12954,12955,12956,1772,12957, //12928\n12958,12959,12960,12961,12962,12963,12964,12965,12966,12967,12968,12969,12970,12971,12972,12973, //12944\n12974,12975,12976,12977,12978,12979,12980,12981,12982,12983,12984,12985,12986,12987,12988,12989, //12960\n12990,12991,12992,12993,12994,12995,12996,12997,4502,12998,4503,12999,13000,13001,13002,13003, //12976\n4504,13004,13005,13006,13007,13008,13009,13010,13011,13012,13013,13014,13015,13016,13017,13018, //12992\n13019,13020,13021,13022,13023,13024,13025,13026,13027,13028,13029,3449,13030,13031,13032,13033, //13008\n13034,13035,13036,13037,13038,13039,13040,13041,13042,13043,13044,13045,13046,13047,13048,13049, //13024\n13050,13051,13052,13053,13054,13055,13056,13057,13058,13059,13060,13061,13062,13063,13064,13065, //13040\n13066,13067,13068,13069,13070,13071,13072,13073,13074,13075,13076,13077,13078,13079,13080,13081, //13056\n13082,13083,13084,13085,13086,13087,13088,13089,13090,13091,13092,13093,13094,13095,13096,13097, //13072\n13098,13099,13100,13101,13102,13103,13104,13105,13106,13107,13108,13109,13110,13111,13112,13113, //13088\n13114,13115,13116,13117,13118,3968,13119,4995,13120,13121,13122,13123,13124,13125,13126,13127, //13104\n4505,13128,13129,13130,13131,13132,13133,13134,4996,4506,13135,13136,13137,13138,13139,4997, //13120\n13140,13141,13142,13143,13144,13145,13146,13147,13148,13149,13150,13151,13152,13153,13154,13155, //13136\n13156,13157,13158,13159,4998,13160,13161,13162,13163,13164,13165,13166,13167,13168,13169,13170, //13152\n13171,13172,13173,13174,13175,13176,4999,13177,13178,13179,13180,13181,13182,13183,13184,13185, //13168\n13186,13187,13188,13189,13190,13191,13192,13193,13194,13195,13196,13197,13198,13199,13200,13201, //13184\n13202,13203,13204,13205,13206,5000,13207,13208,13209,13210,13211,13212,13213,13214,13215,13216, //13200\n13217,13218,13219,13220,13221,13222,13223,13224,13225,13226,13227,4200,5001,13228,13229,13230, //13216\n13231,13232,13233,13234,13235,13236,13237,13238,13239,13240,3969,13241,13242,13243,13244,3970, //13232\n13245,13246,13247,13248,13249,13250,13251,13252,13253,13254,13255,13256,13257,13258,13259,13260, //13248\n13261,13262,13263,13264,13265,13266,13267,13268,3450,13269,13270,13271,13272,13273,13274,13275, //13264\n13276,5002,13277,13278,13279,13280,13281,13282,13283,13284,13285,13286,13287,13288,13289,13290, //13280\n13291,13292,13293,13294,13295,13296,13297,13298,13299,13300,13301,13302,3813,13303,13304,13305, //13296\n13306,13307,13308,13309,13310,13311,13312,13313,13314,13315,13316,13317,13318,13319,13320,13321, //13312\n13322,13323,13324,13325,13326,13327,13328,4507,13329,13330,13331,13332,13333,13334,13335,13336, //13328\n13337,13338,13339,13340,13341,5003,13342,13343,13344,13345,13346,13347,13348,13349,13350,13351, //13344\n13352,13353,13354,13355,13356,13357,13358,13359,13360,13361,13362,13363,13364,13365,13366,13367, //13360\n5004,13368,13369,13370,13371,13372,13373,13374,13375,13376,13377,13378,13379,13380,13381,13382, //13376\n13383,13384,13385,13386,13387,13388,13389,13390,13391,13392,13393,13394,13395,13396,13397,13398, //13392\n13399,13400,13401,13402,13403,13404,13405,13406,13407,13408,13409,13410,13411,13412,13413,13414, //13408\n13415,13416,13417,13418,13419,13420,13421,13422,13423,13424,13425,13426,13427,13428,13429,13430, //13424\n13431,13432,4508,13433,13434,13435,4201,13436,13437,13438,13439,13440,13441,13442,13443,13444, //13440\n13445,13446,13447,13448,13449,13450,13451,13452,13453,13454,13455,13456,13457,5005,13458,13459, //13456\n13460,13461,13462,13463,13464,13465,13466,13467,13468,13469,13470,4509,13471,13472,13473,13474, //13472\n13475,13476,13477,13478,13479,13480,13481,13482,13483,13484,13485,13486,13487,13488,13489,13490, //13488\n13491,13492,13493,13494,13495,13496,13497,13498,13499,13500,13501,13502,13503,13504,13505,13506, //13504\n13507,13508,13509,13510,13511,13512,13513,13514,13515,13516,13517,13518,13519,13520,13521,13522, //13520\n13523,13524,13525,13526,13527,13528,13529,13530,13531,13532,13533,13534,13535,13536,13537,13538, //13536\n13539,13540,13541,13542,13543,13544,13545,13546,13547,13548,13549,13550,13551,13552,13553,13554, //13552\n13555,13556,13557,13558,13559,13560,13561,13562,13563,13564,13565,13566,13567,13568,13569,13570, //13568\n13571,13572,13573,13574,13575,13576,13577,13578,13579,13580,13581,13582,13583,13584,13585,13586, //13584\n13587,13588,13589,13590,13591,13592,13593,13594,13595,13596,13597,13598,13599,13600,13601,13602, //13600\n13603,13604,13605,13606,13607,13608,13609,13610,13611,13612,13613,13614,13615,13616,13617,13618, //13616\n13619,13620,13621,13622,13623,13624,13625,13626,13627,13628,13629,13630,13631,13632,13633,13634, //13632\n13635,13636,13637,13638,13639,13640,13641,13642,5006,13643,13644,13645,13646,13647,13648,13649, //13648\n13650,13651,5007,13652,13653,13654,13655,13656,13657,13658,13659,13660,13661,13662,13663,13664, //13664\n13665,13666,13667,13668,13669,13670,13671,13672,13673,13674,13675,13676,13677,13678,13679,13680, //13680\n13681,13682,13683,13684,13685,13686,13687,13688,13689,13690,13691,13692,13693,13694,13695,13696, //13696\n13697,13698,13699,13700,13701,13702,13703,13704,13705,13706,13707,13708,13709,13710,13711,13712, //13712\n13713,13714,13715,13716,13717,13718,13719,13720,13721,13722,13723,13724,13725,13726,13727,13728, //13728\n13729,13730,13731,13732,13733,13734,13735,13736,13737,13738,13739,13740,13741,13742,13743,13744, //13744\n13745,13746,13747,13748,13749,13750,13751,13752,13753,13754,13755,13756,13757,13758,13759,13760, //13760\n13761,13762,13763,13764,13765,13766,13767,13768,13769,13770,13771,13772,13773,13774,3273,13775, //13776\n13776,13777,13778,13779,13780,13781,13782,13783,13784,13785,13786,13787,13788,13789,13790,13791, //13792\n13792,13793,13794,13795,13796,13797,13798,13799,13800,13801,13802,13803,13804,13805,13806,13807, //13808\n13808,13809,13810,13811,13812,13813,13814,13815,13816,13817,13818,13819,13820,13821,13822,13823, //13824\n13824,13825,13826,13827,13828,13829,13830,13831,13832,13833,13834,13835,13836,13837,13838,13839, //13840\n13840,13841,13842,13843,13844,13845,13846,13847,13848,13849,13850,13851,13852,13853,13854,13855, //13856\n13856,13857,13858,13859,13860,13861,13862,13863,13864,13865,13866,13867,13868,13869,13870,13871, //13872\n13872,13873,13874,13875,13876,13877,13878,13879,13880,13881,13882,13883,13884,13885,13886,13887, //13888\n13888,13889,13890,13891,13892,13893,13894,13895,13896,13897,13898,13899,13900,13901,13902,13903, //13904\n13904,13905,13906,13907,13908,13909,13910,13911,13912,13913,13914,13915,13916,13917,13918,13919, //13920\n13920,13921,13922,13923,13924,13925,13926,13927,13928,13929,13930,13931,13932,13933,13934,13935, //13936\n13936,13937,13938,13939,13940,13941,13942,13943,13944,13945,13946,13947,13948,13949,13950,13951, //13952\n13952,13953,13954,13955,13956,13957,13958,13959,13960,13961,13962,13963,13964,13965,13966,13967, //13968\n13968,13969,13970,13971,13972]; //13973\n\n}(__webpack_require__(/*! ./init */ \"./node_modules/jschardet/src/init.js\"));\n\n\n//# sourceURL=webpack:///./node_modules/jschardet/src/big5freq.js?"); - -/***/ }), - -/***/ "./node_modules/jschardet/src/big5prober.js": -/*!**************************************************!*\ - !*** ./node_modules/jschardet/src/big5prober.js ***! - \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/*\n * The Original Code is Mozilla Universal charset detector code.\n *\n * The Initial Developer of the Original Code is\n * Netscape Communications Corporation.\n * Portions created by the Initial Developer are Copyright (C) 2001\n * the Initial Developer. All Rights Reserved.\n *\n * Contributor(s):\n * António Afonso (antonio.afonso gmail.com) - port to JavaScript\n * Mark Pilgrim - port to Python\n * Shy Shalom - original C code\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA\n */\n\n!function(jschardet) {\n\njschardet.Big5Prober = function() {\n jschardet.MultiByteCharSetProber.apply(this);\n\n var self = this;\n\n function init() {\n self._mCodingSM = new jschardet.CodingStateMachine(jschardet.Big5SMModel);\n self._mDistributionAnalyzer = new jschardet.Big5DistributionAnalysis();\n self.reset();\n }\n\n this.getCharsetName = function() {\n return \"Big5\";\n }\n\n init();\n}\njschardet.Big5Prober.prototype = new jschardet.MultiByteCharSetProber();\n\n}(__webpack_require__(/*! ./init */ \"./node_modules/jschardet/src/init.js\"));\n\n\n//# sourceURL=webpack:///./node_modules/jschardet/src/big5prober.js?"); - -/***/ }), - -/***/ "./node_modules/jschardet/src/chardistribution.js": -/*!********************************************************!*\ - !*** ./node_modules/jschardet/src/chardistribution.js ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/*\n * The Original Code is Mozilla Universal charset detector code.\n *\n * The Initial Developer of the Original Code is\n * Netscape Communications Corporation.\n * Portions created by the Initial Developer are Copyright (C) 2001\n * the Initial Developer. All Rights Reserved.\n *\n * Contributor(s):\n * António Afonso (antonio.afonso gmail.com) - port to JavaScript\n * Mark Pilgrim - port to Python\n * Shy Shalom - original C code\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA\n */\n\n!function(jschardet) {\n\njschardet.CharDistributionAnalysis = function() {\n var ENOUGH_DATA_THRESHOLD = 1024;\n var SURE_YES = 0.99;\n var SURE_NO = 0.01;\n var MINIMUM_DATA_THRESHOLD = 3;\n\n var self = this;\n\n function init() {\n self._mCharToFreqOrder = null; // Mapping table to get frequency order from char order (get from GetOrder())\n self._mTableSize = null; // Size of above table\n self._mTypicalDistributionRatio = null; // This is a constant value which varies from language to language, used in calculating confidence. See http://www.mozilla.org/projects/intl/UniversalCharsetDetection.html for further detail.\n self.reset();\n }\n\n /**\n * reset analyser, clear any state\n */\n this.reset = function() {\n this._mDone = false; // If this flag is set to constants.True, detection is done and conclusion has been made\n this._mTotalChars = 0; // Total characters encountered\n this._mFreqChars = 0; // The number of characters whose frequency order is less than 512\n }\n\n /**\n * feed a character with known length\n */\n this.feed = function(aStr, aCharLen) {\n if( aCharLen == 2 ) {\n // we only care about 2-bytes character in our distribution analysis\n var order = this.getOrder(aStr);\n } else {\n order = -1;\n }\n if( order >= 0 ) {\n this._mTotalChars++;\n // order is valid\n if( order < this._mTableSize ) {\n if( 512 > this._mCharToFreqOrder[order] ) {\n this._mFreqChars++;\n }\n }\n }\n }\n\n /**\n * return confidence based on existing data\n */\n this.getConfidence = function() {\n // if we didn't receive any character in our consideration range, return negative answer\n if( this._mTotalChars <= 0 || this._mFreqChars <= MINIMUM_DATA_THRESHOLD) {\n return SURE_NO;\n }\n if( this._mTotalChars != this._mFreqChars ) {\n var r = this._mFreqChars / ((this._mTotalChars - this._mFreqChars) * this._mTypicalDistributionRatio);\n if( r < SURE_YES ) {\n return r;\n }\n }\n\n // normalize confidence (we don't want to be 100% sure)\n return SURE_YES;\n }\n\n this.gotEnoughData = function() {\n // It is not necessary to receive all data to draw conclusion. For charset detection,\n // certain amount of data is enough\n return this._mTotalChars > ENOUGH_DATA_THRESHOLD;\n }\n\n this.getOrder = function(aStr) {\n // We do not handle characters based on the original encoding string, but\n // convert this encoding string to a number, here called order.\n // This allows multiple encodings of a language to share one frequency table.\n return -1;\n }\n\n init();\n}\n\njschardet.EUCTWDistributionAnalysis = function() {\n jschardet.CharDistributionAnalysis.apply(this);\n\n var self = this;\n\n function init() {\n self._mCharToFreqOrder = jschardet.EUCTWCharToFreqOrder;\n self._mTableSize = jschardet.EUCTW_TABLE_SIZE;\n self._mTypicalDistributionRatio = jschardet.EUCTW_TYPICAL_DISTRIBUTION_RATIO;\n }\n\n this.getOrder = function(aStr) {\n // for euc-TW encoding, we are interested\n // first byte range: 0xc4 -- 0xfe\n // second byte range: 0xa1 -- 0xfe\n // no validation needed here. State machine has done that\n if( aStr.charCodeAt(0) >= 0xC4 ) {\n return 94 * (aStr.charCodeAt(0) - 0xC4) + aStr.charCodeAt(1) - 0xA1;\n } else {\n return -1;\n }\n }\n\n init();\n}\njschardet.EUCTWDistributionAnalysis.prototype = new jschardet.CharDistributionAnalysis();\n\njschardet.EUCKRDistributionAnalysis = function() {\n jschardet.CharDistributionAnalysis.apply(this);\n\n var self = this;\n\n function init() {\n self._mCharToFreqOrder = jschardet.EUCKRCharToFreqOrder;\n self._mTableSize = jschardet.EUCKR_TABLE_SIZE;\n self._mTypicalDistributionRatio = jschardet.EUCKR_TYPICAL_DISTRIBUTION_RATIO;\n }\n\n this.getOrder = function(aStr) {\n // for euc-KR encoding, we are interested\n // first byte range: 0xb0 -- 0xfe\n // second byte range: 0xa1 -- 0xfe\n // no validation needed here. State machine has done that\n if( aStr.charCodeAt(0) >= 0xB0 ) {\n return 94 * (aStr.charCodeAt(0) - 0xB0) + aStr.charCodeAt(1) - 0xA1;\n } else {\n return -1;\n }\n }\n\n init();\n}\njschardet.EUCKRDistributionAnalysis.prototype = new jschardet.CharDistributionAnalysis();\n\njschardet.GB2312DistributionAnalysis = function() {\n jschardet.CharDistributionAnalysis.apply(this);\n\n var self = this;\n\n function init() {\n self._mCharToFreqOrder = jschardet.GB2312CharToFreqOrder;\n self._mTableSize = jschardet.GB2312_TABLE_SIZE;\n self._mTypicalDistributionRatio = jschardet.GB2312_TYPICAL_DISTRIBUTION_RATIO;\n }\n\n this.getOrder = function(aStr) {\n // for GB2312 encoding, we are interested\n // first byte range: 0xb0 -- 0xfe\n // second byte range: 0xa1 -- 0xfe\n // no validation needed here. State machine has done that\n if( aStr.charCodeAt(0) >= 0xB0 && aStr.charCodeAt(1) >= 0xA1 ) {\n return 94 * (aStr.charCodeAt(0) - 0xB0) + aStr.charCodeAt(1) - 0xA1;\n } else {\n return -1;\n }\n }\n\n init();\n}\njschardet.GB2312DistributionAnalysis.prototype = new jschardet.CharDistributionAnalysis();\n\njschardet.Big5DistributionAnalysis = function() {\n jschardet.CharDistributionAnalysis.apply(this);\n\n var self = this;\n\n function init() {\n self._mCharToFreqOrder = jschardet.Big5CharToFreqOrder;\n self._mTableSize = jschardet.BIG5_TABLE_SIZE;\n self._mTypicalDistributionRatio = jschardet.BIG5_TYPICAL_DISTRIBUTION_RATIO;\n }\n\n this.getOrder = function(aStr) {\n // for big5 encoding, we are interested\n // first byte range: 0xa4 -- 0xfe\n // second byte range: 0x40 -- 0x7e , 0xa1 -- 0xfe\n // no validation needed here. State machine has done that\n if( aStr.charCodeAt(0) >= 0xA4 ) {\n if( aStr.charCodeAt(1) >= 0xA1 ) {\n return 157 * (aStr.charCodeAt(0) - 0xA4) + aStr.charCodeAt(1) - 0xA1 + 63;\n } else {\n return 157 * (aStr.charCodeAt(0) - 0xA4) + aStr.charCodeAt(1) - 0x40;\n }\n } else {\n return -1;\n }\n }\n\n init();\n}\njschardet.Big5DistributionAnalysis.prototype = new jschardet.CharDistributionAnalysis();\n\njschardet.SJISDistributionAnalysis = function() {\n jschardet.CharDistributionAnalysis.apply(this);\n\n var self = this;\n\n function init() {\n self._mCharToFreqOrder = jschardet.JISCharToFreqOrder;\n self._mTableSize = jschardet.JIS_TABLE_SIZE;\n self._mTypicalDistributionRatio = jschardet.JIS_TYPICAL_DISTRIBUTION_RATIO;\n }\n\n this.getOrder = function(aStr) {\n // for sjis encoding, we are interested\n // first byte range: 0x81 -- 0x9f , 0xe0 -- 0xef\n // second byte range: 0x40 -- 0x7e, 0x80 -- 0xfc\n // no validation needed here. State machine has done that\n if( aStr.charCodeAt(0) >= 0x81 && aStr.charCodeAt(0) <= 0x9F ) {\n var order = 188 * (aStr.charCodeAt(0) - 0x81);\n } else if( aStr.charCodeAt(0) >= 0xE0 && aStr.charCodeAt(0) <= 0xEF ) {\n order = 188 * (aStr.charCodeAt(0) - 0xE0 + 31);\n } else {\n return -1;\n }\n order += aStr.charCodeAt(1) - 0x40;\n if( aStr.charCodeAt(1) < 0x40 || aStr.charCodeAt(1) === 0x7F || aStr.charCodeAt(1) > 0xFC) {\n order = -1;\n }\n return order;\n }\n\n init();\n}\njschardet.SJISDistributionAnalysis.prototype = new jschardet.CharDistributionAnalysis();\n\njschardet.EUCJPDistributionAnalysis = function() {\n jschardet.CharDistributionAnalysis.apply(this);\n\n var self = this;\n\n function init() {\n self._mCharToFreqOrder = jschardet.JISCharToFreqOrder;\n self._mTableSize = jschardet.JIS_TABLE_SIZE;\n self._mTypicalDistributionRatio = jschardet.JIS_TYPICAL_DISTRIBUTION_RATIO;\n }\n\n this.getOrder = function(aStr) {\n // for euc-JP encoding, we are interested\n // first byte range: 0xa0 -- 0xfe\n // second byte range: 0xa1 -- 0xfe\n // no validation needed here. State machine has done that\n if( aStr[0] >= \"\\xA0\" ) {\n return 94 * (aStr.charCodeAt(0) - 0xA1) + aStr.charCodeAt(1) - 0xA1;\n } else {\n return -1;\n }\n }\n\n init();\n}\njschardet.EUCJPDistributionAnalysis.prototype = new jschardet.CharDistributionAnalysis();\n\n}(__webpack_require__(/*! ./init */ \"./node_modules/jschardet/src/init.js\"));\n\n\n//# sourceURL=webpack:///./node_modules/jschardet/src/chardistribution.js?"); - -/***/ }), - -/***/ "./node_modules/jschardet/src/charsetgroupprober.js": -/*!**********************************************************!*\ - !*** ./node_modules/jschardet/src/charsetgroupprober.js ***! - \**********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/*\n * The Original Code is Mozilla Universal charset detector code.\n *\n * The Initial Developer of the Original Code is\n * Netscape Communications Corporation.\n * Portions created by the Initial Developer are Copyright (C) 2001\n * the Initial Developer. All Rights Reserved.\n *\n * Contributor(s):\n * António Afonso (antonio.afonso gmail.com) - port to JavaScript\n * Mark Pilgrim - port to Python\n * Shy Shalom - original C code\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA\n */\n\n!function(jschardet) {\n\njschardet.CharSetGroupProber = function() {\n jschardet.CharSetProber.apply(this);\n\n var self = this;\n\n function init() {\n self._mActiveNum = 0;\n self._mProbers = [];\n self._mBestGuessProber = null;\n }\n\n this.reset = function() {\n jschardet.CharSetGroupProber.prototype.reset.apply(this);\n this._mActiveNum = 0;\n for( var i = 0, prober; prober = this._mProbers[i]; i++ ) {\n if( prober ) {\n prober.reset();\n prober.active = true;\n this._mActiveNum++;\n }\n }\n this._mBestGuessProber = null;\n }\n\n this.getCharsetName = function() {\n if( !this._mBestGuessProber ) {\n this.getConfidence();\n if( !this._mBestGuessProber ) return null;\n }\n return this._mBestGuessProber.getCharsetName();\n }\n\n this.feed = function(aBuf) {\n for( var i = 0, prober; prober = this._mProbers[i]; i++ ) {\n if( !prober || !prober.active ) continue;\n var st = prober.feed(aBuf);\n if( !st ) continue;\n if( st == jschardet.Constants.foundIt ) {\n this._mBestGuessProber = prober;\n return this.getState();\n } else if( st == jschardet.Constants.notMe ) {\n prober.active = false;\n this._mActiveNum--;\n if( this._mActiveNum <= 0 ) {\n this._mState = jschardet.Constants.notMe;\n return this.getState();\n }\n }\n }\n return this.getState();\n }\n\n this.getConfidence = function() {\n var st = this.getState();\n if( st == jschardet.Constants.foundIt ) {\n return 0.99;\n } else if( st == jschardet.Constants.notMe ) {\n return 0.01;\n }\n var bestConf = 0.0;\n this._mBestGuessProber = null;\n for( var i = 0, prober; prober = this._mProbers[i]; i++ ) {\n if( !prober ) continue;\n if( !prober.active ) {\n if( jschardet.Constants._debug ) {\n jschardet.log(prober.getCharsetName() + \" not active\\n\");\n }\n continue;\n }\n var cf = prober.getConfidence();\n if( jschardet.Constants._debug ) {\n jschardet.log(prober.getCharsetName() + \" confidence = \" + cf + \"\\n\");\n }\n if( bestConf < cf ) {\n bestConf = cf;\n this._mBestGuessProber = prober;\n }\n }\n if( !this._mBestGuessProber ) return 0.0;\n return bestConf;\n }\n\n init();\n}\njschardet.CharSetGroupProber.prototype = new jschardet.CharSetProber();\n\n}(__webpack_require__(/*! ./init */ \"./node_modules/jschardet/src/init.js\"));\n\n\n//# sourceURL=webpack:///./node_modules/jschardet/src/charsetgroupprober.js?"); - -/***/ }), - -/***/ "./node_modules/jschardet/src/charsetprober.js": -/*!*****************************************************!*\ - !*** ./node_modules/jschardet/src/charsetprober.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/*\n * The Original Code is Mozilla Universal charset detector code.\n *\n * The Initial Developer of the Original Code is\n * Netscape Communications Corporation.\n * Portions created by the Initial Developer are Copyright (C) 2001\n * the Initial Developer. All Rights Reserved.\n *\n * Contributor(s):\n * António Afonso (antonio.afonso gmail.com) - port to JavaScript\n * Mark Pilgrim - port to Python\n * Shy Shalom - original C code\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA\n */\n\n!function(jschardet) {\n\njschardet.CharSetProber = function() {\n this.reset = function() {\n this._mState = jschardet.Constants.detecting;\n }\n\n this.getCharsetName = function() {\n return null;\n }\n\n this.feed = function(aBuf) {\n }\n\n this.getState = function() {\n return this._mState;\n }\n\n this.getConfidence = function() {\n return 0.0;\n }\n\n this.filterHighBitOnly = function(aBuf) {\n aBuf = aBuf.replace(/[\\x00-\\x7F]+/g, \" \");\n return aBuf;\n }\n\n this.filterWithoutEnglishLetters = function(aBuf) {\n aBuf = aBuf.replace(/[A-Za-z]+/g, \" \");\n return aBuf;\n }\n\n // Input: aBuf is a string containing all different types of characters\n // Output: a string that contains all alphabetic letters, high-byte characters, and word immediately preceding `>`, but nothing else within `<>`\n // Ex: input - '¡£º
abcdef
apples! * and oranges 9jd93jd>'\n // output - '¡£º blah div apples and oranges jd jd '\n this.filterWithEnglishLetters = function(aBuf) {\n var result = '';\n var inTag = false;\n var prev = 0;\n\n for (var curr = 0; curr < aBuf.length; curr++) {\n var c = aBuf[curr];\n\n if (c == '>') {\n inTag = false;\n } else if (c == '<') {\n inTag = true;\n }\n\n var isAlpha = /[a-zA-Z]/.test(c);\n var isASCII = /^[\\x00-\\x7F]*$/.test(c);\n\n if (isASCII && !isAlpha) {\n if (curr > prev && !inTag) {\n result = result + aBuf.substring(prev, curr) + ' ';\n }\n\n prev = curr + 1;\n }\n }\n\n if (!inTag) {\n result = result + aBuf.substring(prev);\n }\n\n return result;\n }\n}\n\n}(__webpack_require__(/*! ./init */ \"./node_modules/jschardet/src/init.js\"));\n\n\n//# sourceURL=webpack:///./node_modules/jschardet/src/charsetprober.js?"); - -/***/ }), - -/***/ "./node_modules/jschardet/src/codingstatemachine.js": -/*!**********************************************************!*\ - !*** ./node_modules/jschardet/src/codingstatemachine.js ***! - \**********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/*\n * The Original Code is Mozilla Universal charset detector code.\n *\n * The Initial Developer of the Original Code is\n * Netscape Communications Corporation.\n * Portions created by the Initial Developer are Copyright (C) 2001\n * the Initial Developer. All Rights Reserved.\n *\n * Contributor(s):\n * António Afonso (antonio.afonso gmail.com) - port to JavaScript\n * Mark Pilgrim - port to Python\n * Shy Shalom - original C code\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA\n */\n\n!function(jschardet) {\n\njschardet.CodingStateMachine = function(sm) {\n var self = this;\n\n function init(sm) {\n self._mModel = sm;\n self._mCurrentBytePos = 0;\n self._mCurrentCharLen = 0;\n self.reset();\n }\n\n this.reset = function() {\n this._mCurrentState = jschardet.Constants.start;\n }\n\n this.nextState = function(c) {\n // for each byte we get its class\n // if it is first byte, we also get byte length\n var byteCls = this._mModel.classTable[c.charCodeAt(0)];\n if( this._mCurrentState == jschardet.Constants.start ) {\n this._mCurrentBytePos = 0;\n this._mCurrentCharLen = this._mModel.charLenTable[byteCls];\n }\n // from byte's class and stateTable, we get its next state\n this._mCurrentState = this._mModel.stateTable[this._mCurrentState * this._mModel.classFactor + byteCls];\n this._mCurrentBytePos++;\n return this._mCurrentState;\n }\n\n this.getCurrentCharLen = function() {\n return this._mCurrentCharLen;\n }\n\n this.getCodingStateMachine = function() {\n return this._mModel.name;\n }\n\n init(sm);\n}\n\n}(__webpack_require__(/*! ./init */ \"./node_modules/jschardet/src/init.js\"));\n\n\n//# sourceURL=webpack:///./node_modules/jschardet/src/codingstatemachine.js?"); - -/***/ }), - -/***/ "./node_modules/jschardet/src/constants.js": -/*!*************************************************!*\ - !*** ./node_modules/jschardet/src/constants.js ***! - \*************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/*\n * The Original Code is Mozilla Universal charset detector code.\n *\n * The Initial Developer of the Original Code is\n * Netscape Communications Corporation.\n * Portions created by the Initial Developer are Copyright (C) 2001\n * the Initial Developer. All Rights Reserved.\n *\n * Contributor(s):\n * António Afonso (antonio.afonso gmail.com) - port to JavaScript\n * Mark Pilgrim - port to Python\n * Shy Shalom - original C code\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA\n */\n\n!function(jschardet) {\n\njschardet.Constants = {\n _debug : false,\n\n detecting : 0,\n foundIt : 1,\n notMe : 2,\n\n start : 0,\n error : 1,\n itsMe : 2,\n\n MINIMUM_THRESHOLD : 0.20,\n SHORTCUT_THRESHOLD : 0.95\n};\n\n}(__webpack_require__(/*! ./init */ \"./node_modules/jschardet/src/init.js\"));\n\n\n//# sourceURL=webpack:///./node_modules/jschardet/src/constants.js?"); - -/***/ }), - -/***/ "./node_modules/jschardet/src/escprober.js": -/*!*************************************************!*\ - !*** ./node_modules/jschardet/src/escprober.js ***! - \*************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/*\n * The Original Code is Mozilla Universal charset detector code.\n *\n * The Initial Developer of the Original Code is\n * Netscape Communications Corporation.\n * Portions created by the Initial Developer are Copyright (C) 2001\n * the Initial Developer. All Rights Reserved.\n *\n * Contributor(s):\n * António Afonso (antonio.afonso gmail.com) - port to JavaScript\n * Mark Pilgrim - port to Python\n * Shy Shalom - original C code\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA\n */\n\n!function(jschardet) {\n\njschardet.EscCharSetProber = function() {\n jschardet.CharSetProber.apply(this);\n\n var self = this;\n\n function init() {\n self._mCodingSM = [\n new jschardet.CodingStateMachine(jschardet.HZSMModel),\n new jschardet.CodingStateMachine(jschardet.ISO2022CNSMModel),\n new jschardet.CodingStateMachine(jschardet.ISO2022JPSMModel),\n new jschardet.CodingStateMachine(jschardet.ISO2022KRSMModel)\n ];\n self.reset();\n }\n\n this.reset = function() {\n jschardet.EscCharSetProber.prototype.reset.apply(this);\n for( var i = 0, codingSM; codingSM = this._mCodingSM[i]; i++ ) {\n if( !codingSM ) continue;\n codingSM.active = true;\n codingSM.reset();\n }\n this._mActiveSM = self._mCodingSM.length;\n this._mDetectedCharset = null;\n }\n\n this.getCharsetName = function() {\n return this._mDetectedCharset;\n }\n\n this.getConfidence = function() {\n if( this._mDetectedCharset ) {\n return 0.99;\n } else {\n return 0.00;\n }\n }\n\n this.feed = function(aBuf) {\n for( var i = 0, c; i < aBuf.length; i++ ) {\n c = aBuf[i];\n for( var j = 0, codingSM; codingSM = this._mCodingSM[j]; j++ ) {\n if( !codingSM || !codingSM.active ) continue;\n var codingState = codingSM.nextState(c);\n if( codingState == jschardet.Constants.error ) {\n codingSM.active = false;\n this._mActiveSM--;\n if( this._mActiveSM <= 0 ) {\n this._mState = jschardet.Constants.notMe;\n return this.getState();\n }\n } else if( codingState == jschardet.Constants.itsMe ) {\n this._mState = jschardet.Constants.foundIt;\n this._mDetectedCharset = codingSM.getCodingStateMachine();\n return this.getState();\n }\n }\n }\n\n return this.getState();\n }\n\n init();\n}\njschardet.EscCharSetProber.prototype = new jschardet.CharSetProber();\n\n}(__webpack_require__(/*! ./init */ \"./node_modules/jschardet/src/init.js\"));\n\n\n//# sourceURL=webpack:///./node_modules/jschardet/src/escprober.js?"); - -/***/ }), - -/***/ "./node_modules/jschardet/src/escsm.js": -/*!*********************************************!*\ - !*** ./node_modules/jschardet/src/escsm.js ***! - \*********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/*\n * The Original Code is Mozilla Universal charset detector code.\n *\n * The Initial Developer of the Original Code is\n * Netscape Communications Corporation.\n * Portions created by the Initial Developer are Copyright (C) 2001\n * the Initial Developer. All Rights Reserved.\n *\n * Contributor(s):\n * António Afonso (antonio.afonso gmail.com) - port to JavaScript\n * Mark Pilgrim - port to Python\n * Shy Shalom - original C code\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA\n */\n\n!function(jschardet) {\n\nvar consts = jschardet.Constants;\n\njschardet.HZ_cls = [\n 1,0,0,0,0,0,0,0, // 00 - 07\n 0,0,0,0,0,0,0,0, // 08 - 0f\n 0,0,0,0,0,0,0,0, // 10 - 17\n 0,0,0,1,0,0,0,0, // 18 - 1f\n 0,0,0,0,0,0,0,0, // 20 - 27\n 0,0,0,0,0,0,0,0, // 28 - 2f\n 0,0,0,0,0,0,0,0, // 30 - 37\n 0,0,0,0,0,0,0,0, // 38 - 3f\n 0,0,0,0,0,0,0,0, // 40 - 47\n 0,0,0,0,0,0,0,0, // 48 - 4f\n 0,0,0,0,0,0,0,0, // 50 - 57\n 0,0,0,0,0,0,0,0, // 58 - 5f\n 0,0,0,0,0,0,0,0, // 60 - 67\n 0,0,0,0,0,0,0,0, // 68 - 6f\n 0,0,0,0,0,0,0,0, // 70 - 77\n 0,0,0,4,0,5,2,0, // 78 - 7f\n 1,1,1,1,1,1,1,1, // 80 - 87\n 1,1,1,1,1,1,1,1, // 88 - 8f\n 1,1,1,1,1,1,1,1, // 90 - 97\n 1,1,1,1,1,1,1,1, // 98 - 9f\n 1,1,1,1,1,1,1,1, // a0 - a7\n 1,1,1,1,1,1,1,1, // a8 - af\n 1,1,1,1,1,1,1,1, // b0 - b7\n 1,1,1,1,1,1,1,1, // b8 - bf\n 1,1,1,1,1,1,1,1, // c0 - c7\n 1,1,1,1,1,1,1,1, // c8 - cf\n 1,1,1,1,1,1,1,1, // d0 - d7\n 1,1,1,1,1,1,1,1, // d8 - df\n 1,1,1,1,1,1,1,1, // e0 - e7\n 1,1,1,1,1,1,1,1, // e8 - ef\n 1,1,1,1,1,1,1,1, // f0 - f7\n 1,1,1,1,1,1,1,1 // f8 - ff\n];\n\njschardet.HZ_st = [\n consts.start,consts.error, 3,consts.start,consts.start,consts.start,consts.error,consts.error, // 00-07\n consts.error,consts.error,consts.error,consts.error,consts.itsMe,consts.itsMe,consts.itsMe,consts.itsMe, // 08-0f\n consts.itsMe,consts.itsMe,consts.error,consts.error,consts.start,consts.start, 4,consts.error, // 10-17\n 5,consts.error, 6,consts.error, 5, 5, 4,consts.error, // 18-1f\n 4,consts.error, 4, 4, 4,consts.error, 4,consts.error, // 20-27\n 4,consts.itsMe,consts.start,consts.start,consts.start,consts.start,consts.start,consts.start // 28-2f\n];\n\njschardet.HZCharLenTable = [0, 0, 0, 0, 0, 0];\n\njschardet.HZSMModel = {\n \"classTable\" : jschardet.HZ_cls,\n \"classFactor\" : 6,\n \"stateTable\" : jschardet.HZ_st,\n \"charLenTable\" : jschardet.HZCharLenTable,\n \"name\" : \"HZ-GB-2312\"\n};\n\njschardet.ISO2022CN_cls = [\n 2,0,0,0,0,0,0,0, // 00 - 07\n 0,0,0,0,0,0,0,0, // 08 - 0f\n 0,0,0,0,0,0,0,0, // 10 - 17\n 0,0,0,1,0,0,0,0, // 18 - 1f\n 0,0,0,0,0,0,0,0, // 20 - 27\n 0,3,0,0,0,0,0,0, // 28 - 2f\n 0,0,0,0,0,0,0,0, // 30 - 37\n 0,0,0,0,0,0,0,0, // 38 - 3f\n 0,0,0,4,0,0,0,0, // 40 - 47\n 0,0,0,0,0,0,0,0, // 48 - 4f\n 0,0,0,0,0,0,0,0, // 50 - 57\n 0,0,0,0,0,0,0,0, // 58 - 5f\n 0,0,0,0,0,0,0,0, // 60 - 67\n 0,0,0,0,0,0,0,0, // 68 - 6f\n 0,0,0,0,0,0,0,0, // 70 - 77\n 0,0,0,0,0,0,0,0, // 78 - 7f\n 2,2,2,2,2,2,2,2, // 80 - 87\n 2,2,2,2,2,2,2,2, // 88 - 8f\n 2,2,2,2,2,2,2,2, // 90 - 97\n 2,2,2,2,2,2,2,2, // 98 - 9f\n 2,2,2,2,2,2,2,2, // a0 - a7\n 2,2,2,2,2,2,2,2, // a8 - af\n 2,2,2,2,2,2,2,2, // b0 - b7\n 2,2,2,2,2,2,2,2, // b8 - bf\n 2,2,2,2,2,2,2,2, // c0 - c7\n 2,2,2,2,2,2,2,2, // c8 - cf\n 2,2,2,2,2,2,2,2, // d0 - d7\n 2,2,2,2,2,2,2,2, // d8 - df\n 2,2,2,2,2,2,2,2, // e0 - e7\n 2,2,2,2,2,2,2,2, // e8 - ef\n 2,2,2,2,2,2,2,2, // f0 - f7\n 2,2,2,2,2,2,2,2 // f8 - ff\n];\n\njschardet.ISO2022CN_st = [\n consts.start, 3,consts.error,consts.start,consts.start,consts.start,consts.start,consts.start, // 00-07\n consts.start,consts.error,consts.error,consts.error,consts.error,consts.error,consts.error,consts.error, // 08-0f\n consts.error,consts.error,consts.itsMe,consts.itsMe,consts.itsMe,consts.itsMe,consts.itsMe,consts.itsMe, // 10-17\n consts.itsMe,consts.itsMe,consts.itsMe,consts.error,consts.error,consts.error, 4,consts.error, // 18-1f\n consts.error,consts.error,consts.error,consts.itsMe,consts.error,consts.error,consts.error,consts.error, // 20-27\n 5, 6,consts.error,consts.error,consts.error,consts.error,consts.error,consts.error, // 28-2f\n consts.error,consts.error,consts.error,consts.itsMe,consts.error,consts.error,consts.error,consts.error, // 30-37\n consts.error,consts.error,consts.error,consts.error,consts.error,consts.itsMe,consts.error,consts.start // 38-3f\n];\n\njschardet.ISO2022CNCharLenTable = [0, 0, 0, 0, 0, 0, 0, 0, 0];\n\njschardet.ISO2022CNSMModel = {\n \"classTable\" : jschardet.ISO2022CN_cls,\n \"classFactor\" : 9,\n \"stateTable\" : jschardet.ISO2022CN_st,\n \"charLenTable\" : jschardet.ISO2022CNCharLenTable,\n \"name\" : \"ISO-2022-CN\"\n};\n\njschardet.ISO2022JP_cls = [\n 2,0,0,0,0,0,0,0, // 00 - 07\n 0,0,0,0,0,0,2,2, // 08 - 0f\n 0,0,0,0,0,0,0,0, // 10 - 17\n 0,0,0,1,0,0,0,0, // 18 - 1f\n 0,0,0,0,7,0,0,0, // 20 - 27\n 3,0,0,0,0,0,0,0, // 28 - 2f\n 0,0,0,0,0,0,0,0, // 30 - 37\n 0,0,0,0,0,0,0,0, // 38 - 3f\n 6,0,4,0,8,0,0,0, // 40 - 47\n 0,9,5,0,0,0,0,0, // 48 - 4f\n 0,0,0,0,0,0,0,0, // 50 - 57\n 0,0,0,0,0,0,0,0, // 58 - 5f\n 0,0,0,0,0,0,0,0, // 60 - 67\n 0,0,0,0,0,0,0,0, // 68 - 6f\n 0,0,0,0,0,0,0,0, // 70 - 77\n 0,0,0,0,0,0,0,0, // 78 - 7f\n 2,2,2,2,2,2,2,2, // 80 - 87\n 2,2,2,2,2,2,2,2, // 88 - 8f\n 2,2,2,2,2,2,2,2, // 90 - 97\n 2,2,2,2,2,2,2,2, // 98 - 9f\n 2,2,2,2,2,2,2,2, // a0 - a7\n 2,2,2,2,2,2,2,2, // a8 - af\n 2,2,2,2,2,2,2,2, // b0 - b7\n 2,2,2,2,2,2,2,2, // b8 - bf\n 2,2,2,2,2,2,2,2, // c0 - c7\n 2,2,2,2,2,2,2,2, // c8 - cf\n 2,2,2,2,2,2,2,2, // d0 - d7\n 2,2,2,2,2,2,2,2, // d8 - df\n 2,2,2,2,2,2,2,2, // e0 - e7\n 2,2,2,2,2,2,2,2, // e8 - ef\n 2,2,2,2,2,2,2,2, // f0 - f7\n 2,2,2,2,2,2,2,2 // f8 - ff\n];\n\njschardet.ISO2022JP_st = [\n consts.start, 3,consts.error,consts.start,consts.start,consts.start,consts.start,consts.start, // 00-07\n consts.start,consts.start,consts.error,consts.error,consts.error,consts.error,consts.error,consts.error, // 08-0f\n consts.error,consts.error,consts.error,consts.error,consts.itsMe,consts.itsMe,consts.itsMe,consts.itsMe, // 10-17\n consts.itsMe,consts.itsMe,consts.itsMe,consts.itsMe,consts.itsMe,consts.itsMe,consts.error,consts.error, // 18-1f\n consts.error, 5,consts.error,consts.error,consts.error, 4,consts.error,consts.error, // 20-27\n consts.error,consts.error,consts.error, 6,consts.itsMe,consts.error,consts.itsMe,consts.error, // 28-2f\n consts.error,consts.error,consts.error,consts.error,consts.error,consts.error,consts.itsMe,consts.itsMe, // 30-37\n consts.error,consts.error,consts.error,consts.itsMe,consts.error,consts.error,consts.error,consts.error, // 38-3f\n consts.error,consts.error,consts.error,consts.error,consts.itsMe,consts.error,consts.start,consts.start // 40-47\n];\n\njschardet.ISO2022JPCharLenTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n\njschardet.ISO2022JPSMModel = {\n \"classTable\" : jschardet.ISO2022JP_cls,\n \"classFactor\" : 10,\n \"stateTable\" : jschardet.ISO2022JP_st,\n \"charLenTable\" : jschardet.ISO2022JPCharLenTable,\n \"name\" : \"ISO-2022-JP\"\n};\n\njschardet.ISO2022KR_cls = [\n 2,0,0,0,0,0,0,0, // 00 - 07\n 0,0,0,0,0,0,0,0, // 08 - 0f\n 0,0,0,0,0,0,0,0, // 10 - 17\n 0,0,0,1,0,0,0,0, // 18 - 1f\n 0,0,0,0,3,0,0,0, // 20 - 27\n 0,4,0,0,0,0,0,0, // 28 - 2f\n 0,0,0,0,0,0,0,0, // 30 - 37\n 0,0,0,0,0,0,0,0, // 38 - 3f\n 0,0,0,5,0,0,0,0, // 40 - 47\n 0,0,0,0,0,0,0,0, // 48 - 4f\n 0,0,0,0,0,0,0,0, // 50 - 57\n 0,0,0,0,0,0,0,0, // 58 - 5f\n 0,0,0,0,0,0,0,0, // 60 - 67\n 0,0,0,0,0,0,0,0, // 68 - 6f\n 0,0,0,0,0,0,0,0, // 70 - 77\n 0,0,0,0,0,0,0,0, // 78 - 7f\n 2,2,2,2,2,2,2,2, // 80 - 87\n 2,2,2,2,2,2,2,2, // 88 - 8f\n 2,2,2,2,2,2,2,2, // 90 - 97\n 2,2,2,2,2,2,2,2, // 98 - 9f\n 2,2,2,2,2,2,2,2, // a0 - a7\n 2,2,2,2,2,2,2,2, // a8 - af\n 2,2,2,2,2,2,2,2, // b0 - b7\n 2,2,2,2,2,2,2,2, // b8 - bf\n 2,2,2,2,2,2,2,2, // c0 - c7\n 2,2,2,2,2,2,2,2, // c8 - cf\n 2,2,2,2,2,2,2,2, // d0 - d7\n 2,2,2,2,2,2,2,2, // d8 - df\n 2,2,2,2,2,2,2,2, // e0 - e7\n 2,2,2,2,2,2,2,2, // e8 - ef\n 2,2,2,2,2,2,2,2, // f0 - f7\n 2,2,2,2,2,2,2,2 // f8 - ff\n];\n\njschardet.ISO2022KR_st = [\n consts.start, 3,consts.error,consts.start,consts.start,consts.start,consts.error,consts.error, // 00-07\n consts.error,consts.error,consts.error,consts.error,consts.itsMe,consts.itsMe,consts.itsMe,consts.itsMe, // 08-0f\n consts.itsMe,consts.itsMe,consts.error,consts.error,consts.error, 4,consts.error,consts.error, // 10-17\n consts.error,consts.error,consts.error,consts.error, 5,consts.error,consts.error,consts.error, // 18-1f\n consts.error,consts.error,consts.error,consts.itsMe,consts.start,consts.start,consts.start,consts.start // 20-27\n];\n\njschardet.ISO2022KRCharLenTable = [0, 0, 0, 0, 0, 0];\n\njschardet.ISO2022KRSMModel = {\n \"classTable\" : jschardet.ISO2022KR_cls,\n \"classFactor\" : 6,\n \"stateTable\" : jschardet.ISO2022KR_st,\n \"charLenTable\" : jschardet.ISO2022KRCharLenTable,\n \"name\" : \"ISO-2022-KR\"\n};\n\n}(__webpack_require__(/*! ./init */ \"./node_modules/jschardet/src/init.js\"));\n\n\n//# sourceURL=webpack:///./node_modules/jschardet/src/escsm.js?"); - -/***/ }), - -/***/ "./node_modules/jschardet/src/eucjpprober.js": -/*!***************************************************!*\ - !*** ./node_modules/jschardet/src/eucjpprober.js ***! - \***************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/*\n * The Original Code is Mozilla Universal charset detector code.\n *\n * The Initial Developer of the Original Code is\n * Netscape Communications Corporation.\n * Portions created by the Initial Developer are Copyright (C) 2001\n * the Initial Developer. All Rights Reserved.\n *\n * Contributor(s):\n * António Afonso (antonio.afonso gmail.com) - port to JavaScript\n * Mark Pilgrim - port to Python\n * Shy Shalom - original C code\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA\n */\n\n!function(jschardet) {\n\njschardet.EUCJPProber = function() {\n jschardet.MultiByteCharSetProber.apply(this);\n\n var self = this;\n\n function init() {\n self._mCodingSM = new jschardet.CodingStateMachine(jschardet.EUCJPSMModel);\n self._mDistributionAnalyzer = new jschardet.EUCJPDistributionAnalysis();\n self._mContextAnalyzer = new jschardet.EUCJPContextAnalysis();\n self.reset();\n }\n\n this.reset = function() {\n jschardet.EUCJPProber.prototype.reset.apply(this);\n this._mContextAnalyzer.reset();\n }\n\n this.getCharsetName = function() {\n return \"EUC-JP\";\n }\n\n this.feed = function(aBuf) {\n var aLen = aBuf.length;\n for( var i = 0; i < aLen; i++ ) {\n var codingState = this._mCodingSM.nextState(aBuf[i]);\n if( codingState == jschardet.Constants.error ) {\n if( jschardet.Constants._debug ) {\n jschardet.log(this.getCharsetName() + \" prober hit error at byte \" + i + \"\\n\");\n }\n this._mState = jschardet.Constants.notMe;\n break;\n } else if( codingState == jschardet.Constants.itsMe ) {\n this._mState = jschardet.Constants.foundIt;\n break;\n } else if( codingState == jschardet.Constants.start ) {\n var charLen = this._mCodingSM.getCurrentCharLen();\n if( i == 0 ) {\n this._mLastChar[1] = aBuf[0];\n this._mContextAnalyzer.feed(this._mLastChar, charLen);\n this._mDistributionAnalyzer.feed(this._mLastChar, charLen);\n } else {\n this._mContextAnalyzer.feed(aBuf.slice(i-1,i+1), charLen);\n this._mDistributionAnalyzer.feed(aBuf.slice(i-1,i+1), charLen);\n }\n }\n }\n\n this._mLastChar[0] = aBuf[aLen - 1];\n\n if( this.getState() == jschardet.Constants.detecting ) {\n if( this._mContextAnalyzer.gotEnoughData() &&\n this.getConfidence() > jschardet.Constants.SHORTCUT_THRESHOLD ) {\n this._mState = jschardet.Constants.foundIt;\n }\n }\n\n return this.getState();\n }\n\n this.getConfidence = function() {\n var contxtCf = this._mContextAnalyzer.getConfidence();\n var distribCf = this._mDistributionAnalyzer.getConfidence();\n\n return Math.max(contxtCf, distribCf);\n }\n\n init();\n}\njschardet.EUCJPProber.prototype = new jschardet.MultiByteCharSetProber();\n\n}(__webpack_require__(/*! ./init */ \"./node_modules/jschardet/src/init.js\"));\n\n\n//# sourceURL=webpack:///./node_modules/jschardet/src/eucjpprober.js?"); - -/***/ }), - -/***/ "./node_modules/jschardet/src/euckrfreq.js": -/*!*************************************************!*\ - !*** ./node_modules/jschardet/src/euckrfreq.js ***! - \*************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/*\n * The Original Code is Mozilla Universal charset detector code.\n *\n * The Initial Developer of the Original Code is\n * Netscape Communications Corporation.\n * Portions created by the Initial Developer are Copyright (C) 2001\n * the Initial Developer. All Rights Reserved.\n *\n * Contributor(s):\n * António Afonso (antonio.afonso gmail.com) - port to JavaScript\n * Mark Pilgrim - port to Python\n * Shy Shalom - original C code\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA\n */\n\n!function(jschardet) {\n\n// Sampling from about 20M text materials include literature and computer technology\n\n// 128 --> 0.79\n// 256 --> 0.92\n// 512 --> 0.986\n// 1024 --> 0.99944\n// 2048 --> 0.99999\n//\n// Idea Distribution Ratio = 0.98653 / (1-0.98653) = 73.24\n// Random Distribution Ration = 512 / (2350-512) = 0.279.\n//\n// Typical Distribution Ratio\n\njschardet.EUCKR_TYPICAL_DISTRIBUTION_RATIO = 6.0;\n\njschardet.EUCKR_TABLE_SIZE = 2352;\n\n// Char to FreqOrder table ,\njschardet.EUCKRCharToFreqOrder = [\n 13, 130, 120,1396, 481,1719,1720, 328, 609, 212,1721, 707, 400, 299,1722, 87,\n1397,1723, 104, 536,1117,1203,1724,1267, 685,1268, 508,1725,1726,1727,1728,1398,\n1399,1729,1730,1731, 141, 621, 326,1057, 368,1732, 267, 488, 20,1733,1269,1734,\n 945,1400,1735, 47, 904,1270,1736,1737, 773, 248,1738, 409, 313, 786, 429,1739,\n 116, 987, 813,1401, 683, 75,1204, 145,1740,1741,1742,1743, 16, 847, 667, 622,\n 708,1744,1745,1746, 966, 787, 304, 129,1747, 60, 820, 123, 676,1748,1749,1750,\n1751, 617,1752, 626,1753,1754,1755,1756, 653,1757,1758,1759,1760,1761,1762, 856,\n 344,1763,1764,1765,1766, 89, 401, 418, 806, 905, 848,1767,1768,1769, 946,1205,\n 709,1770,1118,1771, 241,1772,1773,1774,1271,1775, 569,1776, 999,1777,1778,1779,\n1780, 337, 751,1058, 28, 628, 254,1781, 177, 906, 270, 349, 891,1079,1782, 19,\n1783, 379,1784, 315,1785, 629, 754,1402, 559,1786, 636, 203,1206,1787, 710, 567,\n1788, 935, 814,1789,1790,1207, 766, 528,1791,1792,1208,1793,1794,1795,1796,1797,\n1403,1798,1799, 533,1059,1404,1405,1156,1406, 936, 884,1080,1800, 351,1801,1802,\n1803,1804,1805, 801,1806,1807,1808,1119,1809,1157, 714, 474,1407,1810, 298, 899,\n 885,1811,1120, 802,1158,1812, 892,1813,1814,1408, 659,1815,1816,1121,1817,1818,\n1819,1820,1821,1822, 319,1823, 594, 545,1824, 815, 937,1209,1825,1826, 573,1409,\n1022,1827,1210,1828,1829,1830,1831,1832,1833, 556, 722, 807,1122,1060,1834, 697,\n1835, 900, 557, 715,1836,1410, 540,1411, 752,1159, 294, 597,1211, 976, 803, 770,\n1412,1837,1838, 39, 794,1413, 358,1839, 371, 925,1840, 453, 661, 788, 531, 723,\n 544,1023,1081, 869, 91,1841, 392, 430, 790, 602,1414, 677,1082, 457,1415,1416,\n1842,1843, 475, 327,1024,1417, 795, 121,1844, 733, 403,1418,1845,1846,1847, 300,\n 119, 711,1212, 627,1848,1272, 207,1849,1850, 796,1213, 382,1851, 519,1852,1083,\n 893,1853,1854,1855, 367, 809, 487, 671,1856, 663,1857,1858, 956, 471, 306, 857,\n1859,1860,1160,1084,1861,1862,1863,1864,1865,1061,1866,1867,1868,1869,1870,1871,\n 282, 96, 574,1872, 502,1085,1873,1214,1874, 907,1875,1876, 827, 977,1419,1420,\n1421, 268,1877,1422,1878,1879,1880, 308,1881, 2, 537,1882,1883,1215,1884,1885,\n 127, 791,1886,1273,1423,1887, 34, 336, 404, 643,1888, 571, 654, 894, 840,1889,\n 0, 886,1274, 122, 575, 260, 908, 938,1890,1275, 410, 316,1891,1892, 100,1893,\n1894,1123, 48,1161,1124,1025,1895, 633, 901,1276,1896,1897, 115, 816,1898, 317,\n1899, 694,1900, 909, 734,1424, 572, 866,1425, 691, 85, 524,1010, 543, 394, 841,\n1901,1902,1903,1026,1904,1905,1906,1907,1908,1909, 30, 451, 651, 988, 310,1910,\n1911,1426, 810,1216, 93,1912,1913,1277,1217,1914, 858, 759, 45, 58, 181, 610,\n 269,1915,1916, 131,1062, 551, 443,1000, 821,1427, 957, 895,1086,1917,1918, 375,\n1919, 359,1920, 687,1921, 822,1922, 293,1923,1924, 40, 662, 118, 692, 29, 939,\n 887, 640, 482, 174,1925, 69,1162, 728,1428, 910,1926,1278,1218,1279, 386, 870,\n 217, 854,1163, 823,1927,1928,1929,1930, 834,1931, 78,1932, 859,1933,1063,1934,\n1935,1936,1937, 438,1164, 208, 595,1938,1939,1940,1941,1219,1125,1942, 280, 888,\n1429,1430,1220,1431,1943,1944,1945,1946,1947,1280, 150, 510,1432,1948,1949,1950,\n1951,1952,1953,1954,1011,1087,1955,1433,1043,1956, 881,1957, 614, 958,1064,1065,\n1221,1958, 638,1001, 860, 967, 896,1434, 989, 492, 553,1281,1165,1959,1282,1002,\n1283,1222,1960,1961,1962,1963, 36, 383, 228, 753, 247, 454,1964, 876, 678,1965,\n1966,1284, 126, 464, 490, 835, 136, 672, 529, 940,1088,1435, 473,1967,1968, 467,\n 50, 390, 227, 587, 279, 378, 598, 792, 968, 240, 151, 160, 849, 882,1126,1285,\n 639,1044, 133, 140, 288, 360, 811, 563,1027, 561, 142, 523,1969,1970,1971, 7,\n 103, 296, 439, 407, 506, 634, 990,1972,1973,1974,1975, 645,1976,1977,1978,1979,\n1980,1981, 236,1982,1436,1983,1984,1089, 192, 828, 618, 518,1166, 333,1127,1985,\n 818,1223,1986,1987,1988,1989,1990,1991,1992,1993, 342,1128,1286, 746, 842,1994,\n1995, 560, 223,1287, 98, 8, 189, 650, 978,1288,1996,1437,1997, 17, 345, 250,\n 423, 277, 234, 512, 226, 97, 289, 42, 167,1998, 201,1999,2000, 843, 836, 824,\n 532, 338, 783,1090, 182, 576, 436,1438,1439, 527, 500,2001, 947, 889,2002,2003,\n2004,2005, 262, 600, 314, 447,2006, 547,2007, 693, 738,1129,2008, 71,1440, 745,\n 619, 688,2009, 829,2010,2011, 147,2012, 33, 948,2013,2014, 74, 224,2015, 61,\n 191, 918, 399, 637,2016,1028,1130, 257, 902,2017,2018,2019,2020,2021,2022,2023,\n2024,2025,2026, 837,2027,2028,2029,2030, 179, 874, 591, 52, 724, 246,2031,2032,\n2033,2034,1167, 969,2035,1289, 630, 605, 911,1091,1168,2036,2037,2038,1441, 912,\n2039, 623,2040,2041, 253,1169,1290,2042,1442, 146, 620, 611, 577, 433,2043,1224,\n 719,1170, 959, 440, 437, 534, 84, 388, 480,1131, 159, 220, 198, 679,2044,1012,\n 819,1066,1443, 113,1225, 194, 318,1003,1029,2045,2046,2047,2048,1067,2049,2050,\n2051,2052,2053, 59, 913, 112,2054, 632,2055, 455, 144, 739,1291,2056, 273, 681,\n 499,2057, 448,2058,2059, 760,2060,2061, 970, 384, 169, 245,1132,2062,2063, 414,\n1444,2064,2065, 41, 235,2066, 157, 252, 877, 568, 919, 789, 580,2067, 725,2068,\n2069,1292,2070,2071,1445,2072,1446,2073,2074, 55, 588, 66,1447, 271,1092,2075,\n1226,2076, 960,1013, 372,2077,2078,2079,2080,2081,1293,2082,2083,2084,2085, 850,\n2086,2087,2088,2089,2090, 186,2091,1068, 180,2092,2093,2094, 109,1227, 522, 606,\n2095, 867,1448,1093, 991,1171, 926, 353,1133,2096, 581,2097,2098,2099,1294,1449,\n1450,2100, 596,1172,1014,1228,2101,1451,1295,1173,1229,2102,2103,1296,1134,1452,\n 949,1135,2104,2105,1094,1453,1454,1455,2106,1095,2107,2108,2109,2110,2111,2112,\n2113,2114,2115,2116,2117, 804,2118,2119,1230,1231, 805,1456, 405,1136,2120,2121,\n2122,2123,2124, 720, 701,1297, 992,1457, 927,1004,2125,2126,2127,2128,2129,2130,\n 22, 417,2131, 303,2132, 385,2133, 971, 520, 513,2134,1174, 73,1096, 231, 274,\n 962,1458, 673,2135,1459,2136, 152,1137,2137,2138,2139,2140,1005,1138,1460,1139,\n2141,2142,2143,2144, 11, 374, 844,2145, 154,1232, 46,1461,2146, 838, 830, 721,\n1233, 106,2147, 90, 428, 462, 578, 566,1175, 352,2148,2149, 538,1234, 124,1298,\n2150,1462, 761, 565,2151, 686,2152, 649,2153, 72, 173,2154, 460, 415,2155,1463,\n2156,1235, 305,2157,2158,2159,2160,2161,2162, 579,2163,2164,2165,2166,2167, 747,\n2168,2169,2170,2171,1464, 669,2172,2173,2174,2175,2176,1465,2177, 23, 530, 285,\n2178, 335, 729,2179, 397,2180,2181,2182,1030,2183,2184, 698,2185,2186, 325,2187,\n2188, 369,2189, 799,1097,1015, 348,2190,1069, 680,2191, 851,1466,2192,2193, 10,\n2194, 613, 424,2195, 979, 108, 449, 589, 27, 172, 81,1031, 80, 774, 281, 350,\n1032, 525, 301, 582,1176,2196, 674,1045,2197,2198,1467, 730, 762,2199,2200,2201,\n2202,1468,2203, 993,2204,2205, 266,1070, 963,1140,2206,2207,2208, 664,1098, 972,\n2209,2210,2211,1177,1469,1470, 871,2212,2213,2214,2215,2216,1471,2217,2218,2219,\n2220,2221,2222,2223,2224,2225,2226,2227,1472,1236,2228,2229,2230,2231,2232,2233,\n2234,2235,1299,2236,2237, 200,2238, 477, 373,2239,2240, 731, 825, 777,2241,2242,\n2243, 521, 486, 548,2244,2245,2246,1473,1300, 53, 549, 137, 875, 76, 158,2247,\n1301,1474, 469, 396,1016, 278, 712,2248, 321, 442, 503, 767, 744, 941,1237,1178,\n1475,2249, 82, 178,1141,1179, 973,2250,1302,2251, 297,2252,2253, 570,2254,2255,\n2256, 18, 450, 206,2257, 290, 292,1142,2258, 511, 162, 99, 346, 164, 735,2259,\n1476,1477, 4, 554, 343, 798,1099,2260,1100,2261, 43, 171,1303, 139, 215,2262,\n2263, 717, 775,2264,1033, 322, 216,2265, 831,2266, 149,2267,1304,2268,2269, 702,\n1238, 135, 845, 347, 309,2270, 484,2271, 878, 655, 238,1006,1478,2272, 67,2273,\n 295,2274,2275, 461,2276, 478, 942, 412,2277,1034,2278,2279,2280, 265,2281, 541,\n2282,2283,2284,2285,2286, 70, 852,1071,2287,2288,2289,2290, 21, 56, 509, 117,\n 432,2291,2292, 331, 980, 552,1101, 148, 284, 105, 393,1180,1239, 755,2293, 187,\n2294,1046,1479,2295, 340,2296, 63,1047, 230,2297,2298,1305, 763,1306, 101, 800,\n 808, 494,2299,2300,2301, 903,2302, 37,1072, 14, 5,2303, 79, 675,2304, 312,\n2305,2306,2307,2308,2309,1480, 6,1307,2310,2311,2312, 1, 470, 35, 24, 229,\n2313, 695, 210, 86, 778, 15, 784, 592, 779, 32, 77, 855, 964,2314, 259,2315,\n 501, 380,2316,2317, 83, 981, 153, 689,1308,1481,1482,1483,2318,2319, 716,1484,\n2320,2321,2322,2323,2324,2325,1485,2326,2327, 128, 57, 68, 261,1048, 211, 170,\n1240, 31,2328, 51, 435, 742,2329,2330,2331, 635,2332, 264, 456,2333,2334,2335,\n 425,2336,1486, 143, 507, 263, 943,2337, 363, 920,1487, 256,1488,1102, 243, 601,\n1489,2338,2339,2340,2341,2342,2343,2344, 861,2345,2346,2347,2348,2349,2350, 395,\n2351,1490,1491, 62, 535, 166, 225,2352,2353, 668, 419,1241, 138, 604, 928,2354,\n1181,2355,1492,1493,2356,2357,2358,1143,2359, 696,2360, 387, 307,1309, 682, 476,\n2361,2362, 332, 12, 222, 156,2363, 232,2364, 641, 276, 656, 517,1494,1495,1035,\n 416, 736,1496,2365,1017, 586,2366,2367,2368,1497,2369, 242,2370,2371,2372,1498,\n2373, 965, 713,2374,2375,2376,2377, 740, 982,1499, 944,1500,1007,2378,2379,1310,\n1501,2380,2381,2382, 785, 329,2383,2384,1502,2385,2386,2387, 932,2388,1503,2389,\n2390,2391,2392,1242,2393,2394,2395,2396,2397, 994, 950,2398,2399,2400,2401,1504,\n1311,2402,2403,2404,2405,1049, 749,2406,2407, 853, 718,1144,1312,2408,1182,1505,\n2409,2410, 255, 516, 479, 564, 550, 214,1506,1507,1313, 413, 239, 444, 339,1145,\n1036,1508,1509,1314,1037,1510,1315,2411,1511,2412,2413,2414, 176, 703, 497, 624,\n 593, 921, 302,2415, 341, 165,1103,1512,2416,1513,2417,2418,2419, 376,2420, 700,\n2421,2422,2423, 258, 768,1316,2424,1183,2425, 995, 608,2426,2427,2428,2429, 221,\n2430,2431,2432,2433,2434,2435,2436,2437, 195, 323, 726, 188, 897, 983,1317, 377,\n 644,1050, 879,2438, 452,2439,2440,2441,2442,2443,2444, 914,2445,2446,2447,2448,\n 915, 489,2449,1514,1184,2450,2451, 515, 64, 427, 495,2452, 583,2453, 483, 485,\n1038, 562, 213,1515, 748, 666,2454,2455,2456,2457, 334,2458, 780, 996,1008, 705,\n1243,2459,2460,2461,2462,2463, 114,2464, 493,1146, 366, 163,1516, 961,1104,2465,\n 291,2466,1318,1105,2467,1517, 365,2468, 355, 951,1244,2469,1319,2470, 631,2471,\n2472, 218,1320, 364, 320, 756,1518,1519,1321,1520,1322,2473,2474,2475,2476, 997,\n2477,2478,2479,2480, 665,1185,2481, 916,1521,2482,2483,2484, 584, 684,2485,2486,\n 797,2487,1051,1186,2488,2489,2490,1522,2491,2492, 370,2493,1039,1187, 65,2494,\n 434, 205, 463,1188,2495, 125, 812, 391, 402, 826, 699, 286, 398, 155, 781, 771,\n 585,2496, 590, 505,1073,2497, 599, 244, 219, 917,1018, 952, 646,1523,2498,1323,\n2499,2500, 49, 984, 354, 741,2501, 625,2502,1324,2503,1019, 190, 357, 757, 491,\n 95, 782, 868,2504,2505,2506,2507,2508,2509, 134,1524,1074, 422,1525, 898,2510,\n 161,2511,2512,2513,2514, 769,2515,1526,2516,2517, 411,1325,2518, 472,1527,2519,\n2520,2521,2522,2523,2524, 985,2525,2526,2527,2528,2529,2530, 764,2531,1245,2532,\n2533, 25, 204, 311,2534, 496,2535,1052,2536,2537,2538,2539,2540,2541,2542, 199,\n 704, 504, 468, 758, 657,1528, 196, 44, 839,1246, 272, 750,2543, 765, 862,2544,\n2545,1326,2546, 132, 615, 933,2547, 732,2548,2549,2550,1189,1529,2551, 283,1247,\n1053, 607, 929,2552,2553,2554, 930, 183, 872, 616,1040,1147,2555,1148,1020, 441,\n 249,1075,2556,2557,2558, 466, 743,2559,2560,2561, 92, 514, 426, 420, 526,2562,\n2563,2564,2565,2566,2567,2568, 185,2569,2570,2571,2572, 776,1530, 658,2573, 362,\n2574, 361, 922,1076, 793,2575,2576,2577,2578,2579,2580,1531, 251,2581,2582,2583,\n2584,1532, 54, 612, 237,1327,2585,2586, 275, 408, 647, 111,2587,1533,1106, 465,\n 3, 458, 9, 38,2588, 107, 110, 890, 209, 26, 737, 498,2589,1534,2590, 431,\n 202, 88,1535, 356, 287,1107, 660,1149,2591, 381,1536, 986,1150, 445,1248,1151,\n 974,2592,2593, 846,2594, 446, 953, 184,1249,1250, 727,2595, 923, 193, 883,2596,\n2597,2598, 102, 324, 539, 817,2599, 421,1041,2600, 832,2601, 94, 175, 197, 406,\n2602, 459,2603,2604,2605,2606,2607, 330, 555,2608,2609,2610, 706,1108, 389,2611,\n2612,2613,2614, 233,2615, 833, 558, 931, 954,1251,2616,2617,1537, 546,2618,2619,\n1009,2620,2621,2622,1538, 690,1328,2623, 955,2624,1539,2625,2626, 772,2627,2628,\n2629,2630,2631, 924, 648, 863, 603,2632,2633, 934,1540, 864, 865,2634, 642,1042,\n 670,1190,2635,2636,2637,2638, 168,2639, 652, 873, 542,1054,1541,2640,2641,2642, // 512, 256\n//Everything below is of no interest for detection purpose\n2643,2644,2645,2646,2647,2648,2649,2650,2651,2652,2653,2654,2655,2656,2657,2658,\n2659,2660,2661,2662,2663,2664,2665,2666,2667,2668,2669,2670,2671,2672,2673,2674,\n2675,2676,2677,2678,2679,2680,2681,2682,2683,2684,2685,2686,2687,2688,2689,2690,\n2691,2692,2693,2694,2695,2696,2697,2698,2699,1542, 880,2700,2701,2702,2703,2704,\n2705,2706,2707,2708,2709,2710,2711,2712,2713,2714,2715,2716,2717,2718,2719,2720,\n2721,2722,2723,2724,2725,1543,2726,2727,2728,2729,2730,2731,2732,1544,2733,2734,\n2735,2736,2737,2738,2739,2740,2741,2742,2743,2744,2745,2746,2747,2748,2749,2750,\n2751,2752,2753,2754,1545,2755,2756,2757,2758,2759,2760,2761,2762,2763,2764,2765,\n2766,1546,2767,1547,2768,2769,2770,2771,2772,2773,2774,2775,2776,2777,2778,2779,\n2780,2781,2782,2783,2784,2785,2786,1548,2787,2788,2789,1109,2790,2791,2792,2793,\n2794,2795,2796,2797,2798,2799,2800,2801,2802,2803,2804,2805,2806,2807,2808,2809,\n2810,2811,2812,1329,2813,2814,2815,2816,2817,2818,2819,2820,2821,2822,2823,2824,\n2825,2826,2827,2828,2829,2830,2831,2832,2833,2834,2835,2836,2837,2838,2839,2840,\n2841,2842,2843,2844,2845,2846,2847,2848,2849,2850,2851,2852,2853,2854,2855,2856,\n1549,2857,2858,2859,2860,1550,2861,2862,1551,2863,2864,2865,2866,2867,2868,2869,\n2870,2871,2872,2873,2874,1110,1330,2875,2876,2877,2878,2879,2880,2881,2882,2883,\n2884,2885,2886,2887,2888,2889,2890,2891,2892,2893,2894,2895,2896,2897,2898,2899,\n2900,2901,2902,2903,2904,2905,2906,2907,2908,2909,2910,2911,2912,2913,2914,2915,\n2916,2917,2918,2919,2920,2921,2922,2923,2924,2925,2926,2927,2928,2929,2930,1331,\n2931,2932,2933,2934,2935,2936,2937,2938,2939,2940,2941,2942,2943,1552,2944,2945,\n2946,2947,2948,2949,2950,2951,2952,2953,2954,2955,2956,2957,2958,2959,2960,2961,\n2962,2963,2964,1252,2965,2966,2967,2968,2969,2970,2971,2972,2973,2974,2975,2976,\n2977,2978,2979,2980,2981,2982,2983,2984,2985,2986,2987,2988,2989,2990,2991,2992,\n2993,2994,2995,2996,2997,2998,2999,3000,3001,3002,3003,3004,3005,3006,3007,3008,\n3009,3010,3011,3012,1553,3013,3014,3015,3016,3017,1554,3018,1332,3019,3020,3021,\n3022,3023,3024,3025,3026,3027,3028,3029,3030,3031,3032,3033,3034,3035,3036,3037,\n3038,3039,3040,3041,3042,3043,3044,3045,3046,3047,3048,3049,3050,1555,3051,3052,\n3053,1556,1557,3054,3055,3056,3057,3058,3059,3060,3061,3062,3063,3064,3065,3066,\n3067,1558,3068,3069,3070,3071,3072,3073,3074,3075,3076,1559,3077,3078,3079,3080,\n3081,3082,3083,1253,3084,3085,3086,3087,3088,3089,3090,3091,3092,3093,3094,3095,\n3096,3097,3098,3099,3100,3101,3102,3103,3104,3105,3106,3107,3108,1152,3109,3110,\n3111,3112,3113,1560,3114,3115,3116,3117,1111,3118,3119,3120,3121,3122,3123,3124,\n3125,3126,3127,3128,3129,3130,3131,3132,3133,3134,3135,3136,3137,3138,3139,3140,\n3141,3142,3143,3144,3145,3146,3147,3148,3149,3150,3151,3152,3153,3154,3155,3156,\n3157,3158,3159,3160,3161,3162,3163,3164,3165,3166,3167,3168,3169,3170,3171,3172,\n3173,3174,3175,3176,1333,3177,3178,3179,3180,3181,3182,3183,3184,3185,3186,3187,\n3188,3189,1561,3190,3191,1334,3192,3193,3194,3195,3196,3197,3198,3199,3200,3201,\n3202,3203,3204,3205,3206,3207,3208,3209,3210,3211,3212,3213,3214,3215,3216,3217,\n3218,3219,3220,3221,3222,3223,3224,3225,3226,3227,3228,3229,3230,3231,3232,3233,\n3234,1562,3235,3236,3237,3238,3239,3240,3241,3242,3243,3244,3245,3246,3247,3248,\n3249,3250,3251,3252,3253,3254,3255,3256,3257,3258,3259,3260,3261,3262,3263,3264,\n3265,3266,3267,3268,3269,3270,3271,3272,3273,3274,3275,3276,3277,1563,3278,3279,\n3280,3281,3282,3283,3284,3285,3286,3287,3288,3289,3290,3291,3292,3293,3294,3295,\n3296,3297,3298,3299,3300,3301,3302,3303,3304,3305,3306,3307,3308,3309,3310,3311,\n3312,3313,3314,3315,3316,3317,3318,3319,3320,3321,3322,3323,3324,3325,3326,3327,\n3328,3329,3330,3331,3332,3333,3334,3335,3336,3337,3338,3339,3340,3341,3342,3343,\n3344,3345,3346,3347,3348,3349,3350,3351,3352,3353,3354,3355,3356,3357,3358,3359,\n3360,3361,3362,3363,3364,1335,3365,3366,3367,3368,3369,3370,3371,3372,3373,3374,\n3375,3376,3377,3378,3379,3380,3381,3382,3383,3384,3385,3386,3387,1336,3388,3389,\n3390,3391,3392,3393,3394,3395,3396,3397,3398,3399,3400,3401,3402,3403,3404,3405,\n3406,3407,3408,3409,3410,3411,3412,3413,3414,1337,3415,3416,3417,3418,3419,1338,\n3420,3421,3422,1564,1565,3423,3424,3425,3426,3427,3428,3429,3430,3431,1254,3432,\n3433,3434,1339,3435,3436,3437,3438,3439,1566,3440,3441,3442,3443,3444,3445,3446,\n3447,3448,3449,3450,3451,3452,3453,3454,1255,3455,3456,3457,3458,3459,1567,1191,\n3460,1568,1569,3461,3462,3463,1570,3464,3465,3466,3467,3468,1571,3469,3470,3471,\n3472,3473,1572,3474,3475,3476,3477,3478,3479,3480,3481,3482,3483,3484,3485,3486,\n1340,3487,3488,3489,3490,3491,3492,1021,3493,3494,3495,3496,3497,3498,1573,3499,\n1341,3500,3501,3502,3503,3504,3505,3506,3507,3508,3509,3510,3511,1342,3512,3513,\n3514,3515,3516,1574,1343,3517,3518,3519,1575,3520,1576,3521,3522,3523,3524,3525,\n3526,3527,3528,3529,3530,3531,3532,3533,3534,3535,3536,3537,3538,3539,3540,3541,\n3542,3543,3544,3545,3546,3547,3548,3549,3550,3551,3552,3553,3554,3555,3556,3557,\n3558,3559,3560,3561,3562,3563,3564,3565,3566,3567,3568,3569,3570,3571,3572,3573,\n3574,3575,3576,3577,3578,3579,3580,1577,3581,3582,1578,3583,3584,3585,3586,3587,\n3588,3589,3590,3591,3592,3593,3594,3595,3596,3597,3598,3599,3600,3601,3602,3603,\n3604,1579,3605,3606,3607,3608,3609,3610,3611,3612,3613,3614,3615,3616,3617,3618,\n3619,3620,3621,3622,3623,3624,3625,3626,3627,3628,3629,1580,3630,3631,1581,3632,\n3633,3634,3635,3636,3637,3638,3639,3640,3641,3642,3643,3644,3645,3646,3647,3648,\n3649,3650,3651,3652,3653,3654,3655,3656,1582,3657,3658,3659,3660,3661,3662,3663,\n3664,3665,3666,3667,3668,3669,3670,3671,3672,3673,3674,3675,3676,3677,3678,3679,\n3680,3681,3682,3683,3684,3685,3686,3687,3688,3689,3690,3691,3692,3693,3694,3695,\n3696,3697,3698,3699,3700,1192,3701,3702,3703,3704,1256,3705,3706,3707,3708,1583,\n1257,3709,3710,3711,3712,3713,3714,3715,3716,1584,3717,3718,3719,3720,3721,3722,\n3723,3724,3725,3726,3727,3728,3729,3730,3731,3732,3733,3734,3735,3736,3737,3738,\n3739,3740,3741,3742,3743,3744,3745,1344,3746,3747,3748,3749,3750,3751,3752,3753,\n3754,3755,3756,1585,3757,3758,3759,3760,3761,3762,3763,3764,3765,3766,1586,3767,\n3768,3769,3770,3771,3772,3773,3774,3775,3776,3777,3778,1345,3779,3780,3781,3782,\n3783,3784,3785,3786,3787,3788,3789,3790,3791,3792,3793,3794,3795,1346,1587,3796,\n3797,1588,3798,3799,3800,3801,3802,3803,3804,3805,3806,1347,3807,3808,3809,3810,\n3811,1589,3812,3813,3814,3815,3816,3817,3818,3819,3820,3821,1590,3822,3823,1591,\n1348,3824,3825,3826,3827,3828,3829,3830,1592,3831,3832,1593,3833,3834,3835,3836,\n3837,3838,3839,3840,3841,3842,3843,3844,1349,3845,3846,3847,3848,3849,3850,3851,\n3852,3853,3854,3855,3856,3857,3858,1594,3859,3860,3861,3862,3863,3864,3865,3866,\n3867,3868,3869,1595,3870,3871,3872,3873,1596,3874,3875,3876,3877,3878,3879,3880,\n3881,3882,3883,3884,3885,3886,1597,3887,3888,3889,3890,3891,3892,3893,3894,3895,\n1598,3896,3897,3898,1599,1600,3899,1350,3900,1351,3901,3902,1352,3903,3904,3905,\n3906,3907,3908,3909,3910,3911,3912,3913,3914,3915,3916,3917,3918,3919,3920,3921,\n3922,3923,3924,1258,3925,3926,3927,3928,3929,3930,3931,1193,3932,1601,3933,3934,\n3935,3936,3937,3938,3939,3940,3941,3942,3943,1602,3944,3945,3946,3947,3948,1603,\n3949,3950,3951,3952,3953,3954,3955,3956,3957,3958,3959,3960,3961,3962,3963,3964,\n3965,1604,3966,3967,3968,3969,3970,3971,3972,3973,3974,3975,3976,3977,1353,3978,\n3979,3980,3981,3982,3983,3984,3985,3986,3987,3988,3989,3990,3991,1354,3992,3993,\n3994,3995,3996,3997,3998,3999,4000,4001,4002,4003,4004,4005,4006,4007,4008,4009,\n4010,4011,4012,4013,4014,4015,4016,4017,4018,4019,4020,4021,4022,4023,1355,4024,\n4025,4026,4027,4028,4029,4030,4031,4032,4033,4034,4035,4036,4037,4038,4039,4040,\n1605,4041,4042,4043,4044,4045,4046,4047,4048,4049,4050,4051,4052,4053,4054,4055,\n4056,4057,4058,4059,4060,1606,4061,4062,4063,4064,1607,4065,4066,4067,4068,4069,\n4070,4071,4072,4073,4074,4075,4076,1194,4077,4078,1608,4079,4080,4081,4082,4083,\n4084,4085,4086,4087,1609,4088,4089,4090,4091,4092,4093,4094,4095,4096,4097,4098,\n4099,4100,4101,4102,4103,4104,4105,4106,4107,4108,1259,4109,4110,4111,4112,4113,\n4114,4115,4116,4117,4118,4119,4120,4121,4122,4123,4124,1195,4125,4126,4127,1610,\n4128,4129,4130,4131,4132,4133,4134,4135,4136,4137,1356,4138,4139,4140,4141,4142,\n4143,4144,1611,4145,4146,4147,4148,4149,4150,4151,4152,4153,4154,4155,4156,4157,\n4158,4159,4160,4161,4162,4163,4164,4165,4166,4167,4168,4169,4170,4171,4172,4173,\n4174,4175,4176,4177,4178,4179,4180,4181,4182,4183,4184,4185,4186,4187,4188,4189,\n4190,4191,4192,4193,4194,4195,4196,4197,4198,4199,4200,4201,4202,4203,4204,4205,\n4206,4207,4208,4209,4210,4211,4212,4213,4214,4215,4216,4217,4218,4219,1612,4220,\n4221,4222,4223,4224,4225,4226,4227,1357,4228,1613,4229,4230,4231,4232,4233,4234,\n4235,4236,4237,4238,4239,4240,4241,4242,4243,1614,4244,4245,4246,4247,4248,4249,\n4250,4251,4252,4253,4254,4255,4256,4257,4258,4259,4260,4261,4262,4263,4264,4265,\n4266,4267,4268,4269,4270,1196,1358,4271,4272,4273,4274,4275,4276,4277,4278,4279,\n4280,4281,4282,4283,4284,4285,4286,4287,1615,4288,4289,4290,4291,4292,4293,4294,\n4295,4296,4297,4298,4299,4300,4301,4302,4303,4304,4305,4306,4307,4308,4309,4310,\n4311,4312,4313,4314,4315,4316,4317,4318,4319,4320,4321,4322,4323,4324,4325,4326,\n4327,4328,4329,4330,4331,4332,4333,4334,1616,4335,4336,4337,4338,4339,4340,4341,\n4342,4343,4344,4345,4346,4347,4348,4349,4350,4351,4352,4353,4354,4355,4356,4357,\n4358,4359,4360,1617,4361,4362,4363,4364,4365,1618,4366,4367,4368,4369,4370,4371,\n4372,4373,4374,4375,4376,4377,4378,4379,4380,4381,4382,4383,4384,4385,4386,4387,\n4388,4389,4390,4391,4392,4393,4394,4395,4396,4397,4398,4399,4400,4401,4402,4403,\n4404,4405,4406,4407,4408,4409,4410,4411,4412,4413,4414,4415,4416,1619,4417,4418,\n4419,4420,4421,4422,4423,4424,4425,1112,4426,4427,4428,4429,4430,1620,4431,4432,\n4433,4434,4435,4436,4437,4438,4439,4440,4441,4442,1260,1261,4443,4444,4445,4446,\n4447,4448,4449,4450,4451,4452,4453,4454,4455,1359,4456,4457,4458,4459,4460,4461,\n4462,4463,4464,4465,1621,4466,4467,4468,4469,4470,4471,4472,4473,4474,4475,4476,\n4477,4478,4479,4480,4481,4482,4483,4484,4485,4486,4487,4488,4489,1055,4490,4491,\n4492,4493,4494,4495,4496,4497,4498,4499,4500,4501,4502,4503,4504,4505,4506,4507,\n4508,4509,4510,4511,4512,4513,4514,4515,4516,4517,4518,1622,4519,4520,4521,1623,\n4522,4523,4524,4525,4526,4527,4528,4529,4530,4531,4532,4533,4534,4535,1360,4536,\n4537,4538,4539,4540,4541,4542,4543, 975,4544,4545,4546,4547,4548,4549,4550,4551,\n4552,4553,4554,4555,4556,4557,4558,4559,4560,4561,4562,4563,4564,4565,4566,4567,\n4568,4569,4570,4571,1624,4572,4573,4574,4575,4576,1625,4577,4578,4579,4580,4581,\n4582,4583,4584,1626,4585,4586,4587,4588,4589,4590,4591,4592,4593,4594,4595,1627,\n4596,4597,4598,4599,4600,4601,4602,4603,4604,4605,4606,4607,4608,4609,4610,4611,\n4612,4613,4614,4615,1628,4616,4617,4618,4619,4620,4621,4622,4623,4624,4625,4626,\n4627,4628,4629,4630,4631,4632,4633,4634,4635,4636,4637,4638,4639,4640,4641,4642,\n4643,4644,4645,4646,4647,4648,4649,1361,4650,4651,4652,4653,4654,4655,4656,4657,\n4658,4659,4660,4661,1362,4662,4663,4664,4665,4666,4667,4668,4669,4670,4671,4672,\n4673,4674,4675,4676,4677,4678,4679,4680,4681,4682,1629,4683,4684,4685,4686,4687,\n1630,4688,4689,4690,4691,1153,4692,4693,4694,1113,4695,4696,4697,4698,4699,4700,\n4701,4702,4703,4704,4705,4706,4707,4708,4709,4710,4711,1197,4712,4713,4714,4715,\n4716,4717,4718,4719,4720,4721,4722,4723,4724,4725,4726,4727,4728,4729,4730,4731,\n4732,4733,4734,4735,1631,4736,1632,4737,4738,4739,4740,4741,4742,4743,4744,1633,\n4745,4746,4747,4748,4749,1262,4750,4751,4752,4753,4754,1363,4755,4756,4757,4758,\n4759,4760,4761,4762,4763,4764,4765,4766,4767,4768,1634,4769,4770,4771,4772,4773,\n4774,4775,4776,4777,4778,1635,4779,4780,4781,4782,4783,4784,4785,4786,4787,4788,\n4789,1636,4790,4791,4792,4793,4794,4795,4796,4797,4798,4799,4800,4801,4802,4803,\n4804,4805,4806,1637,4807,4808,4809,1638,4810,4811,4812,4813,4814,4815,4816,4817,\n4818,1639,4819,4820,4821,4822,4823,4824,4825,4826,4827,4828,4829,4830,4831,4832,\n4833,1077,4834,4835,4836,4837,4838,4839,4840,4841,4842,4843,4844,4845,4846,4847,\n4848,4849,4850,4851,4852,4853,4854,4855,4856,4857,4858,4859,4860,4861,4862,4863,\n4864,4865,4866,4867,4868,4869,4870,4871,4872,4873,4874,4875,4876,4877,4878,4879,\n4880,4881,4882,4883,1640,4884,4885,1641,4886,4887,4888,4889,4890,4891,4892,4893,\n4894,4895,4896,4897,4898,4899,4900,4901,4902,4903,4904,4905,4906,4907,4908,4909,\n4910,4911,1642,4912,4913,4914,1364,4915,4916,4917,4918,4919,4920,4921,4922,4923,\n4924,4925,4926,4927,4928,4929,4930,4931,1643,4932,4933,4934,4935,4936,4937,4938,\n4939,4940,4941,4942,4943,4944,4945,4946,4947,4948,4949,4950,4951,4952,4953,4954,\n4955,4956,4957,4958,4959,4960,4961,4962,4963,4964,4965,4966,4967,4968,4969,4970,\n4971,4972,4973,4974,4975,4976,4977,4978,4979,4980,1644,4981,4982,4983,4984,1645,\n4985,4986,1646,4987,4988,4989,4990,4991,4992,4993,4994,4995,4996,4997,4998,4999,\n5000,5001,5002,5003,5004,5005,1647,5006,1648,5007,5008,5009,5010,5011,5012,1078,\n5013,5014,5015,5016,5017,5018,5019,5020,5021,5022,5023,5024,5025,5026,5027,5028,\n1365,5029,5030,5031,5032,5033,5034,5035,5036,5037,5038,5039,1649,5040,5041,5042,\n5043,5044,5045,1366,5046,5047,5048,5049,5050,5051,5052,5053,5054,5055,1650,5056,\n5057,5058,5059,5060,5061,5062,5063,5064,5065,5066,5067,5068,5069,5070,5071,5072,\n5073,5074,5075,5076,5077,1651,5078,5079,5080,5081,5082,5083,5084,5085,5086,5087,\n5088,5089,5090,5091,5092,5093,5094,5095,5096,5097,5098,5099,5100,5101,5102,5103,\n5104,5105,5106,5107,5108,5109,5110,1652,5111,5112,5113,5114,5115,5116,5117,5118,\n1367,5119,5120,5121,5122,5123,5124,5125,5126,5127,5128,5129,1653,5130,5131,5132,\n5133,5134,5135,5136,5137,5138,5139,5140,5141,5142,5143,5144,5145,5146,5147,5148,\n5149,1368,5150,1654,5151,1369,5152,5153,5154,5155,5156,5157,5158,5159,5160,5161,\n5162,5163,5164,5165,5166,5167,5168,5169,5170,5171,5172,5173,5174,5175,5176,5177,\n5178,1370,5179,5180,5181,5182,5183,5184,5185,5186,5187,5188,5189,5190,5191,5192,\n5193,5194,5195,5196,5197,5198,1655,5199,5200,5201,5202,1656,5203,5204,5205,5206,\n1371,5207,1372,5208,5209,5210,5211,1373,5212,5213,1374,5214,5215,5216,5217,5218,\n5219,5220,5221,5222,5223,5224,5225,5226,5227,5228,5229,5230,5231,5232,5233,5234,\n5235,5236,5237,5238,5239,5240,5241,5242,5243,5244,5245,5246,5247,1657,5248,5249,\n5250,5251,1658,1263,5252,5253,5254,5255,5256,1375,5257,5258,5259,5260,5261,5262,\n5263,5264,5265,5266,5267,5268,5269,5270,5271,5272,5273,5274,5275,5276,5277,5278,\n5279,5280,5281,5282,5283,1659,5284,5285,5286,5287,5288,5289,5290,5291,5292,5293,\n5294,5295,5296,5297,5298,5299,5300,1660,5301,5302,5303,5304,5305,5306,5307,5308,\n5309,5310,5311,5312,5313,5314,5315,5316,5317,5318,5319,5320,5321,1376,5322,5323,\n5324,5325,5326,5327,5328,5329,5330,5331,5332,5333,1198,5334,5335,5336,5337,5338,\n5339,5340,5341,5342,5343,1661,5344,5345,5346,5347,5348,5349,5350,5351,5352,5353,\n5354,5355,5356,5357,5358,5359,5360,5361,5362,5363,5364,5365,5366,5367,5368,5369,\n5370,5371,5372,5373,5374,5375,5376,5377,5378,5379,5380,5381,5382,5383,5384,5385,\n5386,5387,5388,5389,5390,5391,5392,5393,5394,5395,5396,5397,5398,1264,5399,5400,\n5401,5402,5403,5404,5405,5406,5407,5408,5409,5410,5411,5412,1662,5413,5414,5415,\n5416,1663,5417,5418,5419,5420,5421,5422,5423,5424,5425,5426,5427,5428,5429,5430,\n5431,5432,5433,5434,5435,5436,5437,5438,1664,5439,5440,5441,5442,5443,5444,5445,\n5446,5447,5448,5449,5450,5451,5452,5453,5454,5455,5456,5457,5458,5459,5460,5461,\n5462,5463,5464,5465,5466,5467,5468,5469,5470,5471,5472,5473,5474,5475,5476,5477,\n5478,1154,5479,5480,5481,5482,5483,5484,5485,1665,5486,5487,5488,5489,5490,5491,\n5492,5493,5494,5495,5496,5497,5498,5499,5500,5501,5502,5503,5504,5505,5506,5507,\n5508,5509,5510,5511,5512,5513,5514,5515,5516,5517,5518,5519,5520,5521,5522,5523,\n5524,5525,5526,5527,5528,5529,5530,5531,5532,5533,5534,5535,5536,5537,5538,5539,\n5540,5541,5542,5543,5544,5545,5546,5547,5548,1377,5549,5550,5551,5552,5553,5554,\n5555,5556,5557,5558,5559,5560,5561,5562,5563,5564,5565,5566,5567,5568,5569,5570,\n1114,5571,5572,5573,5574,5575,5576,5577,5578,5579,5580,5581,5582,5583,5584,5585,\n5586,5587,5588,5589,5590,5591,5592,1378,5593,5594,5595,5596,5597,5598,5599,5600,\n5601,5602,5603,5604,5605,5606,5607,5608,5609,5610,5611,5612,5613,5614,1379,5615,\n5616,5617,5618,5619,5620,5621,5622,5623,5624,5625,5626,5627,5628,5629,5630,5631,\n5632,5633,5634,1380,5635,5636,5637,5638,5639,5640,5641,5642,5643,5644,5645,5646,\n5647,5648,5649,1381,1056,5650,5651,5652,5653,5654,5655,5656,5657,5658,5659,5660,\n1666,5661,5662,5663,5664,5665,5666,5667,5668,1667,5669,1668,5670,5671,5672,5673,\n5674,5675,5676,5677,5678,1155,5679,5680,5681,5682,5683,5684,5685,5686,5687,5688,\n5689,5690,5691,5692,5693,5694,5695,5696,5697,5698,1669,5699,5700,5701,5702,5703,\n5704,5705,1670,5706,5707,5708,5709,5710,1671,5711,5712,5713,5714,1382,5715,5716,\n5717,5718,5719,5720,5721,5722,5723,5724,5725,1672,5726,5727,1673,1674,5728,5729,\n5730,5731,5732,5733,5734,5735,5736,1675,5737,5738,5739,5740,5741,5742,5743,5744,\n1676,5745,5746,5747,5748,5749,5750,5751,1383,5752,5753,5754,5755,5756,5757,5758,\n5759,5760,5761,5762,5763,5764,5765,5766,5767,5768,1677,5769,5770,5771,5772,5773,\n1678,5774,5775,5776, 998,5777,5778,5779,5780,5781,5782,5783,5784,5785,1384,5786,\n5787,5788,5789,5790,5791,5792,5793,5794,5795,5796,5797,5798,5799,5800,1679,5801,\n5802,5803,1115,1116,5804,5805,5806,5807,5808,5809,5810,5811,5812,5813,5814,5815,\n5816,5817,5818,5819,5820,5821,5822,5823,5824,5825,5826,5827,5828,5829,5830,5831,\n5832,5833,5834,5835,5836,5837,5838,5839,5840,5841,5842,5843,5844,5845,5846,5847,\n5848,5849,5850,5851,5852,5853,5854,5855,1680,5856,5857,5858,5859,5860,5861,5862,\n5863,5864,1681,5865,5866,5867,1682,5868,5869,5870,5871,5872,5873,5874,5875,5876,\n5877,5878,5879,1683,5880,1684,5881,5882,5883,5884,1685,5885,5886,5887,5888,5889,\n5890,5891,5892,5893,5894,5895,5896,5897,5898,5899,5900,5901,5902,5903,5904,5905,\n5906,5907,1686,5908,5909,5910,5911,5912,5913,5914,5915,5916,5917,5918,5919,5920,\n5921,5922,5923,5924,5925,5926,5927,5928,5929,5930,5931,5932,5933,5934,5935,1687,\n5936,5937,5938,5939,5940,5941,5942,5943,5944,5945,5946,5947,5948,5949,5950,5951,\n5952,1688,1689,5953,1199,5954,5955,5956,5957,5958,5959,5960,5961,1690,5962,5963,\n5964,5965,5966,5967,5968,5969,5970,5971,5972,5973,5974,5975,5976,5977,5978,5979,\n5980,5981,1385,5982,1386,5983,5984,5985,5986,5987,5988,5989,5990,5991,5992,5993,\n5994,5995,5996,5997,5998,5999,6000,6001,6002,6003,6004,6005,6006,6007,6008,6009,\n6010,6011,6012,6013,6014,6015,6016,6017,6018,6019,6020,6021,6022,6023,6024,6025,\n6026,6027,1265,6028,6029,1691,6030,6031,6032,6033,6034,6035,6036,6037,6038,6039,\n6040,6041,6042,6043,6044,6045,6046,6047,6048,6049,6050,6051,6052,6053,6054,6055,\n6056,6057,6058,6059,6060,6061,6062,6063,6064,6065,6066,6067,6068,6069,6070,6071,\n6072,6073,6074,6075,6076,6077,6078,6079,6080,6081,6082,6083,6084,1692,6085,6086,\n6087,6088,6089,6090,6091,6092,6093,6094,6095,6096,6097,6098,6099,6100,6101,6102,\n6103,6104,6105,6106,6107,6108,6109,6110,6111,6112,6113,6114,6115,6116,6117,6118,\n6119,6120,6121,6122,6123,6124,6125,6126,6127,6128,6129,6130,6131,1693,6132,6133,\n6134,6135,6136,1694,6137,6138,6139,6140,6141,1695,6142,6143,6144,6145,6146,6147,\n6148,6149,6150,6151,6152,6153,6154,6155,6156,6157,6158,6159,6160,6161,6162,6163,\n6164,6165,6166,6167,6168,6169,6170,6171,6172,6173,6174,6175,6176,6177,6178,6179,\n6180,6181,6182,6183,6184,6185,1696,6186,6187,6188,6189,6190,6191,6192,6193,6194,\n6195,6196,6197,6198,6199,6200,6201,6202,6203,6204,6205,6206,6207,6208,6209,6210,\n6211,6212,6213,6214,6215,6216,6217,6218,6219,1697,6220,6221,6222,6223,6224,6225,\n6226,6227,6228,6229,6230,6231,6232,6233,6234,6235,6236,6237,6238,6239,6240,6241,\n6242,6243,6244,6245,6246,6247,6248,6249,6250,6251,6252,6253,1698,6254,6255,6256,\n6257,6258,6259,6260,6261,6262,6263,1200,6264,6265,6266,6267,6268,6269,6270,6271, //1024\n6272,6273,6274,6275,6276,6277,6278,6279,6280,6281,6282,6283,6284,6285,6286,6287,\n6288,6289,6290,6291,6292,6293,6294,6295,6296,6297,6298,6299,6300,6301,6302,1699,\n6303,6304,1700,6305,6306,6307,6308,6309,6310,6311,6312,6313,6314,6315,6316,6317,\n6318,6319,6320,6321,6322,6323,6324,6325,6326,6327,6328,6329,6330,6331,6332,6333,\n6334,6335,6336,6337,6338,6339,1701,6340,6341,6342,6343,6344,1387,6345,6346,6347,\n6348,6349,6350,6351,6352,6353,6354,6355,6356,6357,6358,6359,6360,6361,6362,6363,\n6364,6365,6366,6367,6368,6369,6370,6371,6372,6373,6374,6375,6376,6377,6378,6379,\n6380,6381,6382,6383,6384,6385,6386,6387,6388,6389,6390,6391,6392,6393,6394,6395,\n6396,6397,6398,6399,6400,6401,6402,6403,6404,6405,6406,6407,6408,6409,6410,6411,\n6412,6413,1702,6414,6415,6416,6417,6418,6419,6420,6421,6422,1703,6423,6424,6425,\n6426,6427,6428,6429,6430,6431,6432,6433,6434,6435,6436,6437,6438,1704,6439,6440,\n6441,6442,6443,6444,6445,6446,6447,6448,6449,6450,6451,6452,6453,6454,6455,6456,\n6457,6458,6459,6460,6461,6462,6463,6464,6465,6466,6467,6468,6469,6470,6471,6472,\n6473,6474,6475,6476,6477,6478,6479,6480,6481,6482,6483,6484,6485,6486,6487,6488,\n6489,6490,6491,6492,6493,6494,6495,6496,6497,6498,6499,6500,6501,6502,6503,1266,\n6504,6505,6506,6507,6508,6509,6510,6511,6512,6513,6514,6515,6516,6517,6518,6519,\n6520,6521,6522,6523,6524,6525,6526,6527,6528,6529,6530,6531,6532,6533,6534,6535,\n6536,6537,6538,6539,6540,6541,6542,6543,6544,6545,6546,6547,6548,6549,6550,6551,\n1705,1706,6552,6553,6554,6555,6556,6557,6558,6559,6560,6561,6562,6563,6564,6565,\n6566,6567,6568,6569,6570,6571,6572,6573,6574,6575,6576,6577,6578,6579,6580,6581,\n6582,6583,6584,6585,6586,6587,6588,6589,6590,6591,6592,6593,6594,6595,6596,6597,\n6598,6599,6600,6601,6602,6603,6604,6605,6606,6607,6608,6609,6610,6611,6612,6613,\n6614,6615,6616,6617,6618,6619,6620,6621,6622,6623,6624,6625,6626,6627,6628,6629,\n6630,6631,6632,6633,6634,6635,6636,6637,1388,6638,6639,6640,6641,6642,6643,6644,\n1707,6645,6646,6647,6648,6649,6650,6651,6652,6653,6654,6655,6656,6657,6658,6659,\n6660,6661,6662,6663,1708,6664,6665,6666,6667,6668,6669,6670,6671,6672,6673,6674,\n1201,6675,6676,6677,6678,6679,6680,6681,6682,6683,6684,6685,6686,6687,6688,6689,\n6690,6691,6692,6693,6694,6695,6696,6697,6698,6699,6700,6701,6702,6703,6704,6705,\n6706,6707,6708,6709,6710,6711,6712,6713,6714,6715,6716,6717,6718,6719,6720,6721,\n6722,6723,6724,6725,1389,6726,6727,6728,6729,6730,6731,6732,6733,6734,6735,6736,\n1390,1709,6737,6738,6739,6740,6741,6742,1710,6743,6744,6745,6746,1391,6747,6748,\n6749,6750,6751,6752,6753,6754,6755,6756,6757,1392,6758,6759,6760,6761,6762,6763,\n6764,6765,6766,6767,6768,6769,6770,6771,6772,6773,6774,6775,6776,6777,6778,6779,\n6780,1202,6781,6782,6783,6784,6785,6786,6787,6788,6789,6790,6791,6792,6793,6794,\n6795,6796,6797,6798,6799,6800,6801,6802,6803,6804,6805,6806,6807,6808,6809,1711,\n6810,6811,6812,6813,6814,6815,6816,6817,6818,6819,6820,6821,6822,6823,6824,6825,\n6826,6827,6828,6829,6830,6831,6832,6833,6834,6835,6836,1393,6837,6838,6839,6840,\n6841,6842,6843,6844,6845,6846,6847,6848,6849,6850,6851,6852,6853,6854,6855,6856,\n6857,6858,6859,6860,6861,6862,6863,6864,6865,6866,6867,6868,6869,6870,6871,6872,\n6873,6874,6875,6876,6877,6878,6879,6880,6881,6882,6883,6884,6885,6886,6887,6888,\n6889,6890,6891,6892,6893,6894,6895,6896,6897,6898,6899,6900,6901,6902,1712,6903,\n6904,6905,6906,6907,6908,6909,6910,1713,6911,6912,6913,6914,6915,6916,6917,6918,\n6919,6920,6921,6922,6923,6924,6925,6926,6927,6928,6929,6930,6931,6932,6933,6934,\n6935,6936,6937,6938,6939,6940,6941,6942,6943,6944,6945,6946,6947,6948,6949,6950,\n6951,6952,6953,6954,6955,6956,6957,6958,6959,6960,6961,6962,6963,6964,6965,6966,\n6967,6968,6969,6970,6971,6972,6973,6974,1714,6975,6976,6977,6978,6979,6980,6981,\n6982,6983,6984,6985,6986,6987,6988,1394,6989,6990,6991,6992,6993,6994,6995,6996,\n6997,6998,6999,7000,1715,7001,7002,7003,7004,7005,7006,7007,7008,7009,7010,7011,\n7012,7013,7014,7015,7016,7017,7018,7019,7020,7021,7022,7023,7024,7025,7026,7027,\n7028,1716,7029,7030,7031,7032,7033,7034,7035,7036,7037,7038,7039,7040,7041,7042,\n7043,7044,7045,7046,7047,7048,7049,7050,7051,7052,7053,7054,7055,7056,7057,7058,\n7059,7060,7061,7062,7063,7064,7065,7066,7067,7068,7069,7070,7071,7072,7073,7074,\n7075,7076,7077,7078,7079,7080,7081,7082,7083,7084,7085,7086,7087,7088,7089,7090,\n7091,7092,7093,7094,7095,7096,7097,7098,7099,7100,7101,7102,7103,7104,7105,7106,\n7107,7108,7109,7110,7111,7112,7113,7114,7115,7116,7117,7118,7119,7120,7121,7122,\n7123,7124,7125,7126,7127,7128,7129,7130,7131,7132,7133,7134,7135,7136,7137,7138,\n7139,7140,7141,7142,7143,7144,7145,7146,7147,7148,7149,7150,7151,7152,7153,7154,\n7155,7156,7157,7158,7159,7160,7161,7162,7163,7164,7165,7166,7167,7168,7169,7170,\n7171,7172,7173,7174,7175,7176,7177,7178,7179,7180,7181,7182,7183,7184,7185,7186,\n7187,7188,7189,7190,7191,7192,7193,7194,7195,7196,7197,7198,7199,7200,7201,7202,\n7203,7204,7205,7206,7207,1395,7208,7209,7210,7211,7212,7213,1717,7214,7215,7216,\n7217,7218,7219,7220,7221,7222,7223,7224,7225,7226,7227,7228,7229,7230,7231,7232,\n7233,7234,7235,7236,7237,7238,7239,7240,7241,7242,7243,7244,7245,7246,7247,7248,\n7249,7250,7251,7252,7253,7254,7255,7256,7257,7258,7259,7260,7261,7262,7263,7264,\n7265,7266,7267,7268,7269,7270,7271,7272,7273,7274,7275,7276,7277,7278,7279,7280,\n7281,7282,7283,7284,7285,7286,7287,7288,7289,7290,7291,7292,7293,7294,7295,7296,\n7297,7298,7299,7300,7301,7302,7303,7304,7305,7306,7307,7308,7309,7310,7311,7312,\n7313,1718,7314,7315,7316,7317,7318,7319,7320,7321,7322,7323,7324,7325,7326,7327,\n7328,7329,7330,7331,7332,7333,7334,7335,7336,7337,7338,7339,7340,7341,7342,7343,\n7344,7345,7346,7347,7348,7349,7350,7351,7352,7353,7354,7355,7356,7357,7358,7359,\n7360,7361,7362,7363,7364,7365,7366,7367,7368,7369,7370,7371,7372,7373,7374,7375,\n7376,7377,7378,7379,7380,7381,7382,7383,7384,7385,7386,7387,7388,7389,7390,7391,\n7392,7393,7394,7395,7396,7397,7398,7399,7400,7401,7402,7403,7404,7405,7406,7407,\n7408,7409,7410,7411,7412,7413,7414,7415,7416,7417,7418,7419,7420,7421,7422,7423,\n7424,7425,7426,7427,7428,7429,7430,7431,7432,7433,7434,7435,7436,7437,7438,7439,\n7440,7441,7442,7443,7444,7445,7446,7447,7448,7449,7450,7451,7452,7453,7454,7455,\n7456,7457,7458,7459,7460,7461,7462,7463,7464,7465,7466,7467,7468,7469,7470,7471,\n7472,7473,7474,7475,7476,7477,7478,7479,7480,7481,7482,7483,7484,7485,7486,7487,\n7488,7489,7490,7491,7492,7493,7494,7495,7496,7497,7498,7499,7500,7501,7502,7503,\n7504,7505,7506,7507,7508,7509,7510,7511,7512,7513,7514,7515,7516,7517,7518,7519,\n7520,7521,7522,7523,7524,7525,7526,7527,7528,7529,7530,7531,7532,7533,7534,7535,\n7536,7537,7538,7539,7540,7541,7542,7543,7544,7545,7546,7547,7548,7549,7550,7551,\n7552,7553,7554,7555,7556,7557,7558,7559,7560,7561,7562,7563,7564,7565,7566,7567,\n7568,7569,7570,7571,7572,7573,7574,7575,7576,7577,7578,7579,7580,7581,7582,7583,\n7584,7585,7586,7587,7588,7589,7590,7591,7592,7593,7594,7595,7596,7597,7598,7599,\n7600,7601,7602,7603,7604,7605,7606,7607,7608,7609,7610,7611,7612,7613,7614,7615,\n7616,7617,7618,7619,7620,7621,7622,7623,7624,7625,7626,7627,7628,7629,7630,7631,\n7632,7633,7634,7635,7636,7637,7638,7639,7640,7641,7642,7643,7644,7645,7646,7647,\n7648,7649,7650,7651,7652,7653,7654,7655,7656,7657,7658,7659,7660,7661,7662,7663,\n7664,7665,7666,7667,7668,7669,7670,7671,7672,7673,7674,7675,7676,7677,7678,7679,\n7680,7681,7682,7683,7684,7685,7686,7687,7688,7689,7690,7691,7692,7693,7694,7695,\n7696,7697,7698,7699,7700,7701,7702,7703,7704,7705,7706,7707,7708,7709,7710,7711,\n7712,7713,7714,7715,7716,7717,7718,7719,7720,7721,7722,7723,7724,7725,7726,7727,\n7728,7729,7730,7731,7732,7733,7734,7735,7736,7737,7738,7739,7740,7741,7742,7743,\n7744,7745,7746,7747,7748,7749,7750,7751,7752,7753,7754,7755,7756,7757,7758,7759,\n7760,7761,7762,7763,7764,7765,7766,7767,7768,7769,7770,7771,7772,7773,7774,7775,\n7776,7777,7778,7779,7780,7781,7782,7783,7784,7785,7786,7787,7788,7789,7790,7791,\n7792,7793,7794,7795,7796,7797,7798,7799,7800,7801,7802,7803,7804,7805,7806,7807,\n7808,7809,7810,7811,7812,7813,7814,7815,7816,7817,7818,7819,7820,7821,7822,7823,\n7824,7825,7826,7827,7828,7829,7830,7831,7832,7833,7834,7835,7836,7837,7838,7839,\n7840,7841,7842,7843,7844,7845,7846,7847,7848,7849,7850,7851,7852,7853,7854,7855,\n7856,7857,7858,7859,7860,7861,7862,7863,7864,7865,7866,7867,7868,7869,7870,7871,\n7872,7873,7874,7875,7876,7877,7878,7879,7880,7881,7882,7883,7884,7885,7886,7887,\n7888,7889,7890,7891,7892,7893,7894,7895,7896,7897,7898,7899,7900,7901,7902,7903,\n7904,7905,7906,7907,7908,7909,7910,7911,7912,7913,7914,7915,7916,7917,7918,7919,\n7920,7921,7922,7923,7924,7925,7926,7927,7928,7929,7930,7931,7932,7933,7934,7935,\n7936,7937,7938,7939,7940,7941,7942,7943,7944,7945,7946,7947,7948,7949,7950,7951,\n7952,7953,7954,7955,7956,7957,7958,7959,7960,7961,7962,7963,7964,7965,7966,7967,\n7968,7969,7970,7971,7972,7973,7974,7975,7976,7977,7978,7979,7980,7981,7982,7983,\n7984,7985,7986,7987,7988,7989,7990,7991,7992,7993,7994,7995,7996,7997,7998,7999,\n8000,8001,8002,8003,8004,8005,8006,8007,8008,8009,8010,8011,8012,8013,8014,8015,\n8016,8017,8018,8019,8020,8021,8022,8023,8024,8025,8026,8027,8028,8029,8030,8031,\n8032,8033,8034,8035,8036,8037,8038,8039,8040,8041,8042,8043,8044,8045,8046,8047,\n8048,8049,8050,8051,8052,8053,8054,8055,8056,8057,8058,8059,8060,8061,8062,8063,\n8064,8065,8066,8067,8068,8069,8070,8071,8072,8073,8074,8075,8076,8077,8078,8079,\n8080,8081,8082,8083,8084,8085,8086,8087,8088,8089,8090,8091,8092,8093,8094,8095,\n8096,8097,8098,8099,8100,8101,8102,8103,8104,8105,8106,8107,8108,8109,8110,8111,\n8112,8113,8114,8115,8116,8117,8118,8119,8120,8121,8122,8123,8124,8125,8126,8127,\n8128,8129,8130,8131,8132,8133,8134,8135,8136,8137,8138,8139,8140,8141,8142,8143,\n8144,8145,8146,8147,8148,8149,8150,8151,8152,8153,8154,8155,8156,8157,8158,8159,\n8160,8161,8162,8163,8164,8165,8166,8167,8168,8169,8170,8171,8172,8173,8174,8175,\n8176,8177,8178,8179,8180,8181,8182,8183,8184,8185,8186,8187,8188,8189,8190,8191,\n8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,8204,8205,8206,8207,\n8208,8209,8210,8211,8212,8213,8214,8215,8216,8217,8218,8219,8220,8221,8222,8223,\n8224,8225,8226,8227,8228,8229,8230,8231,8232,8233,8234,8235,8236,8237,8238,8239,\n8240,8241,8242,8243,8244,8245,8246,8247,8248,8249,8250,8251,8252,8253,8254,8255,\n8256,8257,8258,8259,8260,8261,8262,8263,8264,8265,8266,8267,8268,8269,8270,8271,\n8272,8273,8274,8275,8276,8277,8278,8279,8280,8281,8282,8283,8284,8285,8286,8287,\n8288,8289,8290,8291,8292,8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,\n8304,8305,8306,8307,8308,8309,8310,8311,8312,8313,8314,8315,8316,8317,8318,8319,\n8320,8321,8322,8323,8324,8325,8326,8327,8328,8329,8330,8331,8332,8333,8334,8335,\n8336,8337,8338,8339,8340,8341,8342,8343,8344,8345,8346,8347,8348,8349,8350,8351,\n8352,8353,8354,8355,8356,8357,8358,8359,8360,8361,8362,8363,8364,8365,8366,8367,\n8368,8369,8370,8371,8372,8373,8374,8375,8376,8377,8378,8379,8380,8381,8382,8383,\n8384,8385,8386,8387,8388,8389,8390,8391,8392,8393,8394,8395,8396,8397,8398,8399,\n8400,8401,8402,8403,8404,8405,8406,8407,8408,8409,8410,8411,8412,8413,8414,8415,\n8416,8417,8418,8419,8420,8421,8422,8423,8424,8425,8426,8427,8428,8429,8430,8431,\n8432,8433,8434,8435,8436,8437,8438,8439,8440,8441,8442,8443,8444,8445,8446,8447,\n8448,8449,8450,8451,8452,8453,8454,8455,8456,8457,8458,8459,8460,8461,8462,8463,\n8464,8465,8466,8467,8468,8469,8470,8471,8472,8473,8474,8475,8476,8477,8478,8479,\n8480,8481,8482,8483,8484,8485,8486,8487,8488,8489,8490,8491,8492,8493,8494,8495,\n8496,8497,8498,8499,8500,8501,8502,8503,8504,8505,8506,8507,8508,8509,8510,8511,\n8512,8513,8514,8515,8516,8517,8518,8519,8520,8521,8522,8523,8524,8525,8526,8527,\n8528,8529,8530,8531,8532,8533,8534,8535,8536,8537,8538,8539,8540,8541,8542,8543,\n8544,8545,8546,8547,8548,8549,8550,8551,8552,8553,8554,8555,8556,8557,8558,8559,\n8560,8561,8562,8563,8564,8565,8566,8567,8568,8569,8570,8571,8572,8573,8574,8575,\n8576,8577,8578,8579,8580,8581,8582,8583,8584,8585,8586,8587,8588,8589,8590,8591,\n8592,8593,8594,8595,8596,8597,8598,8599,8600,8601,8602,8603,8604,8605,8606,8607,\n8608,8609,8610,8611,8612,8613,8614,8615,8616,8617,8618,8619,8620,8621,8622,8623,\n8624,8625,8626,8627,8628,8629,8630,8631,8632,8633,8634,8635,8636,8637,8638,8639,\n8640,8641,8642,8643,8644,8645,8646,8647,8648,8649,8650,8651,8652,8653,8654,8655,\n8656,8657,8658,8659,8660,8661,8662,8663,8664,8665,8666,8667,8668,8669,8670,8671,\n8672,8673,8674,8675,8676,8677,8678,8679,8680,8681,8682,8683,8684,8685,8686,8687,\n8688,8689,8690,8691,8692,8693,8694,8695,8696,8697,8698,8699,8700,8701,8702,8703,\n8704,8705,8706,8707,8708,8709,8710,8711,8712,8713,8714,8715,8716,8717,8718,8719,\n8720,8721,8722,8723,8724,8725,8726,8727,8728,8729,8730,8731,8732,8733,8734,8735,\n8736,8737,8738,8739,8740,8741\n];\n\n}(__webpack_require__(/*! ./init */ \"./node_modules/jschardet/src/init.js\"));\n\n\n//# sourceURL=webpack:///./node_modules/jschardet/src/euckrfreq.js?"); - -/***/ }), - -/***/ "./node_modules/jschardet/src/euckrprober.js": -/*!***************************************************!*\ - !*** ./node_modules/jschardet/src/euckrprober.js ***! - \***************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/*\n * The Original Code is Mozilla Universal charset detector code.\n *\n * The Initial Developer of the Original Code is\n * Netscape Communications Corporation.\n * Portions created by the Initial Developer are Copyright (C) 2001\n * the Initial Developer. All Rights Reserved.\n *\n * Contributor(s):\n * António Afonso (antonio.afonso gmail.com) - port to JavaScript\n * Mark Pilgrim - port to Python\n * Shy Shalom - original C code\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA\n */\n\n!function(jschardet) {\n\njschardet.EUCKRProber = function() {\n jschardet.MultiByteCharSetProber.apply(this);\n\n var self = this;\n\n function init() {\n self._mCodingSM = new jschardet.CodingStateMachine(jschardet.EUCKRSMModel);\n self._mDistributionAnalyzer = new jschardet.EUCKRDistributionAnalysis();\n self.reset();\n }\n\n this.getCharsetName = function() {\n return \"EUC-KR\";\n }\n\n init();\n}\njschardet.EUCKRProber.prototype = new jschardet.MultiByteCharSetProber();\n\n}(__webpack_require__(/*! ./init */ \"./node_modules/jschardet/src/init.js\"));\n\n\n//# sourceURL=webpack:///./node_modules/jschardet/src/euckrprober.js?"); - -/***/ }), - -/***/ "./node_modules/jschardet/src/euctwfreq.js": -/*!*************************************************!*\ - !*** ./node_modules/jschardet/src/euctwfreq.js ***! - \*************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/*\n * The Original Code is Mozilla Universal charset detector code.\n *\n * The Initial Developer of the Original Code is\n * Netscape Communications Corporation.\n * Portions created by the Initial Developer are Copyright (C) 2001\n * the Initial Developer. All Rights Reserved.\n *\n * Contributor(s):\n * António Afonso (antonio.afonso gmail.com) - port to JavaScript\n * Mark Pilgrim - port to Python\n * Shy Shalom - original C code\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA\n */\n\n!function(jschardet) {\n\n// EUCTW frequency table\n// Converted from big5 work\n// by Taiwan's Mandarin Promotion Council\n// \n\n// 128 --> 0.42261\n// 256 --> 0.57851\n// 512 --> 0.74851\n// 1024 --> 0.89384\n// 2048 --> 0.97583\n//\n// Idea Distribution Ratio = 0.74851/(1-0.74851) =2.98\n// Random Distribution Ration = 512/(5401-512)=0.105\n//\n// Typical Distribution Ratio about 25% of Ideal one, still much higher than RDR\n\njschardet.EUCTW_TYPICAL_DISTRIBUTION_RATIO = 0.75;\n\n// Char to FreqOrder table ,\njschardet.EUCTW_TABLE_SIZE = 8102;\n\njschardet.EUCTWCharToFreqOrder = [\n 1,1800,1506, 255,1431, 198, 9, 82, 6,7310, 177, 202,3615,1256,2808, 110, // 2742\n3735, 33,3241, 261, 76, 44,2113, 16,2931,2184,1176, 659,3868, 26,3404,2643, // 2758\n1198,3869,3313,4060, 410,2211, 302, 590, 361,1963, 8, 204, 58,4296,7311,1931, // 2774\n 63,7312,7313, 317,1614, 75, 222, 159,4061,2412,1480,7314,3500,3068, 224,2809, // 2790\n3616, 3, 10,3870,1471, 29,2774,1135,2852,1939, 873, 130,3242,1123, 312,7315, // 2806\n4297,2051, 507, 252, 682,7316, 142,1914, 124, 206,2932, 34,3501,3173, 64, 604, // 2822\n7317,2494,1976,1977, 155,1990, 645, 641,1606,7318,3405, 337, 72, 406,7319, 80, // 2838\n 630, 238,3174,1509, 263, 939,1092,2644, 756,1440,1094,3406, 449, 69,2969, 591, // 2854\n 179,2095, 471, 115,2034,1843, 60, 50,2970, 134, 806,1868, 734,2035,3407, 180, // 2870\n 995,1607, 156, 537,2893, 688,7320, 319,1305, 779,2144, 514,2374, 298,4298, 359, // 2886\n2495, 90,2707,1338, 663, 11, 906,1099,2545, 20,2436, 182, 532,1716,7321, 732, // 2902\n1376,4062,1311,1420,3175, 25,2312,1056, 113, 399, 382,1949, 242,3408,2467, 529, // 2918\n3243, 475,1447,3617,7322, 117, 21, 656, 810,1297,2295,2329,3502,7323, 126,4063, // 2934\n 706, 456, 150, 613,4299, 71,1118,2036,4064, 145,3069, 85, 835, 486,2114,1246, // 2950\n1426, 428, 727,1285,1015, 800, 106, 623, 303,1281,7324,2127,2354, 347,3736, 221, // 2966\n3503,3110,7325,1955,1153,4065, 83, 296,1199,3070, 192, 624, 93,7326, 822,1897, // 2982\n2810,3111, 795,2064, 991,1554,1542,1592, 27, 43,2853, 859, 139,1456, 860,4300, // 2998\n 437, 712,3871, 164,2392,3112, 695, 211,3017,2096, 195,3872,1608,3504,3505,3618, // 3014\n3873, 234, 811,2971,2097,3874,2229,1441,3506,1615,2375, 668,2076,1638, 305, 228, // 3030\n1664,4301, 467, 415,7327, 262,2098,1593, 239, 108, 300, 200,1033, 512,1247,2077, // 3046\n7328,7329,2173,3176,3619,2673, 593, 845,1062,3244, 88,1723,2037,3875,1950, 212, // 3062\n 266, 152, 149, 468,1898,4066,4302, 77, 187,7330,3018, 37, 5,2972,7331,3876, // 3078\n7332,7333, 39,2517,4303,2894,3177,2078, 55, 148, 74,4304, 545, 483,1474,1029, // 3094\n1665, 217,1869,1531,3113,1104,2645,4067, 24, 172,3507, 900,3877,3508,3509,4305, // 3110\n 32,1408,2811,1312, 329, 487,2355,2247,2708, 784,2674, 4,3019,3314,1427,1788, // 3126\n 188, 109, 499,7334,3620,1717,1789, 888,1217,3020,4306,7335,3510,7336,3315,1520, // 3142\n3621,3878, 196,1034, 775,7337,7338, 929,1815, 249, 439, 38,7339,1063,7340, 794, // 3158\n3879,1435,2296, 46, 178,3245,2065,7341,2376,7342, 214,1709,4307, 804, 35, 707, // 3174\n 324,3622,1601,2546, 140, 459,4068,7343,7344,1365, 839, 272, 978,2257,2572,3409, // 3190\n2128,1363,3623,1423, 697, 100,3071, 48, 70,1231, 495,3114,2193,7345,1294,7346, // 3206\n2079, 462, 586,1042,3246, 853, 256, 988, 185,2377,3410,1698, 434,1084,7347,3411, // 3222\n 314,2615,2775,4308,2330,2331, 569,2280, 637,1816,2518, 757,1162,1878,1616,3412, // 3238\n 287,1577,2115, 768,4309,1671,2854,3511,2519,1321,3737, 909,2413,7348,4069, 933, // 3254\n3738,7349,2052,2356,1222,4310, 765,2414,1322, 786,4311,7350,1919,1462,1677,2895, // 3270\n1699,7351,4312,1424,2437,3115,3624,2590,3316,1774,1940,3413,3880,4070, 309,1369, // 3286\n1130,2812, 364,2230,1653,1299,3881,3512,3882,3883,2646, 525,1085,3021, 902,2000, // 3302\n1475, 964,4313, 421,1844,1415,1057,2281, 940,1364,3116, 376,4314,4315,1381, 7, // 3318\n2520, 983,2378, 336,1710,2675,1845, 321,3414, 559,1131,3022,2742,1808,1132,1313, // 3334\n 265,1481,1857,7352, 352,1203,2813,3247, 167,1089, 420,2814, 776, 792,1724,3513, // 3350\n4071,2438,3248,7353,4072,7354, 446, 229, 333,2743, 901,3739,1200,1557,4316,2647, // 3366\n1920, 395,2744,2676,3740,4073,1835, 125, 916,3178,2616,4317,7355,7356,3741,7357, // 3382\n7358,7359,4318,3117,3625,1133,2547,1757,3415,1510,2313,1409,3514,7360,2145, 438, // 3398\n2591,2896,2379,3317,1068, 958,3023, 461, 311,2855,2677,4074,1915,3179,4075,1978, // 3414\n 383, 750,2745,2617,4076, 274, 539, 385,1278,1442,7361,1154,1964, 384, 561, 210, // 3430\n 98,1295,2548,3515,7362,1711,2415,1482,3416,3884,2897,1257, 129,7363,3742, 642, // 3446\n 523,2776,2777,2648,7364, 141,2231,1333, 68, 176, 441, 876, 907,4077, 603,2592, // 3462\n 710, 171,3417, 404, 549, 18,3118,2393,1410,3626,1666,7365,3516,4319,2898,4320, // 3478\n7366,2973, 368,7367, 146, 366, 99, 871,3627,1543, 748, 807,1586,1185, 22,2258, // 3494\n 379,3743,3180,7368,3181, 505,1941,2618,1991,1382,2314,7369, 380,2357, 218, 702, // 3510\n1817,1248,3418,3024,3517,3318,3249,7370,2974,3628, 930,3250,3744,7371, 59,7372, // 3526\n 585, 601,4078, 497,3419,1112,1314,4321,1801,7373,1223,1472,2174,7374, 749,1836, // 3542\n 690,1899,3745,1772,3885,1476, 429,1043,1790,2232,2116, 917,4079, 447,1086,1629, // 3558\n7375, 556,7376,7377,2020,1654, 844,1090, 105, 550, 966,1758,2815,1008,1782, 686, // 3574\n1095,7378,2282, 793,1602,7379,3518,2593,4322,4080,2933,2297,4323,3746, 980,2496, // 3590\n 544, 353, 527,4324, 908,2678,2899,7380, 381,2619,1942,1348,7381,1341,1252, 560, // 3606\n3072,7382,3420,2856,7383,2053, 973, 886,2080, 143,4325,7384,7385, 157,3886, 496, // 3622\n4081, 57, 840, 540,2038,4326,4327,3421,2117,1445, 970,2259,1748,1965,2081,4082, // 3638\n3119,1234,1775,3251,2816,3629, 773,1206,2129,1066,2039,1326,3887,1738,1725,4083, // 3654\n 279,3120, 51,1544,2594, 423,1578,2130,2066, 173,4328,1879,7386,7387,1583, 264, // 3670\n 610,3630,4329,2439, 280, 154,7388,7389,7390,1739, 338,1282,3073, 693,2857,1411, // 3686\n1074,3747,2440,7391,4330,7392,7393,1240, 952,2394,7394,2900,1538,2679, 685,1483, // 3702\n4084,2468,1436, 953,4085,2054,4331, 671,2395, 79,4086,2441,3252, 608, 567,2680, // 3718\n3422,4087,4088,1691, 393,1261,1791,2396,7395,4332,7396,7397,7398,7399,1383,1672, // 3734\n3748,3182,1464, 522,1119, 661,1150, 216, 675,4333,3888,1432,3519, 609,4334,2681, // 3750\n2397,7400,7401,7402,4089,3025, 0,7403,2469, 315, 231,2442, 301,3319,4335,2380, // 3766\n7404, 233,4090,3631,1818,4336,4337,7405, 96,1776,1315,2082,7406, 257,7407,1809, // 3782\n3632,2709,1139,1819,4091,2021,1124,2163,2778,1777,2649,7408,3074, 363,1655,3183, // 3798\n7409,2975,7410,7411,7412,3889,1567,3890, 718, 103,3184, 849,1443, 341,3320,2934, // 3814\n1484,7413,1712, 127, 67, 339,4092,2398, 679,1412, 821,7414,7415, 834, 738, 351, // 3830\n2976,2146, 846, 235,1497,1880, 418,1992,3749,2710, 186,1100,2147,2746,3520,1545, // 3846\n1355,2935,2858,1377, 583,3891,4093,2573,2977,7416,1298,3633,1078,2549,3634,2358, // 3862\n 78,3750,3751, 267,1289,2099,2001,1594,4094, 348, 369,1274,2194,2175,1837,4338, // 3878\n1820,2817,3635,2747,2283,2002,4339,2936,2748, 144,3321, 882,4340,3892,2749,3423, // 3894\n4341,2901,7417,4095,1726, 320,7418,3893,3026, 788,2978,7419,2818,1773,1327,2859, // 3910\n3894,2819,7420,1306,4342,2003,1700,3752,3521,2359,2650, 787,2022, 506, 824,3636, // 3926\n 534, 323,4343,1044,3322,2023,1900, 946,3424,7421,1778,1500,1678,7422,1881,4344, // 3942\n 165, 243,4345,3637,2521, 123, 683,4096, 764,4346, 36,3895,1792, 589,2902, 816, // 3958\n 626,1667,3027,2233,1639,1555,1622,3753,3896,7423,3897,2860,1370,1228,1932, 891, // 3974\n2083,2903, 304,4097,7424, 292,2979,2711,3522, 691,2100,4098,1115,4347, 118, 662, // 3990\n7425, 611,1156, 854,2381,1316,2861, 2, 386, 515,2904,7426,7427,3253, 868,2234, // 4006\n1486, 855,2651, 785,2212,3028,7428,1040,3185,3523,7429,3121, 448,7430,1525,7431, // 4022\n2164,4348,7432,3754,7433,4099,2820,3524,3122, 503, 818,3898,3123,1568, 814, 676, // 4038\n1444, 306,1749,7434,3755,1416,1030, 197,1428, 805,2821,1501,4349,7435,7436,7437, // 4054\n1993,7438,4350,7439,7440,2195, 13,2779,3638,2980,3124,1229,1916,7441,3756,2131, // 4070\n7442,4100,4351,2399,3525,7443,2213,1511,1727,1120,7444,7445, 646,3757,2443, 307, // 4086\n7446,7447,1595,3186,7448,7449,7450,3639,1113,1356,3899,1465,2522,2523,7451, 519, // 4102\n7452, 128,2132, 92,2284,1979,7453,3900,1512, 342,3125,2196,7454,2780,2214,1980, // 4118\n3323,7455, 290,1656,1317, 789, 827,2360,7456,3758,4352, 562, 581,3901,7457, 401, // 4134\n4353,2248, 94,4354,1399,2781,7458,1463,2024,4355,3187,1943,7459, 828,1105,4101, // 4150\n1262,1394,7460,4102, 605,4356,7461,1783,2862,7462,2822, 819,2101, 578,2197,2937, // 4166\n7463,1502, 436,3254,4103,3255,2823,3902,2905,3425,3426,7464,2712,2315,7465,7466, // 4182\n2332,2067, 23,4357, 193, 826,3759,2102, 699,1630,4104,3075, 390,1793,1064,3526, // 4198\n7467,1579,3076,3077,1400,7468,4105,1838,1640,2863,7469,4358,4359, 137,4106, 598, // 4214\n3078,1966, 780, 104, 974,2938,7470, 278, 899, 253, 402, 572, 504, 493,1339,7471, // 4230\n3903,1275,4360,2574,2550,7472,3640,3029,3079,2249, 565,1334,2713, 863, 41,7473, // 4246\n7474,4361,7475,1657,2333, 19, 463,2750,4107, 606,7476,2981,3256,1087,2084,1323, // 4262\n2652,2982,7477,1631,1623,1750,4108,2682,7478,2864, 791,2714,2653,2334, 232,2416, // 4278\n7479,2983,1498,7480,2654,2620, 755,1366,3641,3257,3126,2025,1609, 119,1917,3427, // 4294\n 862,1026,4109,7481,3904,3760,4362,3905,4363,2260,1951,2470,7482,1125, 817,4110, // 4310\n4111,3906,1513,1766,2040,1487,4112,3030,3258,2824,3761,3127,7483,7484,1507,7485, // 4326\n2683, 733, 40,1632,1106,2865, 345,4113, 841,2524, 230,4364,2984,1846,3259,3428, // 4342\n7486,1263, 986,3429,7487, 735, 879, 254,1137, 857, 622,1300,1180,1388,1562,3907, // 4358\n3908,2939, 967,2751,2655,1349, 592,2133,1692,3324,2985,1994,4114,1679,3909,1901, // 4374\n2185,7488, 739,3642,2715,1296,1290,7489,4115,2198,2199,1921,1563,2595,2551,1870, // 4390\n2752,2986,7490, 435,7491, 343,1108, 596, 17,1751,4365,2235,3430,3643,7492,4366, // 4406\n 294,3527,2940,1693, 477, 979, 281,2041,3528, 643,2042,3644,2621,2782,2261,1031, // 4422\n2335,2134,2298,3529,4367, 367,1249,2552,7493,3530,7494,4368,1283,3325,2004, 240, // 4438\n1762,3326,4369,4370, 836,1069,3128, 474,7495,2148,2525, 268,3531,7496,3188,1521, // 4454\n1284,7497,1658,1546,4116,7498,3532,3533,7499,4117,3327,2684,1685,4118, 961,1673, // 4470\n2622, 190,2005,2200,3762,4371,4372,7500, 570,2497,3645,1490,7501,4373,2623,3260, // 4486\n1956,4374, 584,1514, 396,1045,1944,7502,4375,1967,2444,7503,7504,4376,3910, 619, // 4502\n7505,3129,3261, 215,2006,2783,2553,3189,4377,3190,4378, 763,4119,3763,4379,7506, // 4518\n7507,1957,1767,2941,3328,3646,1174, 452,1477,4380,3329,3130,7508,2825,1253,2382, // 4534\n2186,1091,2285,4120, 492,7509, 638,1169,1824,2135,1752,3911, 648, 926,1021,1324, // 4550\n4381, 520,4382, 997, 847,1007, 892,4383,3764,2262,1871,3647,7510,2400,1784,4384, // 4566\n1952,2942,3080,3191,1728,4121,2043,3648,4385,2007,1701,3131,1551, 30,2263,4122, // 4582\n7511,2026,4386,3534,7512, 501,7513,4123, 594,3431,2165,1821,3535,3432,3536,3192, // 4598\n 829,2826,4124,7514,1680,3132,1225,4125,7515,3262,4387,4126,3133,2336,7516,4388, // 4614\n4127,7517,3912,3913,7518,1847,2383,2596,3330,7519,4389, 374,3914, 652,4128,4129, // 4630\n 375,1140, 798,7520,7521,7522,2361,4390,2264, 546,1659, 138,3031,2445,4391,7523, // 4646\n2250, 612,1848, 910, 796,3765,1740,1371, 825,3766,3767,7524,2906,2554,7525, 692, // 4662\n 444,3032,2624, 801,4392,4130,7526,1491, 244,1053,3033,4131,4132, 340,7527,3915, // 4678\n1041,2987, 293,1168, 87,1357,7528,1539, 959,7529,2236, 721, 694,4133,3768, 219, // 4694\n1478, 644,1417,3331,2656,1413,1401,1335,1389,3916,7530,7531,2988,2362,3134,1825, // 4710\n 730,1515, 184,2827, 66,4393,7532,1660,2943, 246,3332, 378,1457, 226,3433, 975, // 4726\n3917,2944,1264,3537, 674, 696,7533, 163,7534,1141,2417,2166, 713,3538,3333,4394, // 4742\n3918,7535,7536,1186, 15,7537,1079,1070,7538,1522,3193,3539, 276,1050,2716, 758, // 4758\n1126, 653,2945,3263,7539,2337, 889,3540,3919,3081,2989, 903,1250,4395,3920,3434, // 4774\n3541,1342,1681,1718, 766,3264, 286, 89,2946,3649,7540,1713,7541,2597,3334,2990, // 4790\n7542,2947,2215,3194,2866,7543,4396,2498,2526, 181, 387,1075,3921, 731,2187,3335, // 4806\n7544,3265, 310, 313,3435,2299, 770,4134, 54,3034, 189,4397,3082,3769,3922,7545, // 4822\n1230,1617,1849, 355,3542,4135,4398,3336, 111,4136,3650,1350,3135,3436,3035,4137, // 4838\n2149,3266,3543,7546,2784,3923,3924,2991, 722,2008,7547,1071, 247,1207,2338,2471, // 4854\n1378,4399,2009, 864,1437,1214,4400, 373,3770,1142,2216, 667,4401, 442,2753,2555, // 4870\n3771,3925,1968,4138,3267,1839, 837, 170,1107, 934,1336,1882,7548,7549,2118,4139, // 4886\n2828, 743,1569,7550,4402,4140, 582,2384,1418,3437,7551,1802,7552, 357,1395,1729, // 4902\n3651,3268,2418,1564,2237,7553,3083,3772,1633,4403,1114,2085,4141,1532,7554, 482, // 4918\n2446,4404,7555,7556,1492, 833,1466,7557,2717,3544,1641,2829,7558,1526,1272,3652, // 4934\n4142,1686,1794, 416,2556,1902,1953,1803,7559,3773,2785,3774,1159,2316,7560,2867, // 4950\n4405,1610,1584,3036,2419,2754, 443,3269,1163,3136,7561,7562,3926,7563,4143,2499, // 4966\n3037,4406,3927,3137,2103,1647,3545,2010,1872,4144,7564,4145, 431,3438,7565, 250, // 4982\n 97, 81,4146,7566,1648,1850,1558, 160, 848,7567, 866, 740,1694,7568,2201,2830, // 4998\n3195,4147,4407,3653,1687, 950,2472, 426, 469,3196,3654,3655,3928,7569,7570,1188, // 5014\n 424,1995, 861,3546,4148,3775,2202,2685, 168,1235,3547,4149,7571,2086,1674,4408, // 5030\n3337,3270, 220,2557,1009,7572,3776, 670,2992, 332,1208, 717,7573,7574,3548,2447, // 5046\n3929,3338,7575, 513,7576,1209,2868,3339,3138,4409,1080,7577,7578,7579,7580,2527, // 5062\n3656,3549, 815,1587,3930,3931,7581,3550,3439,3777,1254,4410,1328,3038,1390,3932, // 5078\n1741,3933,3778,3934,7582, 236,3779,2448,3271,7583,7584,3657,3780,1273,3781,4411, // 5094\n7585, 308,7586,4412, 245,4413,1851,2473,1307,2575, 430, 715,2136,2449,7587, 270, // 5110\n 199,2869,3935,7588,3551,2718,1753, 761,1754, 725,1661,1840,4414,3440,3658,7589, // 5126\n7590, 587, 14,3272, 227,2598, 326, 480,2265, 943,2755,3552, 291, 650,1883,7591, // 5142\n1702,1226, 102,1547, 62,3441, 904,4415,3442,1164,4150,7592,7593,1224,1548,2756, // 5158\n 391, 498,1493,7594,1386,1419,7595,2055,1177,4416, 813, 880,1081,2363, 566,1145, // 5174\n4417,2286,1001,1035,2558,2599,2238, 394,1286,7596,7597,2068,7598, 86,1494,1730, // 5190\n3936, 491,1588, 745, 897,2948, 843,3340,3937,2757,2870,3273,1768, 998,2217,2069, // 5206\n 397,1826,1195,1969,3659,2993,3341, 284,7599,3782,2500,2137,2119,1903,7600,3938, // 5222\n2150,3939,4151,1036,3443,1904, 114,2559,4152, 209,1527,7601,7602,2949,2831,2625, // 5238\n2385,2719,3139, 812,2560,7603,3274,7604,1559, 737,1884,3660,1210, 885, 28,2686, // 5254\n3553,3783,7605,4153,1004,1779,4418,7606, 346,1981,2218,2687,4419,3784,1742, 797, // 5270\n1642,3940,1933,1072,1384,2151, 896,3941,3275,3661,3197,2871,3554,7607,2561,1958, // 5286\n4420,2450,1785,7608,7609,7610,3942,4154,1005,1308,3662,4155,2720,4421,4422,1528, // 5302\n2600, 161,1178,4156,1982, 987,4423,1101,4157, 631,3943,1157,3198,2420,1343,1241, // 5318\n1016,2239,2562, 372, 877,2339,2501,1160, 555,1934, 911,3944,7611, 466,1170, 169, // 5334\n1051,2907,2688,3663,2474,2994,1182,2011,2563,1251,2626,7612, 992,2340,3444,1540, // 5350\n2721,1201,2070,2401,1996,2475,7613,4424, 528,1922,2188,1503,1873,1570,2364,3342, // 5366\n3276,7614, 557,1073,7615,1827,3445,2087,2266,3140,3039,3084, 767,3085,2786,4425, // 5382\n1006,4158,4426,2341,1267,2176,3664,3199, 778,3945,3200,2722,1597,2657,7616,4427, // 5398\n7617,3446,7618,7619,7620,3277,2689,1433,3278, 131, 95,1504,3946, 723,4159,3141, // 5414\n1841,3555,2758,2189,3947,2027,2104,3665,7621,2995,3948,1218,7622,3343,3201,3949, // 5430\n4160,2576, 248,1634,3785, 912,7623,2832,3666,3040,3786, 654, 53,7624,2996,7625, // 5446\n1688,4428, 777,3447,1032,3950,1425,7626, 191, 820,2120,2833, 971,4429, 931,3202, // 5462\n 135, 664, 783,3787,1997, 772,2908,1935,3951,3788,4430,2909,3203, 282,2723, 640, // 5478\n1372,3448,1127, 922, 325,3344,7627,7628, 711,2044,7629,7630,3952,2219,2787,1936, // 5494\n3953,3345,2220,2251,3789,2300,7631,4431,3790,1258,3279,3954,3204,2138,2950,3955, // 5510\n3956,7632,2221, 258,3205,4432, 101,1227,7633,3280,1755,7634,1391,3281,7635,2910, // 5526\n2056, 893,7636,7637,7638,1402,4161,2342,7639,7640,3206,3556,7641,7642, 878,1325, // 5542\n1780,2788,4433, 259,1385,2577, 744,1183,2267,4434,7643,3957,2502,7644, 684,1024, // 5558\n4162,7645, 472,3557,3449,1165,3282,3958,3959, 322,2152, 881, 455,1695,1152,1340, // 5574\n 660, 554,2153,4435,1058,4436,4163, 830,1065,3346,3960,4437,1923,7646,1703,1918, // 5590\n7647, 932,2268, 122,7648,4438, 947, 677,7649,3791,2627, 297,1905,1924,2269,4439, // 5606\n2317,3283,7650,7651,4164,7652,4165, 84,4166, 112, 989,7653, 547,1059,3961, 701, // 5622\n3558,1019,7654,4167,7655,3450, 942, 639, 457,2301,2451, 993,2951, 407, 851, 494, // 5638\n4440,3347, 927,7656,1237,7657,2421,3348, 573,4168, 680, 921,2911,1279,1874, 285, // 5654\n 790,1448,1983, 719,2167,7658,7659,4441,3962,3963,1649,7660,1541, 563,7661,1077, // 5670\n7662,3349,3041,3451, 511,2997,3964,3965,3667,3966,1268,2564,3350,3207,4442,4443, // 5686\n7663, 535,1048,1276,1189,2912,2028,3142,1438,1373,2834,2952,1134,2012,7664,4169, // 5702\n1238,2578,3086,1259,7665, 700,7666,2953,3143,3668,4170,7667,4171,1146,1875,1906, // 5718\n4444,2601,3967, 781,2422, 132,1589, 203, 147, 273,2789,2402, 898,1786,2154,3968, // 5734\n3969,7668,3792,2790,7669,7670,4445,4446,7671,3208,7672,1635,3793, 965,7673,1804, // 5750\n2690,1516,3559,1121,1082,1329,3284,3970,1449,3794, 65,1128,2835,2913,2759,1590, // 5766\n3795,7674,7675, 12,2658, 45, 976,2579,3144,4447, 517,2528,1013,1037,3209,7676, // 5782\n3796,2836,7677,3797,7678,3452,7679,2602, 614,1998,2318,3798,3087,2724,2628,7680, // 5798\n2580,4172, 599,1269,7681,1810,3669,7682,2691,3088, 759,1060, 489,1805,3351,3285, // 5814\n1358,7683,7684,2386,1387,1215,2629,2252, 490,7685,7686,4173,1759,2387,2343,7687, // 5830\n4448,3799,1907,3971,2630,1806,3210,4449,3453,3286,2760,2344, 874,7688,7689,3454, // 5846\n3670,1858, 91,2914,3671,3042,3800,4450,7690,3145,3972,2659,7691,3455,1202,1403, // 5862\n3801,2954,2529,1517,2503,4451,3456,2504,7692,4452,7693,2692,1885,1495,1731,3973, // 5878\n2365,4453,7694,2029,7695,7696,3974,2693,1216, 237,2581,4174,2319,3975,3802,4454, // 5894\n4455,2694,3560,3457, 445,4456,7697,7698,7699,7700,2761, 61,3976,3672,1822,3977, // 5910\n7701, 687,2045, 935, 925, 405,2660, 703,1096,1859,2725,4457,3978,1876,1367,2695, // 5926\n3352, 918,2105,1781,2476, 334,3287,1611,1093,4458, 564,3146,3458,3673,3353, 945, // 5942\n2631,2057,4459,7702,1925, 872,4175,7703,3459,2696,3089, 349,4176,3674,3979,4460, // 5958\n3803,4177,3675,2155,3980,4461,4462,4178,4463,2403,2046, 782,3981, 400, 251,4179, // 5974\n1624,7704,7705, 277,3676, 299,1265, 476,1191,3804,2121,4180,4181,1109, 205,7706, // 5990\n2582,1000,2156,3561,1860,7707,7708,7709,4464,7710,4465,2565, 107,2477,2157,3982, // 6006\n3460,3147,7711,1533, 541,1301, 158, 753,4182,2872,3562,7712,1696, 370,1088,4183, // 6022\n4466,3563, 579, 327, 440, 162,2240, 269,1937,1374,3461, 968,3043, 56,1396,3090, // 6038\n2106,3288,3354,7713,1926,2158,4467,2998,7714,3564,7715,7716,3677,4468,2478,7717, // 6054\n2791,7718,1650,4469,7719,2603,7720,7721,3983,2661,3355,1149,3356,3984,3805,3985, // 6070\n7722,1076, 49,7723, 951,3211,3289,3290, 450,2837, 920,7724,1811,2792,2366,4184, // 6086\n1908,1138,2367,3806,3462,7725,3212,4470,1909,1147,1518,2423,4471,3807,7726,4472, // 6102\n2388,2604, 260,1795,3213,7727,7728,3808,3291, 708,7729,3565,1704,7730,3566,1351, // 6118\n1618,3357,2999,1886, 944,4185,3358,4186,3044,3359,4187,7731,3678, 422, 413,1714, // 6134\n3292, 500,2058,2345,4188,2479,7732,1344,1910, 954,7733,1668,7734,7735,3986,2404, // 6150\n4189,3567,3809,4190,7736,2302,1318,2505,3091, 133,3092,2873,4473, 629, 31,2838, // 6166\n2697,3810,4474, 850, 949,4475,3987,2955,1732,2088,4191,1496,1852,7737,3988, 620, // 6182\n3214, 981,1242,3679,3360,1619,3680,1643,3293,2139,2452,1970,1719,3463,2168,7738, // 6198\n3215,7739,7740,3361,1828,7741,1277,4476,1565,2047,7742,1636,3568,3093,7743, 869, // 6214\n2839, 655,3811,3812,3094,3989,3000,3813,1310,3569,4477,7744,7745,7746,1733, 558, // 6230\n4478,3681, 335,1549,3045,1756,4192,3682,1945,3464,1829,1291,1192, 470,2726,2107, // 6246\n2793, 913,1054,3990,7747,1027,7748,3046,3991,4479, 982,2662,3362,3148,3465,3216, // 6262\n3217,1946,2794,7749, 571,4480,7750,1830,7751,3570,2583,1523,2424,7752,2089, 984, // 6278\n4481,3683,1959,7753,3684, 852, 923,2795,3466,3685, 969,1519, 999,2048,2320,1705, // 6294\n7754,3095, 615,1662, 151, 597,3992,2405,2321,1049, 275,4482,3686,4193, 568,3687, // 6310\n3571,2480,4194,3688,7755,2425,2270, 409,3218,7756,1566,2874,3467,1002, 769,2840, // 6326\n 194,2090,3149,3689,2222,3294,4195, 628,1505,7757,7758,1763,2177,3001,3993, 521, // 6342\n1161,2584,1787,2203,2406,4483,3994,1625,4196,4197, 412, 42,3096, 464,7759,2632, // 6358\n4484,3363,1760,1571,2875,3468,2530,1219,2204,3814,2633,2140,2368,4485,4486,3295, // 6374\n1651,3364,3572,7760,7761,3573,2481,3469,7762,3690,7763,7764,2271,2091, 460,7765, // 6390\n4487,7766,3002, 962, 588,3574, 289,3219,2634,1116, 52,7767,3047,1796,7768,7769, // 6406\n7770,1467,7771,1598,1143,3691,4198,1984,1734,1067,4488,1280,3365, 465,4489,1572, // 6422\n 510,7772,1927,2241,1812,1644,3575,7773,4490,3692,7774,7775,2663,1573,1534,7776, // 6438\n7777,4199, 536,1807,1761,3470,3815,3150,2635,7778,7779,7780,4491,3471,2915,1911, // 6454\n2796,7781,3296,1122, 377,3220,7782, 360,7783,7784,4200,1529, 551,7785,2059,3693, // 6470\n1769,2426,7786,2916,4201,3297,3097,2322,2108,2030,4492,1404, 136,1468,1479, 672, // 6486\n1171,3221,2303, 271,3151,7787,2762,7788,2049, 678,2727, 865,1947,4493,7789,2013, // 6502\n3995,2956,7790,2728,2223,1397,3048,3694,4494,4495,1735,2917,3366,3576,7791,3816, // 6518\n 509,2841,2453,2876,3817,7792,7793,3152,3153,4496,4202,2531,4497,2304,1166,1010, // 6534\n 552, 681,1887,7794,7795,2957,2958,3996,1287,1596,1861,3154, 358, 453, 736, 175, // 6550\n 478,1117, 905,1167,1097,7796,1853,1530,7797,1706,7798,2178,3472,2287,3695,3473, // 6566\n3577,4203,2092,4204,7799,3367,1193,2482,4205,1458,2190,2205,1862,1888,1421,3298, // 6582\n2918,3049,2179,3474, 595,2122,7800,3997,7801,7802,4206,1707,2636, 223,3696,1359, // 6598\n 751,3098, 183,3475,7803,2797,3003, 419,2369, 633, 704,3818,2389, 241,7804,7805, // 6614\n7806, 838,3004,3697,2272,2763,2454,3819,1938,2050,3998,1309,3099,2242,1181,7807, // 6630\n1136,2206,3820,2370,1446,4207,2305,4498,7808,7809,4208,1055,2605, 484,3698,7810, // 6646\n3999, 625,4209,2273,3368,1499,4210,4000,7811,4001,4211,3222,2274,2275,3476,7812, // 6662\n7813,2764, 808,2606,3699,3369,4002,4212,3100,2532, 526,3370,3821,4213, 955,7814, // 6678\n1620,4214,2637,2427,7815,1429,3700,1669,1831, 994, 928,7816,3578,1260,7817,7818, // 6694\n7819,1948,2288, 741,2919,1626,4215,2729,2455, 867,1184, 362,3371,1392,7820,7821, // 6710\n4003,4216,1770,1736,3223,2920,4499,4500,1928,2698,1459,1158,7822,3050,3372,2877, // 6726\n1292,1929,2506,2842,3701,1985,1187,2071,2014,2607,4217,7823,2566,2507,2169,3702, // 6742\n2483,3299,7824,3703,4501,7825,7826, 666,1003,3005,1022,3579,4218,7827,4502,1813, // 6758\n2253, 574,3822,1603, 295,1535, 705,3823,4219, 283, 858, 417,7828,7829,3224,4503, // 6774\n4504,3051,1220,1889,1046,2276,2456,4004,1393,1599, 689,2567, 388,4220,7830,2484, // 6790\n 802,7831,2798,3824,2060,1405,2254,7832,4505,3825,2109,1052,1345,3225,1585,7833, // 6806\n 809,7834,7835,7836, 575,2730,3477, 956,1552,1469,1144,2323,7837,2324,1560,2457, // 6822\n3580,3226,4005, 616,2207,3155,2180,2289,7838,1832,7839,3478,4506,7840,1319,3704, // 6838\n3705,1211,3581,1023,3227,1293,2799,7841,7842,7843,3826, 607,2306,3827, 762,2878, // 6854\n1439,4221,1360,7844,1485,3052,7845,4507,1038,4222,1450,2061,2638,4223,1379,4508, // 6870\n2585,7846,7847,4224,1352,1414,2325,2921,1172,7848,7849,3828,3829,7850,1797,1451, // 6886\n7851,7852,7853,7854,2922,4006,4007,2485,2346, 411,4008,4009,3582,3300,3101,4509, // 6902\n1561,2664,1452,4010,1375,7855,7856, 47,2959, 316,7857,1406,1591,2923,3156,7858, // 6918\n1025,2141,3102,3157, 354,2731, 884,2224,4225,2407, 508,3706, 726,3583, 996,2428, // 6934\n3584, 729,7859, 392,2191,1453,4011,4510,3707,7860,7861,2458,3585,2608,1675,2800, // 6950\n 919,2347,2960,2348,1270,4511,4012, 73,7862,7863, 647,7864,3228,2843,2255,1550, // 6966\n1346,3006,7865,1332, 883,3479,7866,7867,7868,7869,3301,2765,7870,1212, 831,1347, // 6982\n4226,4512,2326,3830,1863,3053, 720,3831,4513,4514,3832,7871,4227,7872,7873,4515, // 6998\n7874,7875,1798,4516,3708,2609,4517,3586,1645,2371,7876,7877,2924, 669,2208,2665, // 7014\n2429,7878,2879,7879,7880,1028,3229,7881,4228,2408,7882,2256,1353,7883,7884,4518, // 7030\n3158, 518,7885,4013,7886,4229,1960,7887,2142,4230,7888,7889,3007,2349,2350,3833, // 7046\n 516,1833,1454,4014,2699,4231,4519,2225,2610,1971,1129,3587,7890,2766,7891,2961, // 7062\n1422, 577,1470,3008,1524,3373,7892,7893, 432,4232,3054,3480,7894,2586,1455,2508, // 7078\n2226,1972,1175,7895,1020,2732,4015,3481,4520,7896,2733,7897,1743,1361,3055,3482, // 7094\n2639,4016,4233,4521,2290, 895, 924,4234,2170, 331,2243,3056, 166,1627,3057,1098, // 7110\n7898,1232,2880,2227,3374,4522, 657, 403,1196,2372, 542,3709,3375,1600,4235,3483, // 7126\n7899,4523,2767,3230, 576, 530,1362,7900,4524,2533,2666,3710,4017,7901, 842,3834, // 7142\n7902,2801,2031,1014,4018, 213,2700,3376, 665, 621,4236,7903,3711,2925,2430,7904, // 7158\n2431,3302,3588,3377,7905,4237,2534,4238,4525,3589,1682,4239,3484,1380,7906, 724, // 7174\n2277, 600,1670,7907,1337,1233,4526,3103,2244,7908,1621,4527,7909, 651,4240,7910, // 7190\n1612,4241,2611,7911,2844,7912,2734,2307,3058,7913, 716,2459,3059, 174,1255,2701, // 7206\n4019,3590, 548,1320,1398, 728,4020,1574,7914,1890,1197,3060,4021,7915,3061,3062, // 7222\n3712,3591,3713, 747,7916, 635,4242,4528,7917,7918,7919,4243,7920,7921,4529,7922, // 7238\n3378,4530,2432, 451,7923,3714,2535,2072,4244,2735,4245,4022,7924,1764,4531,7925, // 7254\n4246, 350,7926,2278,2390,2486,7927,4247,4023,2245,1434,4024, 488,4532, 458,4248, // 7270\n4025,3715, 771,1330,2391,3835,2568,3159,2159,2409,1553,2667,3160,4249,7928,2487, // 7286\n2881,2612,1720,2702,4250,3379,4533,7929,2536,4251,7930,3231,4252,2768,7931,2015, // 7302\n2736,7932,1155,1017,3716,3836,7933,3303,2308, 201,1864,4253,1430,7934,4026,7935, // 7318\n7936,7937,7938,7939,4254,1604,7940, 414,1865, 371,2587,4534,4535,3485,2016,3104, // 7334\n4536,1708, 960,4255, 887, 389,2171,1536,1663,1721,7941,2228,4027,2351,2926,1580, // 7350\n7942,7943,7944,1744,7945,2537,4537,4538,7946,4539,7947,2073,7948,7949,3592,3380, // 7366\n2882,4256,7950,4257,2640,3381,2802, 673,2703,2460, 709,3486,4028,3593,4258,7951, // 7382\n1148, 502, 634,7952,7953,1204,4540,3594,1575,4541,2613,3717,7954,3718,3105, 948, // 7398\n3232, 121,1745,3837,1110,7955,4259,3063,2509,3009,4029,3719,1151,1771,3838,1488, // 7414\n4030,1986,7956,2433,3487,7957,7958,2093,7959,4260,3839,1213,1407,2803, 531,2737, // 7430\n2538,3233,1011,1537,7960,2769,4261,3106,1061,7961,3720,3721,1866,2883,7962,2017, // 7446\n 120,4262,4263,2062,3595,3234,2309,3840,2668,3382,1954,4542,7963,7964,3488,1047, // 7462\n2704,1266,7965,1368,4543,2845, 649,3383,3841,2539,2738,1102,2846,2669,7966,7967, // 7478\n1999,7968,1111,3596,2962,7969,2488,3842,3597,2804,1854,3384,3722,7970,7971,3385, // 7494\n2410,2884,3304,3235,3598,7972,2569,7973,3599,2805,4031,1460, 856,7974,3600,7975, // 7510\n2885,2963,7976,2886,3843,7977,4264, 632,2510, 875,3844,1697,3845,2291,7978,7979, // 7526\n4544,3010,1239, 580,4545,4265,7980, 914, 936,2074,1190,4032,1039,2123,7981,7982, // 7542\n7983,3386,1473,7984,1354,4266,3846,7985,2172,3064,4033, 915,3305,4267,4268,3306, // 7558\n1605,1834,7986,2739, 398,3601,4269,3847,4034, 328,1912,2847,4035,3848,1331,4270, // 7574\n3011, 937,4271,7987,3602,4036,4037,3387,2160,4546,3388, 524, 742, 538,3065,1012, // 7590\n7988,7989,3849,2461,7990, 658,1103, 225,3850,7991,7992,4547,7993,4548,7994,3236, // 7606\n1243,7995,4038, 963,2246,4549,7996,2705,3603,3161,7997,7998,2588,2327,7999,4550, // 7622\n8000,8001,8002,3489,3307, 957,3389,2540,2032,1930,2927,2462, 870,2018,3604,1746, // 7638\n2770,2771,2434,2463,8003,3851,8004,3723,3107,3724,3490,3390,3725,8005,1179,3066, // 7654\n8006,3162,2373,4272,3726,2541,3163,3108,2740,4039,8007,3391,1556,2542,2292, 977, // 7670\n2887,2033,4040,1205,3392,8008,1765,3393,3164,2124,1271,1689, 714,4551,3491,8009, // 7686\n2328,3852, 533,4273,3605,2181, 617,8010,2464,3308,3492,2310,8011,8012,3165,8013, // 7702\n8014,3853,1987, 618, 427,2641,3493,3394,8015,8016,1244,1690,8017,2806,4274,4552, // 7718\n8018,3494,8019,8020,2279,1576, 473,3606,4275,3395, 972,8021,3607,8022,3067,8023, // 7734\n8024,4553,4554,8025,3727,4041,4042,8026, 153,4555, 356,8027,1891,2888,4276,2143, // 7750\n 408, 803,2352,8028,3854,8029,4277,1646,2570,2511,4556,4557,3855,8030,3856,4278, // 7766\n8031,2411,3396, 752,8032,8033,1961,2964,8034, 746,3012,2465,8035,4279,3728, 698, // 7782\n4558,1892,4280,3608,2543,4559,3609,3857,8036,3166,3397,8037,1823,1302,4043,2706, // 7798\n3858,1973,4281,8038,4282,3167, 823,1303,1288,1236,2848,3495,4044,3398, 774,3859, // 7814\n8039,1581,4560,1304,2849,3860,4561,8040,2435,2161,1083,3237,4283,4045,4284, 344, // 7830\n1173, 288,2311, 454,1683,8041,8042,1461,4562,4046,2589,8043,8044,4563, 985, 894, // 7846\n8045,3399,3168,8046,1913,2928,3729,1988,8047,2110,1974,8048,4047,8049,2571,1194, // 7862\n 425,8050,4564,3169,1245,3730,4285,8051,8052,2850,8053, 636,4565,1855,3861, 760, // 7878\n1799,8054,4286,2209,1508,4566,4048,1893,1684,2293,8055,8056,8057,4287,4288,2210, // 7894\n 479,8058,8059, 832,8060,4049,2489,8061,2965,2490,3731, 990,3109, 627,1814,2642, // 7910\n4289,1582,4290,2125,2111,3496,4567,8062, 799,4291,3170,8063,4568,2112,1737,3013, // 7926\n1018, 543, 754,4292,3309,1676,4569,4570,4050,8064,1489,8065,3497,8066,2614,2889, // 7942\n4051,8067,8068,2966,8069,8070,8071,8072,3171,4571,4572,2182,1722,8073,3238,3239, // 7958\n1842,3610,1715, 481, 365,1975,1856,8074,8075,1962,2491,4573,8076,2126,3611,3240, // 7974\n 433,1894,2063,2075,8077, 602,2741,8078,8079,8080,8081,8082,3014,1628,3400,8083, // 7990\n3172,4574,4052,2890,4575,2512,8084,2544,2772,8085,8086,8087,3310,4576,2891,8088, // 8006\n4577,8089,2851,4578,4579,1221,2967,4053,2513,8090,8091,8092,1867,1989,8093,8094, // 8022\n8095,1895,8096,8097,4580,1896,4054, 318,8098,2094,4055,4293,8099,8100, 485,8101, // 8038\n 938,3862, 553,2670, 116,8102,3863,3612,8103,3498,2671,2773,3401,3311,2807,8104, // 8054\n3613,2929,4056,1747,2930,2968,8105,8106, 207,8107,8108,2672,4581,2514,8109,3015, // 8070\n 890,3614,3864,8110,1877,3732,3402,8111,2183,2353,3403,1652,8112,8113,8114, 941, // 8086\n2294, 208,3499,4057,2019, 330,4294,3865,2892,2492,3733,4295,8115,8116,8117,8118, // 8102\n//Everything below is of no interest for detection purpose\n2515,1613,4582,8119,3312,3866,2516,8120,4058,8121,1637,4059,2466,4583,3867,8122, // 8118\n2493,3016,3734,8123,8124,2192,8125,8126,2162,8127,8128,8129,8130,8131,8132,8133, // 8134\n8134,8135,8136,8137,8138,8139,8140,8141,8142,8143,8144,8145,8146,8147,8148,8149, // 8150\n8150,8151,8152,8153,8154,8155,8156,8157,8158,8159,8160,8161,8162,8163,8164,8165, // 8166\n8166,8167,8168,8169,8170,8171,8172,8173,8174,8175,8176,8177,8178,8179,8180,8181, // 8182\n8182,8183,8184,8185,8186,8187,8188,8189,8190,8191,8192,8193,8194,8195,8196,8197, // 8198\n8198,8199,8200,8201,8202,8203,8204,8205,8206,8207,8208,8209,8210,8211,8212,8213, // 8214\n8214,8215,8216,8217,8218,8219,8220,8221,8222,8223,8224,8225,8226,8227,8228,8229, // 8230\n8230,8231,8232,8233,8234,8235,8236,8237,8238,8239,8240,8241,8242,8243,8244,8245, // 8246\n8246,8247,8248,8249,8250,8251,8252,8253,8254,8255,8256,8257,8258,8259,8260,8261, // 8262\n8262,8263,8264,8265,8266,8267,8268,8269,8270,8271,8272,8273,8274,8275,8276,8277, // 8278\n8278,8279,8280,8281,8282,8283,8284,8285,8286,8287,8288,8289,8290,8291,8292,8293, // 8294\n8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,8304,8305,8306,8307,8308,8309, // 8310\n8310,8311,8312,8313,8314,8315,8316,8317,8318,8319,8320,8321,8322,8323,8324,8325, // 8326\n8326,8327,8328,8329,8330,8331,8332,8333,8334,8335,8336,8337,8338,8339,8340,8341, // 8342\n8342,8343,8344,8345,8346,8347,8348,8349,8350,8351,8352,8353,8354,8355,8356,8357, // 8358\n8358,8359,8360,8361,8362,8363,8364,8365,8366,8367,8368,8369,8370,8371,8372,8373, // 8374\n8374,8375,8376,8377,8378,8379,8380,8381,8382,8383,8384,8385,8386,8387,8388,8389, // 8390\n8390,8391,8392,8393,8394,8395,8396,8397,8398,8399,8400,8401,8402,8403,8404,8405, // 8406\n8406,8407,8408,8409,8410,8411,8412,8413,8414,8415,8416,8417,8418,8419,8420,8421, // 8422\n8422,8423,8424,8425,8426,8427,8428,8429,8430,8431,8432,8433,8434,8435,8436,8437, // 8438\n8438,8439,8440,8441,8442,8443,8444,8445,8446,8447,8448,8449,8450,8451,8452,8453, // 8454\n8454,8455,8456,8457,8458,8459,8460,8461,8462,8463,8464,8465,8466,8467,8468,8469, // 8470\n8470,8471,8472,8473,8474,8475,8476,8477,8478,8479,8480,8481,8482,8483,8484,8485, // 8486\n8486,8487,8488,8489,8490,8491,8492,8493,8494,8495,8496,8497,8498,8499,8500,8501, // 8502\n8502,8503,8504,8505,8506,8507,8508,8509,8510,8511,8512,8513,8514,8515,8516,8517, // 8518\n8518,8519,8520,8521,8522,8523,8524,8525,8526,8527,8528,8529,8530,8531,8532,8533, // 8534\n8534,8535,8536,8537,8538,8539,8540,8541,8542,8543,8544,8545,8546,8547,8548,8549, // 8550\n8550,8551,8552,8553,8554,8555,8556,8557,8558,8559,8560,8561,8562,8563,8564,8565, // 8566\n8566,8567,8568,8569,8570,8571,8572,8573,8574,8575,8576,8577,8578,8579,8580,8581, // 8582\n8582,8583,8584,8585,8586,8587,8588,8589,8590,8591,8592,8593,8594,8595,8596,8597, // 8598\n8598,8599,8600,8601,8602,8603,8604,8605,8606,8607,8608,8609,8610,8611,8612,8613, // 8614\n8614,8615,8616,8617,8618,8619,8620,8621,8622,8623,8624,8625,8626,8627,8628,8629, // 8630\n8630,8631,8632,8633,8634,8635,8636,8637,8638,8639,8640,8641,8642,8643,8644,8645, // 8646\n8646,8647,8648,8649,8650,8651,8652,8653,8654,8655,8656,8657,8658,8659,8660,8661, // 8662\n8662,8663,8664,8665,8666,8667,8668,8669,8670,8671,8672,8673,8674,8675,8676,8677, // 8678\n8678,8679,8680,8681,8682,8683,8684,8685,8686,8687,8688,8689,8690,8691,8692,8693, // 8694\n8694,8695,8696,8697,8698,8699,8700,8701,8702,8703,8704,8705,8706,8707,8708,8709, // 8710\n8710,8711,8712,8713,8714,8715,8716,8717,8718,8719,8720,8721,8722,8723,8724,8725, // 8726\n8726,8727,8728,8729,8730,8731,8732,8733,8734,8735,8736,8737,8738,8739,8740,8741\n]; // 8742\n\n}(__webpack_require__(/*! ./init */ \"./node_modules/jschardet/src/init.js\"));\n\n\n//# sourceURL=webpack:///./node_modules/jschardet/src/euctwfreq.js?"); - -/***/ }), - -/***/ "./node_modules/jschardet/src/euctwprober.js": -/*!***************************************************!*\ - !*** ./node_modules/jschardet/src/euctwprober.js ***! - \***************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/*\n * The Original Code is Mozilla Universal charset detector code.\n *\n * The Initial Developer of the Original Code is\n * Netscape Communications Corporation.\n * Portions created by the Initial Developer are Copyright (C) 2001\n * the Initial Developer. All Rights Reserved.\n *\n * Contributor(s):\n * António Afonso (antonio.afonso gmail.com) - port to JavaScript\n * Mark Pilgrim - port to Python\n * Shy Shalom - original C code\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA\n */\n\n!function(jschardet) {\n\njschardet.EUCTWProber = function() {\n jschardet.MultiByteCharSetProber.apply(this);\n\n var self = this;\n\n function init() {\n self._mCodingSM = new jschardet.CodingStateMachine(jschardet.EUCTWSMModel);\n self._mDistributionAnalyzer = new jschardet.EUCTWDistributionAnalysis();\n self.reset();\n }\n\n this.getCharsetName = function() {\n return \"EUC-TW\";\n }\n\n init();\n}\njschardet.EUCTWProber.prototype = new jschardet.MultiByteCharSetProber();\n\n}(__webpack_require__(/*! ./init */ \"./node_modules/jschardet/src/init.js\"));\n\n\n//# sourceURL=webpack:///./node_modules/jschardet/src/euctwprober.js?"); - -/***/ }), - -/***/ "./node_modules/jschardet/src/gb2312freq.js": -/*!**************************************************!*\ - !*** ./node_modules/jschardet/src/gb2312freq.js ***! - \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/*\n * The Original Code is Mozilla Universal charset detector code.\n *\n * The Initial Developer of the Original Code is\n * Netscape Communications Corporation.\n * Portions created by the Initial Developer are Copyright (C) 2001\n * the Initial Developer. All Rights Reserved.\n *\n * Contributor(s):\n * António Afonso (antonio.afonso gmail.com) - port to JavaScript\n * Mark Pilgrim - port to Python\n * Shy Shalom - original C code\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA\n */\n\n!function(jschardet) {\n\n// GB2312 most frequently used character table\n//\n// Char to FreqOrder table , from hz6763\n\n// 512 --> 0.79 -- 0.79\n// 1024 --> 0.92 -- 0.13\n// 2048 --> 0.98 -- 0.06\n// 6768 --> 1.00 -- 0.02\n//\n// Ideal Distribution Ratio = 0.79135/(1-0.79135) = 3.79\n// Random Distribution Ration = 512 / (3755 - 512) = 0.157\n//\n// Typical Distribution Ratio about 25% of Ideal one, still much higher that RDR\n\njschardet.GB2312_TYPICAL_DISTRIBUTION_RATIO = 0.9;\n\njschardet.GB2312_TABLE_SIZE = 3760;\n\njschardet.GB2312CharToFreqOrder = [\n1671, 749,1443,2364,3924,3807,2330,3921,1704,3463,2691,1511,1515, 572,3191,2205,\n2361, 224,2558, 479,1711, 963,3162, 440,4060,1905,2966,2947,3580,2647,3961,3842,\n2204, 869,4207, 970,2678,5626,2944,2956,1479,4048, 514,3595, 588,1346,2820,3409,\n 249,4088,1746,1873,2047,1774, 581,1813, 358,1174,3590,1014,1561,4844,2245, 670,\n1636,3112, 889,1286, 953, 556,2327,3060,1290,3141, 613, 185,3477,1367, 850,3820,\n1715,2428,2642,2303,2732,3041,2562,2648,3566,3946,1349, 388,3098,2091,1360,3585,\n 152,1687,1539, 738,1559, 59,1232,2925,2267,1388,1249,1741,1679,2960, 151,1566,\n1125,1352,4271, 924,4296, 385,3166,4459, 310,1245,2850, 70,3285,2729,3534,3575,\n2398,3298,3466,1960,2265, 217,3647, 864,1909,2084,4401,2773,1010,3269,5152, 853,\n3051,3121,1244,4251,1895, 364,1499,1540,2313,1180,3655,2268, 562, 715,2417,3061,\n 544, 336,3768,2380,1752,4075, 950, 280,2425,4382, 183,2759,3272, 333,4297,2155,\n1688,2356,1444,1039,4540, 736,1177,3349,2443,2368,2144,2225, 565, 196,1482,3406,\n 927,1335,4147, 692, 878,1311,1653,3911,3622,1378,4200,1840,2969,3149,2126,1816,\n2534,1546,2393,2760, 737,2494, 13, 447, 245,2747, 38,2765,2129,2589,1079, 606,\n 360, 471,3755,2890, 404, 848, 699,1785,1236, 370,2221,1023,3746,2074,2026,2023,\n2388,1581,2119, 812,1141,3091,2536,1519, 804,2053, 406,1596,1090, 784, 548,4414,\n1806,2264,2936,1100, 343,4114,5096, 622,3358, 743,3668,1510,1626,5020,3567,2513,\n3195,4115,5627,2489,2991, 24,2065,2697,1087,2719, 48,1634, 315, 68, 985,2052,\n 198,2239,1347,1107,1439, 597,2366,2172, 871,3307, 919,2487,2790,1867, 236,2570,\n1413,3794, 906,3365,3381,1701,1982,1818,1524,2924,1205, 616,2586,2072,2004, 575,\n 253,3099, 32,1365,1182, 197,1714,2454,1201, 554,3388,3224,2748, 756,2587, 250,\n2567,1507,1517,3529,1922,2761,2337,3416,1961,1677,2452,2238,3153, 615, 911,1506,\n1474,2495,1265,1906,2749,3756,3280,2161, 898,2714,1759,3450,2243,2444, 563, 26,\n3286,2266,3769,3344,2707,3677, 611,1402, 531,1028,2871,4548,1375, 261,2948, 835,\n1190,4134, 353, 840,2684,1900,3082,1435,2109,1207,1674, 329,1872,2781,4055,2686,\n2104, 608,3318,2423,2957,2768,1108,3739,3512,3271,3985,2203,1771,3520,1418,2054,\n1681,1153, 225,1627,2929, 162,2050,2511,3687,1954, 124,1859,2431,1684,3032,2894,\n 585,4805,3969,2869,2704,2088,2032,2095,3656,2635,4362,2209, 256, 518,2042,2105,\n3777,3657, 643,2298,1148,1779, 190, 989,3544, 414, 11,2135,2063,2979,1471, 403,\n3678, 126, 770,1563, 671,2499,3216,2877, 600,1179, 307,2805,4937,1268,1297,2694,\n 252,4032,1448,1494,1331,1394, 127,2256, 222,1647,1035,1481,3056,1915,1048, 873,\n3651, 210, 33,1608,2516, 200,1520, 415, 102, 0,3389,1287, 817, 91,3299,2940,\n 836,1814, 549,2197,1396,1669,2987,3582,2297,2848,4528,1070, 687, 20,1819, 121,\n1552,1364,1461,1968,2617,3540,2824,2083, 177, 948,4938,2291, 110,4549,2066, 648,\n3359,1755,2110,2114,4642,4845,1693,3937,3308,1257,1869,2123, 208,1804,3159,2992,\n2531,2549,3361,2418,1350,2347,2800,2568,1291,2036,2680, 72, 842,1990, 212,1233,\n1154,1586, 75,2027,3410,4900,1823,1337,2710,2676, 728,2810,1522,3026,4995, 157,\n 755,1050,4022, 710, 785,1936,2194,2085,1406,2777,2400, 150,1250,4049,1206, 807,\n1910, 534, 529,3309,1721,1660, 274, 39,2827, 661,2670,1578, 925,3248,3815,1094,\n4278,4901,4252, 41,1150,3747,2572,2227,4501,3658,4902,3813,3357,3617,2884,2258,\n 887, 538,4187,3199,1294,2439,3042,2329,2343,2497,1255, 107, 543,1527, 521,3478,\n3568, 194,5062, 15, 961,3870,1241,1192,2664, 66,5215,3260,2111,1295,1127,2152,\n3805,4135, 901,1164,1976, 398,1278, 530,1460, 748, 904,1054,1966,1426, 53,2909,\n 509, 523,2279,1534, 536,1019, 239,1685, 460,2353, 673,1065,2401,3600,4298,2272,\n1272,2363, 284,1753,3679,4064,1695, 81, 815,2677,2757,2731,1386, 859, 500,4221,\n2190,2566, 757,1006,2519,2068,1166,1455, 337,2654,3203,1863,1682,1914,3025,1252,\n1409,1366, 847, 714,2834,2038,3209, 964,2970,1901, 885,2553,1078,1756,3049, 301,\n1572,3326, 688,2130,1996,2429,1805,1648,2930,3421,2750,3652,3088, 262,1158,1254,\n 389,1641,1812, 526,1719, 923,2073,1073,1902, 468, 489,4625,1140, 857,2375,3070,\n3319,2863, 380, 116,1328,2693,1161,2244, 273,1212,1884,2769,3011,1775,1142, 461,\n3066,1200,2147,2212, 790, 702,2695,4222,1601,1058, 434,2338,5153,3640, 67,2360,\n4099,2502, 618,3472,1329, 416,1132, 830,2782,1807,2653,3211,3510,1662, 192,2124,\n 296,3979,1739,1611,3684, 23, 118, 324, 446,1239,1225, 293,2520,3814,3795,2535,\n3116, 17,1074, 467,2692,2201, 387,2922, 45,1326,3055,1645,3659,2817, 958, 243,\n1903,2320,1339,2825,1784,3289, 356, 576, 865,2315,2381,3377,3916,1088,3122,1713,\n1655, 935, 628,4689,1034,1327, 441, 800, 720, 894,1979,2183,1528,5289,2702,1071,\n4046,3572,2399,1571,3281, 79, 761,1103, 327, 134, 758,1899,1371,1615, 879, 442,\n 215,2605,2579, 173,2048,2485,1057,2975,3317,1097,2253,3801,4263,1403,1650,2946,\n 814,4968,3487,1548,2644,1567,1285, 2, 295,2636, 97, 946,3576, 832, 141,4257,\n3273, 760,3821,3521,3156,2607, 949,1024,1733,1516,1803,1920,2125,2283,2665,3180,\n1501,2064,3560,2171,1592, 803,3518,1416, 732,3897,4258,1363,1362,2458, 119,1427,\n 602,1525,2608,1605,1639,3175, 694,3064, 10, 465, 76,2000,4846,4208, 444,3781,\n1619,3353,2206,1273,3796, 740,2483, 320,1723,2377,3660,2619,1359,1137,1762,1724,\n2345,2842,1850,1862, 912, 821,1866, 612,2625,1735,2573,3369,1093, 844, 89, 937,\n 930,1424,3564,2413,2972,1004,3046,3019,2011, 711,3171,1452,4178, 428, 801,1943,\n 432, 445,2811, 206,4136,1472, 730, 349, 73, 397,2802,2547, 998,1637,1167, 789,\n 396,3217, 154,1218, 716,1120,1780,2819,4826,1931,3334,3762,2139,1215,2627, 552,\n3664,3628,3232,1405,2383,3111,1356,2652,3577,3320,3101,1703, 640,1045,1370,1246,\n4996, 371,1575,2436,1621,2210, 984,4033,1734,2638, 16,4529, 663,2755,3255,1451,\n3917,2257,1253,1955,2234,1263,2951, 214,1229, 617, 485, 359,1831,1969, 473,2310,\n 750,2058, 165, 80,2864,2419, 361,4344,2416,2479,1134, 796,3726,1266,2943, 860,\n2715, 938, 390,2734,1313,1384, 248, 202, 877,1064,2854, 522,3907, 279,1602, 297,\n2357, 395,3740, 137,2075, 944,4089,2584,1267,3802, 62,1533,2285, 178, 176, 780,\n2440, 201,3707, 590, 478,1560,4354,2117,1075, 30, 74,4643,4004,1635,1441,2745,\n 776,2596, 238,1077,1692,1912,2844, 605, 499,1742,3947, 241,3053, 980,1749, 936,\n2640,4511,2582, 515,1543,2162,5322,2892,2993, 890,2148,1924, 665,1827,3581,1032,\n 968,3163, 339,1044,1896, 270, 583,1791,1720,4367,1194,3488,3669, 43,2523,1657,\n 163,2167, 290,1209,1622,3378, 550, 634,2508,2510, 695,2634,2384,2512,1476,1414,\n 220,1469,2341,2138,2852,3183,2900,4939,2865,3502,1211,3680, 854,3227,1299,2976,\n3172, 186,2998,1459, 443,1067,3251,1495, 321,1932,3054, 909, 753,1410,1828, 436,\n2441,1119,1587,3164,2186,1258, 227, 231,1425,1890,3200,3942, 247, 959, 725,5254,\n2741, 577,2158,2079, 929, 120, 174, 838,2813, 591,1115, 417,2024, 40,3240,1536,\n1037, 291,4151,2354, 632,1298,2406,2500,3535,1825,1846,3451, 205,1171, 345,4238,\n 18,1163, 811, 685,2208,1217, 425,1312,1508,1175,4308,2552,1033, 587,1381,3059,\n2984,3482, 340,1316,4023,3972, 792,3176, 519, 777,4690, 918, 933,4130,2981,3741,\n 90,3360,2911,2200,5184,4550, 609,3079,2030, 272,3379,2736, 363,3881,1130,1447,\n 286, 779, 357,1169,3350,3137,1630,1220,2687,2391, 747,1277,3688,2618,2682,2601,\n1156,3196,5290,4034,3102,1689,3596,3128, 874, 219,2783, 798, 508,1843,2461, 269,\n1658,1776,1392,1913,2983,3287,2866,2159,2372, 829,4076, 46,4253,2873,1889,1894,\n 915,1834,1631,2181,2318, 298, 664,2818,3555,2735, 954,3228,3117, 527,3511,2173,\n 681,2712,3033,2247,2346,3467,1652, 155,2164,3382, 113,1994, 450, 899, 494, 994,\n1237,2958,1875,2336,1926,3727, 545,1577,1550, 633,3473, 204,1305,3072,2410,1956,\n2471, 707,2134, 841,2195,2196,2663,3843,1026,4940, 990,3252,4997, 368,1092, 437,\n3212,3258,1933,1829, 675,2977,2893, 412, 943,3723,4644,3294,3283,2230,2373,5154,\n2389,2241,2661,2323,1404,2524, 593, 787, 677,3008,1275,2059, 438,2709,2609,2240,\n2269,2246,1446, 36,1568,1373,3892,1574,2301,1456,3962, 693,2276,5216,2035,1143,\n2720,1919,1797,1811,2763,4137,2597,1830,1699,1488,1198,2090, 424,1694, 312,3634,\n3390,4179,3335,2252,1214, 561,1059,3243,2295,2561, 975,5155,2321,2751,3772, 472,\n1537,3282,3398,1047,2077,2348,2878,1323,3340,3076, 690,2906, 51, 369, 170,3541,\n1060,2187,2688,3670,2541,1083,1683, 928,3918, 459, 109,4427, 599,3744,4286, 143,\n2101,2730,2490, 82,1588,3036,2121, 281,1860, 477,4035,1238,2812,3020,2716,3312,\n1530,2188,2055,1317, 843, 636,1808,1173,3495, 649, 181,1002, 147,3641,1159,2414,\n3750,2289,2795, 813,3123,2610,1136,4368, 5,3391,4541,2174, 420, 429,1728, 754,\n1228,2115,2219, 347,2223,2733, 735,1518,3003,2355,3134,1764,3948,3329,1888,2424,\n1001,1234,1972,3321,3363,1672,1021,1450,1584, 226, 765, 655,2526,3404,3244,2302,\n3665, 731, 594,2184, 319,1576, 621, 658,2656,4299,2099,3864,1279,2071,2598,2739,\n 795,3086,3699,3908,1707,2352,2402,1382,3136,2475,1465,4847,3496,3865,1085,3004,\n2591,1084, 213,2287,1963,3565,2250, 822, 793,4574,3187,1772,1789,3050, 595,1484,\n1959,2770,1080,2650, 456, 422,2996, 940,3322,4328,4345,3092,2742, 965,2784, 739,\n4124, 952,1358,2498,2949,2565, 332,2698,2378, 660,2260,2473,4194,3856,2919, 535,\n1260,2651,1208,1428,1300,1949,1303,2942, 433,2455,2450,1251,1946, 614,1269, 641,\n1306,1810,2737,3078,2912, 564,2365,1419,1415,1497,4460,2367,2185,1379,3005,1307,\n3218,2175,1897,3063, 682,1157,4040,4005,1712,1160,1941,1399, 394, 402,2952,1573,\n1151,2986,2404, 862, 299,2033,1489,3006, 346, 171,2886,3401,1726,2932, 168,2533,\n 47,2507,1030,3735,1145,3370,1395,1318,1579,3609,4560,2857,4116,1457,2529,1965,\n 504,1036,2690,2988,2405, 745,5871, 849,2397,2056,3081, 863,2359,3857,2096, 99,\n1397,1769,2300,4428,1643,3455,1978,1757,3718,1440, 35,4879,3742,1296,4228,2280,\n 160,5063,1599,2013, 166, 520,3479,1646,3345,3012, 490,1937,1545,1264,2182,2505,\n1096,1188,1369,1436,2421,1667,2792,2460,1270,2122, 727,3167,2143, 806,1706,1012,\n1800,3037, 960,2218,1882, 805, 139,2456,1139,1521, 851,1052,3093,3089, 342,2039,\n 744,5097,1468,1502,1585,2087, 223, 939, 326,2140,2577, 892,2481,1623,4077, 982,\n3708, 135,2131, 87,2503,3114,2326,1106, 876,1616, 547,2997,2831,2093,3441,4530,\n4314, 9,3256,4229,4148, 659,1462,1986,1710,2046,2913,2231,4090,4880,5255,3392,\n3274,1368,3689,4645,1477, 705,3384,3635,1068,1529,2941,1458,3782,1509, 100,1656,\n2548, 718,2339, 408,1590,2780,3548,1838,4117,3719,1345,3530, 717,3442,2778,3220,\n2898,1892,4590,3614,3371,2043,1998,1224,3483, 891, 635, 584,2559,3355, 733,1766,\n1729,1172,3789,1891,2307, 781,2982,2271,1957,1580,5773,2633,2005,4195,3097,1535,\n3213,1189,1934,5693,3262, 586,3118,1324,1598, 517,1564,2217,1868,1893,4445,3728,\n2703,3139,1526,1787,1992,3882,2875,1549,1199,1056,2224,1904,2711,5098,4287, 338,\n1993,3129,3489,2689,1809,2815,1997, 957,1855,3898,2550,3275,3057,1105,1319, 627,\n1505,1911,1883,3526, 698,3629,3456,1833,1431, 746, 77,1261,2017,2296,1977,1885,\n 125,1334,1600, 525,1798,1109,2222,1470,1945, 559,2236,1186,3443,2476,1929,1411,\n2411,3135,1777,3372,2621,1841,1613,3229, 668,1430,1839,2643,2916, 195,1989,2671,\n2358,1387, 629,3205,2293,5256,4439, 123,1310, 888,1879,4300,3021,3605,1003,1162,\n3192,2910,2010, 140,2395,2859, 55,1082,2012,2901, 662, 419,2081,1438, 680,2774,\n4654,3912,1620,1731,1625,5035,4065,2328, 512,1344, 802,5443,2163,2311,2537, 524,\n3399, 98,1155,2103,1918,2606,3925,2816,1393,2465,1504,3773,2177,3963,1478,4346,\n 180,1113,4655,3461,2028,1698, 833,2696,1235,1322,1594,4408,3623,3013,3225,2040,\n3022, 541,2881, 607,3632,2029,1665,1219, 639,1385,1686,1099,2803,3231,1938,3188,\n2858, 427, 676,2772,1168,2025, 454,3253,2486,3556, 230,1950, 580, 791,1991,1280,\n1086,1974,2034, 630, 257,3338,2788,4903,1017, 86,4790, 966,2789,1995,1696,1131,\n 259,3095,4188,1308, 179,1463,5257, 289,4107,1248, 42,3413,1725,2288, 896,1947,\n 774,4474,4254, 604,3430,4264, 392,2514,2588, 452, 237,1408,3018, 988,4531,1970,\n3034,3310, 540,2370,1562,1288,2990, 502,4765,1147, 4,1853,2708, 207, 294,2814,\n4078,2902,2509, 684, 34,3105,3532,2551, 644, 709,2801,2344, 573,1727,3573,3557,\n2021,1081,3100,4315,2100,3681, 199,2263,1837,2385, 146,3484,1195,2776,3949, 997,\n1939,3973,1008,1091,1202,1962,1847,1149,4209,5444,1076, 493, 117,5400,2521, 972,\n1490,2934,1796,4542,2374,1512,2933,2657, 413,2888,1135,2762,2314,2156,1355,2369,\n 766,2007,2527,2170,3124,2491,2593,2632,4757,2437, 234,3125,3591,1898,1750,1376,\n1942,3468,3138, 570,2127,2145,3276,4131, 962, 132,1445,4196, 19, 941,3624,3480,\n3366,1973,1374,4461,3431,2629, 283,2415,2275, 808,2887,3620,2112,2563,1353,3610,\n 955,1089,3103,1053, 96, 88,4097, 823,3808,1583, 399, 292,4091,3313, 421,1128,\n 642,4006, 903,2539,1877,2082, 596, 29,4066,1790, 722,2157, 130, 995,1569, 769,\n1485, 464, 513,2213, 288,1923,1101,2453,4316, 133, 486,2445, 50, 625, 487,2207,\n 57, 423, 481,2962, 159,3729,1558, 491, 303, 482, 501, 240,2837, 112,3648,2392,\n1783, 362, 8,3433,3422, 610,2793,3277,1390,1284,1654, 21,3823, 734, 367, 623,\n 193, 287, 374,1009,1483, 816, 476, 313,2255,2340,1262,2150,2899,1146,2581, 782,\n2116,1659,2018,1880, 255,3586,3314,1110,2867,2137,2564, 986,2767,5185,2006, 650,\n 158, 926, 762, 881,3157,2717,2362,3587, 306,3690,3245,1542,3077,2427,1691,2478,\n2118,2985,3490,2438, 539,2305, 983, 129,1754, 355,4201,2386, 827,2923, 104,1773,\n2838,2771, 411,2905,3919, 376, 767, 122,1114, 828,2422,1817,3506, 266,3460,1007,\n1609,4998, 945,2612,4429,2274, 726,1247,1964,2914,2199,2070,4002,4108, 657,3323,\n1422, 579, 455,2764,4737,1222,2895,1670, 824,1223,1487,2525, 558, 861,3080, 598,\n2659,2515,1967, 752,2583,2376,2214,4180, 977, 704,2464,4999,2622,4109,1210,2961,\n 819,1541, 142,2284, 44, 418, 457,1126,3730,4347,4626,1644,1876,3671,1864, 302,\n1063,5694, 624, 723,1984,3745,1314,1676,2488,1610,1449,3558,3569,2166,2098, 409,\n1011,2325,3704,2306, 818,1732,1383,1824,1844,3757, 999,2705,3497,1216,1423,2683,\n2426,2954,2501,2726,2229,1475,2554,5064,1971,1794,1666,2014,1343, 783, 724, 191,\n2434,1354,2220,5065,1763,2752,2472,4152, 131, 175,2885,3434, 92,1466,4920,2616,\n3871,3872,3866, 128,1551,1632, 669,1854,3682,4691,4125,1230, 188,2973,3290,1302,\n1213, 560,3266, 917, 763,3909,3249,1760, 868,1958, 764,1782,2097, 145,2277,3774,\n4462, 64,1491,3062, 971,2132,3606,2442, 221,1226,1617, 218, 323,1185,3207,3147,\n 571, 619,1473,1005,1744,2281, 449,1887,2396,3685, 275, 375,3816,1743,3844,3731,\n 845,1983,2350,4210,1377, 773, 967,3499,3052,3743,2725,4007,1697,1022,3943,1464,\n3264,2855,2722,1952,1029,2839,2467, 84,4383,2215, 820,1391,2015,2448,3672, 377,\n1948,2168, 797,2545,3536,2578,2645, 94,2874,1678, 405,1259,3071, 771, 546,1315,\n 470,1243,3083, 895,2468, 981, 969,2037, 846,4181, 653,1276,2928, 14,2594, 557,\n3007,2474, 156, 902,1338,1740,2574, 537,2518, 973,2282,2216,2433,1928, 138,2903,\n1293,2631,1612, 646,3457, 839,2935, 111, 496,2191,2847, 589,3186, 149,3994,2060,\n4031,2641,4067,3145,1870, 37,3597,2136,1025,2051,3009,3383,3549,1121,1016,3261,\n1301, 251,2446,2599,2153, 872,3246, 637, 334,3705, 831, 884, 921,3065,3140,4092,\n2198,1944, 246,2964, 108,2045,1152,1921,2308,1031, 203,3173,4170,1907,3890, 810,\n1401,2003,1690, 506, 647,1242,2828,1761,1649,3208,2249,1589,3709,2931,5156,1708,\n 498, 666,2613, 834,3817,1231, 184,2851,1124, 883,3197,2261,3710,1765,1553,2658,\n1178,2639,2351, 93,1193, 942,2538,2141,4402, 235,1821, 870,1591,2192,1709,1871,\n3341,1618,4126,2595,2334, 603, 651, 69, 701, 268,2662,3411,2555,1380,1606, 503,\n 448, 254,2371,2646, 574,1187,2309,1770, 322,2235,1292,1801, 305, 566,1133, 229,\n2067,2057, 706, 167, 483,2002,2672,3295,1820,3561,3067, 316, 378,2746,3452,1112,\n 136,1981, 507,1651,2917,1117, 285,4591, 182,2580,3522,1304, 335,3303,1835,2504,\n1795,1792,2248, 674,1018,2106,2449,1857,2292,2845, 976,3047,1781,2600,2727,1389,\n1281, 52,3152, 153, 265,3950, 672,3485,3951,4463, 430,1183, 365, 278,2169, 27,\n1407,1336,2304, 209,1340,1730,2202,1852,2403,2883, 979,1737,1062, 631,2829,2542,\n3876,2592, 825,2086,2226,3048,3625, 352,1417,3724, 542, 991, 431,1351,3938,1861,\n2294, 826,1361,2927,3142,3503,1738, 463,2462,2723, 582,1916,1595,2808, 400,3845,\n3891,2868,3621,2254, 58,2492,1123, 910,2160,2614,1372,1603,1196,1072,3385,1700,\n3267,1980, 696, 480,2430, 920, 799,1570,2920,1951,2041,4047,2540,1321,4223,2469,\n3562,2228,1271,2602, 401,2833,3351,2575,5157, 907,2312,1256, 410, 263,3507,1582,\n 996, 678,1849,2316,1480, 908,3545,2237, 703,2322, 667,1826,2849,1531,2604,2999,\n2407,3146,2151,2630,1786,3711, 469,3542, 497,3899,2409, 858, 837,4446,3393,1274,\n 786, 620,1845,2001,3311, 484, 308,3367,1204,1815,3691,2332,1532,2557,1842,2020,\n2724,1927,2333,4440, 567, 22,1673,2728,4475,1987,1858,1144,1597, 101,1832,3601,\n 12, 974,3783,4391, 951,1412, 1,3720, 453,4608,4041, 528,1041,1027,3230,2628,\n1129, 875,1051,3291,1203,2262,1069,2860,2799,2149,2615,3278, 144,1758,3040, 31,\n 475,1680, 366,2685,3184, 311,1642,4008,2466,5036,1593,1493,2809, 216,1420,1668,\n 233, 304,2128,3284, 232,1429,1768,1040,2008,3407,2740,2967,2543, 242,2133, 778,\n1565,2022,2620, 505,2189,2756,1098,2273, 372,1614, 708, 553,2846,2094,2278, 169,\n3626,2835,4161, 228,2674,3165, 809,1454,1309, 466,1705,1095, 900,3423, 880,2667,\n3751,5258,2317,3109,2571,4317,2766,1503,1342, 866,4447,1118, 63,2076, 314,1881,\n1348,1061, 172, 978,3515,1747, 532, 511,3970, 6, 601, 905,2699,3300,1751, 276,\n1467,3725,2668, 65,4239,2544,2779,2556,1604, 578,2451,1802, 992,2331,2624,1320,\n3446, 713,1513,1013, 103,2786,2447,1661, 886,1702, 916, 654,3574,2031,1556, 751,\n2178,2821,2179,1498,1538,2176, 271, 914,2251,2080,1325, 638,1953,2937,3877,2432,\n2754, 95,3265,1716, 260,1227,4083, 775, 106,1357,3254, 426,1607, 555,2480, 772,\n1985, 244,2546, 474, 495,1046,2611,1851,2061, 71,2089,1675,2590, 742,3758,2843,\n3222,1433, 267,2180,2576,2826,2233,2092,3913,2435, 956,1745,3075, 856,2113,1116,\n 451, 3,1988,2896,1398, 993,2463,1878,2049,1341,2718,2721,2870,2108, 712,2904,\n4363,2753,2324, 277,2872,2349,2649, 384, 987, 435, 691,3000, 922, 164,3939, 652,\n1500,1184,4153,2482,3373,2165,4848,2335,3775,3508,3154,2806,2830,1554,2102,1664,\n2530,1434,2408, 893,1547,2623,3447,2832,2242,2532,3169,2856,3223,2078, 49,3770,\n3469, 462, 318, 656,2259,3250,3069, 679,1629,2758, 344,1138,1104,3120,1836,1283,\n3115,2154,1437,4448, 934, 759,1999, 794,2862,1038, 533,2560,1722,2342, 855,2626,\n1197,1663,4476,3127, 85,4240,2528, 25,1111,1181,3673, 407,3470,4561,2679,2713,\n 768,1925,2841,3986,1544,1165, 932, 373,1240,2146,1930,2673, 721,4766, 354,4333,\n 391,2963, 187, 61,3364,1442,1102, 330,1940,1767, 341,3809,4118, 393,2496,2062,\n2211, 105, 331, 300, 439, 913,1332, 626, 379,3304,1557, 328, 689,3952, 309,1555,\n 931, 317,2517,3027, 325, 569, 686,2107,3084, 60,1042,1333,2794, 264,3177,4014,\n1628, 258,3712, 7,4464,1176,1043,1778, 683, 114,1975, 78,1492, 383,1886, 510,\n 386, 645,5291,2891,2069,3305,4138,3867,2939,2603,2493,1935,1066,1848,3588,1015,\n1282,1289,4609, 697,1453,3044,2666,3611,1856,2412, 54, 719,1330, 568,3778,2459,\n1748, 788, 492, 551,1191,1000, 488,3394,3763, 282,1799, 348,2016,1523,3155,2390,\n1049, 382,2019,1788,1170, 729,2968,3523, 897,3926,2785,2938,3292, 350,2319,3238,\n1718,1717,2655,3453,3143,4465, 161,2889,2980,2009,1421, 56,1908,1640,2387,2232,\n1917,1874,2477,4921, 148, 83,3438, 592,4245,2882,1822,1055, 741, 115,1496,1624,\n 381,1638,4592,1020, 516,3214, 458, 947,4575,1432, 211,1514,2926,1865,2142, 189,\n 852,1221,1400,1486, 882,2299,4036, 351, 28,1122, 700,6479,6480,6481,6482,6483, // last 512\n//Everything below is of no interest for detection purpose\n5508,6484,3900,3414,3974,4441,4024,3537,4037,5628,5099,3633,6485,3148,6486,3636,\n5509,3257,5510,5973,5445,5872,4941,4403,3174,4627,5873,6276,2286,4230,5446,5874,\n5122,6102,6103,4162,5447,5123,5323,4849,6277,3980,3851,5066,4246,5774,5067,6278,\n3001,2807,5695,3346,5775,5974,5158,5448,6487,5975,5976,5776,3598,6279,5696,4806,\n4211,4154,6280,6488,6489,6490,6281,4212,5037,3374,4171,6491,4562,4807,4722,4827,\n5977,6104,4532,4079,5159,5324,5160,4404,3858,5359,5875,3975,4288,4610,3486,4512,\n5325,3893,5360,6282,6283,5560,2522,4231,5978,5186,5449,2569,3878,6284,5401,3578,\n4415,6285,4656,5124,5979,2506,4247,4449,3219,3417,4334,4969,4329,6492,4576,4828,\n4172,4416,4829,5402,6286,3927,3852,5361,4369,4830,4477,4867,5876,4173,6493,6105,\n4657,6287,6106,5877,5450,6494,4155,4868,5451,3700,5629,4384,6288,6289,5878,3189,\n4881,6107,6290,6495,4513,6496,4692,4515,4723,5100,3356,6497,6291,3810,4080,5561,\n3570,4430,5980,6498,4355,5697,6499,4724,6108,6109,3764,4050,5038,5879,4093,3226,\n6292,5068,5217,4693,3342,5630,3504,4831,4377,4466,4309,5698,4431,5777,6293,5778,\n4272,3706,6110,5326,3752,4676,5327,4273,5403,4767,5631,6500,5699,5880,3475,5039,\n6294,5562,5125,4348,4301,4482,4068,5126,4593,5700,3380,3462,5981,5563,3824,5404,\n4970,5511,3825,4738,6295,6501,5452,4516,6111,5881,5564,6502,6296,5982,6503,4213,\n4163,3454,6504,6112,4009,4450,6113,4658,6297,6114,3035,6505,6115,3995,4904,4739,\n4563,4942,4110,5040,3661,3928,5362,3674,6506,5292,3612,4791,5565,4149,5983,5328,\n5259,5021,4725,4577,4564,4517,4364,6298,5405,4578,5260,4594,4156,4157,5453,3592,\n3491,6507,5127,5512,4709,4922,5984,5701,4726,4289,6508,4015,6116,5128,4628,3424,\n4241,5779,6299,4905,6509,6510,5454,5702,5780,6300,4365,4923,3971,6511,5161,3270,\n3158,5985,4100, 867,5129,5703,6117,5363,3695,3301,5513,4467,6118,6512,5455,4232,\n4242,4629,6513,3959,4478,6514,5514,5329,5986,4850,5162,5566,3846,4694,6119,5456,\n4869,5781,3779,6301,5704,5987,5515,4710,6302,5882,6120,4392,5364,5705,6515,6121,\n6516,6517,3736,5988,5457,5989,4695,2457,5883,4551,5782,6303,6304,6305,5130,4971,\n6122,5163,6123,4870,3263,5365,3150,4871,6518,6306,5783,5069,5706,3513,3498,4409,\n5330,5632,5366,5458,5459,3991,5990,4502,3324,5991,5784,3696,4518,5633,4119,6519,\n4630,5634,4417,5707,4832,5992,3418,6124,5993,5567,4768,5218,6520,4595,3458,5367,\n6125,5635,6126,4202,6521,4740,4924,6307,3981,4069,4385,6308,3883,2675,4051,3834,\n4302,4483,5568,5994,4972,4101,5368,6309,5164,5884,3922,6127,6522,6523,5261,5460,\n5187,4164,5219,3538,5516,4111,3524,5995,6310,6311,5369,3181,3386,2484,5188,3464,\n5569,3627,5708,6524,5406,5165,4677,4492,6312,4872,4851,5885,4468,5996,6313,5709,\n5710,6128,2470,5886,6314,5293,4882,5785,3325,5461,5101,6129,5711,5786,6525,4906,\n6526,6527,4418,5887,5712,4808,2907,3701,5713,5888,6528,3765,5636,5331,6529,6530,\n3593,5889,3637,4943,3692,5714,5787,4925,6315,6130,5462,4405,6131,6132,6316,5262,\n6531,6532,5715,3859,5716,5070,4696,5102,3929,5788,3987,4792,5997,6533,6534,3920,\n4809,5000,5998,6535,2974,5370,6317,5189,5263,5717,3826,6536,3953,5001,4883,3190,\n5463,5890,4973,5999,4741,6133,6134,3607,5570,6000,4711,3362,3630,4552,5041,6318,\n6001,2950,2953,5637,4646,5371,4944,6002,2044,4120,3429,6319,6537,5103,4833,6538,\n6539,4884,4647,3884,6003,6004,4758,3835,5220,5789,4565,5407,6540,6135,5294,4697,\n4852,6320,6321,3206,4907,6541,6322,4945,6542,6136,6543,6323,6005,4631,3519,6544,\n5891,6545,5464,3784,5221,6546,5571,4659,6547,6324,6137,5190,6548,3853,6549,4016,\n4834,3954,6138,5332,3827,4017,3210,3546,4469,5408,5718,3505,4648,5790,5131,5638,\n5791,5465,4727,4318,6325,6326,5792,4553,4010,4698,3439,4974,3638,4335,3085,6006,\n5104,5042,5166,5892,5572,6327,4356,4519,5222,5573,5333,5793,5043,6550,5639,5071,\n4503,6328,6139,6551,6140,3914,3901,5372,6007,5640,4728,4793,3976,3836,4885,6552,\n4127,6553,4451,4102,5002,6554,3686,5105,6555,5191,5072,5295,4611,5794,5296,6556,\n5893,5264,5894,4975,5466,5265,4699,4976,4370,4056,3492,5044,4886,6557,5795,4432,\n4769,4357,5467,3940,4660,4290,6141,4484,4770,4661,3992,6329,4025,4662,5022,4632,\n4835,4070,5297,4663,4596,5574,5132,5409,5895,6142,4504,5192,4664,5796,5896,3885,\n5575,5797,5023,4810,5798,3732,5223,4712,5298,4084,5334,5468,6143,4052,4053,4336,\n4977,4794,6558,5335,4908,5576,5224,4233,5024,4128,5469,5225,4873,6008,5045,4729,\n4742,4633,3675,4597,6559,5897,5133,5577,5003,5641,5719,6330,6560,3017,2382,3854,\n4406,4811,6331,4393,3964,4946,6561,2420,3722,6562,4926,4378,3247,1736,4442,6332,\n5134,6333,5226,3996,2918,5470,4319,4003,4598,4743,4744,4485,3785,3902,5167,5004,\n5373,4394,5898,6144,4874,1793,3997,6334,4085,4214,5106,5642,4909,5799,6009,4419,\n4189,3330,5899,4165,4420,5299,5720,5227,3347,6145,4081,6335,2876,3930,6146,3293,\n3786,3910,3998,5900,5300,5578,2840,6563,5901,5579,6147,3531,5374,6564,6565,5580,\n4759,5375,6566,6148,3559,5643,6336,6010,5517,6337,6338,5721,5902,3873,6011,6339,\n6567,5518,3868,3649,5722,6568,4771,4947,6569,6149,4812,6570,2853,5471,6340,6341,\n5644,4795,6342,6012,5723,6343,5724,6013,4349,6344,3160,6150,5193,4599,4514,4493,\n5168,4320,6345,4927,3666,4745,5169,5903,5005,4928,6346,5725,6014,4730,4203,5046,\n4948,3395,5170,6015,4150,6016,5726,5519,6347,5047,3550,6151,6348,4197,4310,5904,\n6571,5581,2965,6152,4978,3960,4291,5135,6572,5301,5727,4129,4026,5905,4853,5728,\n5472,6153,6349,4533,2700,4505,5336,4678,3583,5073,2994,4486,3043,4554,5520,6350,\n6017,5800,4487,6351,3931,4103,5376,6352,4011,4321,4311,4190,5136,6018,3988,3233,\n4350,5906,5645,4198,6573,5107,3432,4191,3435,5582,6574,4139,5410,6353,5411,3944,\n5583,5074,3198,6575,6354,4358,6576,5302,4600,5584,5194,5412,6577,6578,5585,5413,\n5303,4248,5414,3879,4433,6579,4479,5025,4854,5415,6355,4760,4772,3683,2978,4700,\n3797,4452,3965,3932,3721,4910,5801,6580,5195,3551,5907,3221,3471,3029,6019,3999,\n5908,5909,5266,5267,3444,3023,3828,3170,4796,5646,4979,4259,6356,5647,5337,3694,\n6357,5648,5338,4520,4322,5802,3031,3759,4071,6020,5586,4836,4386,5048,6581,3571,\n4679,4174,4949,6154,4813,3787,3402,3822,3958,3215,3552,5268,4387,3933,4950,4359,\n6021,5910,5075,3579,6358,4234,4566,5521,6359,3613,5049,6022,5911,3375,3702,3178,\n4911,5339,4521,6582,6583,4395,3087,3811,5377,6023,6360,6155,4027,5171,5649,4421,\n4249,2804,6584,2270,6585,4000,4235,3045,6156,5137,5729,4140,4312,3886,6361,4330,\n6157,4215,6158,3500,3676,4929,4331,3713,4930,5912,4265,3776,3368,5587,4470,4855,\n3038,4980,3631,6159,6160,4132,4680,6161,6362,3923,4379,5588,4255,6586,4121,6587,\n6363,4649,6364,3288,4773,4774,6162,6024,6365,3543,6588,4274,3107,3737,5050,5803,\n4797,4522,5589,5051,5730,3714,4887,5378,4001,4523,6163,5026,5522,4701,4175,2791,\n3760,6589,5473,4224,4133,3847,4814,4815,4775,3259,5416,6590,2738,6164,6025,5304,\n3733,5076,5650,4816,5590,6591,6165,6592,3934,5269,6593,3396,5340,6594,5804,3445,\n3602,4042,4488,5731,5732,3525,5591,4601,5196,6166,6026,5172,3642,4612,3202,4506,\n4798,6366,3818,5108,4303,5138,5139,4776,3332,4304,2915,3415,4434,5077,5109,4856,\n2879,5305,4817,6595,5913,3104,3144,3903,4634,5341,3133,5110,5651,5805,6167,4057,\n5592,2945,4371,5593,6596,3474,4182,6367,6597,6168,4507,4279,6598,2822,6599,4777,\n4713,5594,3829,6169,3887,5417,6170,3653,5474,6368,4216,2971,5228,3790,4579,6369,\n5733,6600,6601,4951,4746,4555,6602,5418,5475,6027,3400,4665,5806,6171,4799,6028,\n5052,6172,3343,4800,4747,5006,6370,4556,4217,5476,4396,5229,5379,5477,3839,5914,\n5652,5807,4714,3068,4635,5808,6173,5342,4192,5078,5419,5523,5734,6174,4557,6175,\n4602,6371,6176,6603,5809,6372,5735,4260,3869,5111,5230,6029,5112,6177,3126,4681,\n5524,5915,2706,3563,4748,3130,6178,4018,5525,6604,6605,5478,4012,4837,6606,4534,\n4193,5810,4857,3615,5479,6030,4082,3697,3539,4086,5270,3662,4508,4931,5916,4912,\n5811,5027,3888,6607,4397,3527,3302,3798,2775,2921,2637,3966,4122,4388,4028,4054,\n1633,4858,5079,3024,5007,3982,3412,5736,6608,3426,3236,5595,3030,6179,3427,3336,\n3279,3110,6373,3874,3039,5080,5917,5140,4489,3119,6374,5812,3405,4494,6031,4666,\n4141,6180,4166,6032,5813,4981,6609,5081,4422,4982,4112,3915,5653,3296,3983,6375,\n4266,4410,5654,6610,6181,3436,5082,6611,5380,6033,3819,5596,4535,5231,5306,5113,\n6612,4952,5918,4275,3113,6613,6376,6182,6183,5814,3073,4731,4838,5008,3831,6614,\n4888,3090,3848,4280,5526,5232,3014,5655,5009,5737,5420,5527,6615,5815,5343,5173,\n5381,4818,6616,3151,4953,6617,5738,2796,3204,4360,2989,4281,5739,5174,5421,5197,\n3132,5141,3849,5142,5528,5083,3799,3904,4839,5480,2880,4495,3448,6377,6184,5271,\n5919,3771,3193,6034,6035,5920,5010,6036,5597,6037,6378,6038,3106,5422,6618,5423,\n5424,4142,6619,4889,5084,4890,4313,5740,6620,3437,5175,5307,5816,4199,5198,5529,\n5817,5199,5656,4913,5028,5344,3850,6185,2955,5272,5011,5818,4567,4580,5029,5921,\n3616,5233,6621,6622,6186,4176,6039,6379,6380,3352,5200,5273,2908,5598,5234,3837,\n5308,6623,6624,5819,4496,4323,5309,5201,6625,6626,4983,3194,3838,4167,5530,5922,\n5274,6381,6382,3860,3861,5599,3333,4292,4509,6383,3553,5481,5820,5531,4778,6187,\n3955,3956,4324,4389,4218,3945,4325,3397,2681,5923,4779,5085,4019,5482,4891,5382,\n5383,6040,4682,3425,5275,4094,6627,5310,3015,5483,5657,4398,5924,3168,4819,6628,\n5925,6629,5532,4932,4613,6041,6630,4636,6384,4780,4204,5658,4423,5821,3989,4683,\n5822,6385,4954,6631,5345,6188,5425,5012,5384,3894,6386,4490,4104,6632,5741,5053,\n6633,5823,5926,5659,5660,5927,6634,5235,5742,5824,4840,4933,4820,6387,4859,5928,\n4955,6388,4143,3584,5825,5346,5013,6635,5661,6389,5014,5484,5743,4337,5176,5662,\n6390,2836,6391,3268,6392,6636,6042,5236,6637,4158,6638,5744,5663,4471,5347,3663,\n4123,5143,4293,3895,6639,6640,5311,5929,5826,3800,6189,6393,6190,5664,5348,3554,\n3594,4749,4603,6641,5385,4801,6043,5827,4183,6642,5312,5426,4761,6394,5665,6191,\n4715,2669,6643,6644,5533,3185,5427,5086,5930,5931,5386,6192,6044,6645,4781,4013,\n5745,4282,4435,5534,4390,4267,6045,5746,4984,6046,2743,6193,3501,4087,5485,5932,\n5428,4184,4095,5747,4061,5054,3058,3862,5933,5600,6646,5144,3618,6395,3131,5055,\n5313,6396,4650,4956,3855,6194,3896,5202,4985,4029,4225,6195,6647,5828,5486,5829,\n3589,3002,6648,6397,4782,5276,6649,6196,6650,4105,3803,4043,5237,5830,6398,4096,\n3643,6399,3528,6651,4453,3315,4637,6652,3984,6197,5535,3182,3339,6653,3096,2660,\n6400,6654,3449,5934,4250,4236,6047,6401,5831,6655,5487,3753,4062,5832,6198,6199,\n6656,3766,6657,3403,4667,6048,6658,4338,2897,5833,3880,2797,3780,4326,6659,5748,\n5015,6660,5387,4351,5601,4411,6661,3654,4424,5935,4339,4072,5277,4568,5536,6402,\n6662,5238,6663,5349,5203,6200,5204,6201,5145,4536,5016,5056,4762,5834,4399,4957,\n6202,6403,5666,5749,6664,4340,6665,5936,5177,5667,6666,6667,3459,4668,6404,6668,\n6669,4543,6203,6670,4276,6405,4480,5537,6671,4614,5205,5668,6672,3348,2193,4763,\n6406,6204,5937,5602,4177,5669,3419,6673,4020,6205,4443,4569,5388,3715,3639,6407,\n6049,4058,6206,6674,5938,4544,6050,4185,4294,4841,4651,4615,5488,6207,6408,6051,\n5178,3241,3509,5835,6208,4958,5836,4341,5489,5278,6209,2823,5538,5350,5206,5429,\n6675,4638,4875,4073,3516,4684,4914,4860,5939,5603,5389,6052,5057,3237,5490,3791,\n6676,6409,6677,4821,4915,4106,5351,5058,4243,5539,4244,5604,4842,4916,5239,3028,\n3716,5837,5114,5605,5390,5940,5430,6210,4332,6678,5540,4732,3667,3840,6053,4305,\n3408,5670,5541,6410,2744,5240,5750,6679,3234,5606,6680,5607,5671,3608,4283,4159,\n4400,5352,4783,6681,6411,6682,4491,4802,6211,6412,5941,6413,6414,5542,5751,6683,\n4669,3734,5942,6684,6415,5943,5059,3328,4670,4144,4268,6685,6686,6687,6688,4372,\n3603,6689,5944,5491,4373,3440,6416,5543,4784,4822,5608,3792,4616,5838,5672,3514,\n5391,6417,4892,6690,4639,6691,6054,5673,5839,6055,6692,6056,5392,6212,4038,5544,\n5674,4497,6057,6693,5840,4284,5675,4021,4545,5609,6418,4454,6419,6213,4113,4472,\n5314,3738,5087,5279,4074,5610,4959,4063,3179,4750,6058,6420,6214,3476,4498,4716,\n5431,4960,4685,6215,5241,6694,6421,6216,6695,5841,5945,6422,3748,5946,5179,3905,\n5752,5545,5947,4374,6217,4455,6423,4412,6218,4803,5353,6696,3832,5280,6219,4327,\n4702,6220,6221,6059,4652,5432,6424,3749,4751,6425,5753,4986,5393,4917,5948,5030,\n5754,4861,4733,6426,4703,6697,6222,4671,5949,4546,4961,5180,6223,5031,3316,5281,\n6698,4862,4295,4934,5207,3644,6427,5842,5950,6428,6429,4570,5843,5282,6430,6224,\n5088,3239,6060,6699,5844,5755,6061,6431,2701,5546,6432,5115,5676,4039,3993,3327,\n4752,4425,5315,6433,3941,6434,5677,4617,4604,3074,4581,6225,5433,6435,6226,6062,\n4823,5756,5116,6227,3717,5678,4717,5845,6436,5679,5846,6063,5847,6064,3977,3354,\n6437,3863,5117,6228,5547,5394,4499,4524,6229,4605,6230,4306,4500,6700,5951,6065,\n3693,5952,5089,4366,4918,6701,6231,5548,6232,6702,6438,4704,5434,6703,6704,5953,\n4168,6705,5680,3420,6706,5242,4407,6066,3812,5757,5090,5954,4672,4525,3481,5681,\n4618,5395,5354,5316,5955,6439,4962,6707,4526,6440,3465,4673,6067,6441,5682,6708,\n5435,5492,5758,5683,4619,4571,4674,4804,4893,4686,5493,4753,6233,6068,4269,6442,\n6234,5032,4705,5146,5243,5208,5848,6235,6443,4963,5033,4640,4226,6236,5849,3387,\n6444,6445,4436,4437,5850,4843,5494,4785,4894,6709,4361,6710,5091,5956,3331,6237,\n4987,5549,6069,6711,4342,3517,4473,5317,6070,6712,6071,4706,6446,5017,5355,6713,\n6714,4988,5436,6447,4734,5759,6715,4735,4547,4456,4754,6448,5851,6449,6450,3547,\n5852,5318,6451,6452,5092,4205,6716,6238,4620,4219,5611,6239,6072,4481,5760,5957,\n5958,4059,6240,6453,4227,4537,6241,5761,4030,4186,5244,5209,3761,4457,4876,3337,\n5495,5181,6242,5959,5319,5612,5684,5853,3493,5854,6073,4169,5613,5147,4895,6074,\n5210,6717,5182,6718,3830,6243,2798,3841,6075,6244,5855,5614,3604,4606,5496,5685,\n5118,5356,6719,6454,5960,5357,5961,6720,4145,3935,4621,5119,5962,4261,6721,6455,\n4786,5963,4375,4582,6245,6246,6247,6076,5437,4877,5856,3376,4380,6248,4160,6722,\n5148,6456,5211,6457,6723,4718,6458,6724,6249,5358,4044,3297,6459,6250,5857,5615,\n5497,5245,6460,5498,6725,6251,6252,5550,3793,5499,2959,5396,6461,6462,4572,5093,\n5500,5964,3806,4146,6463,4426,5762,5858,6077,6253,4755,3967,4220,5965,6254,4989,\n5501,6464,4352,6726,6078,4764,2290,5246,3906,5438,5283,3767,4964,2861,5763,5094,\n6255,6256,4622,5616,5859,5860,4707,6727,4285,4708,4824,5617,6257,5551,4787,5212,\n4965,4935,4687,6465,6728,6466,5686,6079,3494,4413,2995,5247,5966,5618,6729,5967,\n5764,5765,5687,5502,6730,6731,6080,5397,6467,4990,6258,6732,4538,5060,5619,6733,\n4719,5688,5439,5018,5149,5284,5503,6734,6081,4607,6259,5120,3645,5861,4583,6260,\n4584,4675,5620,4098,5440,6261,4863,2379,3306,4585,5552,5689,4586,5285,6735,4864,\n6736,5286,6082,6737,4623,3010,4788,4381,4558,5621,4587,4896,3698,3161,5248,4353,\n4045,6262,3754,5183,4588,6738,6263,6739,6740,5622,3936,6741,6468,6742,6264,5095,\n6469,4991,5968,6743,4992,6744,6083,4897,6745,4256,5766,4307,3108,3968,4444,5287,\n3889,4343,6084,4510,6085,4559,6086,4898,5969,6746,5623,5061,4919,5249,5250,5504,\n5441,6265,5320,4878,3242,5862,5251,3428,6087,6747,4237,5624,5442,6266,5553,4539,\n6748,2585,3533,5398,4262,6088,5150,4736,4438,6089,6267,5505,4966,6749,6268,6750,\n6269,5288,5554,3650,6090,6091,4624,6092,5690,6751,5863,4270,5691,4277,5555,5864,\n6752,5692,4720,4865,6470,5151,4688,4825,6753,3094,6754,6471,3235,4653,6755,5213,\n5399,6756,3201,4589,5865,4967,6472,5866,6473,5019,3016,6757,5321,4756,3957,4573,\n6093,4993,5767,4721,6474,6758,5625,6759,4458,6475,6270,6760,5556,4994,5214,5252,\n6271,3875,5768,6094,5034,5506,4376,5769,6761,2120,6476,5253,5770,6762,5771,5970,\n3990,5971,5557,5558,5772,6477,6095,2787,4641,5972,5121,6096,6097,6272,6763,3703,\n5867,5507,6273,4206,6274,4789,6098,6764,3619,3646,3833,3804,2394,3788,4936,3978,\n4866,4899,6099,6100,5559,6478,6765,3599,5868,6101,5869,5870,6275,6766,4527,6767\n];\n\n}(__webpack_require__(/*! ./init */ \"./node_modules/jschardet/src/init.js\"));\n\n\n//# sourceURL=webpack:///./node_modules/jschardet/src/gb2312freq.js?"); - -/***/ }), - -/***/ "./node_modules/jschardet/src/gb2312prober.js": -/*!****************************************************!*\ - !*** ./node_modules/jschardet/src/gb2312prober.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/*\n * The Original Code is Mozilla Universal charset detector code.\n *\n * The Initial Developer of the Original Code is\n * Netscape Communications Corporation.\n * Portions created by the Initial Developer are Copyright (C) 2001\n * the Initial Developer. All Rights Reserved.\n *\n * Contributor(s):\n * António Afonso (antonio.afonso gmail.com) - port to JavaScript\n * Mark Pilgrim - port to Python\n * Shy Shalom - original C code\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA\n */\n\n!function(jschardet) {\n\njschardet.GB2312Prober = function() {\n jschardet.MultiByteCharSetProber.apply(this);\n\n var self = this;\n\n function init() {\n self._mCodingSM = new jschardet.CodingStateMachine(jschardet.GB2312SMModel);\n self._mDistributionAnalyzer = new jschardet.GB2312DistributionAnalysis();\n self.reset();\n }\n\n this.getCharsetName = function() {\n return \"GB2312\";\n }\n\n init();\n}\njschardet.GB2312Prober.prototype = new jschardet.MultiByteCharSetProber();\n\n}(__webpack_require__(/*! ./init */ \"./node_modules/jschardet/src/init.js\"));\n\n\n//# sourceURL=webpack:///./node_modules/jschardet/src/gb2312prober.js?"); - -/***/ }), - -/***/ "./node_modules/jschardet/src/hebrewprober.js": -/*!****************************************************!*\ - !*** ./node_modules/jschardet/src/hebrewprober.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/*\n * The Original Code is Mozilla Universal charset detector code.\n *\n * The Initial Developer of the Original Code is\n * Netscape Communications Corporation.\n * Portions created by the Initial Developer are Copyright (C) 2001\n * the Initial Developer. All Rights Reserved.\n *\n * Contributor(s):\n * António Afonso (antonio.afonso gmail.com) - port to JavaScript\n * Mark Pilgrim - port to Python\n * Shy Shalom - original C code\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA\n */\n\n!function(jschardet) {\n\n// This prober doesn't actually recognize a language or a charset.\n// It is a helper prober for the use of the Hebrew model probers\n\n////// General ideas of the Hebrew charset recognition //////\n//\n// Four main charsets exist in Hebrew:\n// \"ISO-8859-8\" - Visual Hebrew\n// \"windows-1255\" - Logical Hebrew\n// \"ISO-8859-8-I\" - Logical Hebrew\n// \"x-mac-hebrew\" - ?? Logical Hebrew ??\n//\n// Both \"ISO\" charsets use a completely identical set of code points, whereas\n// \"windows-1255\" and \"x-mac-hebrew\" are two different proper supersets of\n// these code points. windows-1255 defines additional characters in the range\n// 0x80-0x9F as some misc punctuation marks as well as some Hebrew-specific\n// diacritics and additional 'Yiddish' ligature letters in the range 0xc0-0xd6.\n// x-mac-hebrew defines similar additional code points but with a different\n// mapping.\n//\n// As far as an average Hebrew text with no diacritics is concerned, all four\n// charsets are identical with respect to code points. Meaning that for the\n// main Hebrew alphabet, all four map the same values to all 27 Hebrew letters\n// (including final letters).\n//\n// The dominant difference between these charsets is their directionality.\n// \"Visual\" directionality means that the text is ordered as if the renderer is\n// not aware of a BIDI rendering algorithm. The renderer sees the text and\n// draws it from left to right. The text itself when ordered naturally is read\n// backwards. A buffer of Visual Hebrew generally looks like so:\n// \"[last word of first line spelled backwards] [whole line ordered backwards\n// and spelled backwards] [first word of first line spelled backwards]\n// [end of line] [last word of second line] ... etc' \"\n// adding punctuation marks, numbers and English text to visual text is\n// naturally also \"visual\" and from left to right.\n//\n// \"Logical\" directionality means the text is ordered \"naturally\" according to\n// the order it is read. It is the responsibility of the renderer to display\n// the text from right to left. A BIDI algorithm is used to place general\n// punctuation marks, numbers and English text in the text.\n//\n// Texts in x-mac-hebrew are almost impossible to find on the Internet. From\n// what little evidence I could find, it seems that its general directionality\n// is Logical.\n//\n// To sum up all of the above, the Hebrew probing mechanism knows about two\n// charsets:\n// Visual Hebrew - \"ISO-8859-8\" - backwards text - Words and sentences are\n// backwards while line order is natural. For charset recognition purposes\n// the line order is unimportant (In fact, for this implementation, even\n// word order is unimportant).\n// Logical Hebrew - \"windows-1255\" - normal, naturally ordered text.\n//\n// \"ISO-8859-8-I\" is a subset of windows-1255 and doesn't need to be\n// specifically identified.\n// \"x-mac-hebrew\" is also identified as windows-1255. A text in x-mac-hebrew\n// that contain special punctuation marks or diacritics is displayed with\n// some unconverted characters showing as question marks. This problem might\n// be corrected using another model prober for x-mac-hebrew. Due to the fact\n// that x-mac-hebrew texts are so rare, writing another model prober isn't\n// worth the effort and performance hit.\n//\n//////// The Prober ////////\n//\n// The prober is divided between two SBCharSetProbers and a HebrewProber,\n// all of which are managed, created, fed data, inquired and deleted by the\n// SBCSGroupProber. The two SBCharSetProbers identify that the text is in\n// fact some kind of Hebrew, Logical or Visual. The final decision about which\n// one is it is made by the HebrewProber by combining final-letter scores\n// with the scores of the two SBCharSetProbers to produce a final answer.\n//\n// The SBCSGroupProber is responsible for stripping the original text of HTML\n// tags, English characters, numbers, low-ASCII punctuation characters, spaces\n// and new lines. It reduces any sequence of such characters to a single space.\n// The buffer fed to each prober in the SBCS group prober is pure text in\n// high-ASCII.\n// The two SBCharSetProbers (model probers) share the same language model:\n// Win1255Model.\n// The first SBCharSetProber uses the model normally as any other\n// SBCharSetProber does, to recognize windows-1255, upon which this model was\n// built. The second SBCharSetProber is told to make the pair-of-letter\n// lookup in the language model backwards. This in practice exactly simulates\n// a visual Hebrew model using the windows-1255 logical Hebrew model.\n//\n// The HebrewProber is not using any language model. All it does is look for\n// final-letter evidence suggesting the text is either logical Hebrew or visual\n// Hebrew. Disjointed from the model probers, the results of the HebrewProber\n// alone are meaningless. HebrewProber always returns 0.00 as confidence\n// since it never identifies a charset by itself. Instead, the pointer to the\n// HebrewProber is passed to the model probers as a helper \"Name Prober\".\n// When the Group prober receives a positive identification from any prober,\n// it asks for the name of the charset identified. If the prober queried is a\n// Hebrew model prober, the model prober forwards the call to the\n// HebrewProber to make the final decision. In the HebrewProber, the\n// decision is made according to the final-letters scores maintained and Both\n// model probers scores. The answer is returned in the form of the name of the\n// charset identified, either \"windows-1255\" or \"ISO-8859-8\".\n\njschardet.HebrewProber = function() {\n jschardet.CharSetProber.apply(this);\n\n // windows-1255 / ISO-8859-8 code points of interest\n var FINAL_KAF = '\\xea'\n var NORMAL_KAF = '\\xeb'\n var FINAL_MEM = '\\xed'\n var NORMAL_MEM = '\\xee'\n var FINAL_NUN = '\\xef'\n var NORMAL_NUN = '\\xf0'\n var FINAL_PE = '\\xf3'\n var NORMAL_PE = '\\xf4'\n var FINAL_TSADI = '\\xf5'\n var NORMAL_TSADI = '\\xf6'\n\n // Minimum Visual vs Logical final letter score difference.\n // If the difference is below this, don't rely solely on the final letter score distance.\n var MIN_FINAL_CHAR_DISTANCE = 5\n\n // Minimum Visual vs Logical model score difference.\n // If the difference is below this, don't rely at all on the model score distance.\n var MIN_MODEL_DISTANCE = 0.01\n\n var VISUAL_HEBREW_NAME = \"ISO-8859-8\"\n var LOGICAL_HEBREW_NAME = \"windows-1255\"\n var self = this;\n\n function init() {\n self._mLogicalProber = null;\n self._mVisualProber = null;\n self.reset();\n }\n\n this.reset = function() {\n this._mFinalCharLogicalScore = 0;\n this._mFinalCharVisualScore = 0;\n // The two last characters seen in the previous buffer,\n // mPrev and mBeforePrev are initialized to space in order to simulate a word\n // delimiter at the beginning of the data\n this._mPrev = \" \";\n this._mBeforePrev = \" \";\n // These probers are owned by the group prober.\n }\n\n this.setModelProbers = function(logicalProber, visualProber) {\n this._mLogicalProber = logicalProber;\n this._mVisualProber = visualProber;\n }\n\n this.isFinal = function(c) {\n return [FINAL_KAF, FINAL_MEM, FINAL_NUN, FINAL_PE, FINAL_TSADI].indexOf(c) != -1;\n }\n\n this.isNonFinal = function(c) {\n // The normal Tsadi is not a good Non-Final letter due to words like\n // 'lechotet' (to chat) containing an apostrophe after the tsadi. This\n // apostrophe is converted to a space in FilterWithoutEnglishLetters causing\n // the Non-Final tsadi to appear at an end of a word even though this is not\n // the case in the original text.\n // The letters Pe and Kaf rarely display a related behavior of not being a\n // good Non-Final letter. Words like 'Pop', 'Winamp' and 'Mubarak' for\n // example legally end with a Non-Final Pe or Kaf. However, the benefit of\n // these letters as Non-Final letters outweighs the damage since these words\n // are quite rare.\n return [NORMAL_KAF, NORMAL_MEM, NORMAL_NUN, NORMAL_PE].indexOf(c) != -1;\n }\n\n this.feed = function(aBuf) {\n // Final letter analysis for logical-visual decision.\n // Look for evidence that the received buffer is either logical Hebrew or\n // visual Hebrew.\n // The following cases are checked:\n // 1) A word longer than 1 letter, ending with a final letter. This is an\n // indication that the text is laid out \"naturally\" since the final letter\n // really appears at the end. +1 for logical score.\n // 2) A word longer than 1 letter, ending with a Non-Final letter. In normal\n // Hebrew, words ending with Kaf, Mem, Nun, Pe or Tsadi, should not end with\n // the Non-Final form of that letter. Exceptions to this rule are mentioned\n // above in isNonFinal(). This is an indication that the text is laid out\n // backwards. +1 for visual score\n // 3) A word longer than 1 letter, starting with a final letter. Final letters\n // should not appear at the beginning of a word. This is an indication that\n // the text is laid out backwards. +1 for visual score.\n //\n // The visual score and logical score are accumulated throughout the text and\n // are finally checked against each other in GetCharSetName().\n // No checking for final letters in the middle of words is done since that case\n // is not an indication for either Logical or Visual text.\n //\n // We automatically filter out all 7-bit characters (replace them with spaces)\n // so the word boundary detection works properly. [MAP]\n\n if( this.getState() == jschardet.Constants.notMe ) {\n // Both model probers say it's not them. No reason to continue.\n return jschardet.Constants.notMe;\n }\n\n aBuf = this.filterHighBitOnly(aBuf);\n\n for( var i = 0, cur; i < aBuf.length; i++ ) {\n cur = aBuf[i];\n if( cur == \" \" ) {\n // We stand on a space - a word just ended\n if( this._mBeforePrev != \" \" ) {\n // next-to-last char was not a space so self._mPrev is not a 1 letter word\n if( this.isFinal(this._mPrev) ) {\n // case (1) [-2:not space][-1:final letter][cur:space]\n this._mFinalCharLogicalScore++;\n } else if( this.isNonFinal(this._mPrev) ) {\n // case (2) [-2:not space][-1:Non-Final letter][cur:space]\n this._mFinalCharVisualScore++;\n }\n }\n } else {\n // Not standing on a space\n if( this._mBeforePrev == \" \" && this.isFinal(this._mPrev) && cur != \" \" ) {\n // case (3) [-2:space][-1:final letter][cur:not space]\n this._mFinalCharVisualScore++;\n }\n }\n this._mBeforePrev = this._mPrev;\n this._mPrev = cur;\n }\n // Forever detecting, till the end or until both model probers return eNotMe (handled above)\n return jschardet.Constants.detecting;\n }\n\n this.getCharsetName = function() {\n // Make the decision: is it Logical or Visual?\n // If the final letter score distance is dominant enough, rely on it.\n var finalsub = this._mFinalCharLogicalScore - this._mFinalCharVisualScore;\n if( finalsub >= MIN_FINAL_CHAR_DISTANCE ) {\n return LOGICAL_HEBREW_NAME;\n }\n if( finalsub <= -MIN_FINAL_CHAR_DISTANCE ) {\n return VISUAL_HEBREW_NAME;\n }\n\n // It's not dominant enough, try to rely on the model scores instead.\n var modelsub = this._mLogicalProber.getConfidence() - this._mVisualProber.getConfidence();\n if( modelsub > MIN_MODEL_DISTANCE ) {\n return LOGICAL_HEBREW_NAME;\n }\n if( modelsub < -MIN_MODEL_DISTANCE ) {\n return VISUAL_HEBREW_NAME;\n }\n\n // Still no good, back to final letter distance, maybe it'll save the day.\n if( finalsub < 0 ) {\n return VISUAL_HEBREW_NAME;\n }\n\n // (finalsub > 0 - Logical) or (don't know what to do) default to Logical.\n return LOGICAL_HEBREW_NAME;\n }\n\n this.getState = function() {\n // Remain active as long as any of the model probers are active.\n if( this._mLogicalProber.getState() == jschardet.Constants.notMe &&\n this._mVisualProber.getState() == jschardet.Constants.notMe ) {\n return jschardet.Constants.notMe;\n }\n return jschardet.Constants.detecting;\n }\n\n init();\n}\njschardet.HebrewProber.prototype = new jschardet.CharSetProber();\n\n// https://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Objects/Array/IndexOf\nif (!Array.prototype.indexOf)\n{\n Array.prototype.indexOf = function(elt /*, from*/)\n {\n var len = this.length >>> 0;\n\n var from = Number(arguments[1]) || 0;\n from = (from < 0)\n ? Math.ceil(from)\n : Math.floor(from);\n if (from < 0)\n from += len;\n\n for (; from < len; from++)\n {\n if (from in this &&\n this[from] === elt)\n return from;\n }\n return -1;\n };\n}\n\n}(__webpack_require__(/*! ./init */ \"./node_modules/jschardet/src/init.js\"));\n\n\n//# sourceURL=webpack:///./node_modules/jschardet/src/hebrewprober.js?"); - -/***/ }), - -/***/ "./node_modules/jschardet/src/init.js": -/*!********************************************!*\ - !*** ./node_modules/jschardet/src/init.js ***! - \********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/* WEBPACK VAR INJECTION */(function(Buffer) {/*\n * The Original Code is Mozilla Universal charset detector code.\n *\n * The Initial Developer of the Original Code is\n * Netscape Communications Corporation.\n * Portions created by the Initial Developer are Copyright (C) 2001\n * the Initial Developer. All Rights Reserved.\n *\n * Contributor(s):\n * António Afonso (antonio.afonso gmail.com) - port to JavaScript\n * Mark Pilgrim - port to Python\n * Shy Shalom - original C code\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA\n */\n\nvar jschardet = exports;\n\n__webpack_require__(/*! ./constants */ \"./node_modules/jschardet/src/constants.js\");\n__webpack_require__(/*! ./codingstatemachine */ \"./node_modules/jschardet/src/codingstatemachine.js\");\n__webpack_require__(/*! ./escsm */ \"./node_modules/jschardet/src/escsm.js\");\n__webpack_require__(/*! ./mbcssm */ \"./node_modules/jschardet/src/mbcssm.js\");\n__webpack_require__(/*! ./charsetprober */ \"./node_modules/jschardet/src/charsetprober.js\");\n__webpack_require__(/*! ./mbcharsetprober */ \"./node_modules/jschardet/src/mbcharsetprober.js\");\n__webpack_require__(/*! ./jisfreq */ \"./node_modules/jschardet/src/jisfreq.js\");\n__webpack_require__(/*! ./gb2312freq */ \"./node_modules/jschardet/src/gb2312freq.js\");\n__webpack_require__(/*! ./euckrfreq */ \"./node_modules/jschardet/src/euckrfreq.js\");\n__webpack_require__(/*! ./big5freq */ \"./node_modules/jschardet/src/big5freq.js\");\n__webpack_require__(/*! ./euctwfreq */ \"./node_modules/jschardet/src/euctwfreq.js\");\n__webpack_require__(/*! ./chardistribution */ \"./node_modules/jschardet/src/chardistribution.js\");\n__webpack_require__(/*! ./jpcntx */ \"./node_modules/jschardet/src/jpcntx.js\");\n__webpack_require__(/*! ./sjisprober */ \"./node_modules/jschardet/src/sjisprober.js\");\n__webpack_require__(/*! ./utf8prober */ \"./node_modules/jschardet/src/utf8prober.js\");\n__webpack_require__(/*! ./charsetgroupprober */ \"./node_modules/jschardet/src/charsetgroupprober.js\");\n__webpack_require__(/*! ./eucjpprober */ \"./node_modules/jschardet/src/eucjpprober.js\");\n__webpack_require__(/*! ./gb2312prober */ \"./node_modules/jschardet/src/gb2312prober.js\");\n__webpack_require__(/*! ./euckrprober */ \"./node_modules/jschardet/src/euckrprober.js\");\n__webpack_require__(/*! ./big5prober */ \"./node_modules/jschardet/src/big5prober.js\");\n__webpack_require__(/*! ./euctwprober */ \"./node_modules/jschardet/src/euctwprober.js\");\n__webpack_require__(/*! ./mbcsgroupprober */ \"./node_modules/jschardet/src/mbcsgroupprober.js\");\n__webpack_require__(/*! ./sbcharsetprober */ \"./node_modules/jschardet/src/sbcharsetprober.js\");\n__webpack_require__(/*! ./langgreekmodel */ \"./node_modules/jschardet/src/langgreekmodel.js\");\n__webpack_require__(/*! ./langthaimodel */ \"./node_modules/jschardet/src/langthaimodel.js\");\n__webpack_require__(/*! ./langbulgarianmodel */ \"./node_modules/jschardet/src/langbulgarianmodel.js\");\n__webpack_require__(/*! ./langcyrillicmodel */ \"./node_modules/jschardet/src/langcyrillicmodel.js\");\n__webpack_require__(/*! ./hebrewprober */ \"./node_modules/jschardet/src/hebrewprober.js\");\n__webpack_require__(/*! ./langhebrewmodel */ \"./node_modules/jschardet/src/langhebrewmodel.js\");\n__webpack_require__(/*! ./langhungarianmodel */ \"./node_modules/jschardet/src/langhungarianmodel.js\");\n__webpack_require__(/*! ./sbcsgroupprober */ \"./node_modules/jschardet/src/sbcsgroupprober.js\");\n__webpack_require__(/*! ./latin1prober */ \"./node_modules/jschardet/src/latin1prober.js\");\n__webpack_require__(/*! ./escprober */ \"./node_modules/jschardet/src/escprober.js\");\n__webpack_require__(/*! ./universaldetector */ \"./node_modules/jschardet/src/universaldetector.js\");\n\njschardet.VERSION = \"1.4.1\";\njschardet.detect = function(buffer) {\n var u = new jschardet.UniversalDetector();\n u.reset();\n if( typeof Buffer == 'function' && buffer instanceof Buffer ) {\n u.feed(buffer.toString('binary'));\n } else {\n u.feed(buffer);\n }\n u.close();\n return u.result;\n}\njschardet.log = function() {\n console.log.apply(console, arguments);\n}\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../buffer/index.js */ \"./node_modules/buffer/index.js\").Buffer))\n\n//# sourceURL=webpack:///./node_modules/jschardet/src/init.js?"); - -/***/ }), - -/***/ "./node_modules/jschardet/src/jisfreq.js": -/*!***********************************************!*\ - !*** ./node_modules/jschardet/src/jisfreq.js ***! - \***********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/*\n * The Original Code is Mozilla Universal charset detector code.\n *\n * The Initial Developer of the Original Code is\n * Netscape Communications Corporation.\n * Portions created by the Initial Developer are Copyright (C) 2001\n * the Initial Developer. All Rights Reserved.\n *\n * Contributor(s):\n * António Afonso (antonio.afonso gmail.com) - port to JavaScript\n * Mark Pilgrim - port to Python\n * Shy Shalom - original C code\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA\n */\n\n!function(jschardet) {\n\n// Sampling from about 20M text materials include literature and computer technology\n//\n// Japanese frequency table, applied to both S-JIS and EUC-JP\n// They are sorted in order.\n//\n// 128 --> 0.77094\n// 256 --> 0.85710\n// 512 --> 0.92635\n// 1024 --> 0.97130\n// 2048 --> 0.99431\n//\n// Ideal Distribution Ratio = 0.92635 / (1-0.92635) = 12.58\n// Random Distribution Ration = 512 / (2965+62+83+86-512) = 0.191\n//\n// Typical Distribution Ratio, 25% of IDR\n\njschardet.JIS_TYPICAL_DISTRIBUTION_RATIO = 3.0;\n\njschardet.JIS_TABLE_SIZE = 4368;\n\njschardet.JISCharToFreqOrder = [\n 40, 1, 6, 182, 152, 180, 295,2127, 285, 381,3295,4304,3068,4606,3165,3510, // 16\n3511,1822,2785,4607,1193,2226,5070,4608, 171,2996,1247, 18, 179,5071, 856,1661, // 32\n1262,5072, 619, 127,3431,3512,3230,1899,1700, 232, 228,1294,1298, 284, 283,2041, // 48\n2042,1061,1062, 48, 49, 44, 45, 433, 434,1040,1041, 996, 787,2997,1255,4305, // 64\n2108,4609,1684,1648,5073,5074,5075,5076,5077,5078,3687,5079,4610,5080,3927,3928, // 80\n5081,3296,3432, 290,2285,1471,2187,5082,2580,2825,1303,2140,1739,1445,2691,3375, // 96\n1691,3297,4306,4307,4611, 452,3376,1182,2713,3688,3069,4308,5083,5084,5085,5086, // 112\n5087,5088,5089,5090,5091,5092,5093,5094,5095,5096,5097,5098,5099,5100,5101,5102, // 128\n5103,5104,5105,5106,5107,5108,5109,5110,5111,5112,4097,5113,5114,5115,5116,5117, // 144\n5118,5119,5120,5121,5122,5123,5124,5125,5126,5127,5128,5129,5130,5131,5132,5133, // 160\n5134,5135,5136,5137,5138,5139,5140,5141,5142,5143,5144,5145,5146,5147,5148,5149, // 176\n5150,5151,5152,4612,5153,5154,5155,5156,5157,5158,5159,5160,5161,5162,5163,5164, // 192\n5165,5166,5167,5168,5169,5170,5171,5172,5173,5174,5175,1472, 598, 618, 820,1205, // 208\n1309,1412,1858,1307,1692,5176,5177,5178,5179,5180,5181,5182,1142,1452,1234,1172, // 224\n1875,2043,2149,1793,1382,2973, 925,2404,1067,1241, 960,1377,2935,1491, 919,1217, // 240\n1865,2030,1406,1499,2749,4098,5183,5184,5185,5186,5187,5188,2561,4099,3117,1804, // 256\n2049,3689,4309,3513,1663,5189,3166,3118,3298,1587,1561,3433,5190,3119,1625,2998, // 272\n3299,4613,1766,3690,2786,4614,5191,5192,5193,5194,2161, 26,3377, 2,3929, 20, // 288\n3691, 47,4100, 50, 17, 16, 35, 268, 27, 243, 42, 155, 24, 154, 29, 184, // 304\n 4, 91, 14, 92, 53, 396, 33, 289, 9, 37, 64, 620, 21, 39, 321, 5, // 320\n 12, 11, 52, 13, 3, 208, 138, 0, 7, 60, 526, 141, 151,1069, 181, 275, // 336\n1591, 83, 132,1475, 126, 331, 829, 15, 69, 160, 59, 22, 157, 55,1079, 312, // 352\n 109, 38, 23, 25, 10, 19, 79,5195, 61, 382,1124, 8, 30,5196,5197,5198, // 368\n5199,5200,5201,5202,5203,5204,5205,5206, 89, 62, 74, 34,2416, 112, 139, 196, // 384\n 271, 149, 84, 607, 131, 765, 46, 88, 153, 683, 76, 874, 101, 258, 57, 80, // 400\n 32, 364, 121,1508, 169,1547, 68, 235, 145,2999, 41, 360,3027, 70, 63, 31, // 416\n 43, 259, 262,1383, 99, 533, 194, 66, 93, 846, 217, 192, 56, 106, 58, 565, // 432\n 280, 272, 311, 256, 146, 82, 308, 71, 100, 128, 214, 655, 110, 261, 104,1140, // 448\n 54, 51, 36, 87, 67,3070, 185,2618,2936,2020, 28,1066,2390,2059,5207,5208, // 464\n5209,5210,5211,5212,5213,5214,5215,5216,4615,5217,5218,5219,5220,5221,5222,5223, // 480\n5224,5225,5226,5227,5228,5229,5230,5231,5232,5233,5234,5235,5236,3514,5237,5238, // 496\n5239,5240,5241,5242,5243,5244,2297,2031,4616,4310,3692,5245,3071,5246,3598,5247, // 512\n4617,3231,3515,5248,4101,4311,4618,3808,4312,4102,5249,4103,4104,3599,5250,5251, // 528\n5252,5253,5254,5255,5256,5257,5258,5259,5260,5261,5262,5263,5264,5265,5266,5267, // 544\n5268,5269,5270,5271,5272,5273,5274,5275,5276,5277,5278,5279,5280,5281,5282,5283, // 560\n5284,5285,5286,5287,5288,5289,5290,5291,5292,5293,5294,5295,5296,5297,5298,5299, // 576\n5300,5301,5302,5303,5304,5305,5306,5307,5308,5309,5310,5311,5312,5313,5314,5315, // 592\n5316,5317,5318,5319,5320,5321,5322,5323,5324,5325,5326,5327,5328,5329,5330,5331, // 608\n5332,5333,5334,5335,5336,5337,5338,5339,5340,5341,5342,5343,5344,5345,5346,5347, // 624\n5348,5349,5350,5351,5352,5353,5354,5355,5356,5357,5358,5359,5360,5361,5362,5363, // 640\n5364,5365,5366,5367,5368,5369,5370,5371,5372,5373,5374,5375,5376,5377,5378,5379, // 656\n5380,5381, 363, 642,2787,2878,2788,2789,2316,3232,2317,3434,2011, 165,1942,3930, // 672\n3931,3932,3933,5382,4619,5383,4620,5384,5385,5386,5387,5388,5389,5390,5391,5392, // 688\n5393,5394,5395,5396,5397,5398,5399,5400,5401,5402,5403,5404,5405,5406,5407,5408, // 704\n5409,5410,5411,5412,5413,5414,5415,5416,5417,5418,5419,5420,5421,5422,5423,5424, // 720\n5425,5426,5427,5428,5429,5430,5431,5432,5433,5434,5435,5436,5437,5438,5439,5440, // 736\n5441,5442,5443,5444,5445,5446,5447,5448,5449,5450,5451,5452,5453,5454,5455,5456, // 752\n5457,5458,5459,5460,5461,5462,5463,5464,5465,5466,5467,5468,5469,5470,5471,5472, // 768\n5473,5474,5475,5476,5477,5478,5479,5480,5481,5482,5483,5484,5485,5486,5487,5488, // 784\n5489,5490,5491,5492,5493,5494,5495,5496,5497,5498,5499,5500,5501,5502,5503,5504, // 800\n5505,5506,5507,5508,5509,5510,5511,5512,5513,5514,5515,5516,5517,5518,5519,5520, // 816\n5521,5522,5523,5524,5525,5526,5527,5528,5529,5530,5531,5532,5533,5534,5535,5536, // 832\n5537,5538,5539,5540,5541,5542,5543,5544,5545,5546,5547,5548,5549,5550,5551,5552, // 848\n5553,5554,5555,5556,5557,5558,5559,5560,5561,5562,5563,5564,5565,5566,5567,5568, // 864\n5569,5570,5571,5572,5573,5574,5575,5576,5577,5578,5579,5580,5581,5582,5583,5584, // 880\n5585,5586,5587,5588,5589,5590,5591,5592,5593,5594,5595,5596,5597,5598,5599,5600, // 896\n5601,5602,5603,5604,5605,5606,5607,5608,5609,5610,5611,5612,5613,5614,5615,5616, // 912\n5617,5618,5619,5620,5621,5622,5623,5624,5625,5626,5627,5628,5629,5630,5631,5632, // 928\n5633,5634,5635,5636,5637,5638,5639,5640,5641,5642,5643,5644,5645,5646,5647,5648, // 944\n5649,5650,5651,5652,5653,5654,5655,5656,5657,5658,5659,5660,5661,5662,5663,5664, // 960\n5665,5666,5667,5668,5669,5670,5671,5672,5673,5674,5675,5676,5677,5678,5679,5680, // 976\n5681,5682,5683,5684,5685,5686,5687,5688,5689,5690,5691,5692,5693,5694,5695,5696, // 992\n5697,5698,5699,5700,5701,5702,5703,5704,5705,5706,5707,5708,5709,5710,5711,5712, // 1008\n5713,5714,5715,5716,5717,5718,5719,5720,5721,5722,5723,5724,5725,5726,5727,5728, // 1024\n5729,5730,5731,5732,5733,5734,5735,5736,5737,5738,5739,5740,5741,5742,5743,5744, // 1040\n5745,5746,5747,5748,5749,5750,5751,5752,5753,5754,5755,5756,5757,5758,5759,5760, // 1056\n5761,5762,5763,5764,5765,5766,5767,5768,5769,5770,5771,5772,5773,5774,5775,5776, // 1072\n5777,5778,5779,5780,5781,5782,5783,5784,5785,5786,5787,5788,5789,5790,5791,5792, // 1088\n5793,5794,5795,5796,5797,5798,5799,5800,5801,5802,5803,5804,5805,5806,5807,5808, // 1104\n5809,5810,5811,5812,5813,5814,5815,5816,5817,5818,5819,5820,5821,5822,5823,5824, // 1120\n5825,5826,5827,5828,5829,5830,5831,5832,5833,5834,5835,5836,5837,5838,5839,5840, // 1136\n5841,5842,5843,5844,5845,5846,5847,5848,5849,5850,5851,5852,5853,5854,5855,5856, // 1152\n5857,5858,5859,5860,5861,5862,5863,5864,5865,5866,5867,5868,5869,5870,5871,5872, // 1168\n5873,5874,5875,5876,5877,5878,5879,5880,5881,5882,5883,5884,5885,5886,5887,5888, // 1184\n5889,5890,5891,5892,5893,5894,5895,5896,5897,5898,5899,5900,5901,5902,5903,5904, // 1200\n5905,5906,5907,5908,5909,5910,5911,5912,5913,5914,5915,5916,5917,5918,5919,5920, // 1216\n5921,5922,5923,5924,5925,5926,5927,5928,5929,5930,5931,5932,5933,5934,5935,5936, // 1232\n5937,5938,5939,5940,5941,5942,5943,5944,5945,5946,5947,5948,5949,5950,5951,5952, // 1248\n5953,5954,5955,5956,5957,5958,5959,5960,5961,5962,5963,5964,5965,5966,5967,5968, // 1264\n5969,5970,5971,5972,5973,5974,5975,5976,5977,5978,5979,5980,5981,5982,5983,5984, // 1280\n5985,5986,5987,5988,5989,5990,5991,5992,5993,5994,5995,5996,5997,5998,5999,6000, // 1296\n6001,6002,6003,6004,6005,6006,6007,6008,6009,6010,6011,6012,6013,6014,6015,6016, // 1312\n6017,6018,6019,6020,6021,6022,6023,6024,6025,6026,6027,6028,6029,6030,6031,6032, // 1328\n6033,6034,6035,6036,6037,6038,6039,6040,6041,6042,6043,6044,6045,6046,6047,6048, // 1344\n6049,6050,6051,6052,6053,6054,6055,6056,6057,6058,6059,6060,6061,6062,6063,6064, // 1360\n6065,6066,6067,6068,6069,6070,6071,6072,6073,6074,6075,6076,6077,6078,6079,6080, // 1376\n6081,6082,6083,6084,6085,6086,6087,6088,6089,6090,6091,6092,6093,6094,6095,6096, // 1392\n6097,6098,6099,6100,6101,6102,6103,6104,6105,6106,6107,6108,6109,6110,6111,6112, // 1408\n6113,6114,2044,2060,4621, 997,1235, 473,1186,4622, 920,3378,6115,6116, 379,1108, // 1424\n4313,2657,2735,3934,6117,3809, 636,3233, 573,1026,3693,3435,2974,3300,2298,4105, // 1440\n 854,2937,2463, 393,2581,2417, 539, 752,1280,2750,2480, 140,1161, 440, 708,1569, // 1456\n 665,2497,1746,1291,1523,3000, 164,1603, 847,1331, 537,1997, 486, 508,1693,2418, // 1472\n1970,2227, 878,1220, 299,1030, 969, 652,2751, 624,1137,3301,2619, 65,3302,2045, // 1488\n1761,1859,3120,1930,3694,3516, 663,1767, 852, 835,3695, 269, 767,2826,2339,1305, // 1504\n 896,1150, 770,1616,6118, 506,1502,2075,1012,2519, 775,2520,2975,2340,2938,4314, // 1520\n3028,2086,1224,1943,2286,6119,3072,4315,2240,1273,1987,3935,1557, 175, 597, 985, // 1536\n3517,2419,2521,1416,3029, 585, 938,1931,1007,1052,1932,1685,6120,3379,4316,4623, // 1552\n 804, 599,3121,1333,2128,2539,1159,1554,2032,3810, 687,2033,2904, 952, 675,1467, // 1568\n3436,6121,2241,1096,1786,2440,1543,1924, 980,1813,2228, 781,2692,1879, 728,1918, // 1584\n3696,4624, 548,1950,4625,1809,1088,1356,3303,2522,1944, 502, 972, 373, 513,2827, // 1600\n 586,2377,2391,1003,1976,1631,6122,2464,1084, 648,1776,4626,2141, 324, 962,2012, // 1616\n2177,2076,1384, 742,2178,1448,1173,1810, 222, 102, 301, 445, 125,2420, 662,2498, // 1632\n 277, 200,1476,1165,1068, 224,2562,1378,1446, 450,1880, 659, 791, 582,4627,2939, // 1648\n3936,1516,1274, 555,2099,3697,1020,1389,1526,3380,1762,1723,1787,2229, 412,2114, // 1664\n1900,2392,3518, 512,2597, 427,1925,2341,3122,1653,1686,2465,2499, 697, 330, 273, // 1680\n 380,2162, 951, 832, 780, 991,1301,3073, 965,2270,3519, 668,2523,2636,1286, 535, // 1696\n1407, 518, 671, 957,2658,2378, 267, 611,2197,3030,6123, 248,2299, 967,1799,2356, // 1712\n 850,1418,3437,1876,1256,1480,2828,1718,6124,6125,1755,1664,2405,6126,4628,2879, // 1728\n2829, 499,2179, 676,4629, 557,2329,2214,2090, 325,3234, 464, 811,3001, 992,2342, // 1744\n2481,1232,1469, 303,2242, 466,1070,2163, 603,1777,2091,4630,2752,4631,2714, 322, // 1760\n2659,1964,1768, 481,2188,1463,2330,2857,3600,2092,3031,2421,4632,2318,2070,1849, // 1776\n2598,4633,1302,2254,1668,1701,2422,3811,2905,3032,3123,2046,4106,1763,1694,4634, // 1792\n1604, 943,1724,1454, 917, 868,2215,1169,2940, 552,1145,1800,1228,1823,1955, 316, // 1808\n1080,2510, 361,1807,2830,4107,2660,3381,1346,1423,1134,4108,6127, 541,1263,1229, // 1824\n1148,2540, 545, 465,1833,2880,3438,1901,3074,2482, 816,3937, 713,1788,2500, 122, // 1840\n1575, 195,1451,2501,1111,6128, 859, 374,1225,2243,2483,4317, 390,1033,3439,3075, // 1856\n2524,1687, 266, 793,1440,2599, 946, 779, 802, 507, 897,1081, 528,2189,1292, 711, // 1872\n1866,1725,1167,1640, 753, 398,2661,1053, 246, 348,4318, 137,1024,3440,1600,2077, // 1888\n2129, 825,4319, 698, 238, 521, 187,2300,1157,2423,1641,1605,1464,1610,1097,2541, // 1904\n1260,1436, 759,2255,1814,2150, 705,3235, 409,2563,3304, 561,3033,2005,2564, 726, // 1920\n1956,2343,3698,4109, 949,3812,3813,3520,1669, 653,1379,2525, 881,2198, 632,2256, // 1936\n1027, 778,1074, 733,1957, 514,1481,2466, 554,2180, 702,3938,1606,1017,1398,6129, // 1952\n1380,3521, 921, 993,1313, 594, 449,1489,1617,1166, 768,1426,1360, 495,1794,3601, // 1968\n1177,3602,1170,4320,2344, 476, 425,3167,4635,3168,1424, 401,2662,1171,3382,1998, // 1984\n1089,4110, 477,3169, 474,6130,1909, 596,2831,1842, 494, 693,1051,1028,1207,3076, // 2000\n 606,2115, 727,2790,1473,1115, 743,3522, 630, 805,1532,4321,2021, 366,1057, 838, // 2016\n 684,1114,2142,4322,2050,1492,1892,1808,2271,3814,2424,1971,1447,1373,3305,1090, // 2032\n1536,3939,3523,3306,1455,2199, 336, 369,2331,1035, 584,2393, 902, 718,2600,6131, // 2048\n2753, 463,2151,1149,1611,2467, 715,1308,3124,1268, 343,1413,3236,1517,1347,2663, // 2064\n2093,3940,2022,1131,1553,2100,2941,1427,3441,2942,1323,2484,6132,1980, 872,2368, // 2080\n2441,2943, 320,2369,2116,1082, 679,1933,3941,2791,3815, 625,1143,2023, 422,2200, // 2096\n3816,6133, 730,1695, 356,2257,1626,2301,2858,2637,1627,1778, 937, 883,2906,2693, // 2112\n3002,1769,1086, 400,1063,1325,3307,2792,4111,3077, 456,2345,1046, 747,6134,1524, // 2128\n 884,1094,3383,1474,2164,1059, 974,1688,2181,2258,1047, 345,1665,1187, 358, 875, // 2144\n3170, 305, 660,3524,2190,1334,1135,3171,1540,1649,2542,1527, 927, 968,2793, 885, // 2160\n1972,1850, 482, 500,2638,1218,1109,1085,2543,1654,2034, 876, 78,2287,1482,1277, // 2176\n 861,1675,1083,1779, 724,2754, 454, 397,1132,1612,2332, 893, 672,1237, 257,2259, // 2192\n2370, 135,3384, 337,2244, 547, 352, 340, 709,2485,1400, 788,1138,2511, 540, 772, // 2208\n1682,2260,2272,2544,2013,1843,1902,4636,1999,1562,2288,4637,2201,1403,1533, 407, // 2224\n 576,3308,1254,2071, 978,3385, 170, 136,1201,3125,2664,3172,2394, 213, 912, 873, // 2240\n3603,1713,2202, 699,3604,3699, 813,3442, 493, 531,1054, 468,2907,1483, 304, 281, // 2256\n4112,1726,1252,2094, 339,2319,2130,2639, 756,1563,2944, 748, 571,2976,1588,2425, // 2272\n2715,1851,1460,2426,1528,1392,1973,3237, 288,3309, 685,3386, 296, 892,2716,2216, // 2288\n1570,2245, 722,1747,2217, 905,3238,1103,6135,1893,1441,1965, 251,1805,2371,3700, // 2304\n2601,1919,1078, 75,2182,1509,1592,1270,2640,4638,2152,6136,3310,3817, 524, 706, // 2320\n1075, 292,3818,1756,2602, 317, 98,3173,3605,3525,1844,2218,3819,2502, 814, 567, // 2336\n 385,2908,1534,6137, 534,1642,3239, 797,6138,1670,1529, 953,4323, 188,1071, 538, // 2352\n 178, 729,3240,2109,1226,1374,2000,2357,2977, 731,2468,1116,2014,2051,6139,1261, // 2368\n1593, 803,2859,2736,3443, 556, 682, 823,1541,6140,1369,2289,1706,2794, 845, 462, // 2384\n2603,2665,1361, 387, 162,2358,1740, 739,1770,1720,1304,1401,3241,1049, 627,1571, // 2400\n2427,3526,1877,3942,1852,1500, 431,1910,1503, 677, 297,2795, 286,1433,1038,1198, // 2416\n2290,1133,1596,4113,4639,2469,1510,1484,3943,6141,2442, 108, 712,4640,2372, 866, // 2432\n3701,2755,3242,1348, 834,1945,1408,3527,2395,3243,1811, 824, 994,1179,2110,1548, // 2448\n1453, 790,3003, 690,4324,4325,2832,2909,3820,1860,3821, 225,1748, 310, 346,1780, // 2464\n2470, 821,1993,2717,2796, 828, 877,3528,2860,2471,1702,2165,2910,2486,1789, 453, // 2480\n 359,2291,1676, 73,1164,1461,1127,3311, 421, 604, 314,1037, 589, 116,2487, 737, // 2496\n 837,1180, 111, 244, 735,6142,2261,1861,1362, 986, 523, 418, 581,2666,3822, 103, // 2512\n 855, 503,1414,1867,2488,1091, 657,1597, 979, 605,1316,4641,1021,2443,2078,2001, // 2528\n1209, 96, 587,2166,1032, 260,1072,2153, 173, 94, 226,3244, 819,2006,4642,4114, // 2544\n2203, 231,1744, 782, 97,2667, 786,3387, 887, 391, 442,2219,4326,1425,6143,2694, // 2560\n 633,1544,1202, 483,2015, 592,2052,1958,2472,1655, 419, 129,4327,3444,3312,1714, // 2576\n1257,3078,4328,1518,1098, 865,1310,1019,1885,1512,1734, 469,2444, 148, 773, 436, // 2592\n1815,1868,1128,1055,4329,1245,2756,3445,2154,1934,1039,4643, 579,1238, 932,2320, // 2608\n 353, 205, 801, 115,2428, 944,2321,1881, 399,2565,1211, 678, 766,3944, 335,2101, // 2624\n1459,1781,1402,3945,2737,2131,1010, 844, 981,1326,1013, 550,1816,1545,2620,1335, // 2640\n1008, 371,2881, 936,1419,1613,3529,1456,1395,2273,1834,2604,1317,2738,2503, 416, // 2656\n1643,4330, 806,1126, 229, 591,3946,1314,1981,1576,1837,1666, 347,1790, 977,3313, // 2672\n 764,2861,1853, 688,2429,1920,1462, 77, 595, 415,2002,3034, 798,1192,4115,6144, // 2688\n2978,4331,3035,2695,2582,2072,2566, 430,2430,1727, 842,1396,3947,3702, 613, 377, // 2704\n 278, 236,1417,3388,3314,3174, 757,1869, 107,3530,6145,1194, 623,2262, 207,1253, // 2720\n2167,3446,3948, 492,1117,1935, 536,1838,2757,1246,4332, 696,2095,2406,1393,1572, // 2736\n3175,1782, 583, 190, 253,1390,2230, 830,3126,3389, 934,3245,1703,1749,2979,1870, // 2752\n2545,1656,2204, 869,2346,4116,3176,1817, 496,1764,4644, 942,1504, 404,1903,1122, // 2768\n1580,3606,2945,1022, 515, 372,1735, 955,2431,3036,6146,2797,1110,2302,2798, 617, // 2784\n6147, 441, 762,1771,3447,3607,3608,1904, 840,3037, 86, 939,1385, 572,1370,2445, // 2800\n1336, 114,3703, 898, 294, 203,3315, 703,1583,2274, 429, 961,4333,1854,1951,3390, // 2816\n2373,3704,4334,1318,1381, 966,1911,2322,1006,1155, 309, 989, 458,2718,1795,1372, // 2832\n1203, 252,1689,1363,3177, 517,1936, 168,1490, 562, 193,3823,1042,4117,1835, 551, // 2848\n 470,4645, 395, 489,3448,1871,1465,2583,2641, 417,1493, 279,1295, 511,1236,1119, // 2864\n 72,1231,1982,1812,3004, 871,1564, 984,3449,1667,2696,2096,4646,2347,2833,1673, // 2880\n3609, 695,3246,2668, 807,1183,4647, 890, 388,2333,1801,1457,2911,1765,1477,1031, // 2896\n3316,3317,1278,3391,2799,2292,2526, 163,3450,4335,2669,1404,1802,6148,2323,2407, // 2912\n1584,1728,1494,1824,1269, 298, 909,3318,1034,1632, 375, 776,1683,2061, 291, 210, // 2928\n1123, 809,1249,1002,2642,3038, 206,1011,2132, 144, 975, 882,1565, 342, 667, 754, // 2944\n1442,2143,1299,2303,2062, 447, 626,2205,1221,2739,2912,1144,1214,2206,2584, 760, // 2960\n1715, 614, 950,1281,2670,2621, 810, 577,1287,2546,4648, 242,2168, 250,2643, 691, // 2976\n 123,2644, 647, 313,1029, 689,1357,2946,1650, 216, 771,1339,1306, 808,2063, 549, // 2992\n 913,1371,2913,2914,6149,1466,1092,1174,1196,1311,2605,2396,1783,1796,3079, 406, // 3008\n2671,2117,3949,4649, 487,1825,2220,6150,2915, 448,2348,1073,6151,2397,1707, 130, // 3024\n 900,1598, 329, 176,1959,2527,1620,6152,2275,4336,3319,1983,2191,3705,3610,2155, // 3040\n3706,1912,1513,1614,6153,1988, 646, 392,2304,1589,3320,3039,1826,1239,1352,1340, // 3056\n2916, 505,2567,1709,1437,2408,2547, 906,6154,2672, 384,1458,1594,1100,1329, 710, // 3072\n 423,3531,2064,2231,2622,1989,2673,1087,1882, 333, 841,3005,1296,2882,2379, 580, // 3088\n1937,1827,1293,2585, 601, 574, 249,1772,4118,2079,1120, 645, 901,1176,1690, 795, // 3104\n2207, 478,1434, 516,1190,1530, 761,2080, 930,1264, 355, 435,1552, 644,1791, 987, // 3120\n 220,1364,1163,1121,1538, 306,2169,1327,1222, 546,2645, 218, 241, 610,1704,3321, // 3136\n1984,1839,1966,2528, 451,6155,2586,3707,2568, 907,3178, 254,2947, 186,1845,4650, // 3152\n 745, 432,1757, 428,1633, 888,2246,2221,2489,3611,2118,1258,1265, 956,3127,1784, // 3168\n4337,2490, 319, 510, 119, 457,3612, 274,2035,2007,4651,1409,3128, 970,2758, 590, // 3184\n2800, 661,2247,4652,2008,3950,1420,1549,3080,3322,3951,1651,1375,2111, 485,2491, // 3200\n1429,1156,6156,2548,2183,1495, 831,1840,2529,2446, 501,1657, 307,1894,3247,1341, // 3216\n 666, 899,2156,1539,2549,1559, 886, 349,2208,3081,2305,1736,3824,2170,2759,1014, // 3232\n1913,1386, 542,1397,2948, 490, 368, 716, 362, 159, 282,2569,1129,1658,1288,1750, // 3248\n2674, 276, 649,2016, 751,1496, 658,1818,1284,1862,2209,2087,2512,3451, 622,2834, // 3264\n 376, 117,1060,2053,1208,1721,1101,1443, 247,1250,3179,1792,3952,2760,2398,3953, // 3280\n6157,2144,3708, 446,2432,1151,2570,3452,2447,2761,2835,1210,2448,3082, 424,2222, // 3296\n1251,2449,2119,2836, 504,1581,4338, 602, 817, 857,3825,2349,2306, 357,3826,1470, // 3312\n1883,2883, 255, 958, 929,2917,3248, 302,4653,1050,1271,1751,2307,1952,1430,2697, // 3328\n2719,2359, 354,3180, 777, 158,2036,4339,1659,4340,4654,2308,2949,2248,1146,2232, // 3344\n3532,2720,1696,2623,3827,6158,3129,1550,2698,1485,1297,1428, 637, 931,2721,2145, // 3360\n 914,2550,2587, 81,2450, 612, 827,2646,1242,4655,1118,2884, 472,1855,3181,3533, // 3376\n3534, 569,1353,2699,1244,1758,2588,4119,2009,2762,2171,3709,1312,1531,6159,1152, // 3392\n1938, 134,1830, 471,3710,2276,1112,1535,3323,3453,3535, 982,1337,2950, 488, 826, // 3408\n 674,1058,1628,4120,2017, 522,2399, 211, 568,1367,3454, 350, 293,1872,1139,3249, // 3424\n1399,1946,3006,1300,2360,3324, 588, 736,6160,2606, 744, 669,3536,3828,6161,1358, // 3440\n 199, 723, 848, 933, 851,1939,1505,1514,1338,1618,1831,4656,1634,3613, 443,2740, // 3456\n3829, 717,1947, 491,1914,6162,2551,1542,4121,1025,6163,1099,1223, 198,3040,2722, // 3472\n 370, 410,1905,2589, 998,1248,3182,2380, 519,1449,4122,1710, 947, 928,1153,4341, // 3488\n2277, 344,2624,1511, 615, 105, 161,1212,1076,1960,3130,2054,1926,1175,1906,2473, // 3504\n 414,1873,2801,6164,2309, 315,1319,3325, 318,2018,2146,2157, 963, 631, 223,4342, // 3520\n4343,2675, 479,3711,1197,2625,3712,2676,2361,6165,4344,4123,6166,2451,3183,1886, // 3536\n2184,1674,1330,1711,1635,1506, 799, 219,3250,3083,3954,1677,3713,3326,2081,3614, // 3552\n1652,2073,4657,1147,3041,1752, 643,1961, 147,1974,3955,6167,1716,2037, 918,3007, // 3568\n1994, 120,1537, 118, 609,3184,4345, 740,3455,1219, 332,1615,3830,6168,1621,2980, // 3584\n1582, 783, 212, 553,2350,3714,1349,2433,2082,4124, 889,6169,2310,1275,1410, 973, // 3600\n 166,1320,3456,1797,1215,3185,2885,1846,2590,2763,4658, 629, 822,3008, 763, 940, // 3616\n1990,2862, 439,2409,1566,1240,1622, 926,1282,1907,2764, 654,2210,1607, 327,1130, // 3632\n3956,1678,1623,6170,2434,2192, 686, 608,3831,3715, 903,3957,3042,6171,2741,1522, // 3648\n1915,1105,1555,2552,1359, 323,3251,4346,3457, 738,1354,2553,2311,2334,1828,2003, // 3664\n3832,1753,2351,1227,6172,1887,4125,1478,6173,2410,1874,1712,1847, 520,1204,2607, // 3680\n 264,4659, 836,2677,2102, 600,4660,3833,2278,3084,6174,4347,3615,1342, 640, 532, // 3696\n 543,2608,1888,2400,2591,1009,4348,1497, 341,1737,3616,2723,1394, 529,3252,1321, // 3712\n 983,4661,1515,2120, 971,2592, 924, 287,1662,3186,4349,2700,4350,1519, 908,1948, // 3728\n2452, 156, 796,1629,1486,2223,2055, 694,4126,1259,1036,3392,1213,2249,2742,1889, // 3744\n1230,3958,1015, 910, 408, 559,3617,4662, 746, 725, 935,4663,3959,3009,1289, 563, // 3760\n 867,4664,3960,1567,2981,2038,2626, 988,2263,2381,4351, 143,2374, 704,1895,6175, // 3776\n1188,3716,2088, 673,3085,2362,4352, 484,1608,1921,2765,2918, 215, 904,3618,3537, // 3792\n 894, 509, 976,3043,2701,3961,4353,2837,2982, 498,6176,6177,1102,3538,1332,3393, // 3808\n1487,1636,1637, 233, 245,3962, 383, 650, 995,3044, 460,1520,1206,2352, 749,3327, // 3824\n 530, 700, 389,1438,1560,1773,3963,2264, 719,2951,2724,3834, 870,1832,1644,1000, // 3840\n 839,2474,3717, 197,1630,3394, 365,2886,3964,1285,2133, 734, 922, 818,1106, 732, // 3856\n 480,2083,1774,3458, 923,2279,1350, 221,3086, 85,2233,2234,3835,1585,3010,2147, // 3872\n1387,1705,2382,1619,2475, 133, 239,2802,1991,1016,2084,2383, 411,2838,1113, 651, // 3888\n1985,1160,3328, 990,1863,3087,1048,1276,2647, 265,2627,1599,3253,2056, 150, 638, // 3904\n2019, 656, 853, 326,1479, 680,1439,4354,1001,1759, 413,3459,3395,2492,1431, 459, // 3920\n4355,1125,3329,2265,1953,1450,2065,2863, 849, 351,2678,3131,3254,3255,1104,1577, // 3936\n 227,1351,1645,2453,2193,1421,2887, 812,2121, 634, 95,2435, 201,2312,4665,1646, // 3952\n1671,2743,1601,2554,2702,2648,2280,1315,1366,2089,3132,1573,3718,3965,1729,1189, // 3968\n 328,2679,1077,1940,1136, 558,1283, 964,1195, 621,2074,1199,1743,3460,3619,1896, // 3984\n1916,1890,3836,2952,1154,2112,1064, 862, 378,3011,2066,2113,2803,1568,2839,6178, // 4000\n3088,2919,1941,1660,2004,1992,2194, 142, 707,1590,1708,1624,1922,1023,1836,1233, // 4016\n1004,2313, 789, 741,3620,6179,1609,2411,1200,4127,3719,3720,4666,2057,3721, 593, // 4032\n2840, 367,2920,1878,6180,3461,1521, 628,1168, 692,2211,2649, 300, 720,2067,2571, // 4048\n2953,3396, 959,2504,3966,3539,3462,1977, 701,6181, 954,1043, 800, 681, 183,3722, // 4064\n1803,1730,3540,4128,2103, 815,2314, 174, 467, 230,2454,1093,2134, 755,3541,3397, // 4080\n1141,1162,6182,1738,2039, 270,3256,2513,1005,1647,2185,3837, 858,1679,1897,1719, // 4096\n2954,2324,1806, 402, 670, 167,4129,1498,2158,2104, 750,6183, 915, 189,1680,1551, // 4112\n 455,4356,1501,2455, 405,1095,2955, 338,1586,1266,1819, 570, 641,1324, 237,1556, // 4128\n2650,1388,3723,6184,1368,2384,1343,1978,3089,2436, 879,3724, 792,1191, 758,3012, // 4144\n1411,2135,1322,4357, 240,4667,1848,3725,1574,6185, 420,3045,1546,1391, 714,4358, // 4160\n1967, 941,1864, 863, 664, 426, 560,1731,2680,1785,2864,1949,2363, 403,3330,1415, // 4176\n1279,2136,1697,2335, 204, 721,2097,3838, 90,6186,2085,2505, 191,3967, 124,2148, // 4192\n1376,1798,1178,1107,1898,1405, 860,4359,1243,1272,2375,2983,1558,2456,1638, 113, // 4208\n3621, 578,1923,2609, 880, 386,4130, 784,2186,2266,1422,2956,2172,1722, 497, 263, // 4224\n2514,1267,2412,2610, 177,2703,3542, 774,1927,1344, 616,1432,1595,1018, 172,4360, // 4240\n2325, 911,4361, 438,1468,3622, 794,3968,2024,2173,1681,1829,2957, 945, 895,3090, // 4256\n 575,2212,2476, 475,2401,2681, 785,2744,1745,2293,2555,1975,3133,2865, 394,4668, // 4272\n3839, 635,4131, 639, 202,1507,2195,2766,1345,1435,2572,3726,1908,1184,1181,2457, // 4288\n3727,3134,4362, 843,2611, 437, 916,4669, 234, 769,1884,3046,3047,3623, 833,6187, // 4304\n1639,2250,2402,1355,1185,2010,2047, 999, 525,1732,1290,1488,2612, 948,1578,3728, // 4320\n2413,2477,1216,2725,2159, 334,3840,1328,3624,2921,1525,4132, 564,1056, 891,4363, // 4336\n1444,1698,2385,2251,3729,1365,2281,2235,1717,6188, 864,3841,2515, 444, 527,2767, // 4352\n2922,3625, 544, 461,6189, 566, 209,2437,3398,2098,1065,2068,3331,3626,3257,2137, // 4368 //last 512\n//Everything below is of no interest for detection purpose\n2138,2122,3730,2888,1995,1820,1044,6190,6191,6192,6193,6194,6195,6196,6197,6198, // 4384\n6199,6200,6201,6202,6203,6204,6205,4670,6206,6207,6208,6209,6210,6211,6212,6213, // 4400\n6214,6215,6216,6217,6218,6219,6220,6221,6222,6223,6224,6225,6226,6227,6228,6229, // 4416\n6230,6231,6232,6233,6234,6235,6236,6237,3187,6238,6239,3969,6240,6241,6242,6243, // 4432\n6244,4671,6245,6246,4672,6247,6248,4133,6249,6250,4364,6251,2923,2556,2613,4673, // 4448\n4365,3970,6252,6253,6254,6255,4674,6256,6257,6258,2768,2353,4366,4675,4676,3188, // 4464\n4367,3463,6259,4134,4677,4678,6260,2267,6261,3842,3332,4368,3543,6262,6263,6264, // 4480\n3013,1954,1928,4135,4679,6265,6266,2478,3091,6267,4680,4369,6268,6269,1699,6270, // 4496\n3544,4136,4681,6271,4137,6272,4370,2804,6273,6274,2593,3971,3972,4682,6275,2236, // 4512\n4683,6276,6277,4684,6278,6279,4138,3973,4685,6280,6281,3258,6282,6283,6284,6285, // 4528\n3974,4686,2841,3975,6286,6287,3545,6288,6289,4139,4687,4140,6290,4141,6291,4142, // 4544\n6292,6293,3333,6294,6295,6296,4371,6297,3399,6298,6299,4372,3976,6300,6301,6302, // 4560\n4373,6303,6304,3843,3731,6305,4688,4374,6306,6307,3259,2294,6308,3732,2530,4143, // 4576\n6309,4689,6310,6311,6312,3048,6313,6314,4690,3733,2237,6315,6316,2282,3334,6317, // 4592\n6318,3844,6319,6320,4691,6321,3400,4692,6322,4693,6323,3049,6324,4375,6325,3977, // 4608\n6326,6327,6328,3546,6329,4694,3335,6330,4695,4696,6331,6332,6333,6334,4376,3978, // 4624\n6335,4697,3979,4144,6336,3980,4698,6337,6338,6339,6340,6341,4699,4700,4701,6342, // 4640\n6343,4702,6344,6345,4703,6346,6347,4704,6348,4705,4706,3135,6349,4707,6350,4708, // 4656\n6351,4377,6352,4709,3734,4145,6353,2506,4710,3189,6354,3050,4711,3981,6355,3547, // 4672\n3014,4146,4378,3735,2651,3845,3260,3136,2224,1986,6356,3401,6357,4712,2594,3627, // 4688\n3137,2573,3736,3982,4713,3628,4714,4715,2682,3629,4716,6358,3630,4379,3631,6359, // 4704\n6360,6361,3983,6362,6363,6364,6365,4147,3846,4717,6366,6367,3737,2842,6368,4718, // 4720\n2628,6369,3261,6370,2386,6371,6372,3738,3984,4719,3464,4720,3402,6373,2924,3336, // 4736\n4148,2866,6374,2805,3262,4380,2704,2069,2531,3138,2806,2984,6375,2769,6376,4721, // 4752\n4722,3403,6377,6378,3548,6379,6380,2705,3092,1979,4149,2629,3337,2889,6381,3338, // 4768\n4150,2557,3339,4381,6382,3190,3263,3739,6383,4151,4723,4152,2558,2574,3404,3191, // 4784\n6384,6385,4153,6386,4724,4382,6387,6388,4383,6389,6390,4154,6391,4725,3985,6392, // 4800\n3847,4155,6393,6394,6395,6396,6397,3465,6398,4384,6399,6400,6401,6402,6403,6404, // 4816\n4156,6405,6406,6407,6408,2123,6409,6410,2326,3192,4726,6411,6412,6413,6414,4385, // 4832\n4157,6415,6416,4158,6417,3093,3848,6418,3986,6419,6420,3849,6421,6422,6423,4159, // 4848\n6424,6425,4160,6426,3740,6427,6428,6429,6430,3987,6431,4727,6432,2238,6433,6434, // 4864\n4386,3988,6435,6436,3632,6437,6438,2843,6439,6440,6441,6442,3633,6443,2958,6444, // 4880\n6445,3466,6446,2364,4387,3850,6447,4388,2959,3340,6448,3851,6449,4728,6450,6451, // 4896\n3264,4729,6452,3193,6453,4389,4390,2706,3341,4730,6454,3139,6455,3194,6456,3051, // 4912\n2124,3852,1602,4391,4161,3853,1158,3854,4162,3989,4392,3990,4731,4732,4393,2040, // 4928\n4163,4394,3265,6457,2807,3467,3855,6458,6459,6460,3991,3468,4733,4734,6461,3140, // 4944\n2960,6462,4735,6463,6464,6465,6466,4736,4737,4738,4739,6467,6468,4164,2403,3856, // 4960\n6469,6470,2770,2844,6471,4740,6472,6473,6474,6475,6476,6477,6478,3195,6479,4741, // 4976\n4395,6480,2867,6481,4742,2808,6482,2493,4165,6483,6484,6485,6486,2295,4743,6487, // 4992\n6488,6489,3634,6490,6491,6492,6493,6494,6495,6496,2985,4744,6497,6498,4745,6499, // 5008\n6500,2925,3141,4166,6501,6502,4746,6503,6504,4747,6505,6506,6507,2890,6508,6509, // 5024\n6510,6511,6512,6513,6514,6515,6516,6517,6518,6519,3469,4167,6520,6521,6522,4748, // 5040\n4396,3741,4397,4749,4398,3342,2125,4750,6523,4751,4752,4753,3052,6524,2961,4168, // 5056\n6525,4754,6526,4755,4399,2926,4169,6527,3857,6528,4400,4170,6529,4171,6530,6531, // 5072\n2595,6532,6533,6534,6535,3635,6536,6537,6538,6539,6540,6541,6542,4756,6543,6544, // 5088\n6545,6546,6547,6548,4401,6549,6550,6551,6552,4402,3405,4757,4403,6553,6554,6555, // 5104\n4172,3742,6556,6557,6558,3992,3636,6559,6560,3053,2726,6561,3549,4173,3054,4404, // 5120\n6562,6563,3993,4405,3266,3550,2809,4406,6564,6565,6566,4758,4759,6567,3743,6568, // 5136\n4760,3744,4761,3470,6569,6570,6571,4407,6572,3745,4174,6573,4175,2810,4176,3196, // 5152\n4762,6574,4177,6575,6576,2494,2891,3551,6577,6578,3471,6579,4408,6580,3015,3197, // 5168\n6581,3343,2532,3994,3858,6582,3094,3406,4409,6583,2892,4178,4763,4410,3016,4411, // 5184\n6584,3995,3142,3017,2683,6585,4179,6586,6587,4764,4412,6588,6589,4413,6590,2986, // 5200\n6591,2962,3552,6592,2963,3472,6593,6594,4180,4765,6595,6596,2225,3267,4414,6597, // 5216\n3407,3637,4766,6598,6599,3198,6600,4415,6601,3859,3199,6602,3473,4767,2811,4416, // 5232\n1856,3268,3200,2575,3996,3997,3201,4417,6603,3095,2927,6604,3143,6605,2268,6606, // 5248\n3998,3860,3096,2771,6607,6608,3638,2495,4768,6609,3861,6610,3269,2745,4769,4181, // 5264\n3553,6611,2845,3270,6612,6613,6614,3862,6615,6616,4770,4771,6617,3474,3999,4418, // 5280\n4419,6618,3639,3344,6619,4772,4182,6620,2126,6621,6622,6623,4420,4773,6624,3018, // 5296\n6625,4774,3554,6626,4183,2025,3746,6627,4184,2707,6628,4421,4422,3097,1775,4185, // 5312\n3555,6629,6630,2868,6631,6632,4423,6633,6634,4424,2414,2533,2928,6635,4186,2387, // 5328\n6636,4775,6637,4187,6638,1891,4425,3202,3203,6639,6640,4776,6641,3345,6642,6643, // 5344\n3640,6644,3475,3346,3641,4000,6645,3144,6646,3098,2812,4188,3642,3204,6647,3863, // 5360\n3476,6648,3864,6649,4426,4001,6650,6651,6652,2576,6653,4189,4777,6654,6655,6656, // 5376\n2846,6657,3477,3205,4002,6658,4003,6659,3347,2252,6660,6661,6662,4778,6663,6664, // 5392\n6665,6666,6667,6668,6669,4779,4780,2048,6670,3478,3099,6671,3556,3747,4004,6672, // 5408\n6673,6674,3145,4005,3748,6675,6676,6677,6678,6679,3408,6680,6681,6682,6683,3206, // 5424\n3207,6684,6685,4781,4427,6686,4782,4783,4784,6687,6688,6689,4190,6690,6691,3479, // 5440\n6692,2746,6693,4428,6694,6695,6696,6697,6698,6699,4785,6700,6701,3208,2727,6702, // 5456\n3146,6703,6704,3409,2196,6705,4429,6706,6707,6708,2534,1996,6709,6710,6711,2747, // 5472\n6712,6713,6714,4786,3643,6715,4430,4431,6716,3557,6717,4432,4433,6718,6719,6720, // 5488\n6721,3749,6722,4006,4787,6723,6724,3644,4788,4434,6725,6726,4789,2772,6727,6728, // 5504\n6729,6730,6731,2708,3865,2813,4435,6732,6733,4790,4791,3480,6734,6735,6736,6737, // 5520\n4436,3348,6738,3410,4007,6739,6740,4008,6741,6742,4792,3411,4191,6743,6744,6745, // 5536\n6746,6747,3866,6748,3750,6749,6750,6751,6752,6753,6754,6755,3867,6756,4009,6757, // 5552\n4793,4794,6758,2814,2987,6759,6760,6761,4437,6762,6763,6764,6765,3645,6766,6767, // 5568\n3481,4192,6768,3751,6769,6770,2174,6771,3868,3752,6772,6773,6774,4193,4795,4438, // 5584\n3558,4796,4439,6775,4797,6776,6777,4798,6778,4799,3559,4800,6779,6780,6781,3482, // 5600\n6782,2893,6783,6784,4194,4801,4010,6785,6786,4440,6787,4011,6788,6789,6790,6791, // 5616\n6792,6793,4802,6794,6795,6796,4012,6797,6798,6799,6800,3349,4803,3483,6801,4804, // 5632\n4195,6802,4013,6803,6804,4196,6805,4014,4015,6806,2847,3271,2848,6807,3484,6808, // 5648\n6809,6810,4441,6811,4442,4197,4443,3272,4805,6812,3412,4016,1579,6813,6814,4017, // 5664\n6815,3869,6816,2964,6817,4806,6818,6819,4018,3646,6820,6821,4807,4019,4020,6822, // 5680\n6823,3560,6824,6825,4021,4444,6826,4198,6827,6828,4445,6829,6830,4199,4808,6831, // 5696\n6832,6833,3870,3019,2458,6834,3753,3413,3350,6835,4809,3871,4810,3561,4446,6836, // 5712\n6837,4447,4811,4812,6838,2459,4448,6839,4449,6840,6841,4022,3872,6842,4813,4814, // 5728\n6843,6844,4815,4200,4201,4202,6845,4023,6846,6847,4450,3562,3873,6848,6849,4816, // 5744\n4817,6850,4451,4818,2139,6851,3563,6852,6853,3351,6854,6855,3352,4024,2709,3414, // 5760\n4203,4452,6856,4204,6857,6858,3874,3875,6859,6860,4819,6861,6862,6863,6864,4453, // 5776\n3647,6865,6866,4820,6867,6868,6869,6870,4454,6871,2869,6872,6873,4821,6874,3754, // 5792\n6875,4822,4205,6876,6877,6878,3648,4206,4455,6879,4823,6880,4824,3876,6881,3055, // 5808\n4207,6882,3415,6883,6884,6885,4208,4209,6886,4210,3353,6887,3354,3564,3209,3485, // 5824\n2652,6888,2728,6889,3210,3755,6890,4025,4456,6891,4825,6892,6893,6894,6895,4211, // 5840\n6896,6897,6898,4826,6899,6900,4212,6901,4827,6902,2773,3565,6903,4828,6904,6905, // 5856\n6906,6907,3649,3650,6908,2849,3566,6909,3567,3100,6910,6911,6912,6913,6914,6915, // 5872\n4026,6916,3355,4829,3056,4457,3756,6917,3651,6918,4213,3652,2870,6919,4458,6920, // 5888\n2438,6921,6922,3757,2774,4830,6923,3356,4831,4832,6924,4833,4459,3653,2507,6925, // 5904\n4834,2535,6926,6927,3273,4027,3147,6928,3568,6929,6930,6931,4460,6932,3877,4461, // 5920\n2729,3654,6933,6934,6935,6936,2175,4835,2630,4214,4028,4462,4836,4215,6937,3148, // 5936\n4216,4463,4837,4838,4217,6938,6939,2850,4839,6940,4464,6941,6942,6943,4840,6944, // 5952\n4218,3274,4465,6945,6946,2710,6947,4841,4466,6948,6949,2894,6950,6951,4842,6952, // 5968\n4219,3057,2871,6953,6954,6955,6956,4467,6957,2711,6958,6959,6960,3275,3101,4843, // 5984\n6961,3357,3569,6962,4844,6963,6964,4468,4845,3570,6965,3102,4846,3758,6966,4847, // 6000\n3878,4848,4849,4029,6967,2929,3879,4850,4851,6968,6969,1733,6970,4220,6971,6972, // 6016\n6973,6974,6975,6976,4852,6977,6978,6979,6980,6981,6982,3759,6983,6984,6985,3486, // 6032\n3487,6986,3488,3416,6987,6988,6989,6990,6991,6992,6993,6994,6995,6996,6997,4853, // 6048\n6998,6999,4030,7000,7001,3211,7002,7003,4221,7004,7005,3571,4031,7006,3572,7007, // 6064\n2614,4854,2577,7008,7009,2965,3655,3656,4855,2775,3489,3880,4222,4856,3881,4032, // 6080\n3882,3657,2730,3490,4857,7010,3149,7011,4469,4858,2496,3491,4859,2283,7012,7013, // 6096\n7014,2365,4860,4470,7015,7016,3760,7017,7018,4223,1917,7019,7020,7021,4471,7022, // 6112\n2776,4472,7023,7024,7025,7026,4033,7027,3573,4224,4861,4034,4862,7028,7029,1929, // 6128\n3883,4035,7030,4473,3058,7031,2536,3761,3884,7032,4036,7033,2966,2895,1968,4474, // 6144\n3276,4225,3417,3492,4226,2105,7034,7035,1754,2596,3762,4227,4863,4475,3763,4864, // 6160\n3764,2615,2777,3103,3765,3658,3418,4865,2296,3766,2815,7036,7037,7038,3574,2872, // 6176\n3277,4476,7039,4037,4477,7040,7041,4038,7042,7043,7044,7045,7046,7047,2537,7048, // 6192\n7049,7050,7051,7052,7053,7054,4478,7055,7056,3767,3659,4228,3575,7057,7058,4229, // 6208\n7059,7060,7061,3660,7062,3212,7063,3885,4039,2460,7064,7065,7066,7067,7068,7069, // 6224\n7070,7071,7072,7073,7074,4866,3768,4867,7075,7076,7077,7078,4868,3358,3278,2653, // 6240\n7079,7080,4479,3886,7081,7082,4869,7083,7084,7085,7086,7087,7088,2538,7089,7090, // 6256\n7091,4040,3150,3769,4870,4041,2896,3359,4230,2930,7092,3279,7093,2967,4480,3213, // 6272\n4481,3661,7094,7095,7096,7097,7098,7099,7100,7101,7102,2461,3770,7103,7104,4231, // 6288\n3151,7105,7106,7107,4042,3662,7108,7109,4871,3663,4872,4043,3059,7110,7111,7112, // 6304\n3493,2988,7113,4873,7114,7115,7116,3771,4874,7117,7118,4232,4875,7119,3576,2336, // 6320\n4876,7120,4233,3419,4044,4877,4878,4482,4483,4879,4484,4234,7121,3772,4880,1045, // 6336\n3280,3664,4881,4882,7122,7123,7124,7125,4883,7126,2778,7127,4485,4486,7128,4884, // 6352\n3214,3887,7129,7130,3215,7131,4885,4045,7132,7133,4046,7134,7135,7136,7137,7138, // 6368\n7139,7140,7141,7142,7143,4235,7144,4886,7145,7146,7147,4887,7148,7149,7150,4487, // 6384\n4047,4488,7151,7152,4888,4048,2989,3888,7153,3665,7154,4049,7155,7156,7157,7158, // 6400\n7159,7160,2931,4889,4890,4489,7161,2631,3889,4236,2779,7162,7163,4891,7164,3060, // 6416\n7165,1672,4892,7166,4893,4237,3281,4894,7167,7168,3666,7169,3494,7170,7171,4050, // 6432\n7172,7173,3104,3360,3420,4490,4051,2684,4052,7174,4053,7175,7176,7177,2253,4054, // 6448\n7178,7179,4895,7180,3152,3890,3153,4491,3216,7181,7182,7183,2968,4238,4492,4055, // 6464\n7184,2990,7185,2479,7186,7187,4493,7188,7189,7190,7191,7192,4896,7193,4897,2969, // 6480\n4494,4898,7194,3495,7195,7196,4899,4495,7197,3105,2731,7198,4900,7199,7200,7201, // 6496\n4056,7202,3361,7203,7204,4496,4901,4902,7205,4497,7206,7207,2315,4903,7208,4904, // 6512\n7209,4905,2851,7210,7211,3577,7212,3578,4906,7213,4057,3667,4907,7214,4058,2354, // 6528\n3891,2376,3217,3773,7215,7216,7217,7218,7219,4498,7220,4908,3282,2685,7221,3496, // 6544\n4909,2632,3154,4910,7222,2337,7223,4911,7224,7225,7226,4912,4913,3283,4239,4499, // 6560\n7227,2816,7228,7229,7230,7231,7232,7233,7234,4914,4500,4501,7235,7236,7237,2686, // 6576\n7238,4915,7239,2897,4502,7240,4503,7241,2516,7242,4504,3362,3218,7243,7244,7245, // 6592\n4916,7246,7247,4505,3363,7248,7249,7250,7251,3774,4506,7252,7253,4917,7254,7255, // 6608\n3284,2991,4918,4919,3219,3892,4920,3106,3497,4921,7256,7257,7258,4922,7259,4923, // 6624\n3364,4507,4508,4059,7260,4240,3498,7261,7262,4924,7263,2992,3893,4060,3220,7264, // 6640\n7265,7266,7267,7268,7269,4509,3775,7270,2817,7271,4061,4925,4510,3776,7272,4241, // 6656\n4511,3285,7273,7274,3499,7275,7276,7277,4062,4512,4926,7278,3107,3894,7279,7280, // 6672\n4927,7281,4513,7282,7283,3668,7284,7285,4242,4514,4243,7286,2058,4515,4928,4929, // 6688\n4516,7287,3286,4244,7288,4517,7289,7290,7291,3669,7292,7293,4930,4931,4932,2355, // 6704\n4933,7294,2633,4518,7295,4245,7296,7297,4519,7298,7299,4520,4521,4934,7300,4246, // 6720\n4522,7301,7302,7303,3579,7304,4247,4935,7305,4936,7306,7307,7308,7309,3777,7310, // 6736\n4523,7311,7312,7313,4248,3580,7314,4524,3778,4249,7315,3581,7316,3287,7317,3221, // 6752\n7318,4937,7319,7320,7321,7322,7323,7324,4938,4939,7325,4525,7326,7327,7328,4063, // 6768\n7329,7330,4940,7331,7332,4941,7333,4526,7334,3500,2780,1741,4942,2026,1742,7335, // 6784\n7336,3582,4527,2388,7337,7338,7339,4528,7340,4250,4943,7341,7342,7343,4944,7344, // 6800\n7345,7346,3020,7347,4945,7348,7349,7350,7351,3895,7352,3896,4064,3897,7353,7354, // 6816\n7355,4251,7356,7357,3898,7358,3779,7359,3780,3288,7360,7361,4529,7362,4946,4530, // 6832\n2027,7363,3899,4531,4947,3222,3583,7364,4948,7365,7366,7367,7368,4949,3501,4950, // 6848\n3781,4951,4532,7369,2517,4952,4252,4953,3155,7370,4954,4955,4253,2518,4533,7371, // 6864\n7372,2712,4254,7373,7374,7375,3670,4956,3671,7376,2389,3502,4065,7377,2338,7378, // 6880\n7379,7380,7381,3061,7382,4957,7383,7384,7385,7386,4958,4534,7387,7388,2993,7389, // 6896\n3062,7390,4959,7391,7392,7393,4960,3108,4961,7394,4535,7395,4962,3421,4536,7396, // 6912\n4963,7397,4964,1857,7398,4965,7399,7400,2176,3584,4966,7401,7402,3422,4537,3900, // 6928\n3585,7403,3782,7404,2852,7405,7406,7407,4538,3783,2654,3423,4967,4539,7408,3784, // 6944\n3586,2853,4540,4541,7409,3901,7410,3902,7411,7412,3785,3109,2327,3903,7413,7414, // 6960\n2970,4066,2932,7415,7416,7417,3904,3672,3424,7418,4542,4543,4544,7419,4968,7420, // 6976\n7421,4255,7422,7423,7424,7425,7426,4067,7427,3673,3365,4545,7428,3110,2559,3674, // 6992\n7429,7430,3156,7431,7432,3503,7433,3425,4546,7434,3063,2873,7435,3223,4969,4547, // 7008\n4548,2898,4256,4068,7436,4069,3587,3786,2933,3787,4257,4970,4971,3788,7437,4972, // 7024\n3064,7438,4549,7439,7440,7441,7442,7443,4973,3905,7444,2874,7445,7446,7447,7448, // 7040\n3021,7449,4550,3906,3588,4974,7450,7451,3789,3675,7452,2578,7453,4070,7454,7455, // 7056\n7456,4258,3676,7457,4975,7458,4976,4259,3790,3504,2634,4977,3677,4551,4260,7459, // 7072\n7460,7461,7462,3907,4261,4978,7463,7464,7465,7466,4979,4980,7467,7468,2213,4262, // 7088\n7469,7470,7471,3678,4981,7472,2439,7473,4263,3224,3289,7474,3908,2415,4982,7475, // 7104\n4264,7476,4983,2655,7477,7478,2732,4552,2854,2875,7479,7480,4265,7481,4553,4984, // 7120\n7482,7483,4266,7484,3679,3366,3680,2818,2781,2782,3367,3589,4554,3065,7485,4071, // 7136\n2899,7486,7487,3157,2462,4072,4555,4073,4985,4986,3111,4267,2687,3368,4556,4074, // 7152\n3791,4268,7488,3909,2783,7489,2656,1962,3158,4557,4987,1963,3159,3160,7490,3112, // 7168\n4988,4989,3022,4990,4991,3792,2855,7491,7492,2971,4558,7493,7494,4992,7495,7496, // 7184\n7497,7498,4993,7499,3426,4559,4994,7500,3681,4560,4269,4270,3910,7501,4075,4995, // 7200\n4271,7502,7503,4076,7504,4996,7505,3225,4997,4272,4077,2819,3023,7506,7507,2733, // 7216\n4561,7508,4562,7509,3369,3793,7510,3590,2508,7511,7512,4273,3113,2994,2616,7513, // 7232\n7514,7515,7516,7517,7518,2820,3911,4078,2748,7519,7520,4563,4998,7521,7522,7523, // 7248\n7524,4999,4274,7525,4564,3682,2239,4079,4565,7526,7527,7528,7529,5000,7530,7531, // 7264\n5001,4275,3794,7532,7533,7534,3066,5002,4566,3161,7535,7536,4080,7537,3162,7538, // 7280\n7539,4567,7540,7541,7542,7543,7544,7545,5003,7546,4568,7547,7548,7549,7550,7551, // 7296\n7552,7553,7554,7555,7556,5004,7557,7558,7559,5005,7560,3795,7561,4569,7562,7563, // 7312\n7564,2821,3796,4276,4277,4081,7565,2876,7566,5006,7567,7568,2900,7569,3797,3912, // 7328\n7570,7571,7572,4278,7573,7574,7575,5007,7576,7577,5008,7578,7579,4279,2934,7580, // 7344\n7581,5009,7582,4570,7583,4280,7584,7585,7586,4571,4572,3913,7587,4573,3505,7588, // 7360\n5010,7589,7590,7591,7592,3798,4574,7593,7594,5011,7595,4281,7596,7597,7598,4282, // 7376\n5012,7599,7600,5013,3163,7601,5014,7602,3914,7603,7604,2734,4575,4576,4577,7605, // 7392\n7606,7607,7608,7609,3506,5015,4578,7610,4082,7611,2822,2901,2579,3683,3024,4579, // 7408\n3507,7612,4580,7613,3226,3799,5016,7614,7615,7616,7617,7618,7619,7620,2995,3290, // 7424\n7621,4083,7622,5017,7623,7624,7625,7626,7627,4581,3915,7628,3291,7629,5018,7630, // 7440\n7631,7632,7633,4084,7634,7635,3427,3800,7636,7637,4582,7638,5019,4583,5020,7639, // 7456\n3916,7640,3801,5021,4584,4283,7641,7642,3428,3591,2269,7643,2617,7644,4585,3592, // 7472\n7645,4586,2902,7646,7647,3227,5022,7648,4587,7649,4284,7650,7651,7652,4588,2284, // 7488\n7653,5023,7654,7655,7656,4589,5024,3802,7657,7658,5025,3508,4590,7659,7660,7661, // 7504\n1969,5026,7662,7663,3684,1821,2688,7664,2028,2509,4285,7665,2823,1841,7666,2689, // 7520\n3114,7667,3917,4085,2160,5027,5028,2972,7668,5029,7669,7670,7671,3593,4086,7672, // 7536\n4591,4087,5030,3803,7673,7674,7675,7676,7677,7678,7679,4286,2366,4592,4593,3067, // 7552\n2328,7680,7681,4594,3594,3918,2029,4287,7682,5031,3919,3370,4288,4595,2856,7683, // 7568\n3509,7684,7685,5032,5033,7686,7687,3804,2784,7688,7689,7690,7691,3371,7692,7693, // 7584\n2877,5034,7694,7695,3920,4289,4088,7696,7697,7698,5035,7699,5036,4290,5037,5038, // 7600\n5039,7700,7701,7702,5040,5041,3228,7703,1760,7704,5042,3229,4596,2106,4089,7705, // 7616\n4597,2824,5043,2107,3372,7706,4291,4090,5044,7707,4091,7708,5045,3025,3805,4598, // 7632\n4292,4293,4294,3373,7709,4599,7710,5046,7711,7712,5047,5048,3806,7713,7714,7715, // 7648\n5049,7716,7717,7718,7719,4600,5050,7720,7721,7722,5051,7723,4295,3429,7724,7725, // 7664\n7726,7727,3921,7728,3292,5052,4092,7729,7730,7731,7732,7733,7734,7735,5053,5054, // 7680\n7736,7737,7738,7739,3922,3685,7740,7741,7742,7743,2635,5055,7744,5056,4601,7745, // 7696\n7746,2560,7747,7748,7749,7750,3923,7751,7752,7753,7754,7755,4296,2903,7756,7757, // 7712\n7758,7759,7760,3924,7761,5057,4297,7762,7763,5058,4298,7764,4093,7765,7766,5059, // 7728\n3925,7767,7768,7769,7770,7771,7772,7773,7774,7775,7776,3595,7777,4299,5060,4094, // 7744\n7778,3293,5061,7779,7780,4300,7781,7782,4602,7783,3596,7784,7785,3430,2367,7786, // 7760\n3164,5062,5063,4301,7787,7788,4095,5064,5065,7789,3374,3115,7790,7791,7792,7793, // 7776\n7794,7795,7796,3597,4603,7797,7798,3686,3116,3807,5066,7799,7800,5067,7801,7802, // 7792\n4604,4302,5068,4303,4096,7803,7804,3294,7805,7806,5069,4605,2690,7807,3026,7808, // 7808\n7809,7810,7811,7812,7813,7814,7815,7816,7817,7818,7819,7820,7821,7822,7823,7824, // 7824\n7825,7826,7827,7828,7829,7830,7831,7832,7833,7834,7835,7836,7837,7838,7839,7840, // 7840\n7841,7842,7843,7844,7845,7846,7847,7848,7849,7850,7851,7852,7853,7854,7855,7856, // 7856\n7857,7858,7859,7860,7861,7862,7863,7864,7865,7866,7867,7868,7869,7870,7871,7872, // 7872\n7873,7874,7875,7876,7877,7878,7879,7880,7881,7882,7883,7884,7885,7886,7887,7888, // 7888\n7889,7890,7891,7892,7893,7894,7895,7896,7897,7898,7899,7900,7901,7902,7903,7904, // 7904\n7905,7906,7907,7908,7909,7910,7911,7912,7913,7914,7915,7916,7917,7918,7919,7920, // 7920\n7921,7922,7923,7924,3926,7925,7926,7927,7928,7929,7930,7931,7932,7933,7934,7935, // 7936\n7936,7937,7938,7939,7940,7941,7942,7943,7944,7945,7946,7947,7948,7949,7950,7951, // 7952\n7952,7953,7954,7955,7956,7957,7958,7959,7960,7961,7962,7963,7964,7965,7966,7967, // 7968\n7968,7969,7970,7971,7972,7973,7974,7975,7976,7977,7978,7979,7980,7981,7982,7983, // 7984\n7984,7985,7986,7987,7988,7989,7990,7991,7992,7993,7994,7995,7996,7997,7998,7999, // 8000\n8000,8001,8002,8003,8004,8005,8006,8007,8008,8009,8010,8011,8012,8013,8014,8015, // 8016\n8016,8017,8018,8019,8020,8021,8022,8023,8024,8025,8026,8027,8028,8029,8030,8031, // 8032\n8032,8033,8034,8035,8036,8037,8038,8039,8040,8041,8042,8043,8044,8045,8046,8047, // 8048\n8048,8049,8050,8051,8052,8053,8054,8055,8056,8057,8058,8059,8060,8061,8062,8063, // 8064\n8064,8065,8066,8067,8068,8069,8070,8071,8072,8073,8074,8075,8076,8077,8078,8079, // 8080\n8080,8081,8082,8083,8084,8085,8086,8087,8088,8089,8090,8091,8092,8093,8094,8095, // 8096\n8096,8097,8098,8099,8100,8101,8102,8103,8104,8105,8106,8107,8108,8109,8110,8111, // 8112\n8112,8113,8114,8115,8116,8117,8118,8119,8120,8121,8122,8123,8124,8125,8126,8127, // 8128\n8128,8129,8130,8131,8132,8133,8134,8135,8136,8137,8138,8139,8140,8141,8142,8143, // 8144\n8144,8145,8146,8147,8148,8149,8150,8151,8152,8153,8154,8155,8156,8157,8158,8159, // 8160\n8160,8161,8162,8163,8164,8165,8166,8167,8168,8169,8170,8171,8172,8173,8174,8175, // 8176\n8176,8177,8178,8179,8180,8181,8182,8183,8184,8185,8186,8187,8188,8189,8190,8191, // 8192\n8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8203,8204,8205,8206,8207, // 8208\n8208,8209,8210,8211,8212,8213,8214,8215,8216,8217,8218,8219,8220,8221,8222,8223, // 8224\n8224,8225,8226,8227,8228,8229,8230,8231,8232,8233,8234,8235,8236,8237,8238,8239, // 8240\n8240,8241,8242,8243,8244,8245,8246,8247,8248,8249,8250,8251,8252,8253,8254,8255, // 8256\n8256,8257,8258,8259,8260,8261,8262,8263,8264,8265,8266,8267,8268,8269,8270,8271 // 8272\n];\n\n}(__webpack_require__(/*! ./init */ \"./node_modules/jschardet/src/init.js\"));\n\n\n//# sourceURL=webpack:///./node_modules/jschardet/src/jisfreq.js?"); - -/***/ }), - -/***/ "./node_modules/jschardet/src/jpcntx.js": -/*!**********************************************!*\ - !*** ./node_modules/jschardet/src/jpcntx.js ***! - \**********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/*\n * The Original Code is Mozilla Universal charset detector code.\n *\n * The Initial Developer of the Original Code is\n * Netscape Communications Corporation.\n * Portions created by the Initial Developer are Copyright (C) 2001\n * the Initial Developer. All Rights Reserved.\n *\n * Contributor(s):\n * António Afonso (antonio.afonso gmail.com) - port to JavaScript\n * Mark Pilgrim - port to Python\n * Shy Shalom - original C code\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA\n */\n\n!function(jschardet) {\n\n// This is hiragana 2-char sequence table, the number in each cell represents its frequency category\njschardet.jp2CharContext = [\n[0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1],\n[2,4,0,4,0,3,0,4,0,3,4,4,4,2,4,3,3,4,3,2,3,3,4,2,3,3,3,2,4,1,4,3,3,1,5,4,3,4,3,4,3,5,3,0,3,5,4,2,0,3,1,0,3,3,0,3,3,0,1,1,0,4,3,0,3,3,0,4,0,2,0,3,5,5,5,5,4,0,4,1,0,3,4],\n[0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2],\n[0,4,0,5,0,5,0,4,0,4,5,4,4,3,5,3,5,1,5,3,4,3,4,4,3,4,3,3,4,3,5,4,4,3,5,5,3,5,5,5,3,5,5,3,4,5,5,3,1,3,2,0,3,4,0,4,2,0,4,2,1,5,3,2,3,5,0,4,0,2,0,5,4,4,5,4,5,0,4,0,0,4,4],\n[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],\n[0,3,0,4,0,3,0,3,0,4,5,4,3,3,3,3,4,3,5,4,4,3,5,4,4,3,4,3,4,4,4,4,5,3,4,4,3,4,5,5,4,5,5,1,4,5,4,3,0,3,3,1,3,3,0,4,4,0,3,3,1,5,3,3,3,5,0,4,0,3,0,4,4,3,4,3,3,0,4,1,1,3,4],\n[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],\n[0,4,0,3,0,3,0,4,0,3,4,4,3,2,2,1,2,1,3,1,3,3,3,3,3,4,3,1,3,3,5,3,3,0,4,3,0,5,4,3,3,5,4,4,3,4,4,5,0,1,2,0,1,2,0,2,2,0,1,0,0,5,2,2,1,4,0,3,0,1,0,4,4,3,5,4,3,0,2,1,0,4,3],\n[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],\n[0,3,0,5,0,4,0,2,1,4,4,2,4,1,4,2,4,2,4,3,3,3,4,3,3,3,3,1,4,2,3,3,3,1,4,4,1,1,1,4,3,3,2,0,2,4,3,2,0,3,3,0,3,1,1,0,0,0,3,3,0,4,2,2,3,4,0,4,0,3,0,4,4,5,3,4,4,0,3,0,0,1,4],\n[1,4,0,4,0,4,0,4,0,3,5,4,4,3,4,3,5,4,3,3,4,3,5,4,4,4,4,3,4,2,4,3,3,1,5,4,3,2,4,5,4,5,5,4,4,5,4,4,0,3,2,2,3,3,0,4,3,1,3,2,1,4,3,3,4,5,0,3,0,2,0,4,5,5,4,5,4,0,4,0,0,5,4],\n[0,5,0,5,0,4,0,3,0,4,4,3,4,3,3,3,4,0,4,4,4,3,4,3,4,3,3,1,4,2,4,3,4,0,5,4,1,4,5,4,4,5,3,2,4,3,4,3,2,4,1,3,3,3,2,3,2,0,4,3,3,4,3,3,3,4,0,4,0,3,0,4,5,4,4,4,3,0,4,1,0,1,3],\n[0,3,1,4,0,3,0,2,0,3,4,4,3,1,4,2,3,3,4,3,4,3,4,3,4,4,3,2,3,1,5,4,4,1,4,4,3,5,4,4,3,5,5,4,3,4,4,3,1,2,3,1,2,2,0,3,2,0,3,1,0,5,3,3,3,4,3,3,3,3,4,4,4,4,5,4,2,0,3,3,2,4,3],\n[0,2,0,3,0,1,0,1,0,0,3,2,0,0,2,0,1,0,2,1,3,3,3,1,2,3,1,0,1,0,4,2,1,1,3,3,0,4,3,3,1,4,3,3,0,3,3,2,0,0,0,0,1,0,0,2,0,0,0,0,0,4,1,0,2,3,2,2,2,1,3,3,3,4,4,3,2,0,3,1,0,3,3],\n[0,4,0,4,0,3,0,3,0,4,4,4,3,3,3,3,3,3,4,3,4,2,4,3,4,3,3,2,4,3,4,5,4,1,4,5,3,5,4,5,3,5,4,0,3,5,5,3,1,3,3,2,2,3,0,3,4,1,3,3,2,4,3,3,3,4,0,4,0,3,0,4,5,4,4,5,3,0,4,1,0,3,4],\n[0,2,0,3,0,3,0,0,0,2,2,2,1,0,1,0,0,0,3,0,3,0,3,0,1,3,1,0,3,1,3,3,3,1,3,3,3,0,1,3,1,3,4,0,0,3,1,1,0,3,2,0,0,0,0,1,3,0,1,0,0,3,3,2,0,3,0,0,0,0,0,3,4,3,4,3,3,0,3,0,0,2,3],\n[2,3,0,3,0,2,0,1,0,3,3,4,3,1,3,1,1,1,3,1,4,3,4,3,3,3,0,0,3,1,5,4,3,1,4,3,2,5,5,4,4,4,4,3,3,4,4,4,0,2,1,1,3,2,0,1,2,0,0,1,0,4,1,3,3,3,0,3,0,1,0,4,4,4,5,5,3,0,2,0,0,4,4],\n[0,2,0,1,0,3,1,3,0,2,3,3,3,0,3,1,0,0,3,0,3,2,3,1,3,2,1,1,0,0,4,2,1,0,2,3,1,4,3,2,0,4,4,3,1,3,1,3,0,1,0,0,1,0,0,0,1,0,0,0,0,4,1,1,1,2,0,3,0,0,0,3,4,2,4,3,2,0,1,0,0,3,3],\n[0,1,0,4,0,5,0,4,0,2,4,4,2,3,3,2,3,3,5,3,3,3,4,3,4,2,3,0,4,3,3,3,4,1,4,3,2,1,5,5,3,4,5,1,3,5,4,2,0,3,3,0,1,3,0,4,2,0,1,3,1,4,3,3,3,3,0,3,0,1,0,3,4,4,4,5,5,0,3,0,1,4,5],\n[0,2,0,3,0,3,0,0,0,2,3,1,3,0,4,0,1,1,3,0,3,4,3,2,3,1,0,3,3,2,3,1,3,0,2,3,0,2,1,4,1,2,2,0,0,3,3,0,0,2,0,0,0,1,0,0,0,0,2,2,0,3,2,1,3,3,0,2,0,2,0,0,3,3,1,2,4,0,3,0,2,2,3],\n[2,4,0,5,0,4,0,4,0,2,4,4,4,3,4,3,3,3,1,2,4,3,4,3,4,4,5,0,3,3,3,3,2,0,4,3,1,4,3,4,1,4,4,3,3,4,4,3,1,2,3,0,4,2,0,4,1,0,3,3,0,4,3,3,3,4,0,4,0,2,0,3,5,3,4,5,2,0,3,0,0,4,5],\n[0,3,0,4,0,1,0,1,0,1,3,2,2,1,3,0,3,0,2,0,2,0,3,0,2,0,0,0,1,0,1,1,0,0,3,1,0,0,0,4,0,3,1,0,2,1,3,0,0,0,0,0,0,3,0,0,0,0,0,0,0,4,2,2,3,1,0,3,0,0,0,1,4,4,4,3,0,0,4,0,0,1,4],\n[1,4,1,5,0,3,0,3,0,4,5,4,4,3,5,3,3,4,4,3,4,1,3,3,3,3,2,1,4,1,5,4,3,1,4,4,3,5,4,4,3,5,4,3,3,4,4,4,0,3,3,1,2,3,0,3,1,0,3,3,0,5,4,4,4,4,4,4,3,3,5,4,4,3,3,5,4,0,3,2,0,4,4],\n[0,2,0,3,0,1,0,0,0,1,3,3,3,2,4,1,3,0,3,1,3,0,2,2,1,1,0,0,2,0,4,3,1,0,4,3,0,4,4,4,1,4,3,1,1,3,3,1,0,2,0,0,1,3,0,0,0,0,2,0,0,4,3,2,4,3,5,4,3,3,3,4,3,3,4,3,3,0,2,1,0,3,3],\n[0,2,0,4,0,3,0,2,0,2,5,5,3,4,4,4,4,1,4,3,3,0,4,3,4,3,1,3,3,2,4,3,0,3,4,3,0,3,4,4,2,4,4,0,4,5,3,3,2,2,1,1,1,2,0,1,5,0,3,3,2,4,3,3,3,4,0,3,0,2,0,4,4,3,5,5,0,0,3,0,2,3,3],\n[0,3,0,4,0,3,0,1,0,3,4,3,3,1,3,3,3,0,3,1,3,0,4,3,3,1,1,0,3,0,3,3,0,0,4,4,0,1,5,4,3,3,5,0,3,3,4,3,0,2,0,1,1,1,0,1,3,0,1,2,1,3,3,2,3,3,0,3,0,1,0,1,3,3,4,4,1,0,1,2,2,1,3],\n[0,1,0,4,0,4,0,3,0,1,3,3,3,2,3,1,1,0,3,0,3,3,4,3,2,4,2,0,1,0,4,3,2,0,4,3,0,5,3,3,2,4,4,4,3,3,3,4,0,1,3,0,0,1,0,0,1,0,0,0,0,4,2,3,3,3,0,3,0,0,0,4,4,4,5,3,2,0,3,3,0,3,5],\n[0,2,0,3,0,0,0,3,0,1,3,0,2,0,0,0,1,0,3,1,1,3,3,0,0,3,0,0,3,0,2,3,1,0,3,1,0,3,3,2,0,4,2,2,0,2,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,2,1,2,0,1,0,1,0,0,0,1,3,1,2,0,0,0,1,0,0,1,4],\n[0,3,0,3,0,5,0,1,0,2,4,3,1,3,3,2,1,1,5,2,1,0,5,1,2,0,0,0,3,3,2,2,3,2,4,3,0,0,3,3,1,3,3,0,2,5,3,4,0,3,3,0,1,2,0,2,2,0,3,2,0,2,2,3,3,3,0,2,0,1,0,3,4,4,2,5,4,0,3,0,0,3,5],\n[0,3,0,3,0,3,0,1,0,3,3,3,3,0,3,0,2,0,2,1,1,0,2,0,1,0,0,0,2,1,0,0,1,0,3,2,0,0,3,3,1,2,3,1,0,3,3,0,0,1,0,0,0,0,0,2,0,0,0,0,0,2,3,1,2,3,0,3,0,1,0,3,2,1,0,4,3,0,1,1,0,3,3],\n[0,4,0,5,0,3,0,3,0,4,5,5,4,3,5,3,4,3,5,3,3,2,5,3,4,4,4,3,4,3,4,5,5,3,4,4,3,4,4,5,4,4,4,3,4,5,5,4,2,3,4,2,3,4,0,3,3,1,4,3,2,4,3,3,5,5,0,3,0,3,0,5,5,5,5,4,4,0,4,0,1,4,4],\n[0,4,0,4,0,3,0,3,0,3,5,4,4,2,3,2,5,1,3,2,5,1,4,2,3,2,3,3,4,3,3,3,3,2,5,4,1,3,3,5,3,4,4,0,4,4,3,1,1,3,1,0,2,3,0,2,3,0,3,0,0,4,3,1,3,4,0,3,0,2,0,4,4,4,3,4,5,0,4,0,0,3,4],\n[0,3,0,3,0,3,1,2,0,3,4,4,3,3,3,0,2,2,4,3,3,1,3,3,3,1,1,0,3,1,4,3,2,3,4,4,2,4,4,4,3,4,4,3,2,4,4,3,1,3,3,1,3,3,0,4,1,0,2,2,1,4,3,2,3,3,5,4,3,3,5,4,4,3,3,0,4,0,3,2,2,4,4],\n[0,2,0,1,0,0,0,0,0,1,2,1,3,0,0,0,0,0,2,0,1,2,1,0,0,1,0,0,0,0,3,0,0,1,0,1,1,3,1,0,0,0,1,1,0,1,1,0,0,0,0,0,2,0,0,0,0,0,0,0,0,1,1,2,2,0,3,4,0,0,0,1,1,0,0,1,0,0,0,0,0,1,1],\n[0,1,0,0,0,1,0,0,0,0,4,0,4,1,4,0,3,0,4,0,3,0,4,0,3,0,3,0,4,1,5,1,4,0,0,3,0,5,0,5,2,0,1,0,0,0,2,1,4,0,1,3,0,0,3,0,0,3,1,1,4,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0],\n[1,4,0,5,0,3,0,2,0,3,5,4,4,3,4,3,5,3,4,3,3,0,4,3,3,3,3,3,3,2,4,4,3,1,3,4,4,5,4,4,3,4,4,1,3,5,4,3,3,3,1,2,2,3,3,1,3,1,3,3,3,5,3,3,4,5,0,3,0,3,0,3,4,3,4,4,3,0,3,0,2,4,3],\n[0,1,0,4,0,0,0,0,0,1,4,0,4,1,4,2,4,0,3,0,1,0,1,0,0,0,0,0,2,0,3,1,1,1,0,3,0,0,0,1,2,1,0,0,1,1,1,1,0,1,0,0,0,1,0,0,3,0,0,0,0,3,2,0,2,2,0,1,0,0,0,2,3,2,3,3,0,0,0,0,2,1,0],\n[0,5,1,5,0,3,0,3,0,5,4,4,5,1,5,3,3,0,4,3,4,3,5,3,4,3,3,2,4,3,4,3,3,0,3,3,1,4,4,3,4,4,4,3,4,5,5,3,2,3,1,1,3,3,1,3,1,1,3,3,2,4,5,3,3,5,0,4,0,3,0,4,4,3,5,3,3,0,3,4,0,4,3],\n[0,5,0,5,0,3,0,2,0,4,4,3,5,2,4,3,3,3,4,4,4,3,5,3,5,3,3,1,4,0,4,3,3,0,3,3,0,4,4,4,4,5,4,3,3,5,5,3,2,3,1,2,3,2,0,1,0,0,3,2,2,4,4,3,1,5,0,4,0,3,0,4,3,1,3,2,1,0,3,3,0,3,3],\n[0,4,0,5,0,5,0,4,0,4,5,5,5,3,4,3,3,2,5,4,4,3,5,3,5,3,4,0,4,3,4,4,3,2,4,4,3,4,5,4,4,5,5,0,3,5,5,4,1,3,3,2,3,3,1,3,1,0,4,3,1,4,4,3,4,5,0,4,0,2,0,4,3,4,4,3,3,0,4,0,0,5,5],\n[0,4,0,4,0,5,0,1,1,3,3,4,4,3,4,1,3,0,5,1,3,0,3,1,3,1,1,0,3,0,3,3,4,0,4,3,0,4,4,4,3,4,4,0,3,5,4,1,0,3,0,0,2,3,0,3,1,0,3,1,0,3,2,1,3,5,0,3,0,1,0,3,2,3,3,4,4,0,2,2,0,4,4],\n[2,4,0,5,0,4,0,3,0,4,5,5,4,3,5,3,5,3,5,3,5,2,5,3,4,3,3,4,3,4,5,3,2,1,5,4,3,2,3,4,5,3,4,1,2,5,4,3,0,3,3,0,3,2,0,2,3,0,4,1,0,3,4,3,3,5,0,3,0,1,0,4,5,5,5,4,3,0,4,2,0,3,5],\n[0,5,0,4,0,4,0,2,0,5,4,3,4,3,4,3,3,3,4,3,4,2,5,3,5,3,4,1,4,3,4,4,4,0,3,5,0,4,4,4,4,5,3,1,3,4,5,3,3,3,3,3,3,3,0,2,2,0,3,3,2,4,3,3,3,5,3,4,1,3,3,5,3,2,0,0,0,0,4,3,1,3,3],\n[0,1,0,3,0,3,0,1,0,1,3,3,3,2,3,3,3,0,3,0,0,0,3,1,3,0,0,0,2,2,2,3,0,0,3,2,0,1,2,4,1,3,3,0,0,3,3,3,0,1,0,0,2,1,0,0,3,0,3,1,0,3,0,0,1,3,0,2,0,1,0,3,3,1,3,3,0,0,1,1,0,3,3],\n[0,2,0,3,0,2,1,4,0,2,2,3,1,1,3,1,1,0,2,0,3,1,2,3,1,3,0,0,1,0,4,3,2,3,3,3,1,4,2,3,3,3,3,1,0,3,1,4,0,1,1,0,1,2,0,1,1,0,1,1,0,3,1,3,2,2,0,1,0,0,0,2,3,3,3,1,0,0,0,0,0,2,3],\n[0,5,0,4,0,5,0,2,0,4,5,5,3,3,4,3,3,1,5,4,4,2,4,4,4,3,4,2,4,3,5,5,4,3,3,4,3,3,5,5,4,5,5,1,3,4,5,3,1,4,3,1,3,3,0,3,3,1,4,3,1,4,5,3,3,5,0,4,0,3,0,5,3,3,1,4,3,0,4,0,1,5,3],\n[0,5,0,5,0,4,0,2,0,4,4,3,4,3,3,3,3,3,5,4,4,4,4,4,4,5,3,3,5,2,4,4,4,3,4,4,3,3,4,4,5,5,3,3,4,3,4,3,3,4,3,3,3,3,1,2,2,1,4,3,3,5,4,4,3,4,0,4,0,3,0,4,4,4,4,4,1,0,4,2,0,2,4],\n[0,4,0,4,0,3,0,1,0,3,5,2,3,0,3,0,2,1,4,2,3,3,4,1,4,3,3,2,4,1,3,3,3,0,3,3,0,0,3,3,3,5,3,3,3,3,3,2,0,2,0,0,2,0,0,2,0,0,1,0,0,3,1,2,2,3,0,3,0,2,0,4,4,3,3,4,1,0,3,0,0,2,4],\n[0,0,0,4,0,0,0,0,0,0,1,0,1,0,2,0,0,0,0,0,1,0,2,0,1,0,0,0,0,0,3,1,3,0,3,2,0,0,0,1,0,3,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,0,2,0,0,0,0,0,0,2],\n[0,2,1,3,0,2,0,2,0,3,3,3,3,1,3,1,3,3,3,3,3,3,4,2,2,1,2,1,4,0,4,3,1,3,3,3,2,4,3,5,4,3,3,3,3,3,3,3,0,1,3,0,2,0,0,1,0,0,1,0,0,4,2,0,2,3,0,3,3,0,3,3,4,2,3,1,4,0,1,2,0,2,3],\n[0,3,0,3,0,1,0,3,0,2,3,3,3,0,3,1,2,0,3,3,2,3,3,2,3,2,3,1,3,0,4,3,2,0,3,3,1,4,3,3,2,3,4,3,1,3,3,1,1,0,1,1,0,1,0,1,0,1,0,0,0,4,1,1,0,3,0,3,1,0,2,3,3,3,3,3,1,0,0,2,0,3,3],\n[0,0,0,0,0,0,0,0,0,0,3,0,2,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,3,0,3,0,3,1,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,2,0,2,3,0,0,0,0,0,0,0,0,3],\n[0,2,0,3,1,3,0,3,0,2,3,3,3,1,3,1,3,1,3,1,3,3,3,1,3,0,2,3,1,1,4,3,3,2,3,3,1,2,2,4,1,3,3,0,1,4,2,3,0,1,3,0,3,0,0,1,3,0,2,0,0,3,3,2,1,3,0,3,0,2,0,3,4,4,4,3,1,0,3,0,0,3,3],\n[0,2,0,1,0,2,0,0,0,1,3,2,2,1,3,0,1,1,3,0,3,2,3,1,2,0,2,0,1,1,3,3,3,0,3,3,1,1,2,3,2,3,3,1,2,3,2,0,0,1,0,0,0,0,0,0,3,0,1,0,0,2,1,2,1,3,0,3,0,0,0,3,4,4,4,3,2,0,2,0,0,2,4],\n[0,0,0,1,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,2,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,3,1,0,0,0,0,0,0,0,3],\n[0,3,0,3,0,2,0,3,0,3,3,3,2,3,2,2,2,0,3,1,3,3,3,2,3,3,0,0,3,0,3,2,2,0,2,3,1,4,3,4,3,3,2,3,1,5,4,4,0,3,1,2,1,3,0,3,1,1,2,0,2,3,1,3,1,3,0,3,0,1,0,3,3,4,4,2,1,0,2,1,0,2,4],\n[0,1,0,3,0,1,0,2,0,1,4,2,5,1,4,0,2,0,2,1,3,1,4,0,2,1,0,0,2,1,4,1,1,0,3,3,0,5,1,3,2,3,3,1,0,3,2,3,0,1,0,0,0,0,0,0,1,0,0,0,0,4,0,1,0,3,0,2,0,1,0,3,3,3,4,3,3,0,0,0,0,2,3],\n[0,0,0,1,0,0,0,0,0,0,2,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,0,1,0,0,0,0,0,3],\n[0,1,0,3,0,4,0,3,0,2,4,3,1,0,3,2,2,1,3,1,2,2,3,1,1,1,2,1,3,0,1,2,0,1,3,2,1,3,0,5,5,1,0,0,1,3,2,1,0,3,0,0,1,0,0,0,0,0,3,4,0,1,1,1,3,2,0,2,0,1,0,2,3,3,1,2,3,0,1,0,1,0,4],\n[0,0,0,1,0,3,0,3,0,2,2,1,0,0,4,0,3,0,3,1,3,0,3,0,3,0,1,0,3,0,3,1,3,0,3,3,0,0,1,2,1,1,1,0,1,2,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,2,2,1,2,0,0,2,0,0,0,0,2,3,3,3,3,0,0,0,0,1,4],\n[0,0,0,3,0,3,0,0,0,0,3,1,1,0,3,0,1,0,2,0,1,0,0,0,0,0,0,0,1,0,3,0,2,0,2,3,0,0,2,2,3,1,2,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,2,0,0,0,0,2,3],\n[2,4,0,5,0,5,0,4,0,3,4,3,3,3,4,3,3,3,4,3,4,4,5,4,5,5,5,2,3,0,5,5,4,1,5,4,3,1,5,4,3,4,4,3,3,4,3,3,0,3,2,0,2,3,0,3,0,0,3,3,0,5,3,2,3,3,0,3,0,3,0,3,4,5,4,5,3,0,4,3,0,3,4],\n[0,3,0,3,0,3,0,3,0,3,3,4,3,2,3,2,3,0,4,3,3,3,3,3,3,3,3,0,3,2,4,3,3,1,3,4,3,4,4,4,3,4,4,3,2,4,4,1,0,2,0,0,1,1,0,2,0,0,3,1,0,5,3,2,1,3,0,3,0,1,2,4,3,2,4,3,3,0,3,2,0,4,4],\n[0,3,0,3,0,1,0,0,0,1,4,3,3,2,3,1,3,1,4,2,3,2,4,2,3,4,3,0,2,2,3,3,3,0,3,3,3,0,3,4,1,3,3,0,3,4,3,3,0,1,1,0,1,0,0,0,4,0,3,0,0,3,1,2,1,3,0,4,0,1,0,4,3,3,4,3,3,0,2,0,0,3,3],\n[0,3,0,4,0,1,0,3,0,3,4,3,3,0,3,3,3,1,3,1,3,3,4,3,3,3,0,0,3,1,5,3,3,1,3,3,2,5,4,3,3,4,5,3,2,5,3,4,0,1,0,0,0,0,0,2,0,0,1,1,0,4,2,2,1,3,0,3,0,2,0,4,4,3,5,3,2,0,1,1,0,3,4],\n[0,5,0,4,0,5,0,2,0,4,4,3,3,2,3,3,3,1,4,3,4,1,5,3,4,3,4,0,4,2,4,3,4,1,5,4,0,4,4,4,4,5,4,1,3,5,4,2,1,4,1,1,3,2,0,3,1,0,3,2,1,4,3,3,3,4,0,4,0,3,0,4,4,4,3,3,3,0,4,2,0,3,4],\n[1,4,0,4,0,3,0,1,0,3,3,3,1,1,3,3,2,2,3,3,1,0,3,2,2,1,2,0,3,1,2,1,2,0,3,2,0,2,2,3,3,4,3,0,3,3,1,2,0,1,1,3,1,2,0,0,3,0,1,1,0,3,2,2,3,3,0,3,0,0,0,2,3,3,4,3,3,0,1,0,0,1,4],\n[0,4,0,4,0,4,0,0,0,3,4,4,3,1,4,2,3,2,3,3,3,1,4,3,4,0,3,0,4,2,3,3,2,2,5,4,2,1,3,4,3,4,3,1,3,3,4,2,0,2,1,0,3,3,0,0,2,0,3,1,0,4,4,3,4,3,0,4,0,1,0,2,4,4,4,4,4,0,3,2,0,3,3],\n[0,0,0,1,0,4,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,3,2,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,2],\n[0,2,0,3,0,4,0,4,0,1,3,3,3,0,4,0,2,1,2,1,1,1,2,0,3,1,1,0,1,0,3,1,0,0,3,3,2,0,1,1,0,0,0,0,0,1,0,2,0,2,2,0,3,1,0,0,1,0,1,1,0,1,2,0,3,0,0,0,0,1,0,0,3,3,4,3,1,0,1,0,3,0,2],\n[0,0,0,3,0,5,0,0,0,0,1,0,2,0,3,1,0,1,3,0,0,0,2,0,0,0,1,0,0,0,1,1,0,0,4,0,0,0,2,3,0,1,4,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,3,0,0,0,0,0,3],\n[0,2,0,5,0,5,0,1,0,2,4,3,3,2,5,1,3,2,3,3,3,0,4,1,2,0,3,0,4,0,2,2,1,1,5,3,0,0,1,4,2,3,2,0,3,3,3,2,0,2,4,1,1,2,0,1,1,0,3,1,0,1,3,1,2,3,0,2,0,0,0,1,3,5,4,4,4,0,3,0,0,1,3],\n[0,4,0,5,0,4,0,4,0,4,5,4,3,3,4,3,3,3,4,3,4,4,5,3,4,5,4,2,4,2,3,4,3,1,4,4,1,3,5,4,4,5,5,4,4,5,5,5,2,3,3,1,4,3,1,3,3,0,3,3,1,4,3,4,4,4,0,3,0,4,0,3,3,4,4,5,0,0,4,3,0,4,5],\n[0,4,0,4,0,3,0,3,0,3,4,4,4,3,3,2,4,3,4,3,4,3,5,3,4,3,2,1,4,2,4,4,3,1,3,4,2,4,5,5,3,4,5,4,1,5,4,3,0,3,2,2,3,2,1,3,1,0,3,3,3,5,3,3,3,5,4,4,2,3,3,4,3,3,3,2,1,0,3,2,1,4,3],\n[0,4,0,5,0,4,0,3,0,3,5,5,3,2,4,3,4,0,5,4,4,1,4,4,4,3,3,3,4,3,5,5,2,3,3,4,1,2,5,5,3,5,5,2,3,5,5,4,0,3,2,0,3,3,1,1,5,1,4,1,0,4,3,2,3,5,0,4,0,3,0,5,4,3,4,3,0,0,4,1,0,4,4],\n[1,3,0,4,0,2,0,2,0,2,5,5,3,3,3,3,3,0,4,2,3,4,4,4,3,4,0,0,3,4,5,4,3,3,3,3,2,5,5,4,5,5,5,4,3,5,5,5,1,3,1,0,1,0,0,3,2,0,4,2,0,5,2,3,2,4,1,3,0,3,0,4,5,4,5,4,3,0,4,2,0,5,4],\n[0,3,0,4,0,5,0,3,0,3,4,4,3,2,3,2,3,3,3,3,3,2,4,3,3,2,2,0,3,3,3,3,3,1,3,3,3,0,4,4,3,4,4,1,1,4,4,2,0,3,1,0,1,1,0,4,1,0,2,3,1,3,3,1,3,4,0,3,0,1,0,3,1,3,0,0,1,0,2,0,0,4,4],\n[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],\n[0,3,0,3,0,2,0,3,0,1,5,4,3,3,3,1,4,2,1,2,3,4,4,2,4,4,5,0,3,1,4,3,4,0,4,3,3,3,2,3,2,5,3,4,3,2,2,3,0,0,3,0,2,1,0,1,2,0,0,0,0,2,1,1,3,1,0,2,0,4,0,3,4,4,4,5,2,0,2,0,0,1,3],\n[0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,0,0,1,1,0,0,0,4,2,1,1,0,1,0,3,2,0,0,3,1,1,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,1,0,0,0,2,0,0,0,1,4,0,4,2,1,0,0,0,0,0,1],\n[0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,3,1,0,0,0,2,0,2,1,0,0,1,2,1,0,1,1,0,0,3,0,0,0,0,0,0,0,0,0,0,0,1,3,1,0,0,0,0,0,1,0,0,2,1,0,0,0,0,0,0,0,0,2],\n[0,4,0,4,0,4,0,3,0,4,4,3,4,2,4,3,2,0,4,4,4,3,5,3,5,3,3,2,4,2,4,3,4,3,1,4,0,2,3,4,4,4,3,3,3,4,4,4,3,4,1,3,4,3,2,1,2,1,3,3,3,4,4,3,3,5,0,4,0,3,0,4,3,3,3,2,1,0,3,0,0,3,3],\n[0,4,0,3,0,3,0,3,0,3,5,5,3,3,3,3,4,3,4,3,3,3,4,4,4,3,3,3,3,4,3,5,3,3,1,3,2,4,5,5,5,5,4,3,4,5,5,3,2,2,3,3,3,3,2,3,3,1,2,3,2,4,3,3,3,4,0,4,0,2,0,4,3,2,2,1,2,0,3,0,0,4,1]\n];\n\njschardet.JapaneseContextAnalysis = function() {\n var NUM_OF_CATEGORY = 6;\n var DONT_KNOW = -1;\n var ENOUGH_REL_THRESHOLD = 100;\n var MAX_REL_THRESHOLD = 1000;\n var MINIMUM_DATA_THRESHOLD = 4;\n var self = this;\n\n function init() {\n self.reset();\n }\n\n this.reset = function() {\n this._mTotalRel = 0; // total sequence received\n this._mRelSample = []; // category counters, each interger counts sequence in its category\n for( var i = 0; i < NUM_OF_CATEGORY; this._mRelSample[i++] = 0 );\n this._mNeedToSkipCharNum = 0; // if last byte in current buffer is not the last byte of a character, we need to know how many bytes to skip in next buffer\n this._mLastCharOrder = -1; // The order of previous char\n this._mDone = false; // If this flag is set to true, detection is done and conclusion has been made\n }\n\n this.feed = function(aBuf, aLen) {\n if( this._mDone ) return;\n\n // The buffer we got is byte oriented, and a character may span in more than one\n // buffers. In case the last one or two byte in last buffer is not complete, we\n // record how many byte needed to complete that character and skip these bytes here.\n // We can choose to record those bytes as well and analyse the character once it\n // is complete, but since a character will not make much difference, by simply skipping\n // this character will simply our logic and improve performance.\n var i = this._mNeedToSkipCharNum;\n while( i < aLen ) {\n var rets = this.getOrder(aBuf.slice(i,i+2));\n var order = rets[0];\n var charLen = rets[1];\n i += charLen;\n if( i > aLen ) {\n this._mNeedToSkipCharNum = i - aLen;\n this._mLastCharOrder = -1;\n } else {\n if( order != -1 && this._mLastCharOrder != -1 ) {\n this._mTotalRel += 1;\n if( this._mTotalRel > MAX_REL_THRESHOLD ) {\n this._mDone = true;\n break;\n }\n this._mRelSample[jschardet.jp2CharContext[this._mLastCharOrder][order]] += 1;\n }\n this._mLastCharOrder = order;\n }\n }\n }\n\n this.gotEnoughData = function() {\n return this._mTotalRel > ENOUGH_REL_THRESHOLD;\n }\n\n this.getConfidence = function() {\n // This is just one way to calculate confidence. It works well for me.\n if( this._mTotalRel > MINIMUM_DATA_THRESHOLD ) {\n return (this._mTotalRel - this._mRelSample[0]) / this._mTotalRel;\n } else {\n return DONT_KNOW;\n }\n }\n\n this.getOrder = function(aStr) {\n return [-1, 1];\n }\n\n init();\n}\n\njschardet.SJISContextAnalysis = function() {\n this.getOrder = function(aStr) {\n if( !aStr ) return [-1, 1];\n // find out current char's byte length\n if( (aStr.charCodeAt(0) >= 0x81 && aStr.charCodeAt(0) <= 0x9F) ||\n (aStr.charCodeAt(0) >= 0xE0 && aStr.charCodeAt(0) <= 0xFC) ) {\n var charLen = 2;\n } else {\n charLen = 1;\n }\n\n // return its order if it is hiragana\n if( aStr.length > 1 ) {\n if( aStr.charCodeAt(0) == 0x82 && aStr.charCodeAt(1) >= 0x9F &&\n aStr.charCodeAt(0) <= 0xF1 ) {\n return [aStr.charCodeAt(1) - 0x9F, charLen];\n }\n }\n\n return [-1, charLen];\n }\n}\njschardet.SJISContextAnalysis.prototype = new jschardet.JapaneseContextAnalysis();\n\njschardet.EUCJPContextAnalysis = function() {\n this.getOrder = function(aStr) {\n if( !aStr ) return [-1, 1];\n // find out current char's byte length\n if( aStr.charCodeAt(0) >= 0x8E ||\n (aStr.charCodeAt(0) >= 0xA1 && aStr.charCodeAt(0) <= 0xFE) ) {\n var charLen = 2;\n } else if( aStr.charCodeAt(0) == 0x8F ) {\n charLen = 3;\n } else {\n charLen = 1;\n }\n\n // return its order if it is hiragana\n if( aStr.length > 1 ) {\n if( aStr.charCodeAt(0) == 0xA4 && aStr.charCodeAt(1) >= 0xA1 &&\n aStr.charCodeAt(1) <= 0xF3 ) {\n return [aStr.charCodeAt(1) - 0xA1, charLen];\n }\n }\n\n return [-1, charLen];\n }\n}\njschardet.EUCJPContextAnalysis.prototype = new jschardet.JapaneseContextAnalysis();\n\n}(__webpack_require__(/*! ./init */ \"./node_modules/jschardet/src/init.js\"));\n\n\n//# sourceURL=webpack:///./node_modules/jschardet/src/jpcntx.js?"); - -/***/ }), - -/***/ "./node_modules/jschardet/src/langbulgarianmodel.js": -/*!**********************************************************!*\ - !*** ./node_modules/jschardet/src/langbulgarianmodel.js ***! - \**********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/*\n * The Original Code is Mozilla Universal charset detector code.\n *\n * The Initial Developer of the Original Code is\n * Netscape Communications Corporation.\n * Portions created by the Initial Developer are Copyright (C) 2001\n * the Initial Developer. All Rights Reserved.\n *\n * Contributor(s):\n * António Afonso (antonio.afonso gmail.com) - port to JavaScript\n * Mark Pilgrim - port to Python\n * Shy Shalom - original C code\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA\n */\n\n!function(jschardet) {\n\n// 255: Control characters that usually does not exist in any text\n// 254: Carriage/Return\n// 253: symbol (punctuation) that does not belong to word\n// 252: 0 - 9\n\n// Character Mapping Table:\n// this table is modified base on win1251BulgarianCharToOrderMap, so\n// only number <64 is sure valid\n\njschardet.Latin5_BulgarianCharToOrderMap = [\n255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, // 00\n255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // 10\n253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, // 20\n252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, // 30\n253, 77, 90, 99,100, 72,109,107,101, 79,185, 81,102, 76, 94, 82, // 40\n110,186,108, 91, 74,119, 84, 96,111,187,115,253,253,253,253,253, // 50\n253, 65, 69, 70, 66, 63, 68,112,103, 92,194,104, 95, 86, 87, 71, // 60\n116,195, 85, 93, 97,113,196,197,198,199,200,253,253,253,253,253, // 70\n194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209, // 80\n210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225, // 90\n 81,226,227,228,229,230,105,231,232,233,234,235,236, 45,237,238, // a0\n 31, 32, 35, 43, 37, 44, 55, 47, 40, 59, 33, 46, 38, 36, 41, 30, // b0\n 39, 28, 34, 51, 48, 49, 53, 50, 54, 57, 61,239, 67,240, 60, 56, // c0\n 1, 18, 9, 20, 11, 3, 23, 15, 2, 26, 12, 10, 14, 6, 4, 13, // d0\n 7, 8, 5, 19, 29, 25, 22, 21, 27, 24, 17, 75, 52,241, 42, 16, // e0\n 62,242,243,244, 58,245, 98,246,247,248,249,250,251, 91,252,253 // f0\n];\n\njschardet.win1251BulgarianCharToOrderMap = [\n255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, // 00\n255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // 10\n253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, // 20\n252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, // 30\n253, 77, 90, 99,100, 72,109,107,101, 79,185, 81,102, 76, 94, 82, // 40\n110,186,108, 91, 74,119, 84, 96,111,187,115,253,253,253,253,253, // 50\n253, 65, 69, 70, 66, 63, 68,112,103, 92,194,104, 95, 86, 87, 71, // 60\n116,195, 85, 93, 97,113,196,197,198,199,200,253,253,253,253,253, // 70\n206,207,208,209,210,211,212,213,120,214,215,216,217,218,219,220, // 80\n221, 78, 64, 83,121, 98,117,105,222,223,224,225,226,227,228,229, // 90\n 88,230,231,232,233,122, 89,106,234,235,236,237,238, 45,239,240, // a0\n 73, 80,118,114,241,242,243,244,245, 62, 58,246,247,248,249,250, // b0\n 31, 32, 35, 43, 37, 44, 55, 47, 40, 59, 33, 46, 38, 36, 41, 30, // c0\n 39, 28, 34, 51, 48, 49, 53, 50, 54, 57, 61,251, 67,252, 60, 56, // d0\n 1, 18, 9, 20, 11, 3, 23, 15, 2, 26, 12, 10, 14, 6, 4, 13, // e0\n 7, 8, 5, 19, 29, 25, 22, 21, 27, 24, 17, 75, 52,253, 42, 16 // f0\n];\n\n// Model Table:\n// total sequences: 100%\n// first 512 sequences: 96.9392%\n// first 1024 sequences:3.0618%\n// rest sequences: 0.2992%\n// negative sequences: 0.0020%\njschardet.BulgarianLangModel = [\n0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,2,3,3,3,3,3,\n3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,2,2,3,2,2,1,2,2,\n3,1,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,0,3,3,3,3,3,3,3,3,3,3,0,3,0,1,\n0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,\n3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,2,3,3,3,3,3,3,3,3,0,3,1,0,\n0,1,0,0,0,0,0,0,0,0,1,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,\n3,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,1,3,2,3,3,3,3,3,3,3,3,0,3,0,0,\n0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,2,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,1,3,2,3,3,3,3,3,3,3,3,0,3,0,0,\n0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,3,3,3,3,3,3,3,3,3,3,2,3,2,2,1,3,3,3,3,2,2,2,1,1,2,0,1,0,1,0,0,\n0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1,\n3,3,3,3,3,3,3,2,3,2,2,3,3,1,1,2,3,3,2,3,3,3,3,2,1,2,0,2,0,3,0,0,\n0,0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1,\n3,3,3,3,3,3,3,1,3,3,3,3,3,2,3,2,3,3,3,3,3,2,3,3,1,3,0,3,0,2,0,0,\n0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,\n3,3,3,3,3,3,3,3,1,3,3,2,3,3,3,1,3,3,2,3,2,2,2,0,0,2,0,2,0,2,0,0,\n0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1,\n3,3,3,3,3,3,3,3,3,0,3,3,3,2,2,3,3,3,1,2,2,3,2,1,1,2,0,2,0,0,0,0,\n1,0,0,0,0,0,0,0,0,0,2,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,\n3,3,3,3,3,3,3,2,3,3,1,2,3,2,2,2,3,3,3,3,3,2,2,3,1,2,0,2,1,2,0,0,\n0,0,0,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1,\n3,3,3,3,3,1,3,3,3,3,3,2,3,3,3,2,3,3,2,3,2,2,2,3,1,2,0,1,0,1,0,0,\n0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,\n3,3,3,3,3,3,3,3,3,3,3,1,1,1,2,2,1,3,1,3,2,2,3,0,0,1,0,1,0,1,0,0,\n0,0,0,1,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,\n3,3,3,3,3,2,2,3,2,2,3,1,2,1,1,1,2,3,1,3,1,2,2,0,1,1,1,1,0,1,0,0,\n0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,\n3,3,3,3,3,1,3,2,2,3,3,1,2,3,1,1,3,3,3,3,1,2,2,1,1,1,0,2,0,2,0,1,\n0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,\n3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,2,2,3,3,3,2,2,1,1,2,0,2,0,1,0,0,\n0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,\n3,0,1,2,1,3,3,2,3,3,3,3,3,2,3,2,1,0,3,1,2,1,2,1,2,3,2,1,0,1,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n1,1,1,2,3,3,3,3,3,3,3,3,3,3,3,3,0,0,3,1,3,3,2,3,3,2,2,2,0,1,0,0,\n0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n2,3,3,3,3,0,3,3,3,3,3,2,1,1,2,1,3,3,0,3,1,1,1,1,3,2,0,1,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,\n3,3,2,2,2,3,3,3,3,3,3,3,3,3,3,3,1,1,3,1,3,3,2,3,2,2,2,3,0,2,0,0,\n0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,3,3,3,3,2,3,3,2,2,3,2,1,1,1,1,1,3,1,3,1,1,0,0,0,1,0,0,0,1,0,0,\n0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,\n3,3,3,3,3,2,3,2,0,3,2,0,3,0,2,0,0,2,1,3,1,0,0,1,0,0,0,1,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,\n3,3,3,3,2,1,1,1,1,2,1,1,2,1,1,1,2,2,1,2,1,1,1,0,1,1,0,1,0,1,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,\n3,3,3,3,2,1,3,1,1,2,1,3,2,1,1,0,1,2,3,2,1,1,1,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n2,3,3,3,3,2,2,1,0,1,0,0,1,0,0,0,2,1,0,3,0,0,1,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,\n3,3,3,2,3,2,3,3,1,3,2,1,1,1,2,1,1,2,1,3,0,1,0,0,0,1,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,1,1,2,2,3,3,2,3,2,2,2,3,1,2,2,1,1,2,1,1,2,2,0,1,1,0,1,0,2,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,3,3,3,2,1,3,1,0,2,2,1,3,2,1,0,0,2,0,2,0,1,0,0,0,0,0,0,0,1,0,0,\n0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,\n3,3,3,3,3,3,1,2,0,2,3,1,2,3,2,0,1,3,1,2,1,1,1,0,0,1,0,0,2,2,2,3,\n2,2,2,2,1,2,1,1,2,2,1,1,2,0,1,1,1,0,0,1,1,0,0,1,1,0,0,0,1,1,0,1,\n3,3,3,3,3,2,1,2,2,1,2,0,2,0,1,0,1,2,1,2,1,1,0,0,0,1,0,1,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1,\n3,3,2,3,3,1,1,3,1,0,3,2,1,0,0,0,1,2,0,2,0,1,0,0,0,1,0,1,2,1,2,2,\n1,1,1,1,1,1,1,2,2,2,1,1,1,1,1,1,1,0,1,2,1,1,1,0,0,0,0,0,1,1,0,0,\n3,1,0,1,0,2,3,2,2,2,3,2,2,2,2,2,1,0,2,1,2,1,1,1,0,1,2,1,2,2,2,1,\n1,1,2,2,2,2,1,2,1,1,0,1,2,1,2,2,2,1,1,1,0,1,1,1,1,2,0,1,0,0,0,0,\n2,3,2,3,3,0,0,2,1,0,2,1,0,0,0,0,2,3,0,2,0,0,0,0,0,1,0,0,2,0,1,2,\n2,1,2,1,2,2,1,1,1,2,1,1,1,0,1,2,2,1,1,1,1,1,0,1,1,1,0,0,1,2,0,0,\n3,3,2,2,3,0,2,3,1,1,2,0,0,0,1,0,0,2,0,2,0,0,0,1,0,1,0,1,2,0,2,2,\n1,1,1,1,2,1,0,1,2,2,2,1,1,1,1,1,1,1,0,1,1,1,0,0,0,0,0,0,1,1,0,0,\n2,3,2,3,3,0,0,3,0,1,1,0,1,0,0,0,2,2,1,2,0,0,0,0,0,0,0,0,2,0,1,2,\n2,2,1,1,1,1,1,2,2,2,1,0,2,0,1,0,1,0,0,1,0,1,0,0,1,0,0,0,0,1,0,0,\n3,3,3,3,2,2,2,2,2,0,2,1,1,1,1,2,1,2,1,1,0,2,0,1,0,1,0,0,2,0,1,2,\n1,1,1,1,1,1,1,2,2,1,1,0,2,0,1,0,2,0,0,1,1,1,0,0,2,0,0,0,1,1,0,0,\n2,3,3,3,3,1,0,0,0,0,0,0,0,0,0,0,2,0,0,1,1,0,0,0,0,0,0,1,2,0,1,2,\n2,2,2,1,1,2,1,1,2,2,2,1,2,0,1,1,1,1,1,1,0,1,1,1,1,0,0,1,1,1,0,0,\n2,3,3,3,3,0,2,2,0,2,1,0,0,0,1,1,1,2,0,2,0,0,0,3,0,0,0,0,2,0,2,2,\n1,1,1,2,1,2,1,1,2,2,2,1,2,0,1,1,1,0,1,1,1,1,0,2,1,0,0,0,1,1,0,0,\n2,3,3,3,3,0,2,1,0,0,2,0,0,0,0,0,1,2,0,2,0,0,0,0,0,0,0,0,2,0,1,2,\n1,1,1,2,1,1,1,1,2,2,2,0,1,0,1,1,1,0,0,1,1,1,0,0,1,0,0,0,0,1,0,0,\n3,3,2,2,3,0,1,0,1,0,0,0,0,0,0,0,1,1,0,3,0,0,0,0,0,0,0,0,1,0,2,2,\n1,1,1,1,1,2,1,1,2,2,1,2,2,1,0,1,1,1,1,1,0,1,0,0,1,0,0,0,1,1,0,0,\n3,1,0,1,0,2,2,2,2,3,2,1,1,1,2,3,0,0,1,0,2,1,1,0,1,1,1,1,2,1,1,1,\n1,2,2,1,2,1,2,2,1,1,0,1,2,1,2,2,1,1,1,0,0,1,1,1,2,1,0,1,0,0,0,0,\n2,1,0,1,0,3,1,2,2,2,2,1,2,2,1,1,1,0,2,1,2,2,1,1,2,1,1,0,2,1,1,1,\n1,2,2,2,2,2,2,2,1,2,0,1,1,0,2,1,1,1,1,1,0,0,1,1,1,1,0,1,0,0,0,0,\n2,1,1,1,1,2,2,2,2,1,2,2,2,1,2,2,1,1,2,1,2,3,2,2,1,1,1,1,0,1,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n2,2,2,3,2,0,1,2,0,1,2,1,1,0,1,0,1,2,1,2,0,0,0,1,1,0,0,0,1,0,0,2,\n1,1,0,0,1,1,0,1,1,1,1,0,2,0,1,1,1,0,0,1,1,0,0,0,0,1,0,0,0,1,0,0,\n2,0,0,0,0,1,2,2,2,2,2,2,2,1,2,1,1,1,1,1,1,1,0,1,1,1,1,1,2,1,1,1,\n1,2,2,2,2,1,1,2,1,2,1,1,1,0,2,1,2,1,1,1,0,2,1,1,1,1,0,1,0,0,0,0,\n3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,\n1,1,0,1,0,1,1,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n2,2,2,3,2,0,0,0,0,1,0,0,0,0,0,0,1,1,0,2,0,0,0,0,0,0,0,0,1,0,1,2,\n1,1,1,1,1,1,0,0,2,2,2,2,2,0,1,1,0,1,1,1,1,1,0,0,1,0,0,0,1,1,0,1,\n2,3,1,2,1,0,1,1,0,2,2,2,0,0,1,0,0,1,1,1,1,0,0,0,0,0,0,0,1,0,1,2,\n1,1,1,1,2,1,1,1,1,1,1,1,1,0,1,1,0,1,0,1,0,1,0,0,1,0,0,0,0,1,0,0,\n2,2,2,2,2,0,0,2,0,0,2,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,2,0,2,2,\n1,1,1,1,1,0,0,1,2,1,1,0,1,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,\n1,2,2,2,2,0,0,2,0,1,1,0,0,0,1,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,1,1,\n0,0,0,1,1,1,1,1,1,1,1,1,1,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,\n1,2,2,3,2,0,0,1,0,0,1,0,0,0,0,0,0,1,0,2,0,0,0,1,0,0,0,0,0,0,0,2,\n1,1,0,0,1,0,0,0,1,1,0,0,1,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,\n2,1,2,2,2,1,2,1,2,2,1,1,2,1,1,1,0,1,1,1,1,2,0,1,0,1,1,1,1,0,1,1,\n1,1,2,1,1,1,1,1,1,0,0,1,2,1,1,1,1,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0,\n1,0,0,1,3,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n2,2,2,2,1,0,0,1,0,2,0,0,0,0,0,1,1,1,0,1,0,0,0,0,0,0,0,0,2,0,0,1,\n0,2,0,1,0,0,1,1,2,0,1,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,\n1,2,2,2,2,0,1,1,0,2,1,0,1,1,1,0,0,1,0,2,0,1,0,0,0,0,0,0,0,0,0,1,\n0,1,0,0,1,0,0,0,1,1,0,0,1,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,\n2,2,2,2,2,0,0,1,0,0,0,1,0,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,\n0,1,0,1,1,1,0,0,1,1,1,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,\n2,0,1,0,0,1,2,1,1,1,1,1,1,2,2,1,0,0,1,0,1,0,0,0,0,1,1,1,1,0,0,0,\n1,1,2,1,1,1,1,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n2,2,1,2,1,0,0,1,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,1,\n0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n1,0,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,\n0,1,1,0,1,1,1,0,0,1,0,0,1,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,\n1,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,2,0,0,2,0,1,0,0,1,0,0,1,\n1,1,0,0,1,1,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,\n1,1,1,1,1,1,1,2,0,0,0,0,0,0,2,1,0,1,1,0,0,1,1,1,0,1,0,0,0,0,0,0,\n2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,1,0,1,1,1,1,1,0,1,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1\n];\n\njschardet.Latin5BulgarianModel = {\n \"charToOrderMap\" : jschardet.Latin5_BulgarianCharToOrderMap,\n \"precedenceMatrix\" : jschardet.BulgarianLangModel,\n \"mTypicalPositiveRatio\" : 0.969392,\n \"keepEnglishLetter\" : false,\n \"charsetName\" : \"ISO-8859-5\"\n};\n\njschardet.Win1251BulgarianModel = {\n \"charToOrderMap\" : jschardet.win1251BulgarianCharToOrderMap,\n \"precedenceMatrix\" : jschardet.BulgarianLangModel,\n \"mTypicalPositiveRatio\" : 0.969392,\n \"keepEnglishLetter\" : false,\n \"charsetName\" : \"windows-1251\"\n};\n\n}(__webpack_require__(/*! ./init */ \"./node_modules/jschardet/src/init.js\"));\n\n\n//# sourceURL=webpack:///./node_modules/jschardet/src/langbulgarianmodel.js?"); - -/***/ }), - -/***/ "./node_modules/jschardet/src/langcyrillicmodel.js": -/*!*********************************************************!*\ - !*** ./node_modules/jschardet/src/langcyrillicmodel.js ***! - \*********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/*\n * The Original Code is Mozilla Universal charset detector code.\n *\n * The Initial Developer of the Original Code is\n * Netscape Communications Corporation.\n * Portions created by the Initial Developer are Copyright (C) 2001\n * the Initial Developer. All Rights Reserved.\n *\n * Contributor(s):\n * António Afonso (antonio.afonso gmail.com) - port to JavaScript\n * Mark Pilgrim - port to Python\n * Shy Shalom - original C code\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA\n */\n\n!function(jschardet) {\n\n// KOI8-R language model\n// Character Mapping Table:\njschardet.KOI8R_CharToOrderMap = [\n255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, // 00\n255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // 10\n253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, // 20\n252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, // 30\n253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, // 40\n155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, // 50\n253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, // 60\n 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, // 70\n191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206, // 80\n207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222, // 90\n223,224,225, 68,226,227,228,229,230,231,232,233,234,235,236,237, // a0\n238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253, // b0\n 27, 3, 21, 28, 13, 2, 39, 19, 26, 4, 23, 11, 8, 12, 5, 1, // c0\n 15, 16, 9, 7, 6, 14, 24, 10, 17, 18, 20, 25, 30, 29, 22, 54, // d0\n 59, 37, 44, 58, 41, 48, 53, 46, 55, 42, 60, 36, 49, 38, 31, 34, // e0\n 35, 43, 45, 32, 40, 52, 56, 33, 61, 62, 51, 57, 47, 63, 50, 70 // f0\n];\n\njschardet.win1251_CharToOrderMap = [\n255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, // 00\n255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // 10\n253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, // 20\n252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, // 30\n253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, // 40\n155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, // 50\n253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, // 60\n 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, // 70\n191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,\n207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,\n223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,\n239,240,241,242,243,244,245,246, 68,247,248,249,250,251,252,253,\n 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35,\n 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43,\n 3, 21, 10, 19, 13, 2, 24, 20, 4, 23, 11, 8, 12, 5, 1, 15,\n 9, 7, 6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27, 16\n];\n\njschardet.latin5_CharToOrderMap = [\n255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, // 00\n255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // 10\n253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, // 20\n252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, // 30\n253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, // 40\n155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, // 50\n253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, // 60\n 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, // 70\n191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,\n207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,\n223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,\n 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35,\n 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43,\n 3, 21, 10, 19, 13, 2, 24, 20, 4, 23, 11, 8, 12, 5, 1, 15,\n 9, 7, 6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27, 16,\n239, 68,240,241,242,243,244,245,246,247,248,249,250,251,252,255\n];\n\njschardet.macCyrillic_CharToOrderMap = [\n255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, // 00\n255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // 10\n253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, // 20\n252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, // 30\n253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, // 40\n155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, // 50\n253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, // 60\n 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, // 70\n 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35,\n 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43,\n191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,\n207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,\n223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,\n239,240,241,242,243,244,245,246,247,248,249,250,251,252, 68, 16,\n 3, 21, 10, 19, 13, 2, 24, 20, 4, 23, 11, 8, 12, 5, 1, 15,\n 9, 7, 6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27,255\n];\n\njschardet.IBM855_CharToOrderMap = [\n255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, // 00\n255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // 10\n253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, // 20\n252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, // 30\n253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, // 40\n155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, // 50\n253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, // 60\n 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, // 70\n191,192,193,194, 68,195,196,197,198,199,200,201,202,203,204,205,\n206,207,208,209,210,211,212,213,214,215,216,217, 27, 59, 54, 70,\n 3, 37, 21, 44, 28, 58, 13, 41, 2, 48, 39, 53, 19, 46,218,219,\n220,221,222,223,224, 26, 55, 4, 42,225,226,227,228, 23, 60,229,\n230,231,232,233,234,235, 11, 36,236,237,238,239,240,241,242,243,\n 8, 49, 12, 38, 5, 31, 1, 34, 15,244,245,246,247, 35, 16,248,\n 43, 9, 45, 7, 32, 6, 40, 14, 52, 24, 56, 10, 33, 17, 61,249,\n250, 18, 62, 20, 51, 25, 57, 30, 47, 29, 63, 22, 50,251,252,255\n];\n\njschardet.IBM866_CharToOrderMap = [\n255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, // 00\n255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // 10\n253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, // 20\n252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, // 30\n253,142,143,144,145,146,147,148,149,150,151,152, 74,153, 75,154, // 40\n155,156,157,158,159,160,161,162,163,164,165,253,253,253,253,253, // 50\n253, 71,172, 66,173, 65,174, 76,175, 64,176,177, 77, 72,178, 69, // 60\n 67,179, 78, 73,180,181, 79,182,183,184,185,253,253,253,253,253, // 70\n 37, 44, 33, 46, 41, 48, 56, 51, 42, 60, 36, 49, 38, 31, 34, 35,\n 45, 32, 40, 52, 53, 55, 58, 50, 57, 63, 70, 62, 61, 47, 59, 43,\n 3, 21, 10, 19, 13, 2, 24, 20, 4, 23, 11, 8, 12, 5, 1, 15,\n191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,\n207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,\n223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,\n 9, 7, 6, 14, 39, 26, 28, 22, 25, 29, 54, 18, 17, 30, 27, 16,\n239, 68,240,241,242,243,244,245,246,247,248,249,250,251,252,255\n];\n\n// Model Table:\n// total sequences: 100%\n// first 512 sequences: 97.6601%\n// first 1024 sequences: 2.3389%\n// rest sequences: 0.1237%\n// negative sequences: 0.0009%\njschardet.RussianLangModel = [\n0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,1,3,3,3,2,3,2,3,3,\n3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,2,2,2,2,2,0,0,2,\n3,3,3,2,3,3,3,3,3,3,3,3,3,3,2,3,3,0,0,3,3,3,3,3,3,3,3,3,2,3,2,0,\n0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,3,3,2,2,3,3,3,3,3,3,3,3,3,2,3,3,0,0,3,3,3,3,3,3,3,3,2,3,3,1,0,\n0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,2,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,3,3,3,3,3,3,3,3,3,3,3,2,1,\n0,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,0,0,3,3,3,3,3,3,3,3,3,3,3,2,1,\n0,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,3,3,3,3,3,3,3,2,2,2,3,1,3,3,1,3,3,3,3,2,2,3,0,2,2,2,3,3,2,1,0,\n0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,\n3,3,3,3,3,3,2,3,3,3,3,3,2,2,3,2,3,3,3,2,1,2,2,0,1,2,2,2,2,2,2,0,\n0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,\n3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,3,0,2,2,3,3,2,1,2,0,\n0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0,\n3,3,3,3,3,3,2,3,3,1,2,3,2,2,3,2,3,3,3,3,2,2,3,0,3,2,2,3,1,1,1,0,\n0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,3,3,3,3,3,3,3,2,2,3,3,3,3,3,2,3,3,3,3,2,2,2,0,3,3,3,2,2,2,2,0,\n0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,3,3,3,3,3,3,3,3,3,2,3,2,3,3,3,3,3,3,2,3,2,2,0,1,3,2,1,2,2,1,0,\n0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,\n3,3,3,3,3,3,3,3,3,3,3,2,1,1,3,0,1,1,1,1,2,1,1,0,2,2,2,1,2,0,1,0,\n0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,3,3,3,3,3,2,3,3,2,2,2,2,1,3,2,3,2,3,2,1,2,2,0,1,1,2,1,2,1,2,0,\n0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,3,3,3,3,3,3,3,3,3,3,3,2,2,3,2,3,3,3,2,2,2,2,0,2,2,2,2,3,1,1,0,\n0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,\n3,2,3,2,2,3,3,3,3,3,3,3,3,3,1,3,2,0,0,3,3,3,3,2,3,3,3,3,2,3,2,0,\n0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n2,3,3,3,3,3,2,2,3,3,0,2,1,0,3,2,3,2,3,0,0,1,2,0,0,1,0,1,2,1,1,0,\n0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,0,3,0,2,3,3,3,3,2,3,3,3,3,1,2,2,0,0,2,3,2,2,2,3,2,3,2,2,3,0,0,\n0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,2,3,0,2,3,2,3,0,1,2,3,3,2,0,2,3,0,0,2,3,2,2,0,1,3,1,3,2,2,1,0,\n0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,1,3,0,2,3,3,3,3,3,3,3,3,2,1,3,2,0,0,2,2,3,3,3,2,3,3,0,2,2,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,3,3,3,3,3,2,2,3,3,2,2,2,3,3,0,0,1,1,1,1,1,2,0,0,1,1,1,1,0,1,0,\n0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,3,3,3,3,3,2,2,3,3,3,3,3,3,3,0,3,2,3,3,2,3,2,0,2,1,0,1,1,0,1,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,\n3,3,3,3,3,3,2,3,3,3,2,2,2,2,3,1,3,2,3,1,1,2,1,0,2,2,2,2,1,3,1,0,\n0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,\n2,2,3,3,3,3,3,1,2,2,1,3,1,0,3,0,0,3,0,0,0,1,1,0,1,2,1,0,0,0,0,0,\n0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,2,2,1,1,3,3,3,2,2,1,2,2,3,1,1,2,0,0,2,2,1,3,0,0,2,1,1,2,1,1,0,\n0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,2,3,3,3,3,1,2,2,2,1,2,1,3,3,1,1,2,1,2,1,2,2,0,2,0,0,1,1,0,1,0,\n0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n2,3,3,3,3,3,2,1,3,2,2,3,2,0,3,2,0,3,0,1,0,1,1,0,0,1,1,1,1,0,1,0,\n0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,3,2,3,3,3,2,2,2,3,3,1,2,1,2,1,0,1,0,1,1,0,1,0,0,2,1,1,1,0,1,0,\n0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,\n3,1,1,2,1,2,3,3,2,2,1,2,2,3,0,2,1,0,0,2,2,3,2,1,2,2,2,2,2,3,1,0,\n0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,3,3,3,3,1,1,0,1,1,2,2,1,1,3,0,0,1,3,1,1,1,0,0,0,1,0,1,1,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n2,1,3,3,3,2,0,0,0,2,1,0,1,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n2,0,1,0,0,2,3,2,2,2,1,2,2,2,1,2,1,0,0,1,1,1,0,2,0,1,1,1,0,0,1,1,\n1,0,0,0,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,\n2,3,3,3,3,0,0,0,0,1,0,0,0,0,3,0,1,2,1,0,0,0,0,0,0,0,1,1,0,0,1,1,\n1,0,1,0,1,2,0,0,1,1,2,1,0,1,1,1,1,0,1,1,1,1,0,1,0,0,1,0,0,1,1,0,\n2,2,3,2,2,2,3,1,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,0,1,0,1,1,1,0,2,1,\n1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,0,1,0,1,1,0,1,1,1,0,1,1,0,\n3,3,3,2,2,2,2,3,2,2,1,1,2,2,2,2,1,1,3,1,2,1,2,0,0,1,1,0,1,0,2,1,\n1,1,1,1,1,2,1,0,1,1,1,1,0,1,0,0,1,1,0,0,1,0,1,0,0,1,0,0,0,1,1,0,\n2,0,0,1,0,3,2,2,2,2,1,2,1,2,1,2,0,0,0,2,1,2,2,1,1,2,2,0,1,1,0,2,\n1,1,1,1,1,0,1,1,1,2,1,1,1,2,1,0,1,2,1,1,1,1,0,1,1,1,0,0,1,0,0,1,\n1,3,2,2,2,1,1,1,2,3,0,0,0,0,2,0,2,2,1,0,0,0,0,0,0,1,0,0,0,0,1,1,\n1,0,1,1,0,1,0,1,1,0,1,1,0,2,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,1,1,0,\n2,3,2,3,2,1,2,2,2,2,1,0,0,0,2,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,2,1,\n1,1,2,1,0,2,0,0,1,0,1,0,0,1,0,0,1,1,0,1,1,0,0,0,0,0,1,0,0,0,0,0,\n3,0,0,1,0,2,2,2,3,2,2,2,2,2,2,2,0,0,0,2,1,2,1,1,1,2,2,0,0,0,1,2,\n1,1,1,1,1,0,1,2,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0,1,\n2,3,2,3,3,2,0,1,1,1,0,0,1,0,2,0,1,1,3,1,0,0,0,0,0,0,0,1,0,0,2,1,\n1,1,1,1,1,1,1,0,1,0,1,1,1,1,0,1,1,1,0,0,1,1,0,1,0,0,0,0,0,0,1,0,\n2,3,3,3,3,1,2,2,2,2,0,1,1,0,2,1,1,1,2,1,0,1,1,0,0,1,0,1,0,0,2,0,\n0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n2,3,3,3,2,0,0,1,1,2,2,1,0,0,2,0,1,1,3,0,0,1,0,0,0,0,0,1,0,1,2,1,\n1,1,2,0,1,1,1,0,1,0,1,1,0,1,0,1,1,1,1,0,1,0,0,0,0,0,0,1,0,1,1,0,\n1,3,2,3,2,1,0,0,2,2,2,0,1,0,2,0,1,1,1,0,1,0,0,0,3,0,1,1,0,0,2,1,\n1,1,1,0,1,1,0,0,0,0,1,1,0,1,0,0,2,1,1,0,1,0,0,0,1,0,1,0,0,1,1,0,\n3,1,2,1,1,2,2,2,2,2,2,1,2,2,1,1,0,0,0,2,2,2,0,0,0,1,2,1,0,1,0,1,\n2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2,1,1,1,0,1,0,1,1,0,1,1,1,0,0,1,\n3,0,0,0,0,2,0,1,1,1,1,1,1,1,0,1,0,0,0,1,1,1,0,1,0,1,1,0,0,1,0,1,\n1,1,0,0,1,0,0,0,1,0,1,1,0,0,1,0,1,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1,\n1,3,3,2,2,0,0,0,2,2,0,0,0,1,2,0,1,1,2,0,0,0,0,0,0,0,0,1,0,0,2,1,\n0,1,1,0,0,1,1,0,0,0,1,1,0,1,1,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,1,0,\n2,3,2,3,2,0,0,0,0,1,1,0,0,0,2,0,2,0,2,0,0,0,0,0,1,0,0,1,0,0,1,1,\n1,1,2,0,1,2,1,0,1,1,2,1,1,1,1,1,2,1,1,0,1,0,0,1,1,1,1,1,0,1,1,0,\n1,3,2,2,2,1,0,0,2,2,1,0,1,2,2,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,1,1,\n0,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,\n1,0,0,1,0,2,3,1,2,2,2,2,2,2,1,1,0,0,0,1,0,1,0,2,1,1,1,0,0,0,0,1,\n1,1,0,1,1,0,1,1,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,\n2,0,2,0,0,1,0,3,2,1,2,1,2,2,0,1,0,0,0,2,1,0,0,2,1,1,1,1,0,2,0,2,\n2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,0,1,1,1,1,0,0,0,1,1,1,1,0,1,0,0,1,\n1,2,2,2,2,1,0,0,1,0,0,0,0,0,2,0,1,1,1,1,0,0,0,0,1,0,1,2,0,0,2,0,\n1,0,1,1,1,2,1,0,1,0,1,1,0,0,1,0,1,1,1,0,1,0,0,0,1,0,0,1,0,1,1,0,\n2,1,2,2,2,0,3,0,1,1,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,\n0,0,0,1,1,1,0,0,1,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,\n1,2,2,3,2,2,0,0,1,1,2,0,1,2,1,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,1,\n0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,1,1,0,0,1,0,0,0,0,0,0,0,0,1,1,0,\n2,2,1,1,2,1,2,2,2,2,2,1,2,2,0,1,0,0,0,1,2,2,2,1,2,1,1,1,1,1,2,1,\n1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,0,1,1,1,0,0,0,0,1,1,1,0,1,1,0,0,1,\n1,2,2,2,2,0,1,0,2,2,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,\n0,0,1,0,0,1,0,0,0,0,1,0,1,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,\n0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n1,2,2,2,2,0,0,0,2,2,2,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,\n0,1,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n1,2,2,2,2,0,0,0,0,1,0,0,1,1,2,0,0,0,0,1,0,1,0,0,1,0,0,2,0,0,0,1,\n0,0,1,0,0,1,0,0,0,1,1,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,\n1,2,2,2,1,1,2,0,2,1,1,1,1,0,2,2,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,\n0,0,1,0,1,1,0,0,0,0,1,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,\n1,0,2,1,2,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,\n0,0,1,0,1,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,\n1,0,0,0,0,2,0,1,2,1,0,1,1,1,0,1,0,0,0,1,0,1,0,0,1,0,1,0,0,0,0,1,\n0,0,0,0,0,1,0,0,1,1,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,\n2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,\n1,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,\n2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,\n1,1,1,0,1,0,1,0,0,1,1,1,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,\n1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,\n1,1,0,1,1,0,1,0,1,0,0,0,0,1,1,0,1,1,0,0,0,0,0,1,0,1,1,0,1,0,0,0,\n0,1,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0\n];\n\njschardet.Koi8rModel = {\n \"charToOrderMap\" : jschardet.KOI8R_CharToOrderMap,\n \"precedenceMatrix\" : jschardet.RussianLangModel,\n \"mTypicalPositiveRatio\" : 0.976601,\n \"keepEnglishLetter\" : false,\n \"charsetName\" : \"KOI8-R\"\n};\n\njschardet.Win1251CyrillicModel = {\n \"charToOrderMap\" : jschardet.win1251_CharToOrderMap,\n \"precedenceMatrix\" : jschardet.RussianLangModel,\n \"mTypicalPositiveRatio\" : 0.976601,\n \"keepEnglishLetter\" : false,\n \"charsetName\" : \"windows-1251\"\n};\n\njschardet.Latin5CyrillicModel = {\n \"charToOrderMap\" : jschardet.latin5_CharToOrderMap,\n \"precedenceMatrix\" : jschardet.RussianLangModel,\n \"mTypicalPositiveRatio\" : 0.976601,\n \"keepEnglishLetter\" : false,\n \"charsetName\" : \"ISO-8859-5\"\n};\n\njschardet.MacCyrillicModel = {\n \"charToOrderMap\" : jschardet.macCyrillic_CharToOrderMap,\n \"precedenceMatrix\" : jschardet.RussianLangModel,\n \"mTypicalPositiveRatio\" : 0.976601,\n \"keepEnglishLetter\" : false,\n \"charsetName\" : \"MacCyrillic\"\n};\n\njschardet.Ibm866Model = {\n \"charToOrderMap\" : jschardet.IBM866_CharToOrderMap,\n \"precedenceMatrix\" : jschardet.RussianLangModel,\n \"mTypicalPositiveRatio\" : 0.976601,\n \"keepEnglishLetter\" : false,\n \"charsetName\" : \"IBM866\"\n};\n\njschardet.Ibm855Model = {\n \"charToOrderMap\" : jschardet.IBM855_CharToOrderMap,\n \"precedenceMatrix\" : jschardet.RussianLangModel,\n \"mTypicalPositiveRatio\" : 0.976601,\n \"keepEnglishLetter\" : false,\n \"charsetName\" : \"IBM855\"\n};\n\n}(__webpack_require__(/*! ./init */ \"./node_modules/jschardet/src/init.js\"));\n\n\n//# sourceURL=webpack:///./node_modules/jschardet/src/langcyrillicmodel.js?"); - -/***/ }), - -/***/ "./node_modules/jschardet/src/langgreekmodel.js": -/*!******************************************************!*\ - !*** ./node_modules/jschardet/src/langgreekmodel.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/*\n * The Original Code is Mozilla Universal charset detector code.\n *\n * The Initial Developer of the Original Code is\n * Netscape Communications Corporation.\n * Portions created by the Initial Developer are Copyright (C) 2001\n * the Initial Developer. All Rights Reserved.\n *\n * Contributor(s):\n * António Afonso (antonio.afonso gmail.com) - port to JavaScript\n * Mark Pilgrim - port to Python\n * Shy Shalom - original C code\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA\n */\n\n!function(jschardet) {\n\n// 255: Control characters that usually does not exist in any text\n// 254: Carriage/Return\n// 253: symbol (punctuation) that does not belong to word\n// 252: 0 - 9\n\n// Character Mapping Table:\njschardet.Latin7_CharToOrderMap = [\n255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, // 00\n255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // 10\n253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, // 20\n252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, // 30\n253, 82,100,104, 94, 98,101,116,102,111,187,117, 92, 88,113, 85, // 40\n 79,118,105, 83, 67,114,119, 95, 99,109,188,253,253,253,253,253, // 50\n253, 72, 70, 80, 81, 60, 96, 93, 89, 68,120, 97, 77, 86, 69, 55, // 60\n 78,115, 65, 66, 58, 76,106,103, 87,107,112,253,253,253,253,253, // 70\n255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // 80\n255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // 90\n253,233, 90,253,253,253,253,253,253,253,253,253,253, 74,253,253, // a0\n253,253,253,253,247,248, 61, 36, 46, 71, 73,253, 54,253,108,123, // b0\n110, 31, 51, 43, 41, 34, 91, 40, 52, 47, 44, 53, 38, 49, 59, 39, // c0\n 35, 48,250, 37, 33, 45, 56, 50, 84, 57,120,121, 17, 18, 22, 15, // d0\n124, 1, 29, 20, 21, 3, 32, 13, 25, 5, 11, 16, 10, 6, 30, 4, // e0\n 9, 8, 14, 7, 2, 12, 28, 23, 42, 24, 64, 75, 19, 26, 27,253 // f0\n];\n\njschardet.win1253_CharToOrderMap = [\n255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, // 00\n255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // 10\n253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, // 20\n252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, // 30\n253, 82,100,104, 94, 98,101,116,102,111,187,117, 92, 88,113, 85, // 40\n 79,118,105, 83, 67,114,119, 95, 99,109,188,253,253,253,253,253, // 50\n253, 72, 70, 80, 81, 60, 96, 93, 89, 68,120, 97, 77, 86, 69, 55, // 60\n 78,115, 65, 66, 58, 76,106,103, 87,107,112,253,253,253,253,253, // 70\n255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // 80\n255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // 90\n253,233, 61,253,253,253,253,253,253,253,253,253,253, 74,253,253, // a0\n253,253,253,253,247,253,253, 36, 46, 71, 73,253, 54,253,108,123, // b0\n110, 31, 51, 43, 41, 34, 91, 40, 52, 47, 44, 53, 38, 49, 59, 39, // c0\n 35, 48,250, 37, 33, 45, 56, 50, 84, 57,120,121, 17, 18, 22, 15, // d0\n124, 1, 29, 20, 21, 3, 32, 13, 25, 5, 11, 16, 10, 6, 30, 4, // e0\n 9, 8, 14, 7, 2, 12, 28, 23, 42, 24, 64, 75, 19, 26, 27,253 // f0\n]\n\n// Model Table:\n// total sequences: 100%\n// first 512 sequences: 98.2851%\n// first 1024 sequences:1.7001%\n// rest sequences: 0.0359%\n// negative sequences: 0.0148%\njschardet.GreekLangModel = [\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,3,2,2,3,3,3,3,3,3,3,3,1,3,3,3,0,2,2,3,3,0,3,0,3,2,0,3,3,3,0,\n3,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,3,3,3,3,3,0,3,3,0,3,2,3,3,0,3,2,3,3,3,0,0,3,0,3,0,3,3,2,0,0,0,\n2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,\n0,2,3,2,2,3,3,3,3,3,3,3,3,0,3,3,3,3,0,2,3,3,0,3,3,3,3,2,3,3,3,0,\n2,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,2,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,0,2,1,3,3,3,3,2,3,3,2,3,3,2,0,\n0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,3,3,3,3,0,3,3,3,3,3,3,0,3,3,0,3,3,3,3,3,3,3,3,3,3,0,3,2,3,3,0,\n2,0,1,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,\n0,3,3,3,3,3,2,3,0,0,0,0,3,3,0,3,1,3,3,3,0,3,3,0,3,3,3,3,0,0,0,0,\n2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,3,3,3,3,3,0,3,0,3,3,3,3,3,0,3,2,2,2,3,0,2,3,3,3,3,3,2,3,3,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,3,3,3,3,3,3,2,2,2,3,3,3,3,0,3,1,3,3,3,3,2,3,3,3,3,3,3,3,2,2,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,3,3,3,3,3,2,0,3,0,0,0,3,3,2,3,3,3,3,3,0,0,3,2,3,0,2,3,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,3,0,3,3,3,3,0,0,3,3,0,2,3,0,3,0,3,3,3,0,0,3,0,3,0,2,2,3,3,0,0,\n0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,3,3,3,3,3,2,0,3,2,3,3,3,3,0,3,3,3,3,3,0,3,3,2,3,2,3,3,2,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,3,3,2,3,2,3,3,3,3,3,3,0,2,3,2,3,2,2,2,3,2,3,3,2,3,0,2,2,2,3,0,\n2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,3,0,0,0,3,3,3,2,3,3,0,0,3,0,3,0,0,0,3,2,0,3,0,3,0,0,2,0,2,0,\n0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,3,3,3,3,0,3,3,3,3,3,3,0,3,3,0,3,0,0,0,3,3,0,3,3,3,0,0,1,2,3,0,\n3,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,3,3,3,3,3,2,0,0,3,2,2,3,3,0,3,3,3,3,3,2,1,3,0,3,2,3,3,2,1,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,3,3,0,2,3,3,3,3,3,3,0,0,3,0,3,0,0,0,3,3,0,3,2,3,0,0,3,3,3,0,\n3,0,0,0,2,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,3,3,3,3,0,3,3,3,3,3,3,0,0,3,0,3,0,0,0,3,2,0,3,2,3,0,0,3,2,3,0,\n2,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,3,1,2,2,3,3,3,3,3,3,0,2,3,0,3,0,0,0,3,3,0,3,0,2,0,0,2,3,1,0,\n2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,3,0,3,3,3,3,0,3,0,3,3,2,3,0,3,3,3,3,3,3,0,3,3,3,0,2,3,0,0,3,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,3,0,3,3,3,0,0,3,0,0,0,3,3,0,3,0,2,3,3,0,0,3,0,3,0,3,3,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,3,0,0,0,3,3,3,3,3,3,0,0,3,0,2,0,0,0,3,3,0,3,0,3,0,0,2,0,2,0,\n0,0,0,0,1,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,3,3,3,3,3,3,0,3,0,2,0,3,2,0,3,2,3,2,3,0,0,3,2,3,2,3,3,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,3,0,0,2,3,3,3,3,3,0,0,0,3,0,2,1,0,0,3,2,2,2,0,3,0,0,2,2,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,3,0,3,3,3,2,0,3,0,3,0,3,3,0,2,1,2,3,3,0,0,3,0,3,0,3,3,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,2,3,3,3,0,3,3,3,3,3,3,0,2,3,0,3,0,0,0,2,1,0,2,2,3,0,0,2,2,2,0,\n0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,3,0,0,2,3,3,3,2,3,0,0,1,3,0,2,0,0,0,0,3,0,1,0,2,0,0,1,1,1,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,3,3,3,3,3,1,0,3,0,0,0,3,2,0,3,2,3,3,3,0,0,3,0,3,2,2,2,1,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,3,0,3,3,3,0,0,3,0,0,0,0,2,0,2,3,3,2,2,2,2,3,0,2,0,2,2,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,3,3,3,3,2,0,0,0,0,0,0,2,3,0,2,0,2,3,2,0,0,3,0,3,0,3,1,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,3,2,3,3,2,2,3,0,2,0,3,0,0,0,2,0,0,0,0,1,2,0,2,0,2,0,\n0,2,0,2,0,2,2,0,0,1,0,2,2,2,0,2,2,2,0,2,2,2,0,0,2,0,0,1,0,0,0,0,\n0,2,0,3,3,2,0,0,0,0,0,0,1,3,0,2,0,2,2,2,0,0,2,0,3,0,0,2,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,3,0,2,3,2,0,2,2,0,2,0,2,2,0,2,0,2,2,2,0,0,0,0,0,0,2,3,0,0,0,2,\n0,1,2,0,0,0,0,2,2,0,0,0,2,1,0,2,2,0,0,0,0,0,0,1,0,2,0,0,0,0,0,0,\n0,0,2,1,0,2,3,2,2,3,2,3,2,0,0,3,3,3,0,0,3,2,0,0,0,1,1,0,2,0,2,2,\n0,2,0,2,0,2,2,0,0,2,0,2,2,2,0,2,2,2,2,0,0,2,0,0,0,2,0,1,0,0,0,0,\n0,3,0,3,3,2,2,0,3,0,0,0,2,2,0,2,2,2,1,2,0,0,1,2,2,0,0,3,0,0,0,2,\n0,1,2,0,0,0,1,2,0,0,0,0,0,0,0,2,2,0,1,0,0,2,0,0,0,2,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,2,3,3,2,2,0,0,0,2,0,2,3,3,0,2,0,0,0,0,0,0,2,2,2,0,2,2,0,2,0,2,\n0,2,2,0,0,2,2,2,2,1,0,0,2,2,0,2,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0,\n0,2,0,3,2,3,0,0,0,3,0,0,2,2,0,2,0,2,2,2,0,0,2,0,0,0,0,0,0,0,0,2,\n0,0,2,2,0,0,2,2,2,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,2,0,0,3,2,0,2,2,2,2,2,0,0,0,2,0,0,0,0,2,0,1,0,0,2,0,1,0,0,0,\n0,2,2,2,0,2,2,0,1,2,0,2,2,2,0,2,2,2,2,1,2,2,0,0,2,0,0,0,0,0,0,0,\n0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,\n0,2,0,2,0,2,2,0,0,0,0,1,2,1,0,0,2,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,3,2,3,0,0,2,0,0,0,2,2,0,2,0,0,0,1,0,0,2,0,2,0,2,2,0,0,0,0,\n0,0,2,0,0,0,0,2,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,\n0,2,2,3,2,2,0,0,0,0,0,0,1,3,0,2,0,2,2,0,0,0,1,0,2,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,2,0,2,0,3,2,0,2,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,\n0,0,2,0,0,0,0,1,1,0,0,2,1,2,0,2,2,0,1,0,0,1,0,0,0,2,0,0,0,0,0,0,\n0,3,0,2,2,2,0,0,2,0,0,0,2,0,0,0,2,3,0,2,0,0,0,0,0,0,2,2,0,0,0,2,\n0,1,2,0,0,0,1,2,2,1,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,2,1,2,0,2,2,0,2,0,0,2,0,0,0,0,1,2,1,0,2,1,0,0,0,0,0,0,0,0,0,0,\n0,0,2,0,0,0,3,1,2,2,0,2,0,0,0,0,2,0,0,0,2,0,0,3,0,0,0,0,2,2,2,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,2,1,0,2,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0,2,\n0,2,2,0,0,2,2,2,2,2,0,1,2,0,0,0,2,2,0,1,0,2,0,0,2,2,0,0,0,0,0,0,\n0,0,0,0,1,0,0,0,0,0,0,0,3,0,0,2,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,2,\n0,1,2,0,0,0,0,2,2,1,0,1,0,1,0,2,2,2,1,0,0,0,0,0,0,1,0,0,0,0,0,0,\n0,2,0,1,2,0,0,0,0,0,0,0,0,0,0,2,0,0,2,2,0,0,0,0,1,0,0,0,0,0,0,2,\n0,2,2,0,0,0,0,2,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,\n0,2,2,2,2,0,0,0,3,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0,1,\n0,0,2,0,0,0,0,1,2,0,0,0,0,0,0,2,2,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,\n0,2,0,2,2,2,0,0,2,0,0,0,0,0,0,0,2,2,2,0,0,0,2,0,0,0,0,0,0,0,0,2,\n0,0,1,0,0,0,0,2,1,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,\n0,3,0,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,2,\n0,0,2,0,0,0,0,2,2,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,2,0,2,2,1,0,0,0,0,0,0,2,0,0,2,0,2,2,2,0,0,0,0,0,0,2,0,0,0,0,2,\n0,0,2,0,0,2,0,2,2,0,0,0,0,2,0,2,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,\n0,0,3,0,0,0,2,2,0,2,2,0,0,0,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,\n0,2,2,2,2,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,\n0,0,0,0,0,0,0,2,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,2,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,\n0,2,0,0,0,2,0,0,0,0,0,1,0,0,0,0,2,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,2,0,0,0,\n0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,2,0,2,0,0,0,\n0,0,0,0,0,0,0,0,2,1,0,0,0,0,0,0,2,0,0,0,1,2,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0\n];\n\njschardet.Latin7GreekModel = {\n \"charToOrderMap\" : jschardet.Latin7_CharToOrderMap,\n \"precedenceMatrix\" : jschardet.GreekLangModel,\n \"mTypicalPositiveRatio\" : 0.982851,\n \"keepEnglishLetter\" : false,\n \"charsetName\" : \"ISO-8859-7\"\n};\n\njschardet.Win1253GreekModel = {\n \"charToOrderMap\" : jschardet.win1253_CharToOrderMap,\n \"precedenceMatrix\" : jschardet.GreekLangModel,\n \"mTypicalPositiveRatio\" : 0.982851,\n \"keepEnglishLetter\" : false,\n \"charsetName\" : \"windows-1253\"\n};\n\n}(__webpack_require__(/*! ./init */ \"./node_modules/jschardet/src/init.js\"));\n\n\n//# sourceURL=webpack:///./node_modules/jschardet/src/langgreekmodel.js?"); - -/***/ }), - -/***/ "./node_modules/jschardet/src/langhebrewmodel.js": -/*!*******************************************************!*\ - !*** ./node_modules/jschardet/src/langhebrewmodel.js ***! - \*******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/*\n * The Original Code is Mozilla Universal charset detector code.\n *\n * The Initial Developer of the Original Code is\n * Netscape Communications Corporation.\n * Portions created by the Initial Developer are Copyright (C) 2001\n * the Initial Developer. All Rights Reserved.\n *\n * Contributor(s):\n * António Afonso (antonio.afonso gmail.com) - port to JavaScript\n * Mark Pilgrim - port to Python\n * Shy Shalom - original C code\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA\n */\n\n!function(jschardet) {\n\n// 255: Control characters that usually does not exist in any text\n// 254: Carriage/Return\n// 253: symbol (punctuation) that does not belong to word\n// 252: 0 - 9\n\n// Windows-1255 language model\n// Character Mapping Table:\njschardet.win1255_CharToOrderMap = [\n255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, // 00\n255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // 10\n253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, // 20\n252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, // 30\n253, 69, 91, 79, 80, 92, 89, 97, 90, 68,111,112, 82, 73, 95, 85, // 40\n 78,121, 86, 71, 67,102,107, 84,114,103,115,253,253,253,253,253, // 50\n253, 50, 74, 60, 61, 42, 76, 70, 64, 53,105, 93, 56, 65, 54, 49, // 60\n 66,110, 51, 43, 44, 63, 81, 77, 98, 75,108,253,253,253,253,253, // 70\n124,202,203,204,205, 40, 58,206,207,208,209,210,211,212,213,214,\n215, 83, 52, 47, 46, 72, 32, 94,216,113,217,109,218,219,220,221,\n 34,116,222,118,100,223,224,117,119,104,125,225,226, 87, 99,227,\n106,122,123,228, 55,229,230,101,231,232,120,233, 48, 39, 57,234,\n 30, 59, 41, 88, 33, 37, 36, 31, 29, 35,235, 62, 28,236,126,237,\n238, 38, 45,239,240,241,242,243,127,244,245,246,247,248,249,250,\n 9, 8, 20, 16, 3, 2, 24, 14, 22, 1, 25, 15, 4, 11, 6, 23,\n 12, 19, 13, 26, 18, 27, 21, 17, 7, 10, 5,251,252,128, 96,253\n];\n\n// Model Table:\n// total sequences: 100%\n// first 512 sequences: 98.4004%\n// first 1024 sequences: 1.5981%\n// rest sequences: 0.087%\n// negative sequences: 0.0015%\njschardet.HebrewLangModel = [\n0,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,2,3,2,1,2,0,1,0,0,\n3,0,3,1,0,0,1,3,2,0,1,1,2,0,2,2,2,1,1,1,1,2,1,1,1,2,0,0,2,2,0,1,\n3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,\n1,2,1,2,1,2,0,0,2,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,\n3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,\n1,2,1,3,1,1,0,0,2,0,0,0,1,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,\n3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,0,1,2,2,1,3,\n1,2,1,1,2,2,0,0,2,2,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,1,0,1,1,0,\n3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,2,2,2,2,3,2,\n1,2,1,2,2,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,\n3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,2,3,2,2,3,2,2,2,1,2,2,2,2,\n1,2,1,1,2,2,0,1,2,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,\n3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,0,2,2,2,2,2,\n0,2,0,2,2,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,\n3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,0,2,2,2,\n0,2,1,2,2,2,0,0,2,1,0,0,0,0,1,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,1,0,\n3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,2,1,2,3,2,2,2,\n1,2,1,2,2,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,0,\n3,3,3,3,3,3,3,3,3,2,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,1,0,2,0,2,\n0,2,1,2,2,2,0,0,1,2,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,2,0,0,1,0,\n3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,2,3,2,2,3,2,1,2,1,1,1,\n0,1,1,1,1,1,3,0,1,0,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,\n3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,1,1,0,0,1,0,0,1,0,0,0,0,\n0,0,1,0,0,0,0,0,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,\n0,2,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,\n3,3,3,3,3,3,3,3,3,2,3,3,3,2,1,2,3,3,2,3,3,3,3,2,3,2,1,2,0,2,1,2,\n0,2,0,2,2,2,0,0,1,2,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,\n3,3,3,3,3,3,3,3,3,2,3,3,3,1,2,2,3,3,2,3,2,3,2,2,3,1,2,2,0,2,2,2,\n0,2,1,2,2,2,0,0,1,2,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,1,0,\n3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,2,3,3,2,2,2,3,3,3,3,1,3,2,2,2,\n0,2,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,\n3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,3,3,3,2,3,2,2,2,1,2,2,0,2,2,2,2,\n0,2,0,2,2,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,\n3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,1,3,2,3,3,2,3,3,2,2,1,2,2,2,2,2,2,\n0,2,1,2,1,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0,\n3,3,3,3,3,3,2,3,2,3,3,2,3,3,3,3,2,3,2,3,3,3,3,3,2,2,2,2,2,2,2,1,\n0,2,0,1,2,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,\n3,3,3,3,3,3,3,3,3,2,1,2,3,3,3,3,3,3,3,2,3,2,3,2,1,2,3,0,2,1,2,2,\n0,2,1,1,2,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,2,0,\n3,3,3,3,3,3,3,3,3,2,3,3,3,3,2,1,3,1,2,2,2,1,2,3,3,1,2,1,2,2,2,2,\n0,1,1,1,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0,\n3,3,3,3,3,3,3,3,3,3,0,2,3,3,3,1,3,3,3,1,2,2,2,2,1,1,2,2,2,2,2,2,\n0,2,0,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,\n3,3,3,3,3,3,2,3,3,3,2,2,3,3,3,2,1,2,3,2,3,2,2,2,2,1,2,1,1,1,2,2,\n0,2,1,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,\n3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,1,0,0,0,0,0,\n1,0,1,0,0,0,0,0,2,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,3,3,3,3,2,3,3,2,3,1,2,2,2,2,3,2,3,1,1,2,2,1,2,2,1,1,0,2,2,2,2,\n0,1,0,1,2,2,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,\n3,0,0,1,1,0,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,0,\n0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,0,1,0,1,0,1,1,0,1,1,0,0,0,1,1,0,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,\n0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,0,0,0,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,\n3,2,2,1,2,2,2,2,2,2,2,1,2,2,1,2,2,1,1,1,1,1,1,1,1,2,1,1,0,3,3,3,\n0,3,0,2,2,2,2,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,\n2,2,2,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,1,2,2,2,1,1,1,2,0,1,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,0,2,2,0,0,0,0,0,0,\n0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n2,3,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,1,0,2,1,0,\n0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,\n0,3,1,1,2,2,2,2,2,1,2,2,2,1,1,2,2,2,2,2,2,2,1,2,2,1,0,1,1,1,1,0,\n0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,2,1,1,1,1,2,1,1,2,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,0,0,0,0,\n0,0,2,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,0,0,\n2,1,1,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,1,2,1,2,1,1,1,1,0,0,0,0,\n0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n1,2,1,2,2,2,2,2,2,2,2,2,2,1,2,1,2,1,1,2,1,1,1,2,1,2,1,2,0,1,0,1,\n0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,3,1,2,2,2,1,2,2,2,2,2,2,2,2,1,2,1,1,1,1,1,1,2,1,2,1,1,0,1,0,1,\n0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n2,1,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,\n0,2,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,\n3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n2,1,1,1,1,1,1,1,0,1,1,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,2,0,1,1,1,0,1,0,0,0,1,1,0,1,1,0,0,0,0,0,1,1,0,0,\n0,1,1,1,2,1,2,2,2,0,2,0,2,0,1,1,2,1,1,1,1,2,1,0,1,1,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,\n1,0,1,0,0,0,0,0,1,0,1,2,2,0,1,0,0,1,1,2,2,1,2,0,2,0,0,0,1,2,0,1,\n2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,2,0,2,1,2,0,2,0,0,1,1,1,1,1,1,0,1,0,0,0,1,0,0,1,\n2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,1,0,0,0,0,0,1,0,2,1,1,0,1,0,0,1,1,1,2,2,0,0,1,0,0,0,1,0,0,1,\n1,1,2,1,0,1,1,1,0,1,0,1,1,1,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,2,2,1,\n0,2,0,1,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n2,1,0,0,1,0,1,1,1,1,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n1,1,1,1,1,1,1,1,1,2,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,1,1,1,0,1,1,0,1,0,0,0,1,1,0,1,\n2,0,1,0,1,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,1,0,1,1,1,0,1,0,0,1,1,2,1,1,2,0,1,0,0,0,1,1,0,1,\n1,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,1,0,1,1,2,0,1,0,0,0,0,2,1,1,2,0,2,0,0,0,1,1,0,1,\n1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,1,0,2,1,1,0,1,0,0,2,2,1,2,1,1,0,1,0,0,0,1,1,0,1,\n2,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,1,1,0,1,0,0,1,0,0,0,0,1,0,1,\n1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,1,2,2,0,0,0,0,2,1,1,1,0,2,1,1,0,0,0,2,1,0,1,\n1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,1,0,1,1,2,0,1,0,0,1,1,0,2,1,1,0,1,0,0,0,1,1,0,1,\n2,2,1,1,1,0,1,1,0,1,1,0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,1,0,2,1,1,0,1,0,0,1,1,0,1,2,1,0,2,0,0,0,1,1,0,1,\n2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,\n0,1,0,0,2,0,2,1,1,0,1,0,1,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,1,0,1,1,2,0,1,0,0,1,1,1,0,1,0,0,1,0,0,0,1,0,0,1,\n1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n1,0,0,0,0,0,0,0,1,0,1,1,0,0,1,0,0,2,1,1,1,1,1,0,1,0,0,0,0,1,0,1,\n0,1,1,1,2,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,1,2,1,0,0,0,0,0,1,1,1,1,1,0,1,0,0,0,1,1,0,0\n];\n\njschardet.Win1255HebrewModel = {\n \"charToOrderMap\" : jschardet.win1255_CharToOrderMap,\n \"precedenceMatrix\" : jschardet.HebrewLangModel,\n \"mTypicalPositiveRatio\" : 0.984004,\n \"keepEnglishLetter\" : false,\n \"charsetName\" : \"windows-1255\"\n};\n\n}(__webpack_require__(/*! ./init */ \"./node_modules/jschardet/src/init.js\"));\n\n\n//# sourceURL=webpack:///./node_modules/jschardet/src/langhebrewmodel.js?"); - -/***/ }), - -/***/ "./node_modules/jschardet/src/langhungarianmodel.js": -/*!**********************************************************!*\ - !*** ./node_modules/jschardet/src/langhungarianmodel.js ***! - \**********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/*\n * The Original Code is Mozilla Universal charset detector code.\n *\n * The Initial Developer of the Original Code is\n * Netscape Communications Corporation.\n * Portions created by the Initial Developer are Copyright (C) 2001\n * the Initial Developer. All Rights Reserved.\n *\n * Contributor(s):\n * António Afonso (antonio.afonso gmail.com) - port to JavaScript\n * Mark Pilgrim - port to Python\n * Shy Shalom - original C code\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA\n */\n\n!function(jschardet) {\n\n// 255: Control characters that usually does not exist in any text\n// 254: Carriage/Return\n// 253: symbol (punctuation) that does not belong to word\n// 252: 0 - 9\n\n// Character Mapping Table:\njschardet.Latin2_HungarianCharToOrderMap = [\n255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, // 00\n255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // 10\n253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, // 20\n252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, // 30\n253, 28, 40, 54, 45, 32, 50, 49, 38, 39, 53, 36, 41, 34, 35, 47,\n 46, 71, 43, 33, 37, 57, 48, 64, 68, 55, 52,253,253,253,253,253,\n253, 2, 18, 26, 17, 1, 27, 12, 20, 9, 22, 7, 6, 13, 4, 8,\n 23, 67, 10, 5, 3, 21, 19, 65, 62, 16, 11,253,253,253,253,253,\n159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,\n175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,\n191,192,193,194,195,196,197, 75,198,199,200,201,202,203,204,205,\n 79,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,\n221, 51, 81,222, 78,223,224,225,226, 44,227,228,229, 61,230,231,\n232,233,234, 58,235, 66, 59,236,237,238, 60, 69, 63,239,240,241,\n 82, 14, 74,242, 70, 80,243, 72,244, 15, 83, 77, 84, 30, 76, 85,\n245,246,247, 25, 73, 42, 24,248,249,250, 31, 56, 29,251,252,253\n]\n\njschardet.win1250HungarianCharToOrderMap = [\n255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, // 00\n255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // 10\n253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, // 20\n252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, // 30\n253, 28, 40, 54, 45, 32, 50, 49, 38, 39, 53, 36, 41, 34, 35, 47,\n 46, 72, 43, 33, 37, 57, 48, 64, 68, 55, 52,253,253,253,253,253,\n253, 2, 18, 26, 17, 1, 27, 12, 20, 9, 22, 7, 6, 13, 4, 8,\n 23, 67, 10, 5, 3, 21, 19, 65, 62, 16, 11,253,253,253,253,253,\n161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,\n177,178,179,180, 78,181, 69,182,183,184,185,186,187,188,189,190,\n191,192,193,194,195,196,197, 76,198,199,200,201,202,203,204,205,\n 81,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,\n221, 51, 83,222, 80,223,224,225,226, 44,227,228,229, 61,230,231,\n232,233,234, 58,235, 66, 59,236,237,238, 60, 70, 63,239,240,241,\n 84, 14, 75,242, 71, 82,243, 73,244, 15, 85, 79, 86, 30, 77, 87,\n245,246,247, 25, 74, 42, 24,248,249,250, 31, 56, 29,251,252,253\n];\n\n// Model Table:\n// total sequences: 100%\n// first 512 sequences: 94.7368%\n// first 1024 sequences:5.2623%\n// rest sequences: 0.8894%\n// negative sequences: 0.0009%\njschardet.HungarianLangModel = [\n0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,\n3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,2,2,3,3,1,1,2,2,2,2,2,1,2,\n3,2,2,3,3,3,3,3,2,3,3,3,3,3,3,1,2,3,3,3,3,2,3,3,1,1,3,3,0,1,1,1,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,\n3,2,1,3,3,3,3,3,2,3,3,3,3,3,1,1,2,3,3,3,3,3,3,3,1,1,3,2,0,1,1,1,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,\n3,3,3,3,3,3,3,3,3,3,3,1,1,2,3,3,3,1,3,3,3,3,3,1,3,3,2,2,0,3,2,3,\n0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,\n3,3,3,3,3,3,2,3,3,3,2,3,3,2,3,3,3,3,3,2,3,3,2,2,3,2,3,2,0,3,2,2,\n0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,\n3,3,3,3,3,3,2,3,3,3,3,3,2,3,3,3,1,2,3,2,2,3,1,2,3,3,2,2,0,3,3,3,\n0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,\n3,3,3,3,3,3,3,3,3,3,2,2,3,3,3,3,3,3,2,3,3,3,3,2,3,3,3,3,0,2,3,2,\n0,0,0,1,1,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,\n3,3,3,3,3,3,3,3,3,3,3,1,1,1,3,3,2,1,3,2,2,3,2,1,3,2,2,1,0,3,3,1,\n0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,\n3,2,2,3,3,3,3,3,1,2,3,3,3,3,1,2,1,3,3,3,3,2,2,3,1,1,3,2,0,1,1,1,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,\n3,3,3,3,3,3,3,3,2,2,3,3,3,3,3,2,1,3,3,3,3,3,2,2,1,3,3,3,0,1,1,2,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,\n3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,2,3,3,2,3,3,3,2,0,3,2,3,\n0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,1,0,\n3,3,3,3,3,3,2,3,3,3,2,3,2,3,3,3,1,3,2,2,2,3,1,1,3,3,1,1,0,3,3,2,\n0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,\n3,3,3,3,3,3,3,2,3,3,3,2,3,2,3,3,3,2,3,3,3,3,3,1,2,3,2,2,0,2,2,2,\n0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,\n3,3,3,2,2,2,3,1,3,3,2,2,1,3,3,3,1,1,3,1,2,3,2,3,2,2,2,1,0,2,2,2,\n0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,\n3,1,1,3,3,3,3,3,1,2,3,3,3,3,1,2,1,3,3,3,2,2,3,2,1,0,3,2,0,1,1,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,1,1,3,3,3,3,3,1,2,3,3,3,3,1,1,0,3,3,3,3,0,2,3,0,0,2,1,0,1,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,3,3,3,3,3,2,2,3,3,2,2,2,2,3,3,0,1,2,3,2,3,2,2,3,2,1,2,0,2,2,2,\n0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,\n3,3,3,3,3,3,1,2,3,3,3,2,1,2,3,3,2,2,2,3,2,3,3,1,3,3,1,1,0,2,3,2,\n0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,\n3,3,3,1,2,2,2,2,3,3,3,1,1,1,3,3,1,1,3,1,1,3,2,1,2,3,1,1,0,2,2,2,\n0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,\n3,3,3,2,1,2,1,1,3,3,1,1,1,1,3,3,1,1,2,2,1,2,1,1,2,2,1,1,0,2,2,1,\n0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,\n3,3,3,1,1,2,1,1,3,3,1,0,1,1,3,3,2,0,1,1,2,3,1,0,2,2,1,0,0,1,3,2,\n0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,\n3,2,1,3,3,3,3,3,1,2,3,2,3,3,2,1,1,3,2,3,2,1,2,2,0,1,2,1,0,0,1,1,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,\n3,3,3,3,2,2,2,2,3,1,2,2,1,1,3,3,0,3,2,1,2,3,2,1,3,3,1,1,0,2,1,3,\n0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,\n3,3,3,2,2,2,3,2,3,3,3,2,1,1,3,3,1,1,1,2,2,3,2,3,2,2,2,1,0,2,2,1,\n0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,\n1,0,0,3,3,3,3,3,0,0,3,3,2,3,0,0,0,2,3,3,1,0,1,2,0,0,1,1,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,1,2,3,3,3,3,3,1,2,3,3,2,2,1,1,0,3,3,2,2,1,2,2,1,0,2,2,0,1,1,1,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,3,2,2,1,3,1,2,3,3,2,2,1,1,2,2,1,1,1,1,3,2,1,1,1,1,2,1,0,1,2,1,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,\n2,3,3,1,1,1,1,1,3,3,3,0,1,1,3,3,1,1,1,1,1,2,2,0,3,1,1,2,0,2,1,1,\n0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,\n3,1,0,1,2,1,2,2,0,1,2,3,1,2,0,0,0,2,1,1,1,1,1,2,0,0,1,1,0,0,0,0,\n1,2,1,2,2,2,1,2,1,2,0,2,0,2,2,1,1,2,1,1,2,1,1,1,0,1,0,0,0,1,1,0,\n1,1,1,2,3,2,3,3,0,1,2,2,3,1,0,1,0,2,1,2,2,0,1,1,0,0,1,1,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n1,0,0,3,3,2,2,1,0,0,3,2,3,2,0,0,0,1,1,3,0,0,1,1,0,0,2,1,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,1,1,2,2,3,3,1,0,1,3,2,3,1,1,1,0,1,1,1,1,1,3,1,0,0,2,2,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,1,1,1,2,2,2,1,0,1,2,3,3,2,0,0,0,2,1,1,1,2,1,1,1,0,1,1,1,0,0,0,\n1,2,2,2,2,2,1,1,1,2,0,2,1,1,1,1,1,2,1,1,1,1,1,1,0,1,1,1,0,0,1,1,\n3,2,2,1,0,0,1,1,2,2,0,3,0,1,2,1,1,0,0,1,1,1,0,1,1,1,1,0,2,1,1,1,\n2,2,1,1,1,2,1,2,1,1,1,1,1,1,1,2,1,1,1,2,3,1,1,1,1,1,1,1,1,1,0,1,\n2,3,3,0,1,0,0,0,3,3,1,0,0,1,2,2,1,0,0,0,0,2,0,0,1,1,1,0,2,1,1,1,\n2,1,1,1,1,1,1,2,1,1,0,1,1,0,1,1,1,0,1,2,1,1,0,1,1,1,1,1,1,1,0,1,\n2,3,3,0,1,0,0,0,2,2,0,0,0,0,1,2,2,0,0,0,0,1,0,0,1,1,0,0,2,0,1,0,\n2,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,2,0,1,1,1,1,1,0,1,\n3,2,2,0,1,0,1,0,2,3,2,0,0,1,2,2,1,0,0,1,1,1,0,0,2,1,0,1,2,2,1,1,\n2,1,1,1,1,1,1,2,1,1,1,1,1,1,0,2,1,0,1,1,0,1,1,1,0,1,1,2,1,1,0,1,\n2,2,2,0,0,1,0,0,2,2,1,1,0,0,2,1,1,0,0,0,1,2,0,0,2,1,0,0,2,1,1,1,\n2,1,1,1,1,2,1,2,1,1,1,2,2,1,1,2,1,1,1,2,1,1,1,1,1,1,1,1,1,1,0,1,\n1,2,3,0,0,0,1,0,3,2,1,0,0,1,2,1,1,0,0,0,0,2,1,0,1,1,0,0,2,1,2,1,\n1,1,0,0,0,1,0,1,1,1,1,1,2,0,0,1,0,0,0,2,0,0,1,1,1,1,1,1,1,1,0,1,\n3,0,0,2,1,2,2,1,0,0,2,1,2,2,0,0,0,2,1,1,1,0,1,1,0,0,1,1,2,0,0,0,\n1,2,1,2,2,1,1,2,1,2,0,1,1,1,1,1,1,1,1,1,2,1,1,0,0,1,1,1,1,0,0,1,\n1,3,2,0,0,0,1,0,2,2,2,0,0,0,2,2,1,0,0,0,0,3,1,1,1,1,0,0,2,1,1,1,\n2,1,0,1,1,1,0,1,1,1,1,1,1,1,0,2,1,0,0,1,0,1,1,0,1,1,1,1,1,1,0,1,\n2,3,2,0,0,0,1,0,2,2,0,0,0,0,2,1,1,0,0,0,0,2,1,0,1,1,0,0,2,1,1,0,\n2,1,1,1,1,2,1,2,1,2,0,1,1,1,0,2,1,1,1,2,1,1,1,1,0,1,1,1,1,1,0,1,\n3,1,1,2,2,2,3,2,1,1,2,2,1,1,0,1,0,2,2,1,1,1,1,1,0,0,1,1,0,1,1,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n2,2,2,0,0,0,0,0,2,2,0,0,0,0,2,2,1,0,0,0,1,1,0,0,1,2,0,0,2,1,1,1,\n2,2,1,1,1,2,1,2,1,1,0,1,1,1,1,2,1,1,1,2,1,1,1,1,0,1,2,1,1,1,0,1,\n1,0,0,1,2,3,2,1,0,0,2,0,1,1,0,0,0,1,1,1,1,0,1,1,0,0,1,0,0,0,0,0,\n1,2,1,2,1,2,1,1,1,2,0,2,1,1,1,0,1,2,0,0,1,1,1,0,0,0,0,0,0,0,0,0,\n2,3,2,0,0,0,0,0,1,1,2,1,0,0,1,1,1,0,0,0,0,2,0,0,1,1,0,0,2,1,1,1,\n2,1,1,1,1,1,1,2,1,0,1,1,1,1,0,2,1,1,1,1,1,1,0,1,0,1,1,1,1,1,0,1,\n1,2,2,0,1,1,1,0,2,2,2,0,0,0,3,2,1,0,0,0,1,1,0,0,1,1,0,1,1,1,0,0,\n1,1,0,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,0,0,1,1,1,0,1,0,1,\n2,1,0,2,1,1,2,2,1,1,2,1,1,1,0,0,0,1,1,0,1,1,1,1,0,0,1,1,1,0,0,0,\n1,2,2,2,2,2,1,1,1,2,0,2,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,1,0,\n1,2,3,0,0,0,1,0,2,2,0,0,0,0,2,2,0,0,0,0,0,1,0,0,1,0,0,0,2,0,1,0,\n2,1,1,1,1,1,0,2,0,0,0,1,2,1,1,1,1,0,1,2,0,1,0,1,0,1,1,1,0,1,0,1,\n2,2,2,0,0,0,1,0,2,1,2,0,0,0,1,1,2,0,0,0,0,1,0,0,1,1,0,0,2,1,0,1,\n2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,0,1,1,1,1,1,0,1,\n1,2,2,0,0,0,1,0,2,2,2,0,0,0,1,1,0,0,0,0,0,1,1,0,2,0,0,1,1,1,0,1,\n1,0,1,1,1,1,1,1,0,1,1,1,1,0,0,1,0,0,1,1,0,1,0,1,1,1,1,1,0,0,0,1,\n1,0,0,1,0,1,2,1,0,0,1,1,1,2,0,0,0,1,1,0,1,0,1,1,0,0,1,0,0,0,0,0,\n0,2,1,2,1,1,1,1,1,2,0,2,0,1,1,0,1,2,1,0,1,1,1,0,0,0,0,0,0,1,0,0,\n2,1,1,0,1,2,0,0,1,1,1,0,0,0,1,1,0,0,0,0,0,1,0,0,1,0,0,0,2,1,0,1,\n2,2,1,1,1,1,1,2,1,1,0,1,1,1,1,2,1,1,1,2,1,1,0,1,0,1,1,1,1,1,0,1,\n1,2,2,0,0,0,0,0,1,1,0,0,0,0,2,1,0,0,0,0,0,2,0,0,2,2,0,0,2,0,0,1,\n2,1,1,1,1,1,1,1,0,1,1,0,1,1,0,1,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,\n1,1,2,0,0,3,1,0,2,1,1,1,0,0,1,1,1,0,0,0,1,1,0,0,0,1,0,0,1,0,1,0,\n1,2,1,0,1,1,1,2,1,1,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,1,0,0,0,1,0,0,\n2,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,2,0,0,0,\n2,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,2,1,1,0,0,1,1,1,1,1,0,1,\n2,1,1,1,2,1,1,1,0,1,1,2,1,0,0,0,0,1,1,1,1,0,1,0,0,0,0,1,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n1,1,0,1,1,1,1,1,0,0,1,1,2,1,0,0,0,1,1,0,0,0,1,1,0,0,1,0,1,0,0,0,\n1,2,1,1,1,1,1,1,1,1,0,1,0,1,1,1,1,1,1,0,1,1,1,0,0,0,0,0,0,1,0,0,\n2,0,0,0,1,1,1,1,0,0,1,1,0,0,0,0,0,1,1,1,2,0,0,1,0,0,1,0,1,0,0,0,\n0,1,1,1,1,1,1,1,1,2,0,1,1,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0,\n1,0,0,1,1,1,1,1,0,0,2,1,0,1,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,\n0,1,1,1,1,1,1,0,1,1,0,1,0,1,1,0,1,1,0,0,1,1,1,0,0,0,0,0,0,0,0,0,\n1,0,0,1,1,1,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,\n0,1,1,1,1,1,0,0,1,1,0,1,0,1,0,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0,\n0,0,0,1,0,0,0,0,0,0,1,1,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,1,1,1,0,1,0,0,1,1,0,1,0,1,1,0,1,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0,\n2,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,0,0,1,0,0,1,0,1,0,1,1,1,0,0,1,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n1,0,0,1,1,1,1,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,\n0,1,1,1,1,1,1,0,1,1,0,1,0,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0\n];\n\njschardet.Latin2HungarianModel = {\n \"charToOrderMap\" : jschardet.Latin2_HungarianCharToOrderMap,\n \"precedenceMatrix\" : jschardet.HungarianLangModel,\n \"mTypicalPositiveRatio\" : 0.947368,\n \"keepEnglishLetter\" : true,\n \"charsetName\" : \"ISO-8859-2\"\n};\n\njschardet.Win1250HungarianModel = {\n \"charToOrderMap\" : jschardet.win1250HungarianCharToOrderMap,\n \"precedenceMatrix\" : jschardet.HungarianLangModel,\n \"mTypicalPositiveRatio\" : 0.947368,\n \"keepEnglishLetter\" : true,\n \"charsetName\" : \"windows-1250\"\n};\n\n}(__webpack_require__(/*! ./init */ \"./node_modules/jschardet/src/init.js\"));\n\n\n//# sourceURL=webpack:///./node_modules/jschardet/src/langhungarianmodel.js?"); - -/***/ }), - -/***/ "./node_modules/jschardet/src/langthaimodel.js": -/*!*****************************************************!*\ - !*** ./node_modules/jschardet/src/langthaimodel.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/*\n * The Original Code is Mozilla Universal charset detector code.\n *\n * The Initial Developer of the Original Code is\n * Netscape Communications Corporation.\n * Portions created by the Initial Developer are Copyright (C) 2001\n * the Initial Developer. All Rights Reserved.\n *\n * Contributor(s):\n * António Afonso (antonio.afonso gmail.com) - port to JavaScript\n * Mark Pilgrim - port to Python\n * Shy Shalom - original C code\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA\n */\n\n!function(jschardet) {\n\n// 255: Control characters that usually does not exist in any text\n// 254: Carriage/Return\n// 253: symbol (punctuation) that does not belong to word\n// 252: 0 - 9\n\n// The following result for thai was collected from a limited sample (1M).\n\n// Character Mapping Table:\njschardet.TIS620CharToOrderMap = [\n255,255,255,255,255,255,255,255,255,255,254,255,255,254,255,255, // 00\n255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, // 10\n253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, // 20\n252,252,252,252,252,252,252,252,252,252,253,253,253,253,253,253, // 30\n253,182,106,107,100,183,184,185,101, 94,186,187,108,109,110,111, // 40\n188,189,190, 89, 95,112,113,191,192,193,194,253,253,253,253,253, // 50\n253, 64, 72, 73,114, 74,115,116,102, 81,201,117, 90,103, 78, 82, // 60\n 96,202, 91, 79, 84,104,105, 97, 98, 92,203,253,253,253,253,253, // 70\n209,210,211,212,213, 88,214,215,216,217,218,219,220,118,221,222,\n223,224, 99, 85, 83,225,226,227,228,229,230,231,232,233,234,235,\n236, 5, 30,237, 24,238, 75, 8, 26, 52, 34, 51,119, 47, 58, 57,\n 49, 53, 55, 43, 20, 19, 44, 14, 48, 3, 17, 25, 39, 62, 31, 54,\n 45, 9, 16, 2, 61, 15,239, 12, 42, 46, 18, 21, 76, 4, 66, 63,\n 22, 10, 1, 36, 23, 13, 40, 27, 32, 35, 86,240,241,242,243,244,\n 11, 28, 41, 29, 33,245, 50, 37, 6, 7, 67, 77, 38, 93,246,247,\n 68, 56, 59, 65, 69, 60, 70, 80, 71, 87,248,249,250,251,252,253\n];\n\n// Model Table:\n// total sequences: 100%\n// first 512 sequences: 92.6386%\n// first 1024 sequences:7.3177%\n// rest sequences: 1.0230%\n// negative sequences: 0.0436%\njschardet.ThaiLangModel = [\n0,1,3,3,3,3,0,0,3,3,0,3,3,0,3,3,3,3,3,3,3,3,0,0,3,3,3,0,3,3,3,3,\n0,3,3,0,0,0,1,3,0,3,3,2,3,3,0,1,2,3,3,3,3,0,2,0,2,0,0,3,2,1,2,2,\n3,0,3,3,2,3,0,0,3,3,0,3,3,0,3,3,3,3,3,3,3,3,3,0,3,2,3,0,2,2,2,3,\n0,2,3,0,0,0,0,1,0,1,2,3,1,1,3,2,2,0,1,1,0,0,1,0,0,0,0,0,0,0,1,1,\n3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,3,3,2,3,2,3,3,2,2,2,\n3,1,2,3,0,3,3,2,2,1,2,3,3,1,2,0,1,3,0,1,0,0,1,0,0,0,0,0,0,0,1,1,\n3,3,2,2,3,3,3,3,1,2,3,3,3,3,3,2,2,2,2,3,3,2,2,3,3,2,2,3,2,3,2,2,\n3,3,1,2,3,1,2,2,3,3,1,0,2,1,0,0,3,1,2,1,0,0,1,0,0,0,0,0,0,1,0,1,\n3,3,3,3,3,3,2,2,3,3,3,3,2,3,2,2,3,3,2,2,3,2,2,2,2,1,1,3,1,2,1,1,\n3,2,1,0,2,1,0,1,0,1,1,0,1,1,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,\n3,3,3,2,3,2,3,3,2,2,3,2,3,3,2,3,1,1,2,3,2,2,2,3,2,2,2,2,2,1,2,1,\n2,2,1,1,3,3,2,1,0,1,2,2,0,1,3,0,0,0,1,1,0,0,0,0,0,2,3,0,0,2,1,1,\n3,3,2,3,3,2,0,0,3,3,0,3,3,0,2,2,3,1,2,2,1,1,1,0,2,2,2,0,2,2,1,1,\n0,2,1,0,2,0,0,2,0,1,0,0,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,0,\n3,3,2,3,3,2,0,0,3,3,0,2,3,0,2,1,2,2,2,2,1,2,0,0,2,2,2,0,2,2,1,1,\n0,2,1,0,2,0,0,2,0,1,1,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,\n3,3,2,3,2,3,2,0,2,2,1,3,2,1,3,2,1,2,3,2,2,3,0,2,3,2,2,1,2,2,2,2,\n1,2,2,0,0,0,0,2,0,1,2,0,1,1,1,0,1,0,3,1,1,0,0,0,0,0,0,0,0,0,1,0,\n3,3,2,3,3,2,3,2,2,2,3,2,2,3,2,2,1,2,3,2,2,3,1,3,2,2,2,3,2,2,2,3,\n3,2,1,3,0,1,1,1,0,2,1,1,1,1,1,0,1,0,1,1,0,0,0,0,0,0,0,0,0,2,0,0,\n1,0,0,3,0,3,3,3,3,3,0,0,3,0,2,2,3,3,3,3,3,0,0,0,1,1,3,0,0,0,0,2,\n0,0,1,0,0,0,0,0,0,0,2,3,0,0,0,3,0,2,0,0,0,0,0,3,0,0,0,0,0,0,0,0,\n2,0,3,3,3,3,0,0,2,3,0,0,3,0,3,3,2,3,3,3,3,3,0,0,3,3,3,0,0,0,3,3,\n0,0,3,0,0,0,0,2,0,0,2,1,1,3,0,0,1,0,0,2,3,0,1,0,0,0,0,0,0,0,1,0,\n3,3,3,3,2,3,3,3,3,3,3,3,1,2,1,3,3,2,2,1,2,2,2,3,1,1,2,0,2,1,2,1,\n2,2,1,0,0,0,1,1,0,1,0,1,1,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,\n3,0,2,1,2,3,3,3,0,2,0,2,2,0,2,1,3,2,2,1,2,1,0,0,2,2,1,0,2,1,2,2,\n0,1,1,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,3,3,3,2,1,3,3,1,1,3,0,2,3,1,1,3,2,1,1,2,0,2,2,3,2,1,1,1,1,1,2,\n3,0,0,1,3,1,2,1,2,0,3,0,0,0,1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,\n3,3,1,1,3,2,3,3,3,1,3,2,1,3,2,1,3,2,2,2,2,1,3,3,1,2,1,3,1,2,3,0,\n2,1,1,3,2,2,2,1,2,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,\n3,3,2,3,2,3,3,2,3,2,3,2,3,3,2,1,0,3,2,2,2,1,2,2,2,1,2,2,1,2,1,1,\n2,2,2,3,0,1,3,1,1,1,1,0,1,1,0,2,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,3,3,3,2,3,2,2,1,1,3,2,3,2,3,2,0,3,2,2,1,2,0,2,2,2,1,2,2,2,2,1,\n3,2,1,2,2,1,0,2,0,1,0,0,1,1,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,1,\n3,3,3,3,3,2,3,1,2,3,3,2,2,3,0,1,1,2,0,3,3,2,2,3,0,1,1,3,0,0,0,0,\n3,1,0,3,3,0,2,0,2,1,0,0,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,3,3,2,3,2,3,3,0,1,3,1,1,2,1,2,1,1,3,1,1,0,2,3,1,1,1,1,1,1,1,1,\n3,1,1,2,2,2,2,1,1,1,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,\n3,2,2,1,1,2,1,3,3,2,3,2,2,3,2,2,3,1,2,2,1,2,0,3,2,1,2,2,2,2,2,1,\n3,2,1,2,2,2,1,1,1,1,0,0,1,1,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,3,3,3,3,3,3,3,1,3,3,0,2,1,0,3,2,0,0,3,1,0,1,1,0,1,0,0,0,0,0,1,\n1,0,0,1,0,3,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,0,2,2,2,3,0,0,1,3,0,3,2,0,3,2,2,3,3,3,3,3,1,0,2,2,2,0,2,2,1,2,\n0,2,3,0,0,0,0,1,0,1,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,\n3,0,2,3,1,3,3,2,3,3,0,3,3,0,3,2,2,3,2,3,3,3,0,0,2,2,3,0,1,1,1,3,\n0,0,3,0,0,0,2,2,0,1,3,0,1,2,2,2,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,\n3,2,3,3,2,0,3,3,2,2,3,1,3,2,1,3,2,0,1,2,2,0,2,3,2,1,0,3,0,0,0,0,\n3,0,0,2,3,1,3,0,0,3,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,1,3,2,2,2,1,2,0,1,3,1,1,3,1,3,0,0,2,1,1,1,1,2,1,1,1,0,2,1,0,1,\n1,2,0,0,0,3,1,1,0,0,0,0,1,0,1,0,0,1,0,1,0,0,0,0,0,3,1,0,0,0,1,0,\n3,3,3,3,2,2,2,2,2,1,3,1,1,1,2,0,1,1,2,1,2,1,3,2,0,0,3,1,1,1,1,1,\n3,1,0,2,3,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,2,3,0,3,3,0,2,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,\n0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,2,3,1,3,0,0,1,2,0,0,2,0,3,3,2,3,3,3,2,3,0,0,2,2,2,0,0,0,2,2,\n0,0,1,0,0,0,0,3,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,\n0,0,0,3,0,2,0,0,0,0,0,0,0,0,0,0,1,2,3,1,3,3,0,0,1,0,3,0,0,0,0,0,\n0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,3,1,2,3,1,2,3,1,0,3,0,2,2,1,0,2,1,1,2,0,1,0,0,1,1,1,1,0,1,0,0,\n1,0,0,0,0,1,1,0,3,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,3,3,3,2,1,0,1,1,1,3,1,2,2,2,2,2,2,1,1,1,1,0,3,1,0,1,3,1,1,1,1,\n1,1,0,2,0,1,3,1,1,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,1,\n3,0,2,2,1,3,3,2,3,3,0,1,1,0,2,2,1,2,1,3,3,1,0,0,3,2,0,0,0,0,2,1,\n0,1,0,0,0,0,1,2,0,1,1,3,1,1,2,2,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,\n0,0,3,0,0,1,0,0,0,3,0,0,3,0,3,1,0,1,1,1,3,2,0,0,0,3,0,0,0,0,2,0,\n0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0,\n3,3,1,3,2,1,3,3,1,2,2,0,1,2,1,0,1,2,0,0,0,0,0,3,0,0,0,3,0,0,0,0,\n3,0,0,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,0,1,2,0,3,3,3,2,2,0,1,1,0,1,3,0,0,0,2,2,0,0,0,0,3,1,0,1,0,0,0,\n0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,0,2,3,1,2,0,0,2,1,0,3,1,0,1,2,0,1,1,1,1,3,0,0,3,1,1,0,2,2,1,1,\n0,2,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,0,0,3,1,2,0,0,2,2,0,1,2,0,1,0,1,3,1,2,1,0,0,0,2,0,3,0,0,0,1,0,\n0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,0,1,1,2,2,0,0,0,2,0,2,1,0,1,1,0,1,1,1,2,1,0,0,1,1,1,0,2,1,1,1,\n0,1,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1,\n0,0,0,2,0,1,3,1,1,1,1,0,0,0,0,3,2,0,1,0,0,0,1,2,0,0,0,1,0,0,0,0,\n0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,3,3,3,3,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n1,0,2,3,2,2,0,0,0,1,0,0,0,0,2,3,2,1,2,2,3,0,0,0,2,3,1,0,0,0,1,1,\n0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,\n3,3,2,2,0,1,0,0,0,0,2,0,2,0,1,0,0,0,1,1,0,0,0,2,1,0,1,0,1,1,0,0,\n0,1,0,2,0,0,1,0,3,0,1,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,3,1,0,0,1,0,0,0,0,0,1,1,2,0,0,0,0,1,0,0,1,3,1,0,0,0,0,1,1,0,0,\n0,1,0,0,0,0,3,0,0,0,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,\n3,3,1,1,1,1,2,3,0,0,2,1,1,1,1,1,0,2,1,1,0,0,0,2,1,0,1,2,1,1,0,1,\n2,1,0,3,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n1,3,1,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,\n0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,3,2,0,0,0,0,0,0,1,2,1,0,1,1,0,2,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,2,0,0,0,1,3,0,1,0,0,0,2,0,0,0,0,0,0,0,1,2,0,0,0,0,0,\n3,3,0,0,1,1,2,0,0,1,2,1,0,1,1,1,0,1,1,0,0,2,1,1,0,1,0,0,1,1,1,0,\n0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,\n2,2,2,1,0,0,0,0,1,0,0,0,0,3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,\n2,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n2,3,0,0,1,1,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n1,1,0,1,2,0,1,2,0,0,1,1,0,2,0,1,0,0,1,0,0,0,0,1,0,0,0,2,0,0,0,0,\n1,0,0,1,0,1,1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,1,0,0,0,0,0,0,0,1,1,0,1,1,0,2,1,3,0,0,0,0,1,1,0,0,0,0,0,0,0,3,\n1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n2,0,1,0,1,0,0,2,0,0,2,0,0,1,1,2,0,0,1,1,0,0,0,1,0,0,0,1,1,0,0,0,\n1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,\n1,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,1,0,0,0,\n2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n2,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,3,0,0,0,\n2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,0,0,0,0,\n1,0,0,0,0,0,0,0,0,1,0,0,0,0,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,1,1,0,0,2,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\n0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0\n];\n\njschardet.TIS620ThaiModel = {\n \"charToOrderMap\" : jschardet.TIS620CharToOrderMap,\n \"precedenceMatrix\" : jschardet.ThaiLangModel,\n \"mTypicalPositiveRatio\" : 0.926386,\n \"keepEnglishLetter\" : false,\n \"charsetName\" : \"TIS-620\"\n};\n\n}(__webpack_require__(/*! ./init */ \"./node_modules/jschardet/src/init.js\"));\n\n\n//# sourceURL=webpack:///./node_modules/jschardet/src/langthaimodel.js?"); - -/***/ }), - -/***/ "./node_modules/jschardet/src/latin1prober.js": -/*!****************************************************!*\ - !*** ./node_modules/jschardet/src/latin1prober.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/*\n * The Original Code is Mozilla Universal charset detector code.\n *\n * The Initial Developer of the Original Code is\n * Netscape Communications Corporation.\n * Portions created by the Initial Developer are Copyright (C) 2001\n * the Initial Developer. All Rights Reserved.\n *\n * Contributor(s):\n * António Afonso (antonio.afonso gmail.com) - port to JavaScript\n * Mark Pilgrim - port to Python\n * Shy Shalom - original C code\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA\n */\n\n!function(jschardet) {\n\n(function() {\n var UDF = 0; // undefined\n var OTH = 1; // other\n jschardet.OTH = 1;\n var ASC = 2; // ascii capital letter\n var ASS = 3; // ascii small letter\n var ACV = 4; // accent capital vowel\n var ACO = 5; // accent capital other\n var ASV = 6; // accent small vowel\n var ASO = 7; // accent small other\n\n jschardet.Latin1_CharToClass = [\n OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, // 00 - 07\n OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, // 08 - 0F\n OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, // 10 - 17\n OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, // 18 - 1F\n OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, // 20 - 27\n OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, // 28 - 2F\n OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, // 30 - 37\n OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, // 38 - 3F\n OTH, ASC, ASC, ASC, ASC, ASC, ASC, ASC, // 40 - 47\n ASC, ASC, ASC, ASC, ASC, ASC, ASC, ASC, // 48 - 4F\n ASC, ASC, ASC, ASC, ASC, ASC, ASC, ASC, // 50 - 57\n ASC, ASC, ASC, OTH, OTH, OTH, OTH, OTH, // 58 - 5F\n OTH, ASS, ASS, ASS, ASS, ASS, ASS, ASS, // 60 - 67\n ASS, ASS, ASS, ASS, ASS, ASS, ASS, ASS, // 68 - 6F\n ASS, ASS, ASS, ASS, ASS, ASS, ASS, ASS, // 70 - 77\n ASS, ASS, ASS, OTH, OTH, OTH, OTH, OTH, // 78 - 7F\n OTH, UDF, OTH, ASO, OTH, OTH, OTH, OTH, // 80 - 87\n OTH, OTH, ACO, OTH, ACO, UDF, ACO, UDF, // 88 - 8F\n UDF, OTH, OTH, OTH, OTH, OTH, OTH, OTH, // 90 - 97\n OTH, OTH, ASO, OTH, ASO, UDF, ASO, ACO, // 98 - 9F\n OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, // A0 - A7\n OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, // A8 - AF\n OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, // B0 - B7\n OTH, OTH, OTH, OTH, OTH, OTH, OTH, OTH, // B8 - BF\n ACV, ACV, ACV, ACV, ACV, ACV, ACO, ACO, // C0 - C7\n ACV, ACV, ACV, ACV, ACV, ACV, ACV, ACV, // C8 - CF\n ACO, ACO, ACV, ACV, ACV, ACV, ACV, OTH, // D0 - D7\n ACV, ACV, ACV, ACV, ACV, ACO, ACO, ACO, // D8 - DF\n ASV, ASV, ASV, ASV, ASV, ASV, ASO, ASO, // E0 - E7\n ASV, ASV, ASV, ASV, ASV, ASV, ASV, ASV, // E8 - EF\n ASO, ASO, ASV, ASV, ASV, ASV, ASV, OTH, // F0 - F7\n ASV, ASV, ASV, ASV, ASV, ASO, ASO, ASO // F8 - FF\n ];\n\n // 0 : illegal\n // 1 : very unlikely\n // 2 : normal\n // 3 : very likely\n jschardet.Latin1ClassModel = [\n // UDF OTH ASC ASS ACV ACO ASV ASO\n 0, 0, 0, 0, 0, 0, 0, 0, // UDF\n 0, 3, 3, 3, 3, 3, 3, 3, // OTH\n 0, 3, 3, 3, 3, 3, 3, 3, // ASC\n 0, 3, 3, 3, 1, 1, 3, 3, // ASS\n 0, 3, 3, 3, 1, 2, 1, 2, // ACV\n 0, 3, 3, 3, 3, 3, 3, 3, // ACO\n 0, 3, 1, 3, 1, 1, 1, 3, // ASV\n 0, 3, 1, 3, 1, 1, 3, 3 // ASO\n ];\n})();\n\njschardet.Latin1Prober = function() {\n jschardet.CharSetProber.apply(this);\n\n var FREQ_CAT_NUM = 4;\n var CLASS_NUM = 8; // total classes\n var self = this;\n\n function init() {\n self.reset();\n }\n\n this.reset = function() {\n this._mLastCharClass = jschardet.OTH;\n this._mFreqCounter = [];\n for( var i = 0; i < FREQ_CAT_NUM; this._mFreqCounter[i++] = 0 );\n jschardet.Latin1Prober.prototype.reset.apply(this);\n }\n\n this.getCharsetName = function() {\n return \"windows-1252\";\n }\n\n this.feed = function(aBuf) {\n aBuf = this.filterWithEnglishLetters(aBuf);\n for( var i = 0; i < aBuf.length; i++ ) {\n var c = aBuf.charCodeAt(i);\n var charClass = jschardet.Latin1_CharToClass[c];\n var freq = jschardet.Latin1ClassModel[(this._mLastCharClass * CLASS_NUM) + charClass];\n if( freq == 0 ) {\n this._mState = jschardet.Constants.notMe;\n break;\n }\n this._mFreqCounter[freq]++;\n this._mLastCharClass = charClass;\n }\n\n return this.getState();\n }\n\n this.getConfidence = function() {\n var confidence;\n var constants;\n \n if( this.getState() == jschardet.Constants.notMe ) {\n return 0.01;\n }\n\n var total = 0;\n for( var i = 0; i < this._mFreqCounter.length; i++ ) {\n total += this._mFreqCounter[i];\n }\n if( total < 0.01 ) {\n constants = 0.0;\n } else {\n confidence = (this._mFreqCounter[3] / total) - (this._mFreqCounter[1] * 20 / total);\n }\n if( confidence < 0 ) {\n confidence = 0.0;\n }\n // lower the confidence of latin1 so that other more accurate detector\n // can take priority.\n //\n // antonio.afonso: need to change this otherwise languages like pt, es, fr using latin1 will never be detected.\n confidence = confidence * 0.95;\n return confidence;\n }\n\n init();\n}\njschardet.Latin1Prober.prototype = new jschardet.CharSetProber();\n\n}(__webpack_require__(/*! ./init */ \"./node_modules/jschardet/src/init.js\"));\n\n\n//# sourceURL=webpack:///./node_modules/jschardet/src/latin1prober.js?"); - -/***/ }), - -/***/ "./node_modules/jschardet/src/mbcharsetprober.js": -/*!*******************************************************!*\ - !*** ./node_modules/jschardet/src/mbcharsetprober.js ***! - \*******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/*\n * The Original Code is Mozilla Universal charset detector code.\n *\n * The Initial Developer of the Original Code is\n * Netscape Communications Corporation.\n * Portions created by the Initial Developer are Copyright (C) 2001\n * the Initial Developer. All Rights Reserved.\n *\n * Contributor(s):\n * António Afonso (antonio.afonso gmail.com) - port to JavaScript\n * Mark Pilgrim - port to Python\n * Shy Shalom - original C code\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA\n */\n\n!function(jschardet) {\n\njschardet.MultiByteCharSetProber = function() {\n jschardet.CharSetProber.apply(this);\n\n var self = this;\n\n function init() {\n self._mDistributionAnalyzer = null;\n self._mCodingSM = null;\n //self._mLastChar = [\"\\x00\", \"\\x00\"];\n self._mLastChar = \"\\x00\\x00\";\n }\n\n this.reset = function() {\n jschardet.MultiByteCharSetProber.prototype.reset.apply(this);\n if( this._mCodingSM ) {\n this._mCodingSM.reset();\n }\n if( this._mDistributionAnalyzer ) {\n this._mDistributionAnalyzer.reset();\n }\n //this._mLastChar = [\"\\x00\", \"\\x00\"];\n this._mLastChar = \"\\x00\\x00\";\n }\n\n this.getCharsetName = function() {\n }\n\n this.feed = function(aBuf) {\n var aLen = aBuf.length;\n for( var i = 0; i < aLen; i++ ) {\n var codingState = this._mCodingSM.nextState(aBuf[i]);\n if( codingState == jschardet.Constants.error ) {\n if( jschardet.Constants._debug ) {\n jschardet.log(this.getCharsetName() + \" prober hit error at byte \" + i + \"\\n\");\n }\n this._mState = jschardet.Constants.notMe;\n break;\n } else if( codingState == jschardet.Constants.itsMe ) {\n this._mState = jschardet.Constants.foundIt;\n break;\n } else if( codingState == jschardet.Constants.start ) {\n var charLen = this._mCodingSM.getCurrentCharLen();\n if( i == 0 ) {\n this._mLastChar[1] = aBuf[0];\n this._mDistributionAnalyzer.feed(this._mLastChar, charLen);\n } else {\n this._mDistributionAnalyzer.feed(aBuf.slice(i-1,i+1), charLen);\n }\n }\n }\n\n this._mLastChar[0] = aBuf[aLen - 1];\n\n if( this.getState() == jschardet.Constants.detecting ) {\n if( this._mDistributionAnalyzer.gotEnoughData() &&\n this.getConfidence() > jschardet.Constants.SHORTCUT_THRESHOLD ) {\n this._mState = jschardet.Constants.foundIt;\n }\n }\n\n return this.getState();\n }\n\n this.getConfidence = function() {\n return this._mDistributionAnalyzer.getConfidence();\n }\n}\njschardet.MultiByteCharSetProber.prototype = new jschardet.CharSetProber();\n\n}(__webpack_require__(/*! ./init */ \"./node_modules/jschardet/src/init.js\"));\n\n\n//# sourceURL=webpack:///./node_modules/jschardet/src/mbcharsetprober.js?"); - -/***/ }), - -/***/ "./node_modules/jschardet/src/mbcsgroupprober.js": -/*!*******************************************************!*\ - !*** ./node_modules/jschardet/src/mbcsgroupprober.js ***! - \*******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/*\n * The Original Code is Mozilla Universal charset detector code.\n *\n * The Initial Developer of the Original Code is\n * Netscape Communications Corporation.\n * Portions created by the Initial Developer are Copyright (C) 2001\n * the Initial Developer. All Rights Reserved.\n *\n * Contributor(s):\n * António Afonso (antonio.afonso gmail.com) - port to JavaScript\n * Mark Pilgrim - port to Python\n * Shy Shalom - original C code\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA\n */\n\n!function(jschardet) {\n\njschardet.MBCSGroupProber = function() {\n jschardet.CharSetGroupProber.apply(this);\n this._mProbers = [\n new jschardet.UTF8Prober(),\n new jschardet.SJISProber(),\n new jschardet.EUCJPProber(),\n new jschardet.GB2312Prober(),\n new jschardet.EUCKRProber(),\n new jschardet.Big5Prober(),\n new jschardet.EUCTWProber()\n ];\n this.reset();\n}\njschardet.MBCSGroupProber.prototype = new jschardet.CharSetGroupProber();\n\n}(__webpack_require__(/*! ./init */ \"./node_modules/jschardet/src/init.js\"));\n\n\n//# sourceURL=webpack:///./node_modules/jschardet/src/mbcsgroupprober.js?"); - -/***/ }), - -/***/ "./node_modules/jschardet/src/mbcssm.js": -/*!**********************************************!*\ - !*** ./node_modules/jschardet/src/mbcssm.js ***! - \**********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/*\n * The Original Code is Mozilla Universal charset detector code.\n *\n * The Initial Developer of the Original Code is\n * Netscape Communications Corporation.\n * Portions created by the Initial Developer are Copyright (C) 2001\n * the Initial Developer. All Rights Reserved.\n *\n * Contributor(s):\n * António Afonso (antonio.afonso gmail.com) - port to JavaScript\n * Mark Pilgrim - port to Python\n * Shy Shalom - original C code\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA\n */\n\n!function(jschardet) {\n\nvar consts = jschardet.Constants;\n\n// BIG5\n\njschardet.BIG5_cls = [\n 1,1,1,1,1,1,1,1, // 00 - 07 //allow 0x00 as legal value\n 1,1,1,1,1,1,0,0, // 08 - 0f\n 1,1,1,1,1,1,1,1, // 10 - 17\n 1,1,1,0,1,1,1,1, // 18 - 1f\n 1,1,1,1,1,1,1,1, // 20 - 27\n 1,1,1,1,1,1,1,1, // 28 - 2f\n 1,1,1,1,1,1,1,1, // 30 - 37\n 1,1,1,1,1,1,1,1, // 38 - 3f\n 2,2,2,2,2,2,2,2, // 40 - 47\n 2,2,2,2,2,2,2,2, // 48 - 4f\n 2,2,2,2,2,2,2,2, // 50 - 57\n 2,2,2,2,2,2,2,2, // 58 - 5f\n 2,2,2,2,2,2,2,2, // 60 - 67\n 2,2,2,2,2,2,2,2, // 68 - 6f\n 2,2,2,2,2,2,2,2, // 70 - 77\n 2,2,2,2,2,2,2,1, // 78 - 7f\n 4,4,4,4,4,4,4,4, // 80 - 87\n 4,4,4,4,4,4,4,4, // 88 - 8f\n 4,4,4,4,4,4,4,4, // 90 - 97\n 4,4,4,4,4,4,4,4, // 98 - 9f\n 4,3,3,3,3,3,3,3, // a0 - a7\n 3,3,3,3,3,3,3,3, // a8 - af\n 3,3,3,3,3,3,3,3, // b0 - b7\n 3,3,3,3,3,3,3,3, // b8 - bf\n 3,3,3,3,3,3,3,3, // c0 - c7\n 3,3,3,3,3,3,3,3, // c8 - cf\n 3,3,3,3,3,3,3,3, // d0 - d7\n 3,3,3,3,3,3,3,3, // d8 - df\n 3,3,3,3,3,3,3,3, // e0 - e7\n 3,3,3,3,3,3,3,3, // e8 - ef\n 3,3,3,3,3,3,3,3, // f0 - f7\n 3,3,3,3,3,3,3,0 // f8 - ff\n];\n\njschardet.BIG5_st = [\n consts.error,consts.start,consts.start, 3,consts.error,consts.error,consts.error,consts.error, //00-07\n consts.error,consts.error,consts.itsMe,consts.itsMe,consts.itsMe,consts.itsMe,consts.itsMe,consts.error, //08-0f\n consts.error,consts.start,consts.start,consts.start,consts.start,consts.start,consts.start,consts.start //10-17\n];\n\njschardet.Big5CharLenTable = [0, 1, 1, 2, 0];\n\njschardet.Big5SMModel = {\n \"classTable\" : jschardet.BIG5_cls,\n \"classFactor\" : 5,\n \"stateTable\" : jschardet.BIG5_st,\n \"charLenTable\" : jschardet.Big5CharLenTable,\n \"name\" : \"Big5\"\n};\n\n// EUC-JP\n\njschardet.EUCJP_cls = [\n 4,4,4,4,4,4,4,4, // 00 - 07\n 4,4,4,4,4,4,5,5, // 08 - 0f\n 4,4,4,4,4,4,4,4, // 10 - 17\n 4,4,4,5,4,4,4,4, // 18 - 1f\n 4,4,4,4,4,4,4,4, // 20 - 27\n 4,4,4,4,4,4,4,4, // 28 - 2f\n 4,4,4,4,4,4,4,4, // 30 - 37\n 4,4,4,4,4,4,4,4, // 38 - 3f\n 4,4,4,4,4,4,4,4, // 40 - 47\n 4,4,4,4,4,4,4,4, // 48 - 4f\n 4,4,4,4,4,4,4,4, // 50 - 57\n 4,4,4,4,4,4,4,4, // 58 - 5f\n 4,4,4,4,4,4,4,4, // 60 - 67\n 4,4,4,4,4,4,4,4, // 68 - 6f\n 4,4,4,4,4,4,4,4, // 70 - 77\n 4,4,4,4,4,4,4,4, // 78 - 7f\n 5,5,5,5,5,5,5,5, // 80 - 87\n 5,5,5,5,5,5,1,3, // 88 - 8f\n 5,5,5,5,5,5,5,5, // 90 - 97\n 5,5,5,5,5,5,5,5, // 98 - 9f\n 5,2,2,2,2,2,2,2, // a0 - a7\n 2,2,2,2,2,2,2,2, // a8 - af\n 2,2,2,2,2,2,2,2, // b0 - b7\n 2,2,2,2,2,2,2,2, // b8 - bf\n 2,2,2,2,2,2,2,2, // c0 - c7\n 2,2,2,2,2,2,2,2, // c8 - cf\n 2,2,2,2,2,2,2,2, // d0 - d7\n 2,2,2,2,2,2,2,2, // d8 - df\n 0,0,0,0,0,0,0,0, // e0 - e7\n 0,0,0,0,0,0,0,0, // e8 - ef\n 0,0,0,0,0,0,0,0, // f0 - f7\n 0,0,0,0,0,0,0,5 // f8 - ff\n];\n\njschardet.EUCJP_st = [\n 3, 4, 3, 5,consts.start,consts.error,consts.error,consts.error, //00-07\n consts.error,consts.error,consts.error,consts.error,consts.itsMe,consts.itsMe,consts.itsMe,consts.itsMe, //08-0f\n consts.itsMe,consts.itsMe,consts.start,consts.error,consts.start,consts.error,consts.error,consts.error, //10-17\n consts.error,consts.error,consts.start,consts.error,consts.error,consts.error, 3,consts.error, //18-1f\n 3,consts.error,consts.error,consts.error,consts.start,consts.start,consts.start,consts.start //20-27\n];\n\njschardet.EUCJPCharLenTable = [2, 2, 2, 3, 1, 0];\n\njschardet.EUCJPSMModel = {\n \"classTable\" : jschardet.EUCJP_cls,\n \"classFactor\" : 6,\n \"stateTable\" : jschardet.EUCJP_st,\n \"charLenTable\" : jschardet.EUCJPCharLenTable,\n \"name\" : \"EUC-JP\"\n};\n\n// EUC-KR\n\njschardet.EUCKR_cls = [\n 1,1,1,1,1,1,1,1, // 00 - 07\n 1,1,1,1,1,1,0,0, // 08 - 0f\n 1,1,1,1,1,1,1,1, // 10 - 17\n 1,1,1,0,1,1,1,1, // 18 - 1f\n 1,1,1,1,1,1,1,1, // 20 - 27\n 1,1,1,1,1,1,1,1, // 28 - 2f\n 1,1,1,1,1,1,1,1, // 30 - 37\n 1,1,1,1,1,1,1,1, // 38 - 3f\n 1,1,1,1,1,1,1,1, // 40 - 47\n 1,1,1,1,1,1,1,1, // 48 - 4f\n 1,1,1,1,1,1,1,1, // 50 - 57\n 1,1,1,1,1,1,1,1, // 58 - 5f\n 1,1,1,1,1,1,1,1, // 60 - 67\n 1,1,1,1,1,1,1,1, // 68 - 6f\n 1,1,1,1,1,1,1,1, // 70 - 77\n 1,1,1,1,1,1,1,1, // 78 - 7f\n 0,0,0,0,0,0,0,0, // 80 - 87\n 0,0,0,0,0,0,0,0, // 88 - 8f\n 0,0,0,0,0,0,0,0, // 90 - 97\n 0,0,0,0,0,0,0,0, // 98 - 9f\n 0,2,2,2,2,2,2,2, // a0 - a7\n 2,2,2,2,2,3,3,3, // a8 - af\n 2,2,2,2,2,2,2,2, // b0 - b7\n 2,2,2,2,2,2,2,2, // b8 - bf\n 2,2,2,2,2,2,2,2, // c0 - c7\n 2,3,2,2,2,2,2,2, // c8 - cf\n 2,2,2,2,2,2,2,2, // d0 - d7\n 2,2,2,2,2,2,2,2, // d8 - df\n 2,2,2,2,2,2,2,2, // e0 - e7\n 2,2,2,2,2,2,2,2, // e8 - ef\n 2,2,2,2,2,2,2,2, // f0 - f7\n 2,2,2,2,2,2,2,0 // f8 - ff\n];\n\njschardet.EUCKR_st = [\n consts.error,consts.start, 3,consts.error,consts.error,consts.error,consts.error,consts.error, //00-07\n consts.itsMe,consts.itsMe,consts.itsMe,consts.itsMe,consts.error,consts.error,consts.start,consts.start //08-0f\n];\n\njschardet.EUCKRCharLenTable = [0, 1, 2, 0];\n\njschardet.EUCKRSMModel = {\n \"classTable\" : jschardet.EUCKR_cls,\n \"classFactor\" : 4,\n \"stateTable\" : jschardet.EUCKR_st,\n \"charLenTable\" : jschardet.EUCKRCharLenTable,\n \"name\" : \"EUC-KR\"\n};\n\n// EUC-TW\n\njschardet.EUCTW_cls = [\n 2,2,2,2,2,2,2,2, // 00 - 07\n 2,2,2,2,2,2,0,0, // 08 - 0f\n 2,2,2,2,2,2,2,2, // 10 - 17\n 2,2,2,0,2,2,2,2, // 18 - 1f\n 2,2,2,2,2,2,2,2, // 20 - 27\n 2,2,2,2,2,2,2,2, // 28 - 2f\n 2,2,2,2,2,2,2,2, // 30 - 37\n 2,2,2,2,2,2,2,2, // 38 - 3f\n 2,2,2,2,2,2,2,2, // 40 - 47\n 2,2,2,2,2,2,2,2, // 48 - 4f\n 2,2,2,2,2,2,2,2, // 50 - 57\n 2,2,2,2,2,2,2,2, // 58 - 5f\n 2,2,2,2,2,2,2,2, // 60 - 67\n 2,2,2,2,2,2,2,2, // 68 - 6f\n 2,2,2,2,2,2,2,2, // 70 - 77\n 2,2,2,2,2,2,2,2, // 78 - 7f\n 0,0,0,0,0,0,0,0, // 80 - 87\n 0,0,0,0,0,0,6,0, // 88 - 8f\n 0,0,0,0,0,0,0,0, // 90 - 97\n 0,0,0,0,0,0,0,0, // 98 - 9f\n 0,3,4,4,4,4,4,4, // a0 - a7\n 5,5,1,1,1,1,1,1, // a8 - af\n 1,1,1,1,1,1,1,1, // b0 - b7\n 1,1,1,1,1,1,1,1, // b8 - bf\n 1,1,3,1,3,3,3,3, // c0 - c7\n 3,3,3,3,3,3,3,3, // c8 - cf\n 3,3,3,3,3,3,3,3, // d0 - d7\n 3,3,3,3,3,3,3,3, // d8 - df\n 3,3,3,3,3,3,3,3, // e0 - e7\n 3,3,3,3,3,3,3,3, // e8 - ef\n 3,3,3,3,3,3,3,3, // f0 - f7\n 3,3,3,3,3,3,3,0 // f8 - ff\n];\n\njschardet.EUCTW_st = [\n consts.error,consts.error,consts.start, 3, 3, 3, 4,consts.error, //00-07\n consts.error,consts.error,consts.error,consts.error,consts.error,consts.error,consts.itsMe,consts.itsMe, //08-0f\n consts.itsMe,consts.itsMe,consts.itsMe,consts.itsMe,consts.itsMe,consts.error,consts.start,consts.error, //10-17\n consts.start,consts.start,consts.start,consts.error,consts.error,consts.error,consts.error,consts.error, //18-1f\n 5,consts.error,consts.error,consts.error,consts.start,consts.error,consts.start,consts.start, //20-27\n consts.start,consts.error,consts.start,consts.start,consts.start,consts.start,consts.start,consts.start //28-2f\n];\n\njschardet.EUCTWCharLenTable = [0, 0, 1, 2, 2, 2, 3];\n\njschardet.EUCTWSMModel = {\n \"classTable\" : jschardet.EUCTW_cls,\n \"classFactor\" : 7,\n \"stateTable\" : jschardet.EUCTW_st,\n \"charLenTable\" : jschardet.EUCTWCharLenTable,\n \"name\" : \"x-euc-tw\"\n};\n\n// GB2312\n\njschardet.GB2312_cls = [\n 1,1,1,1,1,1,1,1, // 00 - 07\n 1,1,1,1,1,1,0,0, // 08 - 0f\n 1,1,1,1,1,1,1,1, // 10 - 17\n 1,1,1,0,1,1,1,1, // 18 - 1f\n 1,1,1,1,1,1,1,1, // 20 - 27\n 1,1,1,1,1,1,1,1, // 28 - 2f\n 3,3,3,3,3,3,3,3, // 30 - 37\n 3,3,1,1,1,1,1,1, // 38 - 3f\n 2,2,2,2,2,2,2,2, // 40 - 47\n 2,2,2,2,2,2,2,2, // 48 - 4f\n 2,2,2,2,2,2,2,2, // 50 - 57\n 2,2,2,2,2,2,2,2, // 58 - 5f\n 2,2,2,2,2,2,2,2, // 60 - 67\n 2,2,2,2,2,2,2,2, // 68 - 6f\n 2,2,2,2,2,2,2,2, // 70 - 77\n 2,2,2,2,2,2,2,4, // 78 - 7f\n 5,6,6,6,6,6,6,6, // 80 - 87\n 6,6,6,6,6,6,6,6, // 88 - 8f\n 6,6,6,6,6,6,6,6, // 90 - 97\n 6,6,6,6,6,6,6,6, // 98 - 9f\n 6,6,6,6,6,6,6,6, // a0 - a7\n 6,6,6,6,6,6,6,6, // a8 - af\n 6,6,6,6,6,6,6,6, // b0 - b7\n 6,6,6,6,6,6,6,6, // b8 - bf\n 6,6,6,6,6,6,6,6, // c0 - c7\n 6,6,6,6,6,6,6,6, // c8 - cf\n 6,6,6,6,6,6,6,6, // d0 - d7\n 6,6,6,6,6,6,6,6, // d8 - df\n 6,6,6,6,6,6,6,6, // e0 - e7\n 6,6,6,6,6,6,6,6, // e8 - ef\n 6,6,6,6,6,6,6,6, // f0 - f7\n 6,6,6,6,6,6,6,0 // f8 - ff\n];\n\njschardet.GB2312_st = [\n consts.error,consts.start,consts.start,consts.start,consts.start,consts.start, 3,consts.error, //00-07\n consts.error,consts.error,consts.error,consts.error,consts.error,consts.error,consts.itsMe,consts.itsMe, //08-0f\n consts.itsMe,consts.itsMe,consts.itsMe,consts.itsMe,consts.itsMe,consts.error,consts.error,consts.start, //10-17\n 4,consts.error,consts.start,consts.start,consts.error,consts.error,consts.error,consts.error, //18-1f\n consts.error,consts.error, 5,consts.error,consts.error,consts.error,consts.itsMe,consts.error, //20-27\n consts.error,consts.error,consts.start,consts.start,consts.start,consts.start,consts.start,consts.start //28-2f\n];\n\n// To be accurate, the length of class 6 can be either 2 or 4.\n// But it is not necessary to discriminate between the two since\n// it is used for frequency analysis only, and we are validing\n// each code range there as well. So it is safe to set it to be\n// 2 here.\njschardet.GB2312CharLenTable = [0, 1, 1, 1, 1, 1, 2];\n\njschardet.GB2312SMModel = {\n \"classTable\" : jschardet.GB2312_cls,\n \"classFactor\" : 7,\n \"stateTable\" : jschardet.GB2312_st,\n \"charLenTable\" : jschardet.GB2312CharLenTable,\n \"name\" : \"GB2312\"\n};\n\n// Shift_JIS\n\njschardet.SJIS_cls = [\n 1,1,1,1,1,1,1,1, // 00 - 07\n 1,1,1,1,1,1,0,0, // 08 - 0f\n 1,1,1,1,1,1,1,1, // 10 - 17\n 1,1,1,0,1,1,1,1, // 18 - 1f\n 1,1,1,1,1,1,1,1, // 20 - 27\n 1,1,1,1,1,1,1,1, // 28 - 2f\n 1,1,1,1,1,1,1,1, // 30 - 37\n 1,1,1,1,1,1,1,1, // 38 - 3f\n 2,2,2,2,2,2,2,2, // 40 - 47\n 2,2,2,2,2,2,2,2, // 48 - 4f\n 2,2,2,2,2,2,2,2, // 50 - 57\n 2,2,2,2,2,2,2,2, // 58 - 5f\n 2,2,2,2,2,2,2,2, // 60 - 67\n 2,2,2,2,2,2,2,2, // 68 - 6f\n 2,2,2,2,2,2,2,2, // 70 - 77\n 2,2,2,2,2,2,2,1, // 78 - 7f\n 3,3,3,3,3,3,3,3, // 80 - 87\n 3,3,3,3,3,3,3,3, // 88 - 8f\n 3,3,3,3,3,3,3,3, // 90 - 97\n 3,3,3,3,3,3,3,3, // 98 - 9f\n // 0xa0 is illegal in sjis encoding, but some pages does\n // contain such byte. We need to be more consts.error forgiven.\n 2,2,2,2,2,2,2,2, // a0 - a7\n 2,2,2,2,2,2,2,2, // a8 - af\n 2,2,2,2,2,2,2,2, // b0 - b7\n 2,2,2,2,2,2,2,2, // b8 - bf\n 2,2,2,2,2,2,2,2, // c0 - c7\n 2,2,2,2,2,2,2,2, // c8 - cf\n 2,2,2,2,2,2,2,2, // d0 - d7\n 2,2,2,2,2,2,2,2, // d8 - df\n 3,3,3,3,3,3,3,3, // e0 - e7\n 3,3,3,3,3,4,4,4, // e8 - ef\n 3,3,3,3,3,3,3,3, // f0 - f7\n 3,3,3,3,3,0,0,0 // f8 - ff\n];\n\njschardet.SJIS_st = [\n consts.error,consts.start,consts.start, 3,consts.error,consts.error,consts.error,consts.error, //00-07\n consts.error,consts.error,consts.error,consts.error,consts.itsMe,consts.itsMe,consts.itsMe,consts.itsMe, //08-0f\n consts.itsMe,consts.itsMe,consts.error,consts.error,consts.start,consts.start,consts.start,consts.start //10-17\n];\n\njschardet.SJISCharLenTable = [0, 1, 1, 2, 0, 0];\n\njschardet.SJISSMModel = {\n \"classTable\" : jschardet.SJIS_cls,\n \"classFactor\" : 6,\n \"stateTable\" : jschardet.SJIS_st,\n \"charLenTable\" : jschardet.SJISCharLenTable,\n \"name\" : \"Shift_JIS\"\n};\n\n//UCS2-BE\n\njschardet.UCS2BE_cls = [\n 0,0,0,0,0,0,0,0, // 00 - 07\n 0,0,1,0,0,2,0,0, // 08 - 0f\n 0,0,0,0,0,0,0,0, // 10 - 17\n 0,0,0,3,0,0,0,0, // 18 - 1f\n 0,0,0,0,0,0,0,0, // 20 - 27\n 0,3,3,3,3,3,0,0, // 28 - 2f\n 0,0,0,0,0,0,0,0, // 30 - 37\n 0,0,0,0,0,0,0,0, // 38 - 3f\n 0,0,0,0,0,0,0,0, // 40 - 47\n 0,0,0,0,0,0,0,0, // 48 - 4f\n 0,0,0,0,0,0,0,0, // 50 - 57\n 0,0,0,0,0,0,0,0, // 58 - 5f\n 0,0,0,0,0,0,0,0, // 60 - 67\n 0,0,0,0,0,0,0,0, // 68 - 6f\n 0,0,0,0,0,0,0,0, // 70 - 77\n 0,0,0,0,0,0,0,0, // 78 - 7f\n 0,0,0,0,0,0,0,0, // 80 - 87\n 0,0,0,0,0,0,0,0, // 88 - 8f\n 0,0,0,0,0,0,0,0, // 90 - 97\n 0,0,0,0,0,0,0,0, // 98 - 9f\n 0,0,0,0,0,0,0,0, // a0 - a7\n 0,0,0,0,0,0,0,0, // a8 - af\n 0,0,0,0,0,0,0,0, // b0 - b7\n 0,0,0,0,0,0,0,0, // b8 - bf\n 0,0,0,0,0,0,0,0, // c0 - c7\n 0,0,0,0,0,0,0,0, // c8 - cf\n 0,0,0,0,0,0,0,0, // d0 - d7\n 0,0,0,0,0,0,0,0, // d8 - df\n 0,0,0,0,0,0,0,0, // e0 - e7\n 0,0,0,0,0,0,0,0, // e8 - ef\n 0,0,0,0,0,0,0,0, // f0 - f7\n 0,0,0,0,0,0,4,5 // f8 - ff\n];\n\njschardet.UCS2BE_st = [\n 5, 7, 7,consts.error, 4, 3,consts.error,consts.error, //00-07\n consts.error,consts.error,consts.error,consts.error,consts.itsMe,consts.itsMe,consts.itsMe,consts.itsMe, //08-0f\n consts.itsMe,consts.itsMe, 6, 6, 6, 6,consts.error,consts.error, //10-17\n 6, 6, 6, 6, 6,consts.itsMe, 6, 6, //18-1f\n 6, 6, 6, 6, 5, 7, 7,consts.error, //20-27\n 5, 8, 6, 6,consts.error, 6, 6, 6, //28-2f\n 6, 6, 6, 6,consts.error,consts.error,consts.start,consts.start //30-37\n];\n\njschardet.UCS2BECharLenTable = [2, 2, 2, 0, 2, 2];\n\njschardet.UCS2BESMModel = {\n \"classTable\" : jschardet.UCS2BE_cls,\n \"classFactor\" : 6,\n \"stateTable\" : jschardet.UCS2BE_st,\n \"charLenTable\" : jschardet.UCS2BECharLenTable,\n \"name\" : \"UTF-16BE\"\n};\n\n// UCS2-LE\n\njschardet.UCS2LE_cls = [\n 0,0,0,0,0,0,0,0, // 00 - 07\n 0,0,1,0,0,2,0,0, // 08 - 0f\n 0,0,0,0,0,0,0,0, // 10 - 17\n 0,0,0,3,0,0,0,0, // 18 - 1f\n 0,0,0,0,0,0,0,0, // 20 - 27\n 0,3,3,3,3,3,0,0, // 28 - 2f\n 0,0,0,0,0,0,0,0, // 30 - 37\n 0,0,0,0,0,0,0,0, // 38 - 3f\n 0,0,0,0,0,0,0,0, // 40 - 47\n 0,0,0,0,0,0,0,0, // 48 - 4f\n 0,0,0,0,0,0,0,0, // 50 - 57\n 0,0,0,0,0,0,0,0, // 58 - 5f\n 0,0,0,0,0,0,0,0, // 60 - 67\n 0,0,0,0,0,0,0,0, // 68 - 6f\n 0,0,0,0,0,0,0,0, // 70 - 77\n 0,0,0,0,0,0,0,0, // 78 - 7f\n 0,0,0,0,0,0,0,0, // 80 - 87\n 0,0,0,0,0,0,0,0, // 88 - 8f\n 0,0,0,0,0,0,0,0, // 90 - 97\n 0,0,0,0,0,0,0,0, // 98 - 9f\n 0,0,0,0,0,0,0,0, // a0 - a7\n 0,0,0,0,0,0,0,0, // a8 - af\n 0,0,0,0,0,0,0,0, // b0 - b7\n 0,0,0,0,0,0,0,0, // b8 - bf\n 0,0,0,0,0,0,0,0, // c0 - c7\n 0,0,0,0,0,0,0,0, // c8 - cf\n 0,0,0,0,0,0,0,0, // d0 - d7\n 0,0,0,0,0,0,0,0, // d8 - df\n 0,0,0,0,0,0,0,0, // e0 - e7\n 0,0,0,0,0,0,0,0, // e8 - ef\n 0,0,0,0,0,0,0,0, // f0 - f7\n 0,0,0,0,0,0,4,5 // f8 - ff\n];\n\njschardet.UCS2LE_st = [\n 6, 6, 7, 6, 4, 3,consts.error,consts.error, //00-07\n consts.error,consts.error,consts.error,consts.error,consts.itsMe,consts.itsMe,consts.itsMe,consts.itsMe, //08-0f\n consts.itsMe,consts.itsMe, 5, 5, 5,consts.error,consts.itsMe,consts.error, //10-17\n 5, 5, 5,consts.error, 5,consts.error, 6, 6, //18-1f\n 7, 6, 8, 8, 5, 5, 5,consts.error, //20-27\n 5, 5, 5,consts.error,consts.error,consts.error, 5, 5, //28-2f\n 5, 5, 5,consts.error, 5,consts.error,consts.start,consts.start //30-37\n];\n\njschardet.UCS2LECharLenTable = [2, 2, 2, 2, 2, 2];\n\njschardet.UCS2LESMModel = {\n \"classTable\" : jschardet.UCS2LE_cls,\n \"classFactor\" : 6,\n \"stateTable\" : jschardet.UCS2LE_st,\n \"charLenTable\" : jschardet.UCS2LECharLenTable,\n \"name\" : \"UTF-16LE\"\n};\n\n// UTF-8\n\njschardet.UTF8_cls = [\n 1,1,1,1,1,1,1,1, // 00 - 07 //allow 0x00 as a legal value\n 1,1,1,1,1,1,0,0, // 08 - 0f\n 1,1,1,1,1,1,1,1, // 10 - 17\n 1,1,1,0,1,1,1,1, // 18 - 1f\n 1,1,1,1,1,1,1,1, // 20 - 27\n 1,1,1,1,1,1,1,1, // 28 - 2f\n 1,1,1,1,1,1,1,1, // 30 - 37\n 1,1,1,1,1,1,1,1, // 38 - 3f\n 1,1,1,1,1,1,1,1, // 40 - 47\n 1,1,1,1,1,1,1,1, // 48 - 4f\n 1,1,1,1,1,1,1,1, // 50 - 57\n 1,1,1,1,1,1,1,1, // 58 - 5f\n 1,1,1,1,1,1,1,1, // 60 - 67\n 1,1,1,1,1,1,1,1, // 68 - 6f\n 1,1,1,1,1,1,1,1, // 70 - 77\n 1,1,1,1,1,1,1,1, // 78 - 7f\n 2,2,2,2,3,3,3,3, // 80 - 87\n 4,4,4,4,4,4,4,4, // 88 - 8f\n 4,4,4,4,4,4,4,4, // 90 - 97\n 4,4,4,4,4,4,4,4, // 98 - 9f\n 5,5,5,5,5,5,5,5, // a0 - a7\n 5,5,5,5,5,5,5,5, // a8 - af\n 5,5,5,5,5,5,5,5, // b0 - b7\n 5,5,5,5,5,5,5,5, // b8 - bf\n 0,0,6,6,6,6,6,6, // c0 - c7\n 6,6,6,6,6,6,6,6, // c8 - cf\n 6,6,6,6,6,6,6,6, // d0 - d7\n 6,6,6,6,6,6,6,6, // d8 - df\n 7,8,8,8,8,8,8,8, // e0 - e7\n 8,8,8,8,8,9,8,8, // e8 - ef\n 10,11,11,11,11,11,11,11, // f0 - f7\n 12,13,13,13,14,15,0,0 // f8 - ff\n];\n\njschardet.UTF8_st = [\n consts.error,consts.start,consts.error,consts.error,consts.error,consts.error, 12, 10, //00-07\n 9, 11, 8, 7, 6, 5, 4, 3, //08-0f\n consts.error,consts.error,consts.error,consts.error,consts.error,consts.error,consts.error,consts.error, //10-17\n consts.error,consts.error,consts.error,consts.error,consts.error,consts.error,consts.error,consts.error, //18-1f\n consts.itsMe,consts.itsMe,consts.itsMe,consts.itsMe,consts.itsMe,consts.itsMe,consts.itsMe,consts.itsMe, //20-27\n consts.itsMe,consts.itsMe,consts.itsMe,consts.itsMe,consts.itsMe,consts.itsMe,consts.itsMe,consts.itsMe, //28-2f\n consts.error,consts.error, 5, 5, 5, 5,consts.error,consts.error, //30-37\n consts.error,consts.error,consts.error,consts.error,consts.error,consts.error,consts.error,consts.error, //38-3f\n consts.error,consts.error,consts.error, 5, 5, 5,consts.error,consts.error, //40-47\n consts.error,consts.error,consts.error,consts.error,consts.error,consts.error,consts.error,consts.error, //48-4f\n consts.error,consts.error, 7, 7, 7, 7,consts.error,consts.error, //50-57\n consts.error,consts.error,consts.error,consts.error,consts.error,consts.error,consts.error,consts.error, //58-5f\n consts.error,consts.error,consts.error,consts.error, 7, 7,consts.error,consts.error, //60-67\n consts.error,consts.error,consts.error,consts.error,consts.error,consts.error,consts.error,consts.error, //68-6f\n consts.error,consts.error, 9, 9, 9, 9,consts.error,consts.error, //70-77\n consts.error,consts.error,consts.error,consts.error,consts.error,consts.error,consts.error,consts.error, //78-7f\n consts.error,consts.error,consts.error,consts.error,consts.error, 9,consts.error,consts.error, //80-87\n consts.error,consts.error,consts.error,consts.error,consts.error,consts.error,consts.error,consts.error, //88-8f\n consts.error,consts.error, 12, 12, 12, 12,consts.error,consts.error, //90-97\n consts.error,consts.error,consts.error,consts.error,consts.error,consts.error,consts.error,consts.error, //98-9f\n consts.error,consts.error,consts.error,consts.error,consts.error, 12,consts.error,consts.error, //a0-a7\n consts.error,consts.error,consts.error,consts.error,consts.error,consts.error,consts.error,consts.error, //a8-af\n consts.error,consts.error, 12, 12, 12,consts.error,consts.error,consts.error, //b0-b7\n consts.error,consts.error,consts.error,consts.error,consts.error,consts.error,consts.error,consts.error, //b8-bf\n consts.error,consts.error,consts.start,consts.start,consts.start,consts.start,consts.error,consts.error, //c0-c7\n consts.error,consts.error,consts.error,consts.error,consts.error,consts.error,consts.error,consts.error //c8-cf\n];\n\njschardet.UTF8CharLenTable = [0, 1, 0, 0, 0, 0, 2, 3, 3, 3, 4, 4, 5, 5, 6, 6];\n\njschardet.UTF8SMModel = {\n \"classTable\" : jschardet.UTF8_cls,\n \"classFactor\" : 16,\n \"stateTable\" : jschardet.UTF8_st,\n \"charLenTable\" : jschardet.UTF8CharLenTable,\n \"name\" : \"UTF-8\"\n};\n\n}(__webpack_require__(/*! ./init */ \"./node_modules/jschardet/src/init.js\"));\n\n\n//# sourceURL=webpack:///./node_modules/jschardet/src/mbcssm.js?"); - -/***/ }), - -/***/ "./node_modules/jschardet/src/sbcharsetprober.js": -/*!*******************************************************!*\ - !*** ./node_modules/jschardet/src/sbcharsetprober.js ***! - \*******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/*\n * The Original Code is Mozilla Universal charset detector code.\n *\n * The Initial Developer of the Original Code is\n * Netscape Communications Corporation.\n * Portions created by the Initial Developer are Copyright (C) 2001\n * the Initial Developer. All Rights Reserved.\n *\n * Contributor(s):\n * António Afonso (antonio.afonso gmail.com) - port to JavaScript\n * Mark Pilgrim - port to Python\n * Shy Shalom - original C code\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA\n */\n\n!function(jschardet) {\n\njschardet.SingleByteCharSetProber = function(model, reversed, nameProber) {\n jschardet.CharSetProber.apply(this);\n\n var SAMPLE_SIZE = 64;\n var SB_ENOUGH_REL_THRESHOLD = 1024;\n var POSITIVE_SHORTCUT_THRESHOLD = 0.95;\n var NEGATIVE_SHORTCUT_THRESHOLD = 0.05;\n var SYMBOL_CAT_ORDER = 250;\n var NUMBER_OF_SEQ_CAT = 4;\n var POSITIVE_CAT = NUMBER_OF_SEQ_CAT - 1;\n //var NEGATIVE_CAT = 0;\n\n var self = this;\n\n function init(model, reversed, nameProber) {\n self._mModel = model;\n self._mReversed = reversed; // \"true\" if we need to reverse every pair in the model lookup\n self._mNameProber = nameProber; // Optional auxiliary prober for name decision\n self.reset();\n }\n\n this.reset = function() {\n jschardet.SingleByteCharSetProber.prototype.reset.apply(this);\n this._mLastOrder = 255; // char order of last character\n this._mSeqCounters = [];\n for( var i = 0; i < NUMBER_OF_SEQ_CAT; this._mSeqCounters[i++] = 0 );\n this._mTotalSeqs = 0;\n this._mTotalChar = 0;\n this._mFreqChar = 0; // characters that fall in our sampling range\n }\n\n this.getCharsetName = function() {\n if( this._mNameProber ) {\n return this._mNameProber.getCharsetName();\n } else {\n return this._mModel.charsetName;\n }\n }\n\n this.feed = function(aBuf) {\n if( ! this._mModel.keepEnglishLetter ) {\n aBuf = this.filterWithoutEnglishLetters(aBuf);\n }\n var aLen = aBuf.length;\n if( !aLen ) {\n return this.getState();\n }\n for( var i = 0, c; i < aLen; i++ )\n {\n c = aBuf.charCodeAt(i);\n var order = this._mModel.charToOrderMap[c];\n if( order < SYMBOL_CAT_ORDER ) {\n this._mTotalChar++;\n }\n if( order < SAMPLE_SIZE ) {\n this._mFreqChar++;\n if( this._mLastOrder < SAMPLE_SIZE ) {\n this._mTotalSeqs++;\n if( !this._mReversed ) {\n this._mSeqCounters[this._mModel.precedenceMatrix[(this._mLastOrder * SAMPLE_SIZE) + order]]++;\n } else { // reverse the order of the letters in the lookup\n this._mSeqCounters[this._mModel.precedenceMatrix[(order * SAMPLE_SIZE) + this._mLastOrder]]++;\n }\n }\n }\n this._mLastOrder = order;\n }\n\n if( this.getState() == jschardet.Constants.detecting ) {\n if( self._mTotalSeqs > SB_ENOUGH_REL_THRESHOLD ) {\n var cf = this.getConfidence();\n if( cf > POSITIVE_SHORTCUT_THRESHOLD ) {\n if( jschardet.Constants._debug ) {\n jschardet.log(this._mModel.charsetName + \" confidence = \" + cf + \", we have a winner\\n\");\n }\n } else if( cf < NEGATIVE_SHORTCUT_THRESHOLD ) {\n if( jschardet.Constants._debug ) {\n jschardet.log(this._mModel.charsetName + \" confidence = \" + cf + \", below negative shortcut threshhold \" + NEGATIVE_SHORTCUT_THRESHOLD + \"\\n\");\n }\n this._mState = jschardet.Constants.notMe;\n }\n }\n }\n\n return this.getState();\n }\n\n this.getConfidence = function() {\n var r = 0.01;\n if( this._mTotalSeqs > 0 ) {\n //jschardet.log(this._mSeqCounters[POSITIVE_CAT] + \" \" + this._mTotalSeqs + \" \" + this._mModel.mTypicalPositiveRatio);\n r = (1.0 * this._mSeqCounters[POSITIVE_CAT]) / this._mTotalSeqs / this._mModel.mTypicalPositiveRatio;\n //jschardet.log(r + \" \" + this._mFreqChar + \" \" + this._mTotalChar);\n r *= this._mFreqChar / this._mTotalChar;\n if( r >= 1.0 ) {\n r = 0.99;\n }\n }\n return r;\n }\n\n reversed = reversed !== undefined ? reversed : false;\n nameProber = nameProber !== undefined ? nameProber : null;\n init(model, reversed, nameProber);\n}\njschardet.SingleByteCharSetProber.prototype = new jschardet.CharSetProber();\n\n}(__webpack_require__(/*! ./init */ \"./node_modules/jschardet/src/init.js\"));\n\n\n//# sourceURL=webpack:///./node_modules/jschardet/src/sbcharsetprober.js?"); - -/***/ }), - -/***/ "./node_modules/jschardet/src/sbcsgroupprober.js": -/*!*******************************************************!*\ - !*** ./node_modules/jschardet/src/sbcsgroupprober.js ***! - \*******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/*\n * The Original Code is Mozilla Universal charset detector code.\n *\n * The Initial Developer of the Original Code is\n * Netscape Communications Corporation.\n * Portions created by the Initial Developer are Copyright (C) 2001\n * the Initial Developer. All Rights Reserved.\n *\n * Contributor(s):\n * António Afonso (antonio.afonso gmail.com) - port to JavaScript\n * Mark Pilgrim - port to Python\n * Shy Shalom - original C code\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA\n */\n\n!function(jschardet) {\n\njschardet.SBCSGroupProber = function() {\n jschardet.CharSetGroupProber.apply(this);\n\n var self = this;\n\n function init() {\n self._mProbers = [\n new jschardet.SingleByteCharSetProber(jschardet.Win1251CyrillicModel),\n new jschardet.SingleByteCharSetProber(jschardet.Koi8rModel),\n new jschardet.SingleByteCharSetProber(jschardet.Latin5CyrillicModel),\n new jschardet.SingleByteCharSetProber(jschardet.MacCyrillicModel),\n new jschardet.SingleByteCharSetProber(jschardet.Ibm866Model),\n new jschardet.SingleByteCharSetProber(jschardet.Ibm855Model),\n new jschardet.SingleByteCharSetProber(jschardet.Latin7GreekModel),\n new jschardet.SingleByteCharSetProber(jschardet.Win1253GreekModel),\n new jschardet.SingleByteCharSetProber(jschardet.Latin5BulgarianModel),\n new jschardet.SingleByteCharSetProber(jschardet.Win1251BulgarianModel),\n new jschardet.SingleByteCharSetProber(jschardet.Latin2HungarianModel),\n new jschardet.SingleByteCharSetProber(jschardet.Win1250HungarianModel),\n new jschardet.SingleByteCharSetProber(jschardet.TIS620ThaiModel)\n ];\n var hebrewProber = new jschardet.HebrewProber();\n var logicalHebrewProber = new jschardet.SingleByteCharSetProber(jschardet.Win1255HebrewModel, false, hebrewProber);\n var visualHebrewProber = new jschardet.SingleByteCharSetProber(jschardet.Win1255HebrewModel, true, hebrewProber);\n hebrewProber.setModelProbers(logicalHebrewProber, visualHebrewProber);\n self._mProbers.push(hebrewProber, logicalHebrewProber, visualHebrewProber);\n\n self.reset();\n }\n\n init();\n}\njschardet.SBCSGroupProber.prototype = new jschardet.CharSetGroupProber();\n\n}(__webpack_require__(/*! ./init */ \"./node_modules/jschardet/src/init.js\"));\n\n\n//# sourceURL=webpack:///./node_modules/jschardet/src/sbcsgroupprober.js?"); - -/***/ }), - -/***/ "./node_modules/jschardet/src/sjisprober.js": -/*!**************************************************!*\ - !*** ./node_modules/jschardet/src/sjisprober.js ***! - \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/*\n * The Original Code is Mozilla Universal charset detector code.\n *\n * The Initial Developer of the Original Code is\n * Netscape Communications Corporation.\n * Portions created by the Initial Developer are Copyright (C) 2001\n * the Initial Developer. All Rights Reserved.\n *\n * Contributor(s):\n * António Afonso (antonio.afonso gmail.com) - port to JavaScript\n * Mark Pilgrim - port to Python\n * Shy Shalom - original C code\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA\n */\n\n!function(jschardet) {\n\njschardet.SJISProber = function() {\n jschardet.MultiByteCharSetProber.apply(this);\n\n var self = this;\n\n function init() {\n self._mCodingSM = new jschardet.CodingStateMachine(jschardet.SJISSMModel);\n self._mDistributionAnalyzer = new jschardet.SJISDistributionAnalysis();\n self._mContextAnalyzer = new jschardet.SJISContextAnalysis();\n self.reset();\n }\n\n this.reset = function() {\n jschardet.SJISProber.prototype.reset.apply(this);\n this._mContextAnalyzer.reset();\n }\n\n this.getCharsetName = function() {\n return \"SHIFT_JIS\";\n }\n\n this.feed = function(aBuf) {\n var aLen = aBuf.length;\n for( var i = 0; i < aLen; i++ ) {\n var codingState = this._mCodingSM.nextState(aBuf[i]);\n if( codingState == jschardet.Constants.error ) {\n if( jschardet.Constants._debug ) {\n jschardet.log(this.getCharsetName() + \" prober hit error at byte \" + i + \"\\n\");\n }\n this._mState = jschardet.Constants.notMe;\n break;\n } else if( codingState == jschardet.Constants.itsMe ) {\n this._mState = jschardet.Constants.foundIt;\n break;\n } else if( codingState == jschardet.Constants.start ) {\n var charLen = this._mCodingSM.getCurrentCharLen();\n if( i == 0 ) {\n this._mLastChar[1] = aBuf[0];\n this._mContextAnalyzer.feed(this._mLastChar.slice(2 - charLen), charLen);\n this._mDistributionAnalyzer.feed(this._mLastChar, charLen);\n } else {\n this._mContextAnalyzer.feed(aBuf.slice(i + 1 - charLen, i + 3 - charLen), charLen);\n this._mDistributionAnalyzer.feed(aBuf.slice(i - 1, i + 1), charLen);\n }\n }\n }\n\n this._mLastChar[0] = aBuf[aLen - 1];\n\n if( this.getState() == jschardet.Constants.detecting ) {\n if( this._mContextAnalyzer.gotEnoughData() &&\n this.getConfidence() > jschardet.Constants.SHORTCUT_THRESHOLD ) {\n this._mState = jschardet.Constants.foundIt;\n }\n }\n\n return this.getState();\n }\n\n this.getConfidence = function() {\n var contxtCf = this._mContextAnalyzer.getConfidence();\n var distribCf = this._mDistributionAnalyzer.getConfidence();\n return Math.max(contxtCf, distribCf);\n }\n\n init();\n}\njschardet.SJISProber.prototype = new jschardet.MultiByteCharSetProber();\n\n}(__webpack_require__(/*! ./init */ \"./node_modules/jschardet/src/init.js\"));\n\n\n//# sourceURL=webpack:///./node_modules/jschardet/src/sjisprober.js?"); - -/***/ }), - -/***/ "./node_modules/jschardet/src/universaldetector.js": -/*!*********************************************************!*\ - !*** ./node_modules/jschardet/src/universaldetector.js ***! - \*********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/*\n * The Original Code is Mozilla Universal charset detector code.\n *\n * The Initial Developer of the Original Code is\n * Netscape Communications Corporation.\n * Portions created by the Initial Developer are Copyright (C) 2001\n * the Initial Developer. All Rights Reserved.\n *\n * Contributor(s):\n * António Afonso (antonio.afonso gmail.com) - port to JavaScript\n * Mark Pilgrim - port to Python\n * Shy Shalom - original C code\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA\n */\n\n/**\n * This is a port from the python port, version \"2.0.1\"\n */\n\n!function(jschardet) {\n\njschardet.UniversalDetector = function() {\n var MINIMUM_THRESHOLD = jschardet.Constants.MINIMUM_THRESHOLD;\n var _state = {\n pureAscii : 0,\n escAscii : 1,\n highbyte : 2\n };\n var self = this;\n\n function init() {\n self._highBitDetector = /[\\x80-\\xFF]/;\n self._escDetector = /(\\x1B|~\\{)/;\n self._mEscCharsetProber = null;\n self._mCharsetProbers = [];\n self.reset();\n }\n\n this.reset = function() {\n this.result = {\"encoding\": null, \"confidence\": 0.0};\n this.done = false;\n this._mStart = true;\n this._mGotData = false;\n this._mInputState = _state.pureAscii;\n this._mLastChar = \"\";\n this._mBOM = \"\";\n if( this._mEscCharsetProber ) {\n this._mEscCharsetProber.reset();\n }\n for( var i = 0, prober; prober = this._mCharsetProbers[i]; i++ ) {\n prober.reset();\n }\n }\n\n this.feed = function(aBuf) {\n if( this.done ) return;\n\n var aLen = aBuf.length;\n if( !aLen ) return;\n\n if( !this._mGotData ) {\n this._mBOM += aBuf;\n // If the data starts with BOM, we know it is UTF\n if( this._mBOM.slice(0,3) == \"\\xEF\\xBB\\xBF\" ) {\n // EF BB BF UTF-8 with BOM\n this.result = {\"encoding\": \"UTF-8\", \"confidence\": 1.0};\n } else if( this._mBOM.slice(0,4) == \"\\xFF\\xFE\\x00\\x00\" ) {\n // FF FE 00 00 UTF-32, little-endian BOM\n this.result = {\"encoding\": \"UTF-32LE\", \"confidence\": 1.0};\n } else if( this._mBOM.slice(0,4) == \"\\x00\\x00\\xFE\\xFF\" ) {\n // 00 00 FE FF UTF-32, big-endian BOM\n this.result = {\"encoding\": \"UTF-32BE\", \"confidence\": 1.0};\n } else if( this._mBOM.slice(0,4) == \"\\xFE\\xFF\\x00\\x00\" ) {\n // FE FF 00 00 UCS-4, unusual octet order BOM (3412)\n this.result = {\"encoding\": \"X-ISO-10646-UCS-4-3412\", \"confidence\": 1.0};\n } else if( this._mBOM.slice(0,4) == \"\\x00\\x00\\xFF\\xFE\" ) {\n // 00 00 FF FE UCS-4, unusual octet order BOM (2143)\n this.result = {\"encoding\": \"X-ISO-10646-UCS-4-2143\", \"confidence\": 1.0};\n } else if( this._mBOM.slice(0,2) == \"\\xFF\\xFE\" ) {\n // FF FE UTF-16, little endian BOM\n this.result = {\"encoding\": \"UTF-16LE\", \"confidence\": 1.0};\n } else if( this._mBOM.slice(0,2) == \"\\xFE\\xFF\" ) {\n // FE FF UTF-16, big endian BOM\n this.result = {\"encoding\": \"UTF-16BE\", \"confidence\": 1.0};\n }\n\n // If we got to 4 chars without being able to detect a BOM we\n // stop trying.\n if( this._mBOM.length > 3 ) {\n this._mGotData = true;\n }\n }\n\n if( this.result.encoding && (this.result.confidence > 0.0) ) {\n this.done = true;\n return;\n }\n\n if( this._mInputState == _state.pureAscii ) {\n if( this._highBitDetector.test(aBuf) ) {\n this._mInputState = _state.highbyte;\n } else if( this._escDetector.test(this._mLastChar + aBuf) ) {\n this._mInputState = _state.escAscii;\n }\n }\n\n this._mLastChar = aBuf.slice(-1);\n\n if( this._mInputState == _state.escAscii ) {\n if( !this._mEscCharsetProber ) {\n this._mEscCharsetProber = new jschardet.EscCharSetProber();\n }\n if( this._mEscCharsetProber.feed(aBuf) == jschardet.Constants.foundIt ) {\n this.result = {\n \"encoding\": this._mEscCharsetProber.getCharsetName(),\n \"confidence\": this._mEscCharsetProber.getConfidence()\n };\n this.done = true;\n }\n } else if( this._mInputState == _state.highbyte ) {\n if( this._mCharsetProbers.length == 0 ) {\n this._mCharsetProbers = [\n new jschardet.MBCSGroupProber(),\n new jschardet.SBCSGroupProber(),\n new jschardet.Latin1Prober()\n ];\n }\n for( var i = 0, prober; prober = this._mCharsetProbers[i]; i++ ) {\n if( prober.feed(aBuf) == jschardet.Constants.foundIt ) {\n this.result = {\n \"encoding\": prober.getCharsetName(),\n \"confidence\": prober.getConfidence()\n };\n this.done = true;\n break;\n }\n }\n }\n }\n\n this.close = function() {\n if( this.done ) return;\n if( this._mBOM.length === 0 ) {\n if( jschardet.Constants._debug ) {\n jschardet.log(\"no data received!\\n\");\n }\n return;\n }\n this.done = true;\n\n if( this._mInputState == _state.pureAscii ) {\n if( jschardet.Constants._debug ) {\n jschardet.log(\"pure ascii\")\n }\n this.result = {\"encoding\": \"ascii\", \"confidence\": 1.0};\n return this.result;\n }\n\n if( this._mInputState == _state.highbyte ) {\n var proberConfidence = null;\n var maxProberConfidence = 0.0;\n var maxProber = null;\n for( var i = 0, prober; prober = this._mCharsetProbers[i]; i++ ) {\n if( !prober ) continue;\n proberConfidence = prober.getConfidence();\n if( proberConfidence > maxProberConfidence ) {\n maxProberConfidence = proberConfidence;\n maxProber = prober;\n }\n if( jschardet.Constants._debug ) {\n jschardet.log(prober.getCharsetName() + \" confidence \" + prober.getConfidence());\n }\n }\n if( maxProber && maxProberConfidence > MINIMUM_THRESHOLD ) {\n this.result = {\n \"encoding\": maxProber.getCharsetName(),\n \"confidence\": maxProber.getConfidence()\n };\n return this.result;\n }\n }\n\n if( jschardet.Constants._debug ) {\n jschardet.log(\"no probers hit minimum threshhold\\n\");\n for( var i = 0, prober; prober = this._mCharsetProbers[i]; i++ ) {\n if( !prober ) continue;\n jschardet.log(prober.getCharsetName() + \" confidence = \" +\n prober.getConfidence() + \"\\n\");\n }\n }\n }\n\n init();\n}\n\n}(__webpack_require__(/*! ./init */ \"./node_modules/jschardet/src/init.js\"));\n\n\n//# sourceURL=webpack:///./node_modules/jschardet/src/universaldetector.js?"); - -/***/ }), - -/***/ "./node_modules/jschardet/src/utf8prober.js": -/*!**************************************************!*\ - !*** ./node_modules/jschardet/src/utf8prober.js ***! - \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/*\n * The Original Code is Mozilla Universal charset detector code.\n *\n * The Initial Developer of the Original Code is\n * Netscape Communications Corporation.\n * Portions created by the Initial Developer are Copyright (C) 2001\n * the Initial Developer. All Rights Reserved.\n *\n * Contributor(s):\n * António Afonso (antonio.afonso gmail.com) - port to JavaScript\n * Mark Pilgrim - port to Python\n * Shy Shalom - original C code\n *\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n *\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n * Lesser General Public License for more details.\n *\n * You should have received a copy of the GNU Lesser General Public\n * License along with this library; if not, write to the Free Software\n * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA\n * 02110-1301 USA\n */\n\n!function(jschardet) {\n\njschardet.UTF8Prober = function() {\n jschardet.CharSetProber.apply(this);\n\n var ONE_CHAR_PROB = 0.5;\n var self = this;\n\n function init() {\n self._mCodingSM = new jschardet.CodingStateMachine(jschardet.UTF8SMModel);\n self.reset();\n }\n\n this.reset = function() {\n jschardet.UTF8Prober.prototype.reset.apply(this);\n this._mCodingSM.reset();\n this._mNumOfMBChar = 0;\n }\n\n this.getCharsetName = function() {\n return \"UTF-8\";\n }\n\n this.feed = function(aBuf) {\n for( var i = 0, c; i < aBuf.length; i++ ) {\n c = aBuf[i];\n var codingState = this._mCodingSM.nextState(c);\n if( codingState == jschardet.Constants.error ) {\n this._mState = jschardet.Constants.notMe;\n break;\n } else if( codingState == jschardet.Constants.itsMe ) {\n this._mState = jschardet.Constants.foundIt;\n break;\n } else if( codingState == jschardet.Constants.start ) {\n if( this._mCodingSM.getCurrentCharLen() >= 2 ) {\n this._mNumOfMBChar++;\n }\n }\n }\n\n if( this.getState() == jschardet.Constants.detecting ) {\n if( this.getConfidence() > jschardet.Constants.SHORTCUT_THRESHOLD ) {\n this._mState = jschardet.Constants.foundIt;\n }\n }\n\n return this.getState();\n }\n\n this.getConfidence = function() {\n var unlike = 0.99;\n if( this._mNumOfMBChar < 6 ) {\n for( var i = 0; i < this._mNumOfMBChar; i++ ) {\n unlike *= ONE_CHAR_PROB;\n }\n return 1 - unlike;\n } else {\n return unlike;\n }\n }\n\n init();\n}\njschardet.UTF8Prober.prototype = new jschardet.CharSetProber();\n\n}(__webpack_require__(/*! ./init */ \"./node_modules/jschardet/src/init.js\"));\n\n\n//# sourceURL=webpack:///./node_modules/jschardet/src/utf8prober.js?"); - -/***/ }), - -/***/ "./node_modules/loc-i18next/dist/commonjs/main.js": -/*!********************************************************!*\ - !*** ./node_modules/loc-i18next/dist/commonjs/main.js ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar defaults = {\n selectorAttr: 'data-i18n',\n targetAttr: 'i18n-target',\n optionsAttr: 'i18n-options',\n useOptionsAttr: false,\n parseDefaultValueFromContent: true,\n document: document\n};\n\nfunction init(i18next) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n options = _extends({}, defaults, options);\n var extendDefault = function extendDefault(o, val) {\n return options.parseDefaultValueFromContent ? _extends({}, o, { defaultValue: val }) : o;\n };\n function parse(elem, key, opts) {\n var attr = 'text';\n\n if (key.indexOf('[') == 0) {\n var parts = key.split(']');\n key = parts[1];\n attr = parts[0].substr(1, parts[0].length - 1);\n }\n\n key = key.indexOf(';') == key.length - 1 ? key.substr(0, key.length - 2) : key;\n\n if (attr === 'html') {\n elem.innerHTML = i18next.t(key, extendDefault(opts, elem.innerHTML));\n } else if (attr === 'text') {\n elem.textContent = i18next.t(key, extendDefault(opts, elem.textContent));\n } else if (attr === 'prepend') {\n var startIdx = elem.innerHTML.indexOf('');\n var endIdx = elem.innerHTML.indexOf('') + 11;\n if (startIdx > -1 && endIdx > 6) {\n elem.innerHTML = [elem.innerHTML.substring(0, startIdx), elem.innerHTML.slice(endIdx)].join('');\n }\n elem.innerHTML = ['', i18next.t(key, extendDefault(opts, elem.innerHTML)), '', elem.innerHTML].join('');\n } else if (attr === 'append') {\n var _startIdx = elem.innerHTML.indexOf('');\n var _endIdx = elem.innerHTML.indexOf('') + 11;\n if (_startIdx > -1 && _endIdx > 6) {\n elem.innerHTML = [elem.innerHTML.substring(0, _startIdx), elem.innerHTML.slice(_endIdx)].join('');\n }\n elem.innerHTML = [elem.innerHTML, '', i18next.t(key, extendDefault(opts, elem.innerHTML), '')].join('');\n } else if (attr.indexOf('data-') === 0) {\n var dataAttr = attr.substr('data-'.length);\n var translated = i18next.t(key, extendDefault(opts, elem.getAttribute(dataAttr)));\n // we change into the data cache\n elem.setAttribute(dataAttr, translated);\n // we change into the dom\n elem.setAttribute(attr, translated);\n } else {\n elem.setAttribute(attr, i18next.t(key, extendDefault(opts, elem.getAttribute(attr))));\n }\n };\n\n function relaxedJsonParse(badJSON) {\n return JSON.parse(badJSON.replace(/:\\s*\"([^\"]*)\"/g, function (match, p1) {\n return ': \"' + p1.replace(/:/g, '@colon@') + '\"';\n }).replace(/:\\s*'([^']*)'/g, function (match, p1) {\n return ': \"' + p1.replace(/:/g, '@colon@') + '\"';\n }).replace(/(['\"])?([a-z0-9A-Z_]+)(['\"])?\\s*:/g, '\"$2\": ').replace(/@colon@/g, ':'));\n }\n\n function _loc(elem, opts) {\n var key = elem.getAttribute(options.selectorAttr);\n // if (!key && typeof key !== 'undefined' && key !== false)\n // key = elem.textContent || elem.innerHTML;\n if (!key) return;\n\n var target = elem,\n targetSelector = elem.getAttribute(options.targetAttr);\n\n if (targetSelector != null) target = elem.querySelector(targetSelector) || elem;\n\n if (!opts && options.useOptionsAttr === true) opts = relaxedJsonParse(elem.getAttribute(options.optionsAttr) || '{}');\n\n opts = opts || {};\n\n if (key.indexOf(';') >= 0) {\n var keys = key.split(';');\n for (var ix = 0, l_ix = keys.length; ix < l_ix; ix++) {\n if (keys[ix] != '') parse(target, keys[ix], opts);\n }\n } else {\n parse(target, key, opts);\n }\n\n if (options.useOptionsAttr === true) {\n var clone = {};\n clone = _extends({ clone: clone }, opts);\n delete clone.lng;\n elem.setAttribute(options.optionsAttr, JSON.stringify(clone));\n }\n }\n\n function handle(selector, opts) {\n var elems = options.document.querySelectorAll(selector);\n for (var i = 0; i < elems.length; i++) {\n var elem = elems[i];\n var childs = elem.querySelectorAll('[' + options.selectorAttr + ']');\n for (var j = childs.length - 1; j > -1; j--) {\n _loc(childs[j], opts);\n }\n _loc(elem, opts);\n }\n };\n return handle;\n}\n\nexports.default = {\n init: init\n};\n\n//# sourceURL=webpack:///./node_modules/loc-i18next/dist/commonjs/main.js?"); - -/***/ }), - -/***/ "./node_modules/loc-i18next/index.js": -/*!*******************************************!*\ - !*** ./node_modules/loc-i18next/index.js ***! - \*******************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("module.exports = __webpack_require__(/*! ./dist/commonjs/main.js */ \"./node_modules/loc-i18next/dist/commonjs/main.js\").default;\n\n\n//# sourceURL=webpack:///./node_modules/loc-i18next/index.js?"); - -/***/ }), - -/***/ "./node_modules/mgrs/mgrs.js": -/*!***********************************!*\ - !*** ./node_modules/mgrs/mgrs.js ***! - \***********************************/ -/*! exports provided: default, forward, inverse, toPoint */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"forward\", function() { return forward; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"inverse\", function() { return inverse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toPoint\", function() { return toPoint; });\n\n\n\n/**\n * UTM zones are grouped, and assigned to one of a group of 6\n * sets.\n *\n * {int} @private\n */\nvar NUM_100K_SETS = 6;\n\n/**\n * The column letters (for easting) of the lower left value, per\n * set.\n *\n * {string} @private\n */\nvar SET_ORIGIN_COLUMN_LETTERS = 'AJSAJS';\n\n/**\n * The row letters (for northing) of the lower left value, per\n * set.\n *\n * {string} @private\n */\nvar SET_ORIGIN_ROW_LETTERS = 'AFAFAF';\n\nvar A = 65; // A\nvar I = 73; // I\nvar O = 79; // O\nvar V = 86; // V\nvar Z = 90; // Z\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n forward: forward,\n inverse: inverse,\n toPoint: toPoint\n});\n/**\n * Conversion of lat/lon to MGRS.\n *\n * @param {object} ll Object literal with lat and lon properties on a\n * WGS84 ellipsoid.\n * @param {int} accuracy Accuracy in digits (5 for 1 m, 4 for 10 m, 3 for\n * 100 m, 2 for 1000 m or 1 for 10000 m). Optional, default is 5.\n * @return {string} the MGRS string for the given location and accuracy.\n */\nfunction forward(ll, accuracy) {\n accuracy = accuracy || 5; // default accuracy 1m\n return encode(LLtoUTM({\n lat: ll[1],\n lon: ll[0]\n }), accuracy);\n};\n\n/**\n * Conversion of MGRS to lat/lon.\n *\n * @param {string} mgrs MGRS string.\n * @return {array} An array with left (longitude), bottom (latitude), right\n * (longitude) and top (latitude) values in WGS84, representing the\n * bounding box for the provided MGRS reference.\n */\nfunction inverse(mgrs) {\n var bbox = UTMtoLL(decode(mgrs.toUpperCase()));\n if (bbox.lat && bbox.lon) {\n return [bbox.lon, bbox.lat, bbox.lon, bbox.lat];\n }\n return [bbox.left, bbox.bottom, bbox.right, bbox.top];\n};\n\nfunction toPoint(mgrs) {\n var bbox = UTMtoLL(decode(mgrs.toUpperCase()));\n if (bbox.lat && bbox.lon) {\n return [bbox.lon, bbox.lat];\n }\n return [(bbox.left + bbox.right) / 2, (bbox.top + bbox.bottom) / 2];\n};\n/**\n * Conversion from degrees to radians.\n *\n * @private\n * @param {number} deg the angle in degrees.\n * @return {number} the angle in radians.\n */\nfunction degToRad(deg) {\n return (deg * (Math.PI / 180.0));\n}\n\n/**\n * Conversion from radians to degrees.\n *\n * @private\n * @param {number} rad the angle in radians.\n * @return {number} the angle in degrees.\n */\nfunction radToDeg(rad) {\n return (180.0 * (rad / Math.PI));\n}\n\n/**\n * Converts a set of Longitude and Latitude co-ordinates to UTM\n * using the WGS84 ellipsoid.\n *\n * @private\n * @param {object} ll Object literal with lat and lon properties\n * representing the WGS84 coordinate to be converted.\n * @return {object} Object literal containing the UTM value with easting,\n * northing, zoneNumber and zoneLetter properties, and an optional\n * accuracy property in digits. Returns null if the conversion failed.\n */\nfunction LLtoUTM(ll) {\n var Lat = ll.lat;\n var Long = ll.lon;\n var a = 6378137.0; //ellip.radius;\n var eccSquared = 0.00669438; //ellip.eccsq;\n var k0 = 0.9996;\n var LongOrigin;\n var eccPrimeSquared;\n var N, T, C, A, M;\n var LatRad = degToRad(Lat);\n var LongRad = degToRad(Long);\n var LongOriginRad;\n var ZoneNumber;\n // (int)\n ZoneNumber = Math.floor((Long + 180) / 6) + 1;\n\n //Make sure the longitude 180.00 is in Zone 60\n if (Long === 180) {\n ZoneNumber = 60;\n }\n\n // Special zone for Norway\n if (Lat >= 56.0 && Lat < 64.0 && Long >= 3.0 && Long < 12.0) {\n ZoneNumber = 32;\n }\n\n // Special zones for Svalbard\n if (Lat >= 72.0 && Lat < 84.0) {\n if (Long >= 0.0 && Long < 9.0) {\n ZoneNumber = 31;\n }\n else if (Long >= 9.0 && Long < 21.0) {\n ZoneNumber = 33;\n }\n else if (Long >= 21.0 && Long < 33.0) {\n ZoneNumber = 35;\n }\n else if (Long >= 33.0 && Long < 42.0) {\n ZoneNumber = 37;\n }\n }\n\n LongOrigin = (ZoneNumber - 1) * 6 - 180 + 3; //+3 puts origin\n // in middle of\n // zone\n LongOriginRad = degToRad(LongOrigin);\n\n eccPrimeSquared = (eccSquared) / (1 - eccSquared);\n\n N = a / Math.sqrt(1 - eccSquared * Math.sin(LatRad) * Math.sin(LatRad));\n T = Math.tan(LatRad) * Math.tan(LatRad);\n C = eccPrimeSquared * Math.cos(LatRad) * Math.cos(LatRad);\n A = Math.cos(LatRad) * (LongRad - LongOriginRad);\n\n M = a * ((1 - eccSquared / 4 - 3 * eccSquared * eccSquared / 64 - 5 * eccSquared * eccSquared * eccSquared / 256) * LatRad - (3 * eccSquared / 8 + 3 * eccSquared * eccSquared / 32 + 45 * eccSquared * eccSquared * eccSquared / 1024) * Math.sin(2 * LatRad) + (15 * eccSquared * eccSquared / 256 + 45 * eccSquared * eccSquared * eccSquared / 1024) * Math.sin(4 * LatRad) - (35 * eccSquared * eccSquared * eccSquared / 3072) * Math.sin(6 * LatRad));\n\n var UTMEasting = (k0 * N * (A + (1 - T + C) * A * A * A / 6.0 + (5 - 18 * T + T * T + 72 * C - 58 * eccPrimeSquared) * A * A * A * A * A / 120.0) + 500000.0);\n\n var UTMNorthing = (k0 * (M + N * Math.tan(LatRad) * (A * A / 2 + (5 - T + 9 * C + 4 * C * C) * A * A * A * A / 24.0 + (61 - 58 * T + T * T + 600 * C - 330 * eccPrimeSquared) * A * A * A * A * A * A / 720.0)));\n if (Lat < 0.0) {\n UTMNorthing += 10000000.0; //10000000 meter offset for\n // southern hemisphere\n }\n\n return {\n northing: Math.round(UTMNorthing),\n easting: Math.round(UTMEasting),\n zoneNumber: ZoneNumber,\n zoneLetter: getLetterDesignator(Lat)\n };\n}\n\n/**\n * Converts UTM coords to lat/long, using the WGS84 ellipsoid. This is a convenience\n * class where the Zone can be specified as a single string eg.\"60N\" which\n * is then broken down into the ZoneNumber and ZoneLetter.\n *\n * @private\n * @param {object} utm An object literal with northing, easting, zoneNumber\n * and zoneLetter properties. If an optional accuracy property is\n * provided (in meters), a bounding box will be returned instead of\n * latitude and longitude.\n * @return {object} An object literal containing either lat and lon values\n * (if no accuracy was provided), or top, right, bottom and left values\n * for the bounding box calculated according to the provided accuracy.\n * Returns null if the conversion failed.\n */\nfunction UTMtoLL(utm) {\n\n var UTMNorthing = utm.northing;\n var UTMEasting = utm.easting;\n var zoneLetter = utm.zoneLetter;\n var zoneNumber = utm.zoneNumber;\n // check the ZoneNummber is valid\n if (zoneNumber < 0 || zoneNumber > 60) {\n return null;\n }\n\n var k0 = 0.9996;\n var a = 6378137.0; //ellip.radius;\n var eccSquared = 0.00669438; //ellip.eccsq;\n var eccPrimeSquared;\n var e1 = (1 - Math.sqrt(1 - eccSquared)) / (1 + Math.sqrt(1 - eccSquared));\n var N1, T1, C1, R1, D, M;\n var LongOrigin;\n var mu, phi1Rad;\n\n // remove 500,000 meter offset for longitude\n var x = UTMEasting - 500000.0;\n var y = UTMNorthing;\n\n // We must know somehow if we are in the Northern or Southern\n // hemisphere, this is the only time we use the letter So even\n // if the Zone letter isn't exactly correct it should indicate\n // the hemisphere correctly\n if (zoneLetter < 'N') {\n y -= 10000000.0; // remove 10,000,000 meter offset used\n // for southern hemisphere\n }\n\n // There are 60 zones with zone 1 being at West -180 to -174\n LongOrigin = (zoneNumber - 1) * 6 - 180 + 3; // +3 puts origin\n // in middle of\n // zone\n\n eccPrimeSquared = (eccSquared) / (1 - eccSquared);\n\n M = y / k0;\n mu = M / (a * (1 - eccSquared / 4 - 3 * eccSquared * eccSquared / 64 - 5 * eccSquared * eccSquared * eccSquared / 256));\n\n phi1Rad = mu + (3 * e1 / 2 - 27 * e1 * e1 * e1 / 32) * Math.sin(2 * mu) + (21 * e1 * e1 / 16 - 55 * e1 * e1 * e1 * e1 / 32) * Math.sin(4 * mu) + (151 * e1 * e1 * e1 / 96) * Math.sin(6 * mu);\n // double phi1 = ProjMath.radToDeg(phi1Rad);\n\n N1 = a / Math.sqrt(1 - eccSquared * Math.sin(phi1Rad) * Math.sin(phi1Rad));\n T1 = Math.tan(phi1Rad) * Math.tan(phi1Rad);\n C1 = eccPrimeSquared * Math.cos(phi1Rad) * Math.cos(phi1Rad);\n R1 = a * (1 - eccSquared) / Math.pow(1 - eccSquared * Math.sin(phi1Rad) * Math.sin(phi1Rad), 1.5);\n D = x / (N1 * k0);\n\n var lat = phi1Rad - (N1 * Math.tan(phi1Rad) / R1) * (D * D / 2 - (5 + 3 * T1 + 10 * C1 - 4 * C1 * C1 - 9 * eccPrimeSquared) * D * D * D * D / 24 + (61 + 90 * T1 + 298 * C1 + 45 * T1 * T1 - 252 * eccPrimeSquared - 3 * C1 * C1) * D * D * D * D * D * D / 720);\n lat = radToDeg(lat);\n\n var lon = (D - (1 + 2 * T1 + C1) * D * D * D / 6 + (5 - 2 * C1 + 28 * T1 - 3 * C1 * C1 + 8 * eccPrimeSquared + 24 * T1 * T1) * D * D * D * D * D / 120) / Math.cos(phi1Rad);\n lon = LongOrigin + radToDeg(lon);\n\n var result;\n if (utm.accuracy) {\n var topRight = UTMtoLL({\n northing: utm.northing + utm.accuracy,\n easting: utm.easting + utm.accuracy,\n zoneLetter: utm.zoneLetter,\n zoneNumber: utm.zoneNumber\n });\n result = {\n top: topRight.lat,\n right: topRight.lon,\n bottom: lat,\n left: lon\n };\n }\n else {\n result = {\n lat: lat,\n lon: lon\n };\n }\n return result;\n}\n\n/**\n * Calculates the MGRS letter designator for the given latitude.\n *\n * @private\n * @param {number} lat The latitude in WGS84 to get the letter designator\n * for.\n * @return {char} The letter designator.\n */\nfunction getLetterDesignator(lat) {\n //This is here as an error flag to show that the Latitude is\n //outside MGRS limits\n var LetterDesignator = 'Z';\n\n if ((84 >= lat) && (lat >= 72)) {\n LetterDesignator = 'X';\n }\n else if ((72 > lat) && (lat >= 64)) {\n LetterDesignator = 'W';\n }\n else if ((64 > lat) && (lat >= 56)) {\n LetterDesignator = 'V';\n }\n else if ((56 > lat) && (lat >= 48)) {\n LetterDesignator = 'U';\n }\n else if ((48 > lat) && (lat >= 40)) {\n LetterDesignator = 'T';\n }\n else if ((40 > lat) && (lat >= 32)) {\n LetterDesignator = 'S';\n }\n else if ((32 > lat) && (lat >= 24)) {\n LetterDesignator = 'R';\n }\n else if ((24 > lat) && (lat >= 16)) {\n LetterDesignator = 'Q';\n }\n else if ((16 > lat) && (lat >= 8)) {\n LetterDesignator = 'P';\n }\n else if ((8 > lat) && (lat >= 0)) {\n LetterDesignator = 'N';\n }\n else if ((0 > lat) && (lat >= -8)) {\n LetterDesignator = 'M';\n }\n else if ((-8 > lat) && (lat >= -16)) {\n LetterDesignator = 'L';\n }\n else if ((-16 > lat) && (lat >= -24)) {\n LetterDesignator = 'K';\n }\n else if ((-24 > lat) && (lat >= -32)) {\n LetterDesignator = 'J';\n }\n else if ((-32 > lat) && (lat >= -40)) {\n LetterDesignator = 'H';\n }\n else if ((-40 > lat) && (lat >= -48)) {\n LetterDesignator = 'G';\n }\n else if ((-48 > lat) && (lat >= -56)) {\n LetterDesignator = 'F';\n }\n else if ((-56 > lat) && (lat >= -64)) {\n LetterDesignator = 'E';\n }\n else if ((-64 > lat) && (lat >= -72)) {\n LetterDesignator = 'D';\n }\n else if ((-72 > lat) && (lat >= -80)) {\n LetterDesignator = 'C';\n }\n return LetterDesignator;\n}\n\n/**\n * Encodes a UTM location as MGRS string.\n *\n * @private\n * @param {object} utm An object literal with easting, northing,\n * zoneLetter, zoneNumber\n * @param {number} accuracy Accuracy in digits (1-5).\n * @return {string} MGRS string for the given UTM location.\n */\nfunction encode(utm, accuracy) {\n // prepend with leading zeroes\n var seasting = \"00000\" + utm.easting,\n snorthing = \"00000\" + utm.northing;\n\n return utm.zoneNumber + utm.zoneLetter + get100kID(utm.easting, utm.northing, utm.zoneNumber) + seasting.substr(seasting.length - 5, accuracy) + snorthing.substr(snorthing.length - 5, accuracy);\n}\n\n/**\n * Get the two letter 100k designator for a given UTM easting,\n * northing and zone number value.\n *\n * @private\n * @param {number} easting\n * @param {number} northing\n * @param {number} zoneNumber\n * @return the two letter 100k designator for the given UTM location.\n */\nfunction get100kID(easting, northing, zoneNumber) {\n var setParm = get100kSetForZone(zoneNumber);\n var setColumn = Math.floor(easting / 100000);\n var setRow = Math.floor(northing / 100000) % 20;\n return getLetter100kID(setColumn, setRow, setParm);\n}\n\n/**\n * Given a UTM zone number, figure out the MGRS 100K set it is in.\n *\n * @private\n * @param {number} i An UTM zone number.\n * @return {number} the 100k set the UTM zone is in.\n */\nfunction get100kSetForZone(i) {\n var setParm = i % NUM_100K_SETS;\n if (setParm === 0) {\n setParm = NUM_100K_SETS;\n }\n\n return setParm;\n}\n\n/**\n * Get the two-letter MGRS 100k designator given information\n * translated from the UTM northing, easting and zone number.\n *\n * @private\n * @param {number} column the column index as it relates to the MGRS\n * 100k set spreadsheet, created from the UTM easting.\n * Values are 1-8.\n * @param {number} row the row index as it relates to the MGRS 100k set\n * spreadsheet, created from the UTM northing value. Values\n * are from 0-19.\n * @param {number} parm the set block, as it relates to the MGRS 100k set\n * spreadsheet, created from the UTM zone. Values are from\n * 1-60.\n * @return two letter MGRS 100k code.\n */\nfunction getLetter100kID(column, row, parm) {\n // colOrigin and rowOrigin are the letters at the origin of the set\n var index = parm - 1;\n var colOrigin = SET_ORIGIN_COLUMN_LETTERS.charCodeAt(index);\n var rowOrigin = SET_ORIGIN_ROW_LETTERS.charCodeAt(index);\n\n // colInt and rowInt are the letters to build to return\n var colInt = colOrigin + column - 1;\n var rowInt = rowOrigin + row;\n var rollover = false;\n\n if (colInt > Z) {\n colInt = colInt - Z + A - 1;\n rollover = true;\n }\n\n if (colInt === I || (colOrigin < I && colInt > I) || ((colInt > I || colOrigin < I) && rollover)) {\n colInt++;\n }\n\n if (colInt === O || (colOrigin < O && colInt > O) || ((colInt > O || colOrigin < O) && rollover)) {\n colInt++;\n\n if (colInt === I) {\n colInt++;\n }\n }\n\n if (colInt > Z) {\n colInt = colInt - Z + A - 1;\n }\n\n if (rowInt > V) {\n rowInt = rowInt - V + A - 1;\n rollover = true;\n }\n else {\n rollover = false;\n }\n\n if (((rowInt === I) || ((rowOrigin < I) && (rowInt > I))) || (((rowInt > I) || (rowOrigin < I)) && rollover)) {\n rowInt++;\n }\n\n if (((rowInt === O) || ((rowOrigin < O) && (rowInt > O))) || (((rowInt > O) || (rowOrigin < O)) && rollover)) {\n rowInt++;\n\n if (rowInt === I) {\n rowInt++;\n }\n }\n\n if (rowInt > V) {\n rowInt = rowInt - V + A - 1;\n }\n\n var twoLetter = String.fromCharCode(colInt) + String.fromCharCode(rowInt);\n return twoLetter;\n}\n\n/**\n * Decode the UTM parameters from a MGRS string.\n *\n * @private\n * @param {string} mgrsString an UPPERCASE coordinate string is expected.\n * @return {object} An object literal with easting, northing, zoneLetter,\n * zoneNumber and accuracy (in meters) properties.\n */\nfunction decode(mgrsString) {\n\n if (mgrsString && mgrsString.length === 0) {\n throw (\"MGRSPoint coverting from nothing\");\n }\n\n var length = mgrsString.length;\n\n var hunK = null;\n var sb = \"\";\n var testChar;\n var i = 0;\n\n // get Zone number\n while (!(/[A-Z]/).test(testChar = mgrsString.charAt(i))) {\n if (i >= 2) {\n throw (\"MGRSPoint bad conversion from: \" + mgrsString);\n }\n sb += testChar;\n i++;\n }\n\n var zoneNumber = parseInt(sb, 10);\n\n if (i === 0 || i + 3 > length) {\n // A good MGRS string has to be 4-5 digits long,\n // ##AAA/#AAA at least.\n throw (\"MGRSPoint bad conversion from: \" + mgrsString);\n }\n\n var zoneLetter = mgrsString.charAt(i++);\n\n // Should we check the zone letter here? Why not.\n if (zoneLetter <= 'A' || zoneLetter === 'B' || zoneLetter === 'Y' || zoneLetter >= 'Z' || zoneLetter === 'I' || zoneLetter === 'O') {\n throw (\"MGRSPoint zone letter \" + zoneLetter + \" not handled: \" + mgrsString);\n }\n\n hunK = mgrsString.substring(i, i += 2);\n\n var set = get100kSetForZone(zoneNumber);\n\n var east100k = getEastingFromChar(hunK.charAt(0), set);\n var north100k = getNorthingFromChar(hunK.charAt(1), set);\n\n // We have a bug where the northing may be 2000000 too low.\n // How\n // do we know when to roll over?\n\n while (north100k < getMinNorthing(zoneLetter)) {\n north100k += 2000000;\n }\n\n // calculate the char index for easting/northing separator\n var remainder = length - i;\n\n if (remainder % 2 !== 0) {\n throw (\"MGRSPoint has to have an even number \\nof digits after the zone letter and two 100km letters - front \\nhalf for easting meters, second half for \\nnorthing meters\" + mgrsString);\n }\n\n var sep = remainder / 2;\n\n var sepEasting = 0.0;\n var sepNorthing = 0.0;\n var accuracyBonus, sepEastingString, sepNorthingString, easting, northing;\n if (sep > 0) {\n accuracyBonus = 100000.0 / Math.pow(10, sep);\n sepEastingString = mgrsString.substring(i, i + sep);\n sepEasting = parseFloat(sepEastingString) * accuracyBonus;\n sepNorthingString = mgrsString.substring(i + sep);\n sepNorthing = parseFloat(sepNorthingString) * accuracyBonus;\n }\n\n easting = sepEasting + east100k;\n northing = sepNorthing + north100k;\n\n return {\n easting: easting,\n northing: northing,\n zoneLetter: zoneLetter,\n zoneNumber: zoneNumber,\n accuracy: accuracyBonus\n };\n}\n\n/**\n * Given the first letter from a two-letter MGRS 100k zone, and given the\n * MGRS table set for the zone number, figure out the easting value that\n * should be added to the other, secondary easting value.\n *\n * @private\n * @param {char} e The first letter from a two-letter MGRS 100´k zone.\n * @param {number} set The MGRS table set for the zone number.\n * @return {number} The easting value for the given letter and set.\n */\nfunction getEastingFromChar(e, set) {\n // colOrigin is the letter at the origin of the set for the\n // column\n var curCol = SET_ORIGIN_COLUMN_LETTERS.charCodeAt(set - 1);\n var eastingValue = 100000.0;\n var rewindMarker = false;\n\n while (curCol !== e.charCodeAt(0)) {\n curCol++;\n if (curCol === I) {\n curCol++;\n }\n if (curCol === O) {\n curCol++;\n }\n if (curCol > Z) {\n if (rewindMarker) {\n throw (\"Bad character: \" + e);\n }\n curCol = A;\n rewindMarker = true;\n }\n eastingValue += 100000.0;\n }\n\n return eastingValue;\n}\n\n/**\n * Given the second letter from a two-letter MGRS 100k zone, and given the\n * MGRS table set for the zone number, figure out the northing value that\n * should be added to the other, secondary northing value. You have to\n * remember that Northings are determined from the equator, and the vertical\n * cycle of letters mean a 2000000 additional northing meters. This happens\n * approx. every 18 degrees of latitude. This method does *NOT* count any\n * additional northings. You have to figure out how many 2000000 meters need\n * to be added for the zone letter of the MGRS coordinate.\n *\n * @private\n * @param {char} n Second letter of the MGRS 100k zone\n * @param {number} set The MGRS table set number, which is dependent on the\n * UTM zone number.\n * @return {number} The northing value for the given letter and set.\n */\nfunction getNorthingFromChar(n, set) {\n\n if (n > 'V') {\n throw (\"MGRSPoint given invalid Northing \" + n);\n }\n\n // rowOrigin is the letter at the origin of the set for the\n // column\n var curRow = SET_ORIGIN_ROW_LETTERS.charCodeAt(set - 1);\n var northingValue = 0.0;\n var rewindMarker = false;\n\n while (curRow !== n.charCodeAt(0)) {\n curRow++;\n if (curRow === I) {\n curRow++;\n }\n if (curRow === O) {\n curRow++;\n }\n // fixing a bug making whole application hang in this loop\n // when 'n' is a wrong character\n if (curRow > V) {\n if (rewindMarker) { // making sure that this loop ends\n throw (\"Bad character: \" + n);\n }\n curRow = A;\n rewindMarker = true;\n }\n northingValue += 100000.0;\n }\n\n return northingValue;\n}\n\n/**\n * The function getMinNorthing returns the minimum northing value of a MGRS\n * zone.\n *\n * Ported from Geotrans' c Lattitude_Band_Value structure table.\n *\n * @private\n * @param {char} zoneLetter The MGRS zone to get the min northing for.\n * @return {number}\n */\nfunction getMinNorthing(zoneLetter) {\n var northing;\n switch (zoneLetter) {\n case 'C':\n northing = 1100000.0;\n break;\n case 'D':\n northing = 2000000.0;\n break;\n case 'E':\n northing = 2800000.0;\n break;\n case 'F':\n northing = 3700000.0;\n break;\n case 'G':\n northing = 4600000.0;\n break;\n case 'H':\n northing = 5500000.0;\n break;\n case 'J':\n northing = 6400000.0;\n break;\n case 'K':\n northing = 7300000.0;\n break;\n case 'L':\n northing = 8200000.0;\n break;\n case 'M':\n northing = 9100000.0;\n break;\n case 'N':\n northing = 0.0;\n break;\n case 'P':\n northing = 800000.0;\n break;\n case 'Q':\n northing = 1700000.0;\n break;\n case 'R':\n northing = 2600000.0;\n break;\n case 'S':\n northing = 3500000.0;\n break;\n case 'T':\n northing = 4400000.0;\n break;\n case 'U':\n northing = 5300000.0;\n break;\n case 'V':\n northing = 6200000.0;\n break;\n case 'W':\n northing = 7000000.0;\n break;\n case 'X':\n northing = 7900000.0;\n break;\n default:\n northing = -1.0;\n }\n if (northing >= 0.0) {\n return northing;\n }\n else {\n throw (\"Invalid zone letter: \" + zoneLetter);\n }\n\n}\n\n\n//# sourceURL=webpack:///./node_modules/mgrs/mgrs.js?"); - -/***/ }), - -/***/ "./node_modules/process/browser.js": -/*!*****************************************!*\ - !*** ./node_modules/process/browser.js ***! - \*****************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -eval("// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n//# sourceURL=webpack:///./node_modules/process/browser.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/Point.js": -/*!*****************************************!*\ - !*** ./node_modules/proj4/lib/Point.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var mgrs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mgrs */ \"./node_modules/mgrs/mgrs.js\");\n\n\nfunction Point(x, y, z) {\n if (!(this instanceof Point)) {\n return new Point(x, y, z);\n }\n if (Array.isArray(x)) {\n this.x = x[0];\n this.y = x[1];\n this.z = x[2] || 0.0;\n } else if(typeof x === 'object') {\n this.x = x.x;\n this.y = x.y;\n this.z = x.z || 0.0;\n } else if (typeof x === 'string' && typeof y === 'undefined') {\n var coords = x.split(',');\n this.x = parseFloat(coords[0], 10);\n this.y = parseFloat(coords[1], 10);\n this.z = parseFloat(coords[2], 10) || 0.0;\n } else {\n this.x = x;\n this.y = y;\n this.z = z || 0.0;\n }\n console.warn('proj4.Point will be removed in version 3, use proj4.toPoint');\n}\n\nPoint.fromMGRS = function(mgrsStr) {\n return new Point(Object(mgrs__WEBPACK_IMPORTED_MODULE_0__[\"toPoint\"])(mgrsStr));\n};\nPoint.prototype.toMGRS = function(accuracy) {\n return Object(mgrs__WEBPACK_IMPORTED_MODULE_0__[\"forward\"])([this.x, this.y], accuracy);\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (Point);\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/Point.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/Proj.js": -/*!****************************************!*\ - !*** ./node_modules/proj4/lib/Proj.js ***! - \****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _parseCode__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./parseCode */ \"./node_modules/proj4/lib/parseCode.js\");\n/* harmony import */ var _extend__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./extend */ \"./node_modules/proj4/lib/extend.js\");\n/* harmony import */ var _projections__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./projections */ \"./node_modules/proj4/lib/projections.js\");\n/* harmony import */ var _deriveConstants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./deriveConstants */ \"./node_modules/proj4/lib/deriveConstants.js\");\n/* harmony import */ var _constants_Datum__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./constants/Datum */ \"./node_modules/proj4/lib/constants/Datum.js\");\n/* harmony import */ var _datum__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./datum */ \"./node_modules/proj4/lib/datum.js\");\n/* harmony import */ var _match__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./match */ \"./node_modules/proj4/lib/match.js\");\n\n\n\n\n\n\n\n\nfunction Projection(srsCode,callback) {\n if (!(this instanceof Projection)) {\n return new Projection(srsCode);\n }\n callback = callback || function(error){\n if(error){\n throw error;\n }\n };\n var json = Object(_parseCode__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(srsCode);\n if(typeof json !== 'object'){\n callback(srsCode);\n return;\n }\n var ourProj = Projection.projections.get(json.projName);\n if(!ourProj){\n callback(srsCode);\n return;\n }\n if (json.datumCode && json.datumCode !== 'none') {\n var datumDef = Object(_match__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(_constants_Datum__WEBPACK_IMPORTED_MODULE_4__[\"default\"], json.datumCode);\n if (datumDef) {\n json.datum_params = datumDef.towgs84 ? datumDef.towgs84.split(',') : null;\n json.ellps = datumDef.ellipse;\n json.datumName = datumDef.datumName ? datumDef.datumName : json.datumCode;\n }\n }\n json.k0 = json.k0 || 1.0;\n json.axis = json.axis || 'enu';\n json.ellps = json.ellps || 'wgs84';\n var sphere_ = Object(_deriveConstants__WEBPACK_IMPORTED_MODULE_3__[\"sphere\"])(json.a, json.b, json.rf, json.ellps, json.sphere);\n var ecc = Object(_deriveConstants__WEBPACK_IMPORTED_MODULE_3__[\"eccentricity\"])(sphere_.a, sphere_.b, sphere_.rf, json.R_A);\n var datumObj = json.datum || Object(_datum__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(json.datumCode, json.datum_params, sphere_.a, sphere_.b, ecc.es, ecc.ep2);\n\n Object(_extend__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this, json); // transfer everything over from the projection because we don't know what we'll need\n Object(_extend__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this, ourProj); // transfer all the methods from the projection\n\n // copy the 4 things over we calulated in deriveConstants.sphere\n this.a = sphere_.a;\n this.b = sphere_.b;\n this.rf = sphere_.rf;\n this.sphere = sphere_.sphere;\n\n // copy the 3 things we calculated in deriveConstants.eccentricity\n this.es = ecc.es;\n this.e = ecc.e;\n this.ep2 = ecc.ep2;\n\n // add in the datum object\n this.datum = datumObj;\n\n // init the projection\n this.init();\n\n // legecy callback from back in the day when it went to spatialreference.org\n callback(null, this);\n\n}\nProjection.projections = _projections__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\nProjection.projections.start();\n/* harmony default export */ __webpack_exports__[\"default\"] = (Projection);\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/Proj.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/adjust_axis.js": -/*!***********************************************!*\ - !*** ./node_modules/proj4/lib/adjust_axis.js ***! - \***********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(crs, denorm, point) {\n var xin = point.x,\n yin = point.y,\n zin = point.z || 0.0;\n var v, t, i;\n var out = {};\n for (i = 0; i < 3; i++) {\n if (denorm && i === 2 && point.z === undefined) {\n continue;\n }\n if (i === 0) {\n v = xin;\n t = 'x';\n }\n else if (i === 1) {\n v = yin;\n t = 'y';\n }\n else {\n v = zin;\n t = 'z';\n }\n switch (crs.axis[i]) {\n case 'e':\n out[t] = v;\n break;\n case 'w':\n out[t] = -v;\n break;\n case 'n':\n out[t] = v;\n break;\n case 's':\n out[t] = -v;\n break;\n case 'u':\n if (point[t] !== undefined) {\n out.z = v;\n }\n break;\n case 'd':\n if (point[t] !== undefined) {\n out.z = -v;\n }\n break;\n default:\n //console.log(\"ERROR: unknow axis (\"+crs.axis[i]+\") - check definition of \"+crs.projName);\n return null;\n }\n }\n return out;\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/adjust_axis.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/common/adjust_lat.js": -/*!*****************************************************!*\ - !*** ./node_modules/proj4/lib/common/adjust_lat.js ***! - \*****************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _constants_values__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants/values */ \"./node_modules/proj4/lib/constants/values.js\");\n/* harmony import */ var _sign__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./sign */ \"./node_modules/proj4/lib/common/sign.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(x) {\n return (Math.abs(x) < _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"HALF_PI\"]) ? x : (x - (Object(_sign__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(x) * Math.PI));\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/common/adjust_lat.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/common/adjust_lon.js": -/*!*****************************************************!*\ - !*** ./node_modules/proj4/lib/common/adjust_lon.js ***! - \*****************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _constants_values__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants/values */ \"./node_modules/proj4/lib/constants/values.js\");\n/* harmony import */ var _sign__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./sign */ \"./node_modules/proj4/lib/common/sign.js\");\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(x) {\n return (Math.abs(x) <= _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"SPI\"]) ? x : (x - (Object(_sign__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(x) * _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"TWO_PI\"]));\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/common/adjust_lon.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/common/adjust_zone.js": -/*!******************************************************!*\ - !*** ./node_modules/proj4/lib/common/adjust_zone.js ***! - \******************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _adjust_lon__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./adjust_lon */ \"./node_modules/proj4/lib/common/adjust_lon.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(zone, lon) {\n if (zone === undefined) {\n zone = Math.floor((Object(_adjust_lon__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(lon) + Math.PI) * 30 / Math.PI) + 1;\n\n if (zone < 0) {\n return 0;\n } else if (zone > 60) {\n return 60;\n }\n }\n return zone;\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/common/adjust_zone.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/common/asinhy.js": -/*!*************************************************!*\ - !*** ./node_modules/proj4/lib/common/asinhy.js ***! - \*************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _hypot__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./hypot */ \"./node_modules/proj4/lib/common/hypot.js\");\n/* harmony import */ var _log1py__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./log1py */ \"./node_modules/proj4/lib/common/log1py.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(x) {\n var y = Math.abs(x);\n y = Object(_log1py__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(y * (1 + y / (Object(_hypot__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(1, y) + 1)));\n\n return x < 0 ? -y : y;\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/common/asinhy.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/common/asinz.js": -/*!************************************************!*\ - !*** ./node_modules/proj4/lib/common/asinz.js ***! - \************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(x) {\n if (Math.abs(x) > 1) {\n x = (x > 1) ? 1 : -1;\n }\n return Math.asin(x);\n});\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/common/asinz.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/common/clens.js": -/*!************************************************!*\ - !*** ./node_modules/proj4/lib/common/clens.js ***! - \************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(pp, arg_r) {\n var r = 2 * Math.cos(arg_r);\n var i = pp.length - 1;\n var hr1 = pp[i];\n var hr2 = 0;\n var hr;\n\n while (--i >= 0) {\n hr = -hr2 + r * hr1 + pp[i];\n hr2 = hr1;\n hr1 = hr;\n }\n\n return Math.sin(arg_r) * hr;\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/common/clens.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/common/clens_cmplx.js": -/*!******************************************************!*\ - !*** ./node_modules/proj4/lib/common/clens_cmplx.js ***! - \******************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _sinh__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./sinh */ \"./node_modules/proj4/lib/common/sinh.js\");\n/* harmony import */ var _cosh__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./cosh */ \"./node_modules/proj4/lib/common/cosh.js\");\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(pp, arg_r, arg_i) {\n var sin_arg_r = Math.sin(arg_r);\n var cos_arg_r = Math.cos(arg_r);\n var sinh_arg_i = Object(_sinh__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(arg_i);\n var cosh_arg_i = Object(_cosh__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(arg_i);\n var r = 2 * cos_arg_r * cosh_arg_i;\n var i = -2 * sin_arg_r * sinh_arg_i;\n var j = pp.length - 1;\n var hr = pp[j];\n var hi1 = 0;\n var hr1 = 0;\n var hi = 0;\n var hr2;\n var hi2;\n\n while (--j >= 0) {\n hr2 = hr1;\n hi2 = hi1;\n hr1 = hr;\n hi1 = hi;\n hr = -hr2 + r * hr1 - i * hi1 + pp[j];\n hi = -hi2 + i * hr1 + r * hi1;\n }\n\n r = sin_arg_r * cosh_arg_i;\n i = cos_arg_r * sinh_arg_i;\n\n return [r * hr - i * hi, r * hi + i * hr];\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/common/clens_cmplx.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/common/cosh.js": -/*!***********************************************!*\ - !*** ./node_modules/proj4/lib/common/cosh.js ***! - \***********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(x) {\n var r = Math.exp(x);\n r = (r + 1 / r) / 2;\n return r;\n});\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/common/cosh.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/common/e0fn.js": -/*!***********************************************!*\ - !*** ./node_modules/proj4/lib/common/e0fn.js ***! - \***********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(x) {\n return (1 - 0.25 * x * (1 + x / 16 * (3 + 1.25 * x)));\n});\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/common/e0fn.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/common/e1fn.js": -/*!***********************************************!*\ - !*** ./node_modules/proj4/lib/common/e1fn.js ***! - \***********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(x) {\n return (0.375 * x * (1 + 0.25 * x * (1 + 0.46875 * x)));\n});\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/common/e1fn.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/common/e2fn.js": -/*!***********************************************!*\ - !*** ./node_modules/proj4/lib/common/e2fn.js ***! - \***********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(x) {\n return (0.05859375 * x * x * (1 + 0.75 * x));\n});\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/common/e2fn.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/common/e3fn.js": -/*!***********************************************!*\ - !*** ./node_modules/proj4/lib/common/e3fn.js ***! - \***********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(x) {\n return (x * x * x * (35 / 3072));\n});\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/common/e3fn.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/common/gN.js": -/*!*********************************************!*\ - !*** ./node_modules/proj4/lib/common/gN.js ***! - \*********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(a, e, sinphi) {\n var temp = e * sinphi;\n return a / Math.sqrt(1 - temp * temp);\n});\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/common/gN.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/common/gatg.js": -/*!***********************************************!*\ - !*** ./node_modules/proj4/lib/common/gatg.js ***! - \***********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(pp, B) {\n var cos_2B = 2 * Math.cos(2 * B);\n var i = pp.length - 1;\n var h1 = pp[i];\n var h2 = 0;\n var h;\n\n while (--i >= 0) {\n h = -h2 + cos_2B * h1 + pp[i];\n h2 = h1;\n h1 = h;\n }\n\n return (B + h * Math.sin(2 * B));\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/common/gatg.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/common/hypot.js": -/*!************************************************!*\ - !*** ./node_modules/proj4/lib/common/hypot.js ***! - \************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(x, y) {\n x = Math.abs(x);\n y = Math.abs(y);\n var a = Math.max(x, y);\n var b = Math.min(x, y) / (a ? a : 1);\n\n return a * Math.sqrt(1 + Math.pow(b, 2));\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/common/hypot.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/common/imlfn.js": -/*!************************************************!*\ - !*** ./node_modules/proj4/lib/common/imlfn.js ***! - \************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(ml, e0, e1, e2, e3) {\n var phi;\n var dphi;\n\n phi = ml / e0;\n for (var i = 0; i < 15; i++) {\n dphi = (ml - (e0 * phi - e1 * Math.sin(2 * phi) + e2 * Math.sin(4 * phi) - e3 * Math.sin(6 * phi))) / (e0 - 2 * e1 * Math.cos(2 * phi) + 4 * e2 * Math.cos(4 * phi) - 6 * e3 * Math.cos(6 * phi));\n phi += dphi;\n if (Math.abs(dphi) <= 0.0000000001) {\n return phi;\n }\n }\n\n //..reportError(\"IMLFN-CONV:Latitude failed to converge after 15 iterations\");\n return NaN;\n});\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/common/imlfn.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/common/iqsfnz.js": -/*!*************************************************!*\ - !*** ./node_modules/proj4/lib/common/iqsfnz.js ***! - \*************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _constants_values__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants/values */ \"./node_modules/proj4/lib/constants/values.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(eccent, q) {\n var temp = 1 - (1 - eccent * eccent) / (2 * eccent) * Math.log((1 - eccent) / (1 + eccent));\n if (Math.abs(Math.abs(q) - temp) < 1.0E-6) {\n if (q < 0) {\n return (-1 * _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"HALF_PI\"]);\n }\n else {\n return _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"HALF_PI\"];\n }\n }\n //var phi = 0.5* q/(1-eccent*eccent);\n var phi = Math.asin(0.5 * q);\n var dphi;\n var sin_phi;\n var cos_phi;\n var con;\n for (var i = 0; i < 30; i++) {\n sin_phi = Math.sin(phi);\n cos_phi = Math.cos(phi);\n con = eccent * sin_phi;\n dphi = Math.pow(1 - con * con, 2) / (2 * cos_phi) * (q / (1 - eccent * eccent) - sin_phi / (1 - con * con) + 0.5 / eccent * Math.log((1 - con) / (1 + con)));\n phi += dphi;\n if (Math.abs(dphi) <= 0.0000000001) {\n return phi;\n }\n }\n\n //console.log(\"IQSFN-CONV:Latitude failed to converge after 30 iterations\");\n return NaN;\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/common/iqsfnz.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/common/log1py.js": -/*!*************************************************!*\ - !*** ./node_modules/proj4/lib/common/log1py.js ***! - \*************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(x) {\n var y = 1 + x;\n var z = y - 1;\n\n return z === 0 ? x : x * Math.log(y) / z;\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/common/log1py.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/common/mlfn.js": -/*!***********************************************!*\ - !*** ./node_modules/proj4/lib/common/mlfn.js ***! - \***********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(e0, e1, e2, e3, phi) {\n return (e0 * phi - e1 * Math.sin(2 * phi) + e2 * Math.sin(4 * phi) - e3 * Math.sin(6 * phi));\n});\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/common/mlfn.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/common/msfnz.js": -/*!************************************************!*\ - !*** ./node_modules/proj4/lib/common/msfnz.js ***! - \************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(eccent, sinphi, cosphi) {\n var con = eccent * sinphi;\n return cosphi / (Math.sqrt(1 - con * con));\n});\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/common/msfnz.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/common/phi2z.js": -/*!************************************************!*\ - !*** ./node_modules/proj4/lib/common/phi2z.js ***! - \************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _constants_values__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants/values */ \"./node_modules/proj4/lib/constants/values.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(eccent, ts) {\n var eccnth = 0.5 * eccent;\n var con, dphi;\n var phi = _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"HALF_PI\"] - 2 * Math.atan(ts);\n for (var i = 0; i <= 15; i++) {\n con = eccent * Math.sin(phi);\n dphi = _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"HALF_PI\"] - 2 * Math.atan(ts * (Math.pow(((1 - con) / (1 + con)), eccnth))) - phi;\n phi += dphi;\n if (Math.abs(dphi) <= 0.0000000001) {\n return phi;\n }\n }\n //console.log(\"phi2z has NoConvergence\");\n return -9999;\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/common/phi2z.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/common/pj_enfn.js": -/*!**************************************************!*\ - !*** ./node_modules/proj4/lib/common/pj_enfn.js ***! - \**************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\nvar C00 = 1;\nvar C02 = 0.25;\nvar C04 = 0.046875;\nvar C06 = 0.01953125;\nvar C08 = 0.01068115234375;\nvar C22 = 0.75;\nvar C44 = 0.46875;\nvar C46 = 0.01302083333333333333;\nvar C48 = 0.00712076822916666666;\nvar C66 = 0.36458333333333333333;\nvar C68 = 0.00569661458333333333;\nvar C88 = 0.3076171875;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(es) {\n var en = [];\n en[0] = C00 - es * (C02 + es * (C04 + es * (C06 + es * C08)));\n en[1] = es * (C22 - es * (C04 + es * (C06 + es * C08)));\n var t = es * es;\n en[2] = t * (C44 - es * (C46 + es * C48));\n t *= es;\n en[3] = t * (C66 - es * C68);\n en[4] = t * es * C88;\n return en;\n});\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/common/pj_enfn.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/common/pj_inv_mlfn.js": -/*!******************************************************!*\ - !*** ./node_modules/proj4/lib/common/pj_inv_mlfn.js ***! - \******************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _pj_mlfn__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./pj_mlfn */ \"./node_modules/proj4/lib/common/pj_mlfn.js\");\n/* harmony import */ var _constants_values__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants/values */ \"./node_modules/proj4/lib/constants/values.js\");\n\n\n\nvar MAX_ITER = 20;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(arg, es, en) {\n var k = 1 / (1 - es);\n var phi = arg;\n for (var i = MAX_ITER; i; --i) { /* rarely goes over 2 iterations */\n var s = Math.sin(phi);\n var t = 1 - es * s * s;\n //t = this.pj_mlfn(phi, s, Math.cos(phi), en) - arg;\n //phi -= t * (t * Math.sqrt(t)) * k;\n t = (Object(_pj_mlfn__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(phi, s, Math.cos(phi), en) - arg) * (t * Math.sqrt(t)) * k;\n phi -= t;\n if (Math.abs(t) < _constants_values__WEBPACK_IMPORTED_MODULE_1__[\"EPSLN\"]) {\n return phi;\n }\n }\n //..reportError(\"cass:pj_inv_mlfn: Convergence error\");\n return phi;\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/common/pj_inv_mlfn.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/common/pj_mlfn.js": -/*!**************************************************!*\ - !*** ./node_modules/proj4/lib/common/pj_mlfn.js ***! - \**************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(phi, sphi, cphi, en) {\n cphi *= sphi;\n sphi *= sphi;\n return (en[0] * phi - cphi * (en[1] + sphi * (en[2] + sphi * (en[3] + sphi * en[4]))));\n});\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/common/pj_mlfn.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/common/qsfnz.js": -/*!************************************************!*\ - !*** ./node_modules/proj4/lib/common/qsfnz.js ***! - \************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(eccent, sinphi) {\n var con;\n if (eccent > 1.0e-7) {\n con = eccent * sinphi;\n return ((1 - eccent * eccent) * (sinphi / (1 - con * con) - (0.5 / eccent) * Math.log((1 - con) / (1 + con))));\n }\n else {\n return (2 * sinphi);\n }\n});\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/common/qsfnz.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/common/sign.js": -/*!***********************************************!*\ - !*** ./node_modules/proj4/lib/common/sign.js ***! - \***********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(x) {\n return x<0 ? -1 : 1;\n});\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/common/sign.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/common/sinh.js": -/*!***********************************************!*\ - !*** ./node_modules/proj4/lib/common/sinh.js ***! - \***********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(x) {\n var r = Math.exp(x);\n r = (r - 1 / r) / 2;\n return r;\n});\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/common/sinh.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/common/srat.js": -/*!***********************************************!*\ - !*** ./node_modules/proj4/lib/common/srat.js ***! - \***********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(esinp, exp) {\n return (Math.pow((1 - esinp) / (1 + esinp), exp));\n});\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/common/srat.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/common/toPoint.js": -/*!**************************************************!*\ - !*** ./node_modules/proj4/lib/common/toPoint.js ***! - \**************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function (array){\n var out = {\n x: array[0],\n y: array[1]\n };\n if (array.length>2) {\n out.z = array[2];\n }\n if (array.length>3) {\n out.m = array[3];\n }\n return out;\n});\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/common/toPoint.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/common/tsfnz.js": -/*!************************************************!*\ - !*** ./node_modules/proj4/lib/common/tsfnz.js ***! - \************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _constants_values__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants/values */ \"./node_modules/proj4/lib/constants/values.js\");\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(eccent, phi, sinphi) {\n var con = eccent * sinphi;\n var com = 0.5 * eccent;\n con = Math.pow(((1 - con) / (1 + con)), com);\n return (Math.tan(0.5 * (_constants_values__WEBPACK_IMPORTED_MODULE_0__[\"HALF_PI\"] - phi)) / con);\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/common/tsfnz.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/constants/Datum.js": -/*!***************************************************!*\ - !*** ./node_modules/proj4/lib/constants/Datum.js ***! - \***************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return exports; });\nvar exports = {};\n\nexports.wgs84 = {\n towgs84: \"0,0,0\",\n ellipse: \"WGS84\",\n datumName: \"WGS84\"\n};\n\nexports.ch1903 = {\n towgs84: \"674.374,15.056,405.346\",\n ellipse: \"bessel\",\n datumName: \"swiss\"\n};\n\nexports.ggrs87 = {\n towgs84: \"-199.87,74.79,246.62\",\n ellipse: \"GRS80\",\n datumName: \"Greek_Geodetic_Reference_System_1987\"\n};\n\nexports.nad83 = {\n towgs84: \"0,0,0\",\n ellipse: \"GRS80\",\n datumName: \"North_American_Datum_1983\"\n};\n\nexports.nad27 = {\n nadgrids: \"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat\",\n ellipse: \"clrk66\",\n datumName: \"North_American_Datum_1927\"\n};\n\nexports.potsdam = {\n towgs84: \"606.0,23.0,413.0\",\n ellipse: \"bessel\",\n datumName: \"Potsdam Rauenberg 1950 DHDN\"\n};\n\nexports.carthage = {\n towgs84: \"-263.0,6.0,431.0\",\n ellipse: \"clark80\",\n datumName: \"Carthage 1934 Tunisia\"\n};\n\nexports.hermannskogel = {\n towgs84: \"653.0,-212.0,449.0\",\n ellipse: \"bessel\",\n datumName: \"Hermannskogel\"\n};\n\nexports.ire65 = {\n towgs84: \"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15\",\n ellipse: \"mod_airy\",\n datumName: \"Ireland 1965\"\n};\n\nexports.rassadiran = {\n towgs84: \"-133.63,-157.5,-158.62\",\n ellipse: \"intl\",\n datumName: \"Rassadiran\"\n};\n\nexports.nzgd49 = {\n towgs84: \"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993\",\n ellipse: \"intl\",\n datumName: \"New Zealand Geodetic Datum 1949\"\n};\n\nexports.osgb36 = {\n towgs84: \"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894\",\n ellipse: \"airy\",\n datumName: \"Airy 1830\"\n};\n\nexports.s_jtsk = {\n towgs84: \"589,76,480\",\n ellipse: 'bessel',\n datumName: 'S-JTSK (Ferro)'\n};\n\nexports.beduaram = {\n towgs84: '-106,-87,188',\n ellipse: 'clrk80',\n datumName: 'Beduaram'\n};\n\nexports.gunung_segara = {\n towgs84: '-403,684,41',\n ellipse: 'bessel',\n datumName: 'Gunung Segara Jakarta'\n};\n\nexports.rnb72 = {\n towgs84: \"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1\",\n ellipse: \"intl\",\n datumName: \"Reseau National Belge 1972\"\n};\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/constants/Datum.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/constants/Ellipsoid.js": -/*!*******************************************************!*\ - !*** ./node_modules/proj4/lib/constants/Ellipsoid.js ***! - \*******************************************************/ -/*! exports provided: default, WGS84 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return exports; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WGS84\", function() { return WGS84; });\nvar exports = {};\n\nexports.MERIT = {\n a: 6378137.0,\n rf: 298.257,\n ellipseName: \"MERIT 1983\"\n};\n\nexports.SGS85 = {\n a: 6378136.0,\n rf: 298.257,\n ellipseName: \"Soviet Geodetic System 85\"\n};\n\nexports.GRS80 = {\n a: 6378137.0,\n rf: 298.257222101,\n ellipseName: \"GRS 1980(IUGG, 1980)\"\n};\n\nexports.IAU76 = {\n a: 6378140.0,\n rf: 298.257,\n ellipseName: \"IAU 1976\"\n};\n\nexports.airy = {\n a: 6377563.396,\n b: 6356256.910,\n ellipseName: \"Airy 1830\"\n};\n\nexports.APL4 = {\n a: 6378137,\n rf: 298.25,\n ellipseName: \"Appl. Physics. 1965\"\n};\n\nexports.NWL9D = {\n a: 6378145.0,\n rf: 298.25,\n ellipseName: \"Naval Weapons Lab., 1965\"\n};\n\nexports.mod_airy = {\n a: 6377340.189,\n b: 6356034.446,\n ellipseName: \"Modified Airy\"\n};\n\nexports.andrae = {\n a: 6377104.43,\n rf: 300.0,\n ellipseName: \"Andrae 1876 (Den., Iclnd.)\"\n};\n\nexports.aust_SA = {\n a: 6378160.0,\n rf: 298.25,\n ellipseName: \"Australian Natl & S. Amer. 1969\"\n};\n\nexports.GRS67 = {\n a: 6378160.0,\n rf: 298.2471674270,\n ellipseName: \"GRS 67(IUGG 1967)\"\n};\n\nexports.bessel = {\n a: 6377397.155,\n rf: 299.1528128,\n ellipseName: \"Bessel 1841\"\n};\n\nexports.bess_nam = {\n a: 6377483.865,\n rf: 299.1528128,\n ellipseName: \"Bessel 1841 (Namibia)\"\n};\n\nexports.clrk66 = {\n a: 6378206.4,\n b: 6356583.8,\n ellipseName: \"Clarke 1866\"\n};\n\nexports.clrk80 = {\n a: 6378249.145,\n rf: 293.4663,\n ellipseName: \"Clarke 1880 mod.\"\n};\n\nexports.clrk58 = {\n a: 6378293.645208759,\n rf: 294.2606763692654,\n ellipseName: \"Clarke 1858\"\n};\n\nexports.CPM = {\n a: 6375738.7,\n rf: 334.29,\n ellipseName: \"Comm. des Poids et Mesures 1799\"\n};\n\nexports.delmbr = {\n a: 6376428.0,\n rf: 311.5,\n ellipseName: \"Delambre 1810 (Belgium)\"\n};\n\nexports.engelis = {\n a: 6378136.05,\n rf: 298.2566,\n ellipseName: \"Engelis 1985\"\n};\n\nexports.evrst30 = {\n a: 6377276.345,\n rf: 300.8017,\n ellipseName: \"Everest 1830\"\n};\n\nexports.evrst48 = {\n a: 6377304.063,\n rf: 300.8017,\n ellipseName: \"Everest 1948\"\n};\n\nexports.evrst56 = {\n a: 6377301.243,\n rf: 300.8017,\n ellipseName: \"Everest 1956\"\n};\n\nexports.evrst69 = {\n a: 6377295.664,\n rf: 300.8017,\n ellipseName: \"Everest 1969\"\n};\n\nexports.evrstSS = {\n a: 6377298.556,\n rf: 300.8017,\n ellipseName: \"Everest (Sabah & Sarawak)\"\n};\n\nexports.fschr60 = {\n a: 6378166.0,\n rf: 298.3,\n ellipseName: \"Fischer (Mercury Datum) 1960\"\n};\n\nexports.fschr60m = {\n a: 6378155.0,\n rf: 298.3,\n ellipseName: \"Fischer 1960\"\n};\n\nexports.fschr68 = {\n a: 6378150.0,\n rf: 298.3,\n ellipseName: \"Fischer 1968\"\n};\n\nexports.helmert = {\n a: 6378200.0,\n rf: 298.3,\n ellipseName: \"Helmert 1906\"\n};\n\nexports.hough = {\n a: 6378270.0,\n rf: 297.0,\n ellipseName: \"Hough\"\n};\n\nexports.intl = {\n a: 6378388.0,\n rf: 297.0,\n ellipseName: \"International 1909 (Hayford)\"\n};\n\nexports.kaula = {\n a: 6378163.0,\n rf: 298.24,\n ellipseName: \"Kaula 1961\"\n};\n\nexports.lerch = {\n a: 6378139.0,\n rf: 298.257,\n ellipseName: \"Lerch 1979\"\n};\n\nexports.mprts = {\n a: 6397300.0,\n rf: 191.0,\n ellipseName: \"Maupertius 1738\"\n};\n\nexports.new_intl = {\n a: 6378157.5,\n b: 6356772.2,\n ellipseName: \"New International 1967\"\n};\n\nexports.plessis = {\n a: 6376523.0,\n rf: 6355863.0,\n ellipseName: \"Plessis 1817 (France)\"\n};\n\nexports.krass = {\n a: 6378245.0,\n rf: 298.3,\n ellipseName: \"Krassovsky, 1942\"\n};\n\nexports.SEasia = {\n a: 6378155.0,\n b: 6356773.3205,\n ellipseName: \"Southeast Asia\"\n};\n\nexports.walbeck = {\n a: 6376896.0,\n b: 6355834.8467,\n ellipseName: \"Walbeck\"\n};\n\nexports.WGS60 = {\n a: 6378165.0,\n rf: 298.3,\n ellipseName: \"WGS 60\"\n};\n\nexports.WGS66 = {\n a: 6378145.0,\n rf: 298.25,\n ellipseName: \"WGS 66\"\n};\n\nexports.WGS7 = {\n a: 6378135.0,\n rf: 298.26,\n ellipseName: \"WGS 72\"\n};\n\nvar WGS84 = exports.WGS84 = {\n a: 6378137.0,\n rf: 298.257223563,\n ellipseName: \"WGS 84\"\n};\n\nexports.sphere = {\n a: 6370997.0,\n b: 6370997.0,\n ellipseName: \"Normal Sphere (r=6370997)\"\n};\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/constants/Ellipsoid.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/constants/PrimeMeridian.js": -/*!***********************************************************!*\ - !*** ./node_modules/proj4/lib/constants/PrimeMeridian.js ***! - \***********************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return exports; });\nvar exports = {};\n\n\nexports.greenwich = 0.0; //\"0dE\",\nexports.lisbon = -9.131906111111; //\"9d07'54.862\\\"W\",\nexports.paris = 2.337229166667; //\"2d20'14.025\\\"E\",\nexports.bogota = -74.080916666667; //\"74d04'51.3\\\"W\",\nexports.madrid = -3.687938888889; //\"3d41'16.58\\\"W\",\nexports.rome = 12.452333333333; //\"12d27'8.4\\\"E\",\nexports.bern = 7.439583333333; //\"7d26'22.5\\\"E\",\nexports.jakarta = 106.807719444444; //\"106d48'27.79\\\"E\",\nexports.ferro = -17.666666666667; //\"17d40'W\",\nexports.brussels = 4.367975; //\"4d22'4.71\\\"E\",\nexports.stockholm = 18.058277777778; //\"18d3'29.8\\\"E\",\nexports.athens = 23.7163375; //\"23d42'58.815\\\"E\",\nexports.oslo = 10.722916666667; //\"10d43'22.5\\\"E\"\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/constants/PrimeMeridian.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/constants/units.js": -/*!***************************************************!*\ - !*** ./node_modules/proj4/lib/constants/units.js ***! - \***************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n ft: {to_meter: 0.3048},\n 'us-ft': {to_meter: 1200 / 3937}\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/constants/units.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/constants/values.js": -/*!****************************************************!*\ - !*** ./node_modules/proj4/lib/constants/values.js ***! - \****************************************************/ -/*! exports provided: PJD_3PARAM, PJD_7PARAM, PJD_WGS84, PJD_NODATUM, SEC_TO_RAD, HALF_PI, SIXTH, RA4, RA6, EPSLN, D2R, R2D, FORTPI, TWO_PI, SPI */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PJD_3PARAM\", function() { return PJD_3PARAM; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PJD_7PARAM\", function() { return PJD_7PARAM; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PJD_WGS84\", function() { return PJD_WGS84; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PJD_NODATUM\", function() { return PJD_NODATUM; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SEC_TO_RAD\", function() { return SEC_TO_RAD; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"HALF_PI\", function() { return HALF_PI; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SIXTH\", function() { return SIXTH; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RA4\", function() { return RA4; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RA6\", function() { return RA6; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EPSLN\", function() { return EPSLN; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"D2R\", function() { return D2R; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"R2D\", function() { return R2D; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FORTPI\", function() { return FORTPI; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TWO_PI\", function() { return TWO_PI; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SPI\", function() { return SPI; });\nvar PJD_3PARAM = 1;\nvar PJD_7PARAM = 2;\nvar PJD_WGS84 = 4; // WGS84 or equivalent\nvar PJD_NODATUM = 5; // WGS84 or equivalent\nvar SEC_TO_RAD = 4.84813681109535993589914102357e-6;\nvar HALF_PI = Math.PI/2;\n// ellipoid pj_set_ell.c\nvar SIXTH = 0.1666666666666666667;\n/* 1/6 */\nvar RA4 = 0.04722222222222222222;\n/* 17/360 */\nvar RA6 = 0.02215608465608465608;\nvar EPSLN = (typeof Number.EPSILON === 'undefined') ? 1.0e-10 : Number.EPSILON;\nvar D2R = 0.01745329251994329577;\nvar R2D = 57.29577951308232088;\nvar FORTPI = Math.PI/4;\nvar TWO_PI = Math.PI * 2;\n// SPI is slightly greater than Math.PI, so values that exceed the -180..180\n// degree range by a tiny amount don't get wrapped. This prevents points that\n// have drifted from their original location along the 180th meridian (due to\n// floating point error) from changing their sign.\nvar SPI = 3.14159265359;\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/constants/values.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/core.js": -/*!****************************************!*\ - !*** ./node_modules/proj4/lib/core.js ***! - \****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Proj__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Proj */ \"./node_modules/proj4/lib/Proj.js\");\n/* harmony import */ var _transform__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./transform */ \"./node_modules/proj4/lib/transform.js\");\n\n\nvar wgs84 = Object(_Proj__WEBPACK_IMPORTED_MODULE_0__[\"default\"])('WGS84');\n\nfunction transformer(from, to, coords) {\n var transformedArray;\n if (Array.isArray(coords)) {\n transformedArray = Object(_transform__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(from, to, coords);\n if (coords.length === 3) {\n return [transformedArray.x, transformedArray.y, transformedArray.z];\n }\n else {\n return [transformedArray.x, transformedArray.y];\n }\n }\n else {\n return Object(_transform__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(from, to, coords);\n }\n}\n\nfunction checkProj(item) {\n if (item instanceof _Proj__WEBPACK_IMPORTED_MODULE_0__[\"default\"]) {\n return item;\n }\n if (item.oProj) {\n return item.oProj;\n }\n return Object(_Proj__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(item);\n}\nfunction proj4(fromProj, toProj, coord) {\n fromProj = checkProj(fromProj);\n var single = false;\n var obj;\n if (typeof toProj === 'undefined') {\n toProj = fromProj;\n fromProj = wgs84;\n single = true;\n }\n else if (typeof toProj.x !== 'undefined' || Array.isArray(toProj)) {\n coord = toProj;\n toProj = fromProj;\n fromProj = wgs84;\n single = true;\n }\n toProj = checkProj(toProj);\n if (coord) {\n return transformer(fromProj, toProj, coord);\n }\n else {\n obj = {\n forward: function(coords) {\n return transformer(fromProj, toProj, coords);\n },\n inverse: function(coords) {\n return transformer(toProj, fromProj, coords);\n }\n };\n if (single) {\n obj.oProj = toProj;\n }\n return obj;\n }\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (proj4);\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/core.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/datum.js": -/*!*****************************************!*\ - !*** ./node_modules/proj4/lib/datum.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _constants_values__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants/values */ \"./node_modules/proj4/lib/constants/values.js\");\n\n\nfunction datum(datumCode, datum_params, a, b, es, ep2) {\n var out = {};\n\n if (datumCode === undefined || datumCode === 'none') {\n out.datum_type = _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"PJD_NODATUM\"];\n } else {\n out.datum_type = _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"PJD_WGS84\"];\n }\n\n if (datum_params) {\n out.datum_params = datum_params.map(parseFloat);\n if (out.datum_params[0] !== 0 || out.datum_params[1] !== 0 || out.datum_params[2] !== 0) {\n out.datum_type = _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"PJD_3PARAM\"];\n }\n if (out.datum_params.length > 3) {\n if (out.datum_params[3] !== 0 || out.datum_params[4] !== 0 || out.datum_params[5] !== 0 || out.datum_params[6] !== 0) {\n out.datum_type = _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"PJD_7PARAM\"];\n out.datum_params[3] *= _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"SEC_TO_RAD\"];\n out.datum_params[4] *= _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"SEC_TO_RAD\"];\n out.datum_params[5] *= _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"SEC_TO_RAD\"];\n out.datum_params[6] = (out.datum_params[6] / 1000000.0) + 1.0;\n }\n }\n }\n\n out.a = a; //datum object also uses these values\n out.b = b;\n out.es = es;\n out.ep2 = ep2;\n return out;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (datum);\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/datum.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/datumUtils.js": -/*!**********************************************!*\ - !*** ./node_modules/proj4/lib/datumUtils.js ***! - \**********************************************/ -/*! exports provided: compareDatums, geodeticToGeocentric, geocentricToGeodetic, geocentricToWgs84, geocentricFromWgs84 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"compareDatums\", function() { return compareDatums; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"geodeticToGeocentric\", function() { return geodeticToGeocentric; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"geocentricToGeodetic\", function() { return geocentricToGeodetic; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"geocentricToWgs84\", function() { return geocentricToWgs84; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"geocentricFromWgs84\", function() { return geocentricFromWgs84; });\n/* harmony import */ var _constants_values__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants/values */ \"./node_modules/proj4/lib/constants/values.js\");\n\n\nfunction compareDatums(source, dest) {\n if (source.datum_type !== dest.datum_type) {\n return false; // false, datums are not equal\n } else if (source.a !== dest.a || Math.abs(source.es - dest.es) > 0.000000000050) {\n // the tolerance for es is to ensure that GRS80 and WGS84\n // are considered identical\n return false;\n } else if (source.datum_type === _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"PJD_3PARAM\"]) {\n return (source.datum_params[0] === dest.datum_params[0] && source.datum_params[1] === dest.datum_params[1] && source.datum_params[2] === dest.datum_params[2]);\n } else if (source.datum_type === _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"PJD_7PARAM\"]) {\n return (source.datum_params[0] === dest.datum_params[0] && source.datum_params[1] === dest.datum_params[1] && source.datum_params[2] === dest.datum_params[2] && source.datum_params[3] === dest.datum_params[3] && source.datum_params[4] === dest.datum_params[4] && source.datum_params[5] === dest.datum_params[5] && source.datum_params[6] === dest.datum_params[6]);\n } else {\n return true; // datums are equal\n }\n} // cs_compare_datums()\n\n/*\n * The function Convert_Geodetic_To_Geocentric converts geodetic coordinates\n * (latitude, longitude, and height) to geocentric coordinates (X, Y, Z),\n * according to the current ellipsoid parameters.\n *\n * Latitude : Geodetic latitude in radians (input)\n * Longitude : Geodetic longitude in radians (input)\n * Height : Geodetic height, in meters (input)\n * X : Calculated Geocentric X coordinate, in meters (output)\n * Y : Calculated Geocentric Y coordinate, in meters (output)\n * Z : Calculated Geocentric Z coordinate, in meters (output)\n *\n */\nfunction geodeticToGeocentric(p, es, a) {\n var Longitude = p.x;\n var Latitude = p.y;\n var Height = p.z ? p.z : 0; //Z value not always supplied\n\n var Rn; /* Earth radius at location */\n var Sin_Lat; /* Math.sin(Latitude) */\n var Sin2_Lat; /* Square of Math.sin(Latitude) */\n var Cos_Lat; /* Math.cos(Latitude) */\n\n /*\n ** Don't blow up if Latitude is just a little out of the value\n ** range as it may just be a rounding issue. Also removed longitude\n ** test, it should be wrapped by Math.cos() and Math.sin(). NFW for PROJ.4, Sep/2001.\n */\n if (Latitude < -_constants_values__WEBPACK_IMPORTED_MODULE_0__[\"HALF_PI\"] && Latitude > -1.001 * _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"HALF_PI\"]) {\n Latitude = -_constants_values__WEBPACK_IMPORTED_MODULE_0__[\"HALF_PI\"];\n } else if (Latitude > _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"HALF_PI\"] && Latitude < 1.001 * _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"HALF_PI\"]) {\n Latitude = _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"HALF_PI\"];\n } else if ((Latitude < -_constants_values__WEBPACK_IMPORTED_MODULE_0__[\"HALF_PI\"]) || (Latitude > _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"HALF_PI\"])) {\n /* Latitude out of range */\n //..reportError('geocent:lat out of range:' + Latitude);\n return null;\n }\n\n if (Longitude > Math.PI) {\n Longitude -= (2 * Math.PI);\n }\n Sin_Lat = Math.sin(Latitude);\n Cos_Lat = Math.cos(Latitude);\n Sin2_Lat = Sin_Lat * Sin_Lat;\n Rn = a / (Math.sqrt(1.0e0 - es * Sin2_Lat));\n return {\n x: (Rn + Height) * Cos_Lat * Math.cos(Longitude),\n y: (Rn + Height) * Cos_Lat * Math.sin(Longitude),\n z: ((Rn * (1 - es)) + Height) * Sin_Lat\n };\n} // cs_geodetic_to_geocentric()\n\nfunction geocentricToGeodetic(p, es, a, b) {\n /* local defintions and variables */\n /* end-criterium of loop, accuracy of sin(Latitude) */\n var genau = 1e-12;\n var genau2 = (genau * genau);\n var maxiter = 30;\n\n var P; /* distance between semi-minor axis and location */\n var RR; /* distance between center and location */\n var CT; /* sin of geocentric latitude */\n var ST; /* cos of geocentric latitude */\n var RX;\n var RK;\n var RN; /* Earth radius at location */\n var CPHI0; /* cos of start or old geodetic latitude in iterations */\n var SPHI0; /* sin of start or old geodetic latitude in iterations */\n var CPHI; /* cos of searched geodetic latitude */\n var SPHI; /* sin of searched geodetic latitude */\n var SDPHI; /* end-criterium: addition-theorem of sin(Latitude(iter)-Latitude(iter-1)) */\n var iter; /* # of continous iteration, max. 30 is always enough (s.a.) */\n\n var X = p.x;\n var Y = p.y;\n var Z = p.z ? p.z : 0.0; //Z value not always supplied\n var Longitude;\n var Latitude;\n var Height;\n\n P = Math.sqrt(X * X + Y * Y);\n RR = Math.sqrt(X * X + Y * Y + Z * Z);\n\n /* special cases for latitude and longitude */\n if (P / a < genau) {\n\n /* special case, if P=0. (X=0., Y=0.) */\n Longitude = 0.0;\n\n /* if (X,Y,Z)=(0.,0.,0.) then Height becomes semi-minor axis\n * of ellipsoid (=center of mass), Latitude becomes PI/2 */\n if (RR / a < genau) {\n Latitude = _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"HALF_PI\"];\n Height = -b;\n return {\n x: p.x,\n y: p.y,\n z: p.z\n };\n }\n } else {\n /* ellipsoidal (geodetic) longitude\n * interval: -PI < Longitude <= +PI */\n Longitude = Math.atan2(Y, X);\n }\n\n /* --------------------------------------------------------------\n * Following iterative algorithm was developped by\n * \"Institut for Erdmessung\", University of Hannover, July 1988.\n * Internet: www.ife.uni-hannover.de\n * Iterative computation of CPHI,SPHI and Height.\n * Iteration of CPHI and SPHI to 10**-12 radian resp.\n * 2*10**-7 arcsec.\n * --------------------------------------------------------------\n */\n CT = Z / RR;\n ST = P / RR;\n RX = 1.0 / Math.sqrt(1.0 - es * (2.0 - es) * ST * ST);\n CPHI0 = ST * (1.0 - es) * RX;\n SPHI0 = CT * RX;\n iter = 0;\n\n /* loop to find sin(Latitude) resp. Latitude\n * until |sin(Latitude(iter)-Latitude(iter-1))| < genau */\n do {\n iter++;\n RN = a / Math.sqrt(1.0 - es * SPHI0 * SPHI0);\n\n /* ellipsoidal (geodetic) height */\n Height = P * CPHI0 + Z * SPHI0 - RN * (1.0 - es * SPHI0 * SPHI0);\n\n RK = es * RN / (RN + Height);\n RX = 1.0 / Math.sqrt(1.0 - RK * (2.0 - RK) * ST * ST);\n CPHI = ST * (1.0 - RK) * RX;\n SPHI = CT * RX;\n SDPHI = SPHI * CPHI0 - CPHI * SPHI0;\n CPHI0 = CPHI;\n SPHI0 = SPHI;\n }\n while (SDPHI * SDPHI > genau2 && iter < maxiter);\n\n /* ellipsoidal (geodetic) latitude */\n Latitude = Math.atan(SPHI / Math.abs(CPHI));\n return {\n x: Longitude,\n y: Latitude,\n z: Height\n };\n} // cs_geocentric_to_geodetic()\n\n/****************************************************************/\n// pj_geocentic_to_wgs84( p )\n// p = point to transform in geocentric coordinates (x,y,z)\n\n\n/** point object, nothing fancy, just allows values to be\n passed back and forth by reference rather than by value.\n Other point classes may be used as long as they have\n x and y properties, which will get modified in the transform method.\n*/\nfunction geocentricToWgs84(p, datum_type, datum_params) {\n\n if (datum_type === _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"PJD_3PARAM\"]) {\n // if( x[io] === HUGE_VAL )\n // continue;\n return {\n x: p.x + datum_params[0],\n y: p.y + datum_params[1],\n z: p.z + datum_params[2],\n };\n } else if (datum_type === _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"PJD_7PARAM\"]) {\n var Dx_BF = datum_params[0];\n var Dy_BF = datum_params[1];\n var Dz_BF = datum_params[2];\n var Rx_BF = datum_params[3];\n var Ry_BF = datum_params[4];\n var Rz_BF = datum_params[5];\n var M_BF = datum_params[6];\n // if( x[io] === HUGE_VAL )\n // continue;\n return {\n x: M_BF * (p.x - Rz_BF * p.y + Ry_BF * p.z) + Dx_BF,\n y: M_BF * (Rz_BF * p.x + p.y - Rx_BF * p.z) + Dy_BF,\n z: M_BF * (-Ry_BF * p.x + Rx_BF * p.y + p.z) + Dz_BF\n };\n }\n} // cs_geocentric_to_wgs84\n\n/****************************************************************/\n// pj_geocentic_from_wgs84()\n// coordinate system definition,\n// point to transform in geocentric coordinates (x,y,z)\nfunction geocentricFromWgs84(p, datum_type, datum_params) {\n\n if (datum_type === _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"PJD_3PARAM\"]) {\n //if( x[io] === HUGE_VAL )\n // continue;\n return {\n x: p.x - datum_params[0],\n y: p.y - datum_params[1],\n z: p.z - datum_params[2],\n };\n\n } else if (datum_type === _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"PJD_7PARAM\"]) {\n var Dx_BF = datum_params[0];\n var Dy_BF = datum_params[1];\n var Dz_BF = datum_params[2];\n var Rx_BF = datum_params[3];\n var Ry_BF = datum_params[4];\n var Rz_BF = datum_params[5];\n var M_BF = datum_params[6];\n var x_tmp = (p.x - Dx_BF) / M_BF;\n var y_tmp = (p.y - Dy_BF) / M_BF;\n var z_tmp = (p.z - Dz_BF) / M_BF;\n //if( x[io] === HUGE_VAL )\n // continue;\n\n return {\n x: x_tmp + Rz_BF * y_tmp - Ry_BF * z_tmp,\n y: -Rz_BF * x_tmp + y_tmp + Rx_BF * z_tmp,\n z: Ry_BF * x_tmp - Rx_BF * y_tmp + z_tmp\n };\n } //cs_geocentric_from_wgs84()\n}\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/datumUtils.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/datum_transform.js": -/*!***************************************************!*\ - !*** ./node_modules/proj4/lib/datum_transform.js ***! - \***************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _constants_values__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants/values */ \"./node_modules/proj4/lib/constants/values.js\");\n/* harmony import */ var _datumUtils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./datumUtils */ \"./node_modules/proj4/lib/datumUtils.js\");\n\n\n\nfunction checkParams(type) {\n return (type === _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"PJD_3PARAM\"] || type === _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"PJD_7PARAM\"]);\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(source, dest, point) {\n // Short cut if the datums are identical.\n if (Object(_datumUtils__WEBPACK_IMPORTED_MODULE_1__[\"compareDatums\"])(source, dest)) {\n return point; // in this case, zero is sucess,\n // whereas cs_compare_datums returns 1 to indicate TRUE\n // confusing, should fix this\n }\n\n // Explicitly skip datum transform by setting 'datum=none' as parameter for either source or dest\n if (source.datum_type === _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"PJD_NODATUM\"] || dest.datum_type === _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"PJD_NODATUM\"]) {\n return point;\n }\n\n // If this datum requires grid shifts, then apply it to geodetic coordinates.\n\n // Do we need to go through geocentric coordinates?\n if (source.es === dest.es && source.a === dest.a && !checkParams(source.datum_type) && !checkParams(dest.datum_type)) {\n return point;\n }\n\n // Convert to geocentric coordinates.\n point = Object(_datumUtils__WEBPACK_IMPORTED_MODULE_1__[\"geodeticToGeocentric\"])(point, source.es, source.a);\n // Convert between datums\n if (checkParams(source.datum_type)) {\n point = Object(_datumUtils__WEBPACK_IMPORTED_MODULE_1__[\"geocentricToWgs84\"])(point, source.datum_type, source.datum_params);\n }\n if (checkParams(dest.datum_type)) {\n point = Object(_datumUtils__WEBPACK_IMPORTED_MODULE_1__[\"geocentricFromWgs84\"])(point, dest.datum_type, dest.datum_params);\n }\n return Object(_datumUtils__WEBPACK_IMPORTED_MODULE_1__[\"geocentricToGeodetic\"])(point, dest.es, dest.a, dest.b);\n\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/datum_transform.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/defs.js": -/*!****************************************!*\ - !*** ./node_modules/proj4/lib/defs.js ***! - \****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _global__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./global */ \"./node_modules/proj4/lib/global.js\");\n/* harmony import */ var _projString__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./projString */ \"./node_modules/proj4/lib/projString.js\");\n/* harmony import */ var wkt_parser__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! wkt-parser */ \"./node_modules/wkt-parser/index.js\");\n\n\n\n\nfunction defs(name) {\n /*global console*/\n var that = this;\n if (arguments.length === 2) {\n var def = arguments[1];\n if (typeof def === 'string') {\n if (def.charAt(0) === '+') {\n defs[name] = Object(_projString__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(arguments[1]);\n }\n else {\n defs[name] = Object(wkt_parser__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(arguments[1]);\n }\n } else {\n defs[name] = def;\n }\n }\n else if (arguments.length === 1) {\n if (Array.isArray(name)) {\n return name.map(function(v) {\n if (Array.isArray(v)) {\n defs.apply(that, v);\n }\n else {\n defs(v);\n }\n });\n }\n else if (typeof name === 'string') {\n if (name in defs) {\n return defs[name];\n }\n }\n else if ('EPSG' in name) {\n defs['EPSG:' + name.EPSG] = name;\n }\n else if ('ESRI' in name) {\n defs['ESRI:' + name.ESRI] = name;\n }\n else if ('IAU2000' in name) {\n defs['IAU2000:' + name.IAU2000] = name;\n }\n else {\n console.log(name);\n }\n return;\n }\n\n\n}\nObject(_global__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(defs);\n/* harmony default export */ __webpack_exports__[\"default\"] = (defs);\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/defs.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/deriveConstants.js": -/*!***************************************************!*\ - !*** ./node_modules/proj4/lib/deriveConstants.js ***! - \***************************************************/ -/*! exports provided: eccentricity, sphere */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"eccentricity\", function() { return eccentricity; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sphere\", function() { return sphere; });\n/* harmony import */ var _constants_values__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants/values */ \"./node_modules/proj4/lib/constants/values.js\");\n/* harmony import */ var _constants_Ellipsoid__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants/Ellipsoid */ \"./node_modules/proj4/lib/constants/Ellipsoid.js\");\n/* harmony import */ var _match__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./match */ \"./node_modules/proj4/lib/match.js\");\n\n\n\n\nfunction eccentricity(a, b, rf, R_A) {\n var a2 = a * a; // used in geocentric\n var b2 = b * b; // used in geocentric\n var es = (a2 - b2) / a2; // e ^ 2\n var e = 0;\n if (R_A) {\n a *= 1 - es * (_constants_values__WEBPACK_IMPORTED_MODULE_0__[\"SIXTH\"] + es * (_constants_values__WEBPACK_IMPORTED_MODULE_0__[\"RA4\"] + es * _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"RA6\"]));\n a2 = a * a;\n es = 0;\n } else {\n e = Math.sqrt(es); // eccentricity\n }\n var ep2 = (a2 - b2) / b2; // used in geocentric\n return {\n es: es,\n e: e,\n ep2: ep2\n };\n}\nfunction sphere(a, b, rf, ellps, sphere) {\n if (!a) { // do we have an ellipsoid?\n var ellipse = Object(_match__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_constants_Ellipsoid__WEBPACK_IMPORTED_MODULE_1__[\"default\"], ellps);\n if (!ellipse) {\n ellipse = _constants_Ellipsoid__WEBPACK_IMPORTED_MODULE_1__[\"WGS84\"];\n }\n a = ellipse.a;\n b = ellipse.b;\n rf = ellipse.rf;\n }\n\n if (rf && !b) {\n b = (1.0 - 1.0 / rf) * a;\n }\n if (rf === 0 || Math.abs(a - b) < _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"EPSLN\"]) {\n sphere = true;\n b = a;\n }\n return {\n a: a,\n b: b,\n rf: rf,\n sphere: sphere\n };\n}\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/deriveConstants.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/extend.js": -/*!******************************************!*\ - !*** ./node_modules/proj4/lib/extend.js ***! - \******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(destination, source) {\n destination = destination || {};\n var value, property;\n if (!source) {\n return destination;\n }\n for (property in source) {\n value = source[property];\n if (value !== undefined) {\n destination[property] = value;\n }\n }\n return destination;\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/extend.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/global.js": -/*!******************************************!*\ - !*** ./node_modules/proj4/lib/global.js ***! - \******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(defs) {\n defs('EPSG:4326', \"+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees\");\n defs('EPSG:4269', \"+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees\");\n defs('EPSG:3857', \"+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs\");\n\n defs.WGS84 = defs['EPSG:4326'];\n defs['EPSG:3785'] = defs['EPSG:3857']; // maintain backward compat, official code is 3857\n defs.GOOGLE = defs['EPSG:3857'];\n defs['EPSG:900913'] = defs['EPSG:3857'];\n defs['EPSG:102113'] = defs['EPSG:3857'];\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/global.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/index.js": -/*!*****************************************!*\ - !*** ./node_modules/proj4/lib/index.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./core */ \"./node_modules/proj4/lib/core.js\");\n/* harmony import */ var _Proj__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Proj */ \"./node_modules/proj4/lib/Proj.js\");\n/* harmony import */ var _Point__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Point */ \"./node_modules/proj4/lib/Point.js\");\n/* harmony import */ var _common_toPoint__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./common/toPoint */ \"./node_modules/proj4/lib/common/toPoint.js\");\n/* harmony import */ var _defs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./defs */ \"./node_modules/proj4/lib/defs.js\");\n/* harmony import */ var _transform__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./transform */ \"./node_modules/proj4/lib/transform.js\");\n/* harmony import */ var mgrs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! mgrs */ \"./node_modules/mgrs/mgrs.js\");\n/* harmony import */ var _version__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./version */ \"./node_modules/proj4/lib/version.js\");\n/* harmony import */ var _projs__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../projs */ \"./node_modules/proj4/projs.js\");\n\n\n\n\n\n\n\n\n\n\n_core__WEBPACK_IMPORTED_MODULE_0__[\"default\"].defaultDatum = 'WGS84'; //default datum\n_core__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Proj = _Proj__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n_core__WEBPACK_IMPORTED_MODULE_0__[\"default\"].WGS84 = new _core__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Proj('WGS84');\n_core__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Point = _Point__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\n_core__WEBPACK_IMPORTED_MODULE_0__[\"default\"].toPoint = _common_toPoint__WEBPACK_IMPORTED_MODULE_3__[\"default\"];\n_core__WEBPACK_IMPORTED_MODULE_0__[\"default\"].defs = _defs__WEBPACK_IMPORTED_MODULE_4__[\"default\"];\n_core__WEBPACK_IMPORTED_MODULE_0__[\"default\"].transform = _transform__WEBPACK_IMPORTED_MODULE_5__[\"default\"];\n_core__WEBPACK_IMPORTED_MODULE_0__[\"default\"].mgrs = mgrs__WEBPACK_IMPORTED_MODULE_6__[\"default\"];\n_core__WEBPACK_IMPORTED_MODULE_0__[\"default\"].version = _version__WEBPACK_IMPORTED_MODULE_7__[\"default\"];\nObject(_projs__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(_core__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (_core__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/index.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/match.js": -/*!*****************************************!*\ - !*** ./node_modules/proj4/lib/match.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return match; });\nvar ignoredChar = /[\\s_\\-\\/\\(\\)]/g;\nfunction match(obj, key) {\n if (obj[key]) {\n return obj[key];\n }\n var keys = Object.keys(obj);\n var lkey = key.toLowerCase().replace(ignoredChar, '');\n var i = -1;\n var testkey, processedKey;\n while (++i < keys.length) {\n testkey = keys[i];\n processedKey = testkey.toLowerCase().replace(ignoredChar, '');\n if (processedKey === lkey) {\n return obj[testkey];\n }\n }\n}\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/match.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/parseCode.js": -/*!*********************************************!*\ - !*** ./node_modules/proj4/lib/parseCode.js ***! - \*********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _defs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./defs */ \"./node_modules/proj4/lib/defs.js\");\n/* harmony import */ var wkt_parser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! wkt-parser */ \"./node_modules/wkt-parser/index.js\");\n/* harmony import */ var _projString__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./projString */ \"./node_modules/proj4/lib/projString.js\");\n\n\n\nfunction testObj(code){\n return typeof code === 'string';\n}\nfunction testDef(code){\n return code in _defs__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n}\n var codeWords = ['PROJECTEDCRS', 'PROJCRS', 'GEOGCS','GEOCCS','PROJCS','LOCAL_CS', 'GEODCRS', 'GEODETICCRS', 'GEODETICDATUM', 'ENGCRS', 'ENGINEERINGCRS']; \nfunction testWKT(code){\n return codeWords.some(function (word) {\n return code.indexOf(word) > -1;\n });\n}\nfunction testProj(code){\n return code[0] === '+';\n}\nfunction parse(code){\n if (testObj(code)) {\n //check to see if this is a WKT string\n if (testDef(code)) {\n return _defs__WEBPACK_IMPORTED_MODULE_0__[\"default\"][code];\n }\n if (testWKT(code)) {\n return Object(wkt_parser__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(code);\n }\n if (testProj(code)) {\n return Object(_projString__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(code);\n }\n }else{\n return code;\n }\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (parse);\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/parseCode.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/projString.js": -/*!**********************************************!*\ - !*** ./node_modules/proj4/lib/projString.js ***! - \**********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _constants_values__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants/values */ \"./node_modules/proj4/lib/constants/values.js\");\n/* harmony import */ var _constants_PrimeMeridian__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants/PrimeMeridian */ \"./node_modules/proj4/lib/constants/PrimeMeridian.js\");\n/* harmony import */ var _constants_units__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants/units */ \"./node_modules/proj4/lib/constants/units.js\");\n/* harmony import */ var _match__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./match */ \"./node_modules/proj4/lib/match.js\");\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(defData) {\n var self = {};\n var paramObj = defData.split('+').map(function(v) {\n return v.trim();\n }).filter(function(a) {\n return a;\n }).reduce(function(p, a) {\n var split = a.split('=');\n split.push(true);\n p[split[0].toLowerCase()] = split[1];\n return p;\n }, {});\n var paramName, paramVal, paramOutname;\n var params = {\n proj: 'projName',\n datum: 'datumCode',\n rf: function(v) {\n self.rf = parseFloat(v);\n },\n lat_0: function(v) {\n self.lat0 = v * _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"D2R\"];\n },\n lat_1: function(v) {\n self.lat1 = v * _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"D2R\"];\n },\n lat_2: function(v) {\n self.lat2 = v * _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"D2R\"];\n },\n lat_ts: function(v) {\n self.lat_ts = v * _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"D2R\"];\n },\n lon_0: function(v) {\n self.long0 = v * _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"D2R\"];\n },\n lon_1: function(v) {\n self.long1 = v * _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"D2R\"];\n },\n lon_2: function(v) {\n self.long2 = v * _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"D2R\"];\n },\n alpha: function(v) {\n self.alpha = parseFloat(v) * _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"D2R\"];\n },\n lonc: function(v) {\n self.longc = v * _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"D2R\"];\n },\n x_0: function(v) {\n self.x0 = parseFloat(v);\n },\n y_0: function(v) {\n self.y0 = parseFloat(v);\n },\n k_0: function(v) {\n self.k0 = parseFloat(v);\n },\n k: function(v) {\n self.k0 = parseFloat(v);\n },\n a: function(v) {\n self.a = parseFloat(v);\n },\n b: function(v) {\n self.b = parseFloat(v);\n },\n r_a: function() {\n self.R_A = true;\n },\n zone: function(v) {\n self.zone = parseInt(v, 10);\n },\n south: function() {\n self.utmSouth = true;\n },\n towgs84: function(v) {\n self.datum_params = v.split(\",\").map(function(a) {\n return parseFloat(a);\n });\n },\n to_meter: function(v) {\n self.to_meter = parseFloat(v);\n },\n units: function(v) {\n self.units = v;\n var unit = Object(_match__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(_constants_units__WEBPACK_IMPORTED_MODULE_2__[\"default\"], v);\n if (unit) {\n self.to_meter = unit.to_meter;\n }\n },\n from_greenwich: function(v) {\n self.from_greenwich = v * _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"D2R\"];\n },\n pm: function(v) {\n var pm = Object(_match__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(_constants_PrimeMeridian__WEBPACK_IMPORTED_MODULE_1__[\"default\"], v);\n self.from_greenwich = (pm ? pm : parseFloat(v)) * _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"D2R\"];\n },\n nadgrids: function(v) {\n if (v === '@null') {\n self.datumCode = 'none';\n }\n else {\n self.nadgrids = v;\n }\n },\n axis: function(v) {\n var legalAxis = \"ewnsud\";\n if (v.length === 3 && legalAxis.indexOf(v.substr(0, 1)) !== -1 && legalAxis.indexOf(v.substr(1, 1)) !== -1 && legalAxis.indexOf(v.substr(2, 1)) !== -1) {\n self.axis = v;\n }\n }\n };\n for (paramName in paramObj) {\n paramVal = paramObj[paramName];\n if (paramName in params) {\n paramOutname = params[paramName];\n if (typeof paramOutname === 'function') {\n paramOutname(paramVal);\n }\n else {\n self[paramOutname] = paramVal;\n }\n }\n else {\n self[paramName] = paramVal;\n }\n }\n if(typeof self.datumCode === 'string' && self.datumCode !== \"WGS84\"){\n self.datumCode = self.datumCode.toLowerCase();\n }\n return self;\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/projString.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/projections.js": -/*!***********************************************!*\ - !*** ./node_modules/proj4/lib/projections.js ***! - \***********************************************/ -/*! exports provided: add, get, start, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"add\", function() { return add; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"get\", function() { return get; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"start\", function() { return start; });\n/* harmony import */ var _projections_merc__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./projections/merc */ \"./node_modules/proj4/lib/projections/merc.js\");\n/* harmony import */ var _projections_longlat__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./projections/longlat */ \"./node_modules/proj4/lib/projections/longlat.js\");\n\n\nvar projs = [_projections_merc__WEBPACK_IMPORTED_MODULE_0__[\"default\"], _projections_longlat__WEBPACK_IMPORTED_MODULE_1__[\"default\"]];\nvar names = {};\nvar projStore = [];\n\nfunction add(proj, i) {\n var len = projStore.length;\n if (!proj.names) {\n console.log(i);\n return true;\n }\n projStore[len] = proj;\n proj.names.forEach(function(n) {\n names[n.toLowerCase()] = len;\n });\n return this;\n}\n\n\n\nfunction get(name) {\n if (!name) {\n return false;\n }\n var n = name.toLowerCase();\n if (typeof names[n] !== 'undefined' && projStore[names[n]]) {\n return projStore[names[n]];\n }\n}\n\nfunction start() {\n projs.forEach(add);\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n start: start,\n add: add,\n get: get\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/projections.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/projections/aea.js": -/*!***************************************************!*\ - !*** ./node_modules/proj4/lib/projections/aea.js ***! - \***************************************************/ -/*! exports provided: init, forward, inverse, phi1z, names, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"init\", function() { return init; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"forward\", function() { return forward; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"inverse\", function() { return inverse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"phi1z\", function() { return phi1z; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"names\", function() { return names; });\n/* harmony import */ var _common_msfnz__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common/msfnz */ \"./node_modules/proj4/lib/common/msfnz.js\");\n/* harmony import */ var _common_qsfnz__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/qsfnz */ \"./node_modules/proj4/lib/common/qsfnz.js\");\n/* harmony import */ var _common_adjust_lon__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/adjust_lon */ \"./node_modules/proj4/lib/common/adjust_lon.js\");\n/* harmony import */ var _common_asinz__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../common/asinz */ \"./node_modules/proj4/lib/common/asinz.js\");\n/* harmony import */ var _constants_values__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../constants/values */ \"./node_modules/proj4/lib/constants/values.js\");\n\n\n\n\n\n\nfunction init() {\n\n if (Math.abs(this.lat1 + this.lat2) < _constants_values__WEBPACK_IMPORTED_MODULE_4__[\"EPSLN\"]) {\n return;\n }\n this.temp = this.b / this.a;\n this.es = 1 - Math.pow(this.temp, 2);\n this.e3 = Math.sqrt(this.es);\n\n this.sin_po = Math.sin(this.lat1);\n this.cos_po = Math.cos(this.lat1);\n this.t1 = this.sin_po;\n this.con = this.sin_po;\n this.ms1 = Object(_common_msfnz__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.e3, this.sin_po, this.cos_po);\n this.qs1 = Object(_common_qsfnz__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this.e3, this.sin_po, this.cos_po);\n\n this.sin_po = Math.sin(this.lat2);\n this.cos_po = Math.cos(this.lat2);\n this.t2 = this.sin_po;\n this.ms2 = Object(_common_msfnz__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.e3, this.sin_po, this.cos_po);\n this.qs2 = Object(_common_qsfnz__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this.e3, this.sin_po, this.cos_po);\n\n this.sin_po = Math.sin(this.lat0);\n this.cos_po = Math.cos(this.lat0);\n this.t3 = this.sin_po;\n this.qs0 = Object(_common_qsfnz__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this.e3, this.sin_po, this.cos_po);\n\n if (Math.abs(this.lat1 - this.lat2) > _constants_values__WEBPACK_IMPORTED_MODULE_4__[\"EPSLN\"]) {\n this.ns0 = (this.ms1 * this.ms1 - this.ms2 * this.ms2) / (this.qs2 - this.qs1);\n }\n else {\n this.ns0 = this.con;\n }\n this.c = this.ms1 * this.ms1 + this.ns0 * this.qs1;\n this.rh = this.a * Math.sqrt(this.c - this.ns0 * this.qs0) / this.ns0;\n}\n\n/* Albers Conical Equal Area forward equations--mapping lat,long to x,y\n -------------------------------------------------------------------*/\nfunction forward(p) {\n\n var lon = p.x;\n var lat = p.y;\n\n this.sin_phi = Math.sin(lat);\n this.cos_phi = Math.cos(lat);\n\n var qs = Object(_common_qsfnz__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this.e3, this.sin_phi, this.cos_phi);\n var rh1 = this.a * Math.sqrt(this.c - this.ns0 * qs) / this.ns0;\n var theta = this.ns0 * Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(lon - this.long0);\n var x = rh1 * Math.sin(theta) + this.x0;\n var y = this.rh - rh1 * Math.cos(theta) + this.y0;\n\n p.x = x;\n p.y = y;\n return p;\n}\n\nfunction inverse(p) {\n var rh1, qs, con, theta, lon, lat;\n\n p.x -= this.x0;\n p.y = this.rh - p.y + this.y0;\n if (this.ns0 >= 0) {\n rh1 = Math.sqrt(p.x * p.x + p.y * p.y);\n con = 1;\n }\n else {\n rh1 = -Math.sqrt(p.x * p.x + p.y * p.y);\n con = -1;\n }\n theta = 0;\n if (rh1 !== 0) {\n theta = Math.atan2(con * p.x, con * p.y);\n }\n con = rh1 * this.ns0 / this.a;\n if (this.sphere) {\n lat = Math.asin((this.c - con * con) / (2 * this.ns0));\n }\n else {\n qs = (this.c - con * con) / this.ns0;\n lat = this.phi1z(this.e3, qs);\n }\n\n lon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(theta / this.ns0 + this.long0);\n p.x = lon;\n p.y = lat;\n return p;\n}\n\n/* Function to compute phi1, the latitude for the inverse of the\n Albers Conical Equal-Area projection.\n-------------------------------------------*/\nfunction phi1z(eccent, qs) {\n var sinphi, cosphi, con, com, dphi;\n var phi = Object(_common_asinz__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(0.5 * qs);\n if (eccent < _constants_values__WEBPACK_IMPORTED_MODULE_4__[\"EPSLN\"]) {\n return phi;\n }\n\n var eccnts = eccent * eccent;\n for (var i = 1; i <= 25; i++) {\n sinphi = Math.sin(phi);\n cosphi = Math.cos(phi);\n con = eccent * sinphi;\n com = 1 - con * con;\n dphi = 0.5 * com * com / cosphi * (qs / (1 - eccnts) - sinphi / com + 0.5 / eccent * Math.log((1 - con) / (1 + con)));\n phi = phi + dphi;\n if (Math.abs(dphi) <= 1e-7) {\n return phi;\n }\n }\n return null;\n}\n\nvar names = [\"Albers_Conic_Equal_Area\", \"Albers\", \"aea\"];\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n init: init,\n forward: forward,\n inverse: inverse,\n names: names,\n phi1z: phi1z\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/projections/aea.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/projections/aeqd.js": -/*!****************************************************!*\ - !*** ./node_modules/proj4/lib/projections/aeqd.js ***! - \****************************************************/ -/*! exports provided: init, forward, inverse, names, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"init\", function() { return init; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"forward\", function() { return forward; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"inverse\", function() { return inverse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"names\", function() { return names; });\n/* harmony import */ var _common_adjust_lon__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common/adjust_lon */ \"./node_modules/proj4/lib/common/adjust_lon.js\");\n/* harmony import */ var _constants_values__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants/values */ \"./node_modules/proj4/lib/constants/values.js\");\n/* harmony import */ var _common_mlfn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/mlfn */ \"./node_modules/proj4/lib/common/mlfn.js\");\n/* harmony import */ var _common_e0fn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../common/e0fn */ \"./node_modules/proj4/lib/common/e0fn.js\");\n/* harmony import */ var _common_e1fn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../common/e1fn */ \"./node_modules/proj4/lib/common/e1fn.js\");\n/* harmony import */ var _common_e2fn__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../common/e2fn */ \"./node_modules/proj4/lib/common/e2fn.js\");\n/* harmony import */ var _common_e3fn__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../common/e3fn */ \"./node_modules/proj4/lib/common/e3fn.js\");\n/* harmony import */ var _common_gN__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../common/gN */ \"./node_modules/proj4/lib/common/gN.js\");\n/* harmony import */ var _common_asinz__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../common/asinz */ \"./node_modules/proj4/lib/common/asinz.js\");\n/* harmony import */ var _common_imlfn__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../common/imlfn */ \"./node_modules/proj4/lib/common/imlfn.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction init() {\n this.sin_p12 = Math.sin(this.lat0);\n this.cos_p12 = Math.cos(this.lat0);\n}\n\nfunction forward(p) {\n var lon = p.x;\n var lat = p.y;\n var sinphi = Math.sin(p.y);\n var cosphi = Math.cos(p.y);\n var dlon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(lon - this.long0);\n var e0, e1, e2, e3, Mlp, Ml, tanphi, Nl1, Nl, psi, Az, G, H, GH, Hs, c, kp, cos_c, s, s2, s3, s4, s5;\n if (this.sphere) {\n if (Math.abs(this.sin_p12 - 1) <= _constants_values__WEBPACK_IMPORTED_MODULE_1__[\"EPSLN\"]) {\n //North Pole case\n p.x = this.x0 + this.a * (_constants_values__WEBPACK_IMPORTED_MODULE_1__[\"HALF_PI\"] - lat) * Math.sin(dlon);\n p.y = this.y0 - this.a * (_constants_values__WEBPACK_IMPORTED_MODULE_1__[\"HALF_PI\"] - lat) * Math.cos(dlon);\n return p;\n }\n else if (Math.abs(this.sin_p12 + 1) <= _constants_values__WEBPACK_IMPORTED_MODULE_1__[\"EPSLN\"]) {\n //South Pole case\n p.x = this.x0 + this.a * (_constants_values__WEBPACK_IMPORTED_MODULE_1__[\"HALF_PI\"] + lat) * Math.sin(dlon);\n p.y = this.y0 + this.a * (_constants_values__WEBPACK_IMPORTED_MODULE_1__[\"HALF_PI\"] + lat) * Math.cos(dlon);\n return p;\n }\n else {\n //default case\n cos_c = this.sin_p12 * sinphi + this.cos_p12 * cosphi * Math.cos(dlon);\n c = Math.acos(cos_c);\n kp = c / Math.sin(c);\n p.x = this.x0 + this.a * kp * cosphi * Math.sin(dlon);\n p.y = this.y0 + this.a * kp * (this.cos_p12 * sinphi - this.sin_p12 * cosphi * Math.cos(dlon));\n return p;\n }\n }\n else {\n e0 = Object(_common_e0fn__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(this.es);\n e1 = Object(_common_e1fn__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(this.es);\n e2 = Object(_common_e2fn__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(this.es);\n e3 = Object(_common_e3fn__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(this.es);\n if (Math.abs(this.sin_p12 - 1) <= _constants_values__WEBPACK_IMPORTED_MODULE_1__[\"EPSLN\"]) {\n //North Pole case\n Mlp = this.a * Object(_common_mlfn__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(e0, e1, e2, e3, _constants_values__WEBPACK_IMPORTED_MODULE_1__[\"HALF_PI\"]);\n Ml = this.a * Object(_common_mlfn__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(e0, e1, e2, e3, lat);\n p.x = this.x0 + (Mlp - Ml) * Math.sin(dlon);\n p.y = this.y0 - (Mlp - Ml) * Math.cos(dlon);\n return p;\n }\n else if (Math.abs(this.sin_p12 + 1) <= _constants_values__WEBPACK_IMPORTED_MODULE_1__[\"EPSLN\"]) {\n //South Pole case\n Mlp = this.a * Object(_common_mlfn__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(e0, e1, e2, e3, _constants_values__WEBPACK_IMPORTED_MODULE_1__[\"HALF_PI\"]);\n Ml = this.a * Object(_common_mlfn__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(e0, e1, e2, e3, lat);\n p.x = this.x0 + (Mlp + Ml) * Math.sin(dlon);\n p.y = this.y0 + (Mlp + Ml) * Math.cos(dlon);\n return p;\n }\n else {\n //Default case\n tanphi = sinphi / cosphi;\n Nl1 = Object(_common_gN__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(this.a, this.e, this.sin_p12);\n Nl = Object(_common_gN__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(this.a, this.e, sinphi);\n psi = Math.atan((1 - this.es) * tanphi + this.es * Nl1 * this.sin_p12 / (Nl * cosphi));\n Az = Math.atan2(Math.sin(dlon), this.cos_p12 * Math.tan(psi) - this.sin_p12 * Math.cos(dlon));\n if (Az === 0) {\n s = Math.asin(this.cos_p12 * Math.sin(psi) - this.sin_p12 * Math.cos(psi));\n }\n else if (Math.abs(Math.abs(Az) - Math.PI) <= _constants_values__WEBPACK_IMPORTED_MODULE_1__[\"EPSLN\"]) {\n s = -Math.asin(this.cos_p12 * Math.sin(psi) - this.sin_p12 * Math.cos(psi));\n }\n else {\n s = Math.asin(Math.sin(dlon) * Math.cos(psi) / Math.sin(Az));\n }\n G = this.e * this.sin_p12 / Math.sqrt(1 - this.es);\n H = this.e * this.cos_p12 * Math.cos(Az) / Math.sqrt(1 - this.es);\n GH = G * H;\n Hs = H * H;\n s2 = s * s;\n s3 = s2 * s;\n s4 = s3 * s;\n s5 = s4 * s;\n c = Nl1 * s * (1 - s2 * Hs * (1 - Hs) / 6 + s3 / 8 * GH * (1 - 2 * Hs) + s4 / 120 * (Hs * (4 - 7 * Hs) - 3 * G * G * (1 - 7 * Hs)) - s5 / 48 * GH);\n p.x = this.x0 + c * Math.sin(Az);\n p.y = this.y0 + c * Math.cos(Az);\n return p;\n }\n }\n\n\n}\n\nfunction inverse(p) {\n p.x -= this.x0;\n p.y -= this.y0;\n var rh, z, sinz, cosz, lon, lat, con, e0, e1, e2, e3, Mlp, M, N1, psi, Az, cosAz, tmp, A, B, D, Ee, F;\n if (this.sphere) {\n rh = Math.sqrt(p.x * p.x + p.y * p.y);\n if (rh > (2 * _constants_values__WEBPACK_IMPORTED_MODULE_1__[\"HALF_PI\"] * this.a)) {\n return;\n }\n z = rh / this.a;\n\n sinz = Math.sin(z);\n cosz = Math.cos(z);\n\n lon = this.long0;\n if (Math.abs(rh) <= _constants_values__WEBPACK_IMPORTED_MODULE_1__[\"EPSLN\"]) {\n lat = this.lat0;\n }\n else {\n lat = Object(_common_asinz__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(cosz * this.sin_p12 + (p.y * sinz * this.cos_p12) / rh);\n con = Math.abs(this.lat0) - _constants_values__WEBPACK_IMPORTED_MODULE_1__[\"HALF_PI\"];\n if (Math.abs(con) <= _constants_values__WEBPACK_IMPORTED_MODULE_1__[\"EPSLN\"]) {\n if (this.lat0 >= 0) {\n lon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.long0 + Math.atan2(p.x, - p.y));\n }\n else {\n lon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.long0 - Math.atan2(-p.x, p.y));\n }\n }\n else {\n /*con = cosz - this.sin_p12 * Math.sin(lat);\n if ((Math.abs(con) < EPSLN) && (Math.abs(p.x) < EPSLN)) {\n //no-op, just keep the lon value as is\n } else {\n var temp = Math.atan2((p.x * sinz * this.cos_p12), (con * rh));\n lon = adjust_lon(this.long0 + Math.atan2((p.x * sinz * this.cos_p12), (con * rh)));\n }*/\n lon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.long0 + Math.atan2(p.x * sinz, rh * this.cos_p12 * cosz - p.y * this.sin_p12 * sinz));\n }\n }\n\n p.x = lon;\n p.y = lat;\n return p;\n }\n else {\n e0 = Object(_common_e0fn__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(this.es);\n e1 = Object(_common_e1fn__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(this.es);\n e2 = Object(_common_e2fn__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(this.es);\n e3 = Object(_common_e3fn__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(this.es);\n if (Math.abs(this.sin_p12 - 1) <= _constants_values__WEBPACK_IMPORTED_MODULE_1__[\"EPSLN\"]) {\n //North pole case\n Mlp = this.a * Object(_common_mlfn__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(e0, e1, e2, e3, _constants_values__WEBPACK_IMPORTED_MODULE_1__[\"HALF_PI\"]);\n rh = Math.sqrt(p.x * p.x + p.y * p.y);\n M = Mlp - rh;\n lat = Object(_common_imlfn__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(M / this.a, e0, e1, e2, e3);\n lon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.long0 + Math.atan2(p.x, - 1 * p.y));\n p.x = lon;\n p.y = lat;\n return p;\n }\n else if (Math.abs(this.sin_p12 + 1) <= _constants_values__WEBPACK_IMPORTED_MODULE_1__[\"EPSLN\"]) {\n //South pole case\n Mlp = this.a * Object(_common_mlfn__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(e0, e1, e2, e3, _constants_values__WEBPACK_IMPORTED_MODULE_1__[\"HALF_PI\"]);\n rh = Math.sqrt(p.x * p.x + p.y * p.y);\n M = rh - Mlp;\n\n lat = Object(_common_imlfn__WEBPACK_IMPORTED_MODULE_9__[\"default\"])(M / this.a, e0, e1, e2, e3);\n lon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.long0 + Math.atan2(p.x, p.y));\n p.x = lon;\n p.y = lat;\n return p;\n }\n else {\n //default case\n rh = Math.sqrt(p.x * p.x + p.y * p.y);\n Az = Math.atan2(p.x, p.y);\n N1 = Object(_common_gN__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(this.a, this.e, this.sin_p12);\n cosAz = Math.cos(Az);\n tmp = this.e * this.cos_p12 * cosAz;\n A = -tmp * tmp / (1 - this.es);\n B = 3 * this.es * (1 - A) * this.sin_p12 * this.cos_p12 * cosAz / (1 - this.es);\n D = rh / N1;\n Ee = D - A * (1 + A) * Math.pow(D, 3) / 6 - B * (1 + 3 * A) * Math.pow(D, 4) / 24;\n F = 1 - A * Ee * Ee / 2 - D * Ee * Ee * Ee / 6;\n psi = Math.asin(this.sin_p12 * Math.cos(Ee) + this.cos_p12 * Math.sin(Ee) * cosAz);\n lon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.long0 + Math.asin(Math.sin(Az) * Math.sin(Ee) / Math.cos(psi)));\n lat = Math.atan((1 - this.es * F * this.sin_p12 / Math.sin(psi)) * Math.tan(psi) / (1 - this.es));\n p.x = lon;\n p.y = lat;\n return p;\n }\n }\n\n}\n\nvar names = [\"Azimuthal_Equidistant\", \"aeqd\"];\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/projections/aeqd.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/projections/cass.js": -/*!****************************************************!*\ - !*** ./node_modules/proj4/lib/projections/cass.js ***! - \****************************************************/ -/*! exports provided: init, forward, inverse, names, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"init\", function() { return init; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"forward\", function() { return forward; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"inverse\", function() { return inverse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"names\", function() { return names; });\n/* harmony import */ var _common_mlfn__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common/mlfn */ \"./node_modules/proj4/lib/common/mlfn.js\");\n/* harmony import */ var _common_e0fn__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/e0fn */ \"./node_modules/proj4/lib/common/e0fn.js\");\n/* harmony import */ var _common_e1fn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/e1fn */ \"./node_modules/proj4/lib/common/e1fn.js\");\n/* harmony import */ var _common_e2fn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../common/e2fn */ \"./node_modules/proj4/lib/common/e2fn.js\");\n/* harmony import */ var _common_e3fn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../common/e3fn */ \"./node_modules/proj4/lib/common/e3fn.js\");\n/* harmony import */ var _common_gN__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../common/gN */ \"./node_modules/proj4/lib/common/gN.js\");\n/* harmony import */ var _common_adjust_lon__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../common/adjust_lon */ \"./node_modules/proj4/lib/common/adjust_lon.js\");\n/* harmony import */ var _common_adjust_lat__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../common/adjust_lat */ \"./node_modules/proj4/lib/common/adjust_lat.js\");\n/* harmony import */ var _common_imlfn__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../common/imlfn */ \"./node_modules/proj4/lib/common/imlfn.js\");\n/* harmony import */ var _constants_values__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../constants/values */ \"./node_modules/proj4/lib/constants/values.js\");\n\n\n\n\n\n\n\n\n\n\n\nfunction init() {\n if (!this.sphere) {\n this.e0 = Object(_common_e0fn__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this.es);\n this.e1 = Object(_common_e1fn__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(this.es);\n this.e2 = Object(_common_e2fn__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(this.es);\n this.e3 = Object(_common_e3fn__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(this.es);\n this.ml0 = this.a * Object(_common_mlfn__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.e0, this.e1, this.e2, this.e3, this.lat0);\n }\n}\n\n/* Cassini forward equations--mapping lat,long to x,y\n -----------------------------------------------------------------------*/\nfunction forward(p) {\n\n /* Forward equations\n -----------------*/\n var x, y;\n var lam = p.x;\n var phi = p.y;\n lam = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(lam - this.long0);\n\n if (this.sphere) {\n x = this.a * Math.asin(Math.cos(phi) * Math.sin(lam));\n y = this.a * (Math.atan2(Math.tan(phi), Math.cos(lam)) - this.lat0);\n }\n else {\n //ellipsoid\n var sinphi = Math.sin(phi);\n var cosphi = Math.cos(phi);\n var nl = Object(_common_gN__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(this.a, this.e, sinphi);\n var tl = Math.tan(phi) * Math.tan(phi);\n var al = lam * Math.cos(phi);\n var asq = al * al;\n var cl = this.es * cosphi * cosphi / (1 - this.es);\n var ml = this.a * Object(_common_mlfn__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.e0, this.e1, this.e2, this.e3, phi);\n\n x = nl * al * (1 - asq * tl * (1 / 6 - (8 - tl + 8 * cl) * asq / 120));\n y = ml - this.ml0 + nl * sinphi / cosphi * asq * (0.5 + (5 - tl + 6 * cl) * asq / 24);\n\n\n }\n\n p.x = x + this.x0;\n p.y = y + this.y0;\n return p;\n}\n\n/* Inverse equations\n -----------------*/\nfunction inverse(p) {\n p.x -= this.x0;\n p.y -= this.y0;\n var x = p.x / this.a;\n var y = p.y / this.a;\n var phi, lam;\n\n if (this.sphere) {\n var dd = y + this.lat0;\n phi = Math.asin(Math.sin(dd) * Math.cos(x));\n lam = Math.atan2(Math.tan(x), Math.cos(dd));\n }\n else {\n /* ellipsoid */\n var ml1 = this.ml0 / this.a + y;\n var phi1 = Object(_common_imlfn__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(ml1, this.e0, this.e1, this.e2, this.e3);\n if (Math.abs(Math.abs(phi1) - _constants_values__WEBPACK_IMPORTED_MODULE_9__[\"HALF_PI\"]) <= _constants_values__WEBPACK_IMPORTED_MODULE_9__[\"EPSLN\"]) {\n p.x = this.long0;\n p.y = _constants_values__WEBPACK_IMPORTED_MODULE_9__[\"HALF_PI\"];\n if (y < 0) {\n p.y *= -1;\n }\n return p;\n }\n var nl1 = Object(_common_gN__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(this.a, this.e, Math.sin(phi1));\n\n var rl1 = nl1 * nl1 * nl1 / this.a / this.a * (1 - this.es);\n var tl1 = Math.pow(Math.tan(phi1), 2);\n var dl = x * this.a / nl1;\n var dsq = dl * dl;\n phi = phi1 - nl1 * Math.tan(phi1) / rl1 * dl * dl * (0.5 - (1 + 3 * tl1) * dl * dl / 24);\n lam = dl * (1 - dsq * (tl1 / 3 + (1 + 3 * tl1) * tl1 * dsq / 15)) / Math.cos(phi1);\n\n }\n\n p.x = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(lam + this.long0);\n p.y = Object(_common_adjust_lat__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(phi);\n return p;\n\n}\n\nvar names = [\"Cassini\", \"Cassini_Soldner\", \"cass\"];\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/projections/cass.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/projections/cea.js": -/*!***************************************************!*\ - !*** ./node_modules/proj4/lib/projections/cea.js ***! - \***************************************************/ -/*! exports provided: init, forward, inverse, names, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"init\", function() { return init; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"forward\", function() { return forward; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"inverse\", function() { return inverse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"names\", function() { return names; });\n/* harmony import */ var _common_adjust_lon__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common/adjust_lon */ \"./node_modules/proj4/lib/common/adjust_lon.js\");\n/* harmony import */ var _common_qsfnz__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/qsfnz */ \"./node_modules/proj4/lib/common/qsfnz.js\");\n/* harmony import */ var _common_msfnz__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/msfnz */ \"./node_modules/proj4/lib/common/msfnz.js\");\n/* harmony import */ var _common_iqsfnz__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../common/iqsfnz */ \"./node_modules/proj4/lib/common/iqsfnz.js\");\n\n\n\n\n\n/*\n reference:\n \"Cartographic Projection Procedures for the UNIX Environment-\n A User's Manual\" by Gerald I. Evenden,\n USGS Open File Report 90-284and Release 4 Interim Reports (2003)\n*/\nfunction init() {\n //no-op\n if (!this.sphere) {\n this.k0 = Object(_common_msfnz__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(this.e, Math.sin(this.lat_ts), Math.cos(this.lat_ts));\n }\n}\n\n/* Cylindrical Equal Area forward equations--mapping lat,long to x,y\n ------------------------------------------------------------*/\nfunction forward(p) {\n var lon = p.x;\n var lat = p.y;\n var x, y;\n /* Forward equations\n -----------------*/\n var dlon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(lon - this.long0);\n if (this.sphere) {\n x = this.x0 + this.a * dlon * Math.cos(this.lat_ts);\n y = this.y0 + this.a * Math.sin(lat) / Math.cos(this.lat_ts);\n }\n else {\n var qs = Object(_common_qsfnz__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this.e, Math.sin(lat));\n x = this.x0 + this.a * this.k0 * dlon;\n y = this.y0 + this.a * qs * 0.5 / this.k0;\n }\n\n p.x = x;\n p.y = y;\n return p;\n}\n\n/* Cylindrical Equal Area inverse equations--mapping x,y to lat/long\n ------------------------------------------------------------*/\nfunction inverse(p) {\n p.x -= this.x0;\n p.y -= this.y0;\n var lon, lat;\n\n if (this.sphere) {\n lon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.long0 + (p.x / this.a) / Math.cos(this.lat_ts));\n lat = Math.asin((p.y / this.a) * Math.cos(this.lat_ts));\n }\n else {\n lat = Object(_common_iqsfnz__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(this.e, 2 * p.y * this.k0 / this.a);\n lon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.long0 + p.x / (this.a * this.k0));\n }\n\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nvar names = [\"cea\"];\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/projections/cea.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/projections/eqc.js": -/*!***************************************************!*\ - !*** ./node_modules/proj4/lib/projections/eqc.js ***! - \***************************************************/ -/*! exports provided: init, forward, inverse, names, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"init\", function() { return init; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"forward\", function() { return forward; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"inverse\", function() { return inverse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"names\", function() { return names; });\n/* harmony import */ var _common_adjust_lon__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common/adjust_lon */ \"./node_modules/proj4/lib/common/adjust_lon.js\");\n/* harmony import */ var _common_adjust_lat__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/adjust_lat */ \"./node_modules/proj4/lib/common/adjust_lat.js\");\n\n\n\nfunction init() {\n\n this.x0 = this.x0 || 0;\n this.y0 = this.y0 || 0;\n this.lat0 = this.lat0 || 0;\n this.long0 = this.long0 || 0;\n this.lat_ts = this.lat_ts || 0;\n this.title = this.title || \"Equidistant Cylindrical (Plate Carre)\";\n\n this.rc = Math.cos(this.lat_ts);\n}\n\n// forward equations--mapping lat,long to x,y\n// -----------------------------------------------------------------\nfunction forward(p) {\n\n var lon = p.x;\n var lat = p.y;\n\n var dlon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(lon - this.long0);\n var dlat = Object(_common_adjust_lat__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(lat - this.lat0);\n p.x = this.x0 + (this.a * dlon * this.rc);\n p.y = this.y0 + (this.a * dlat);\n return p;\n}\n\n// inverse equations--mapping x,y to lat/long\n// -----------------------------------------------------------------\nfunction inverse(p) {\n\n var x = p.x;\n var y = p.y;\n\n p.x = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.long0 + ((x - this.x0) / (this.a * this.rc)));\n p.y = Object(_common_adjust_lat__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this.lat0 + ((y - this.y0) / (this.a)));\n return p;\n}\n\nvar names = [\"Equirectangular\", \"Equidistant_Cylindrical\", \"eqc\"];\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/projections/eqc.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/projections/eqdc.js": -/*!****************************************************!*\ - !*** ./node_modules/proj4/lib/projections/eqdc.js ***! - \****************************************************/ -/*! exports provided: init, forward, inverse, names, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"init\", function() { return init; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"forward\", function() { return forward; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"inverse\", function() { return inverse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"names\", function() { return names; });\n/* harmony import */ var _common_e0fn__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common/e0fn */ \"./node_modules/proj4/lib/common/e0fn.js\");\n/* harmony import */ var _common_e1fn__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/e1fn */ \"./node_modules/proj4/lib/common/e1fn.js\");\n/* harmony import */ var _common_e2fn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/e2fn */ \"./node_modules/proj4/lib/common/e2fn.js\");\n/* harmony import */ var _common_e3fn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../common/e3fn */ \"./node_modules/proj4/lib/common/e3fn.js\");\n/* harmony import */ var _common_msfnz__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../common/msfnz */ \"./node_modules/proj4/lib/common/msfnz.js\");\n/* harmony import */ var _common_mlfn__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../common/mlfn */ \"./node_modules/proj4/lib/common/mlfn.js\");\n/* harmony import */ var _common_adjust_lon__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../common/adjust_lon */ \"./node_modules/proj4/lib/common/adjust_lon.js\");\n/* harmony import */ var _common_adjust_lat__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../common/adjust_lat */ \"./node_modules/proj4/lib/common/adjust_lat.js\");\n/* harmony import */ var _common_imlfn__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../common/imlfn */ \"./node_modules/proj4/lib/common/imlfn.js\");\n/* harmony import */ var _constants_values__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../constants/values */ \"./node_modules/proj4/lib/constants/values.js\");\n\n\n\n\n\n\n\n\n\n\n\nfunction init() {\n\n /* Place parameters in static storage for common use\n -------------------------------------------------*/\n // Standard Parallels cannot be equal and on opposite sides of the equator\n if (Math.abs(this.lat1 + this.lat2) < _constants_values__WEBPACK_IMPORTED_MODULE_9__[\"EPSLN\"]) {\n return;\n }\n this.lat2 = this.lat2 || this.lat1;\n this.temp = this.b / this.a;\n this.es = 1 - Math.pow(this.temp, 2);\n this.e = Math.sqrt(this.es);\n this.e0 = Object(_common_e0fn__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.es);\n this.e1 = Object(_common_e1fn__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this.es);\n this.e2 = Object(_common_e2fn__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(this.es);\n this.e3 = Object(_common_e3fn__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(this.es);\n\n this.sinphi = Math.sin(this.lat1);\n this.cosphi = Math.cos(this.lat1);\n\n this.ms1 = Object(_common_msfnz__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(this.e, this.sinphi, this.cosphi);\n this.ml1 = Object(_common_mlfn__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(this.e0, this.e1, this.e2, this.e3, this.lat1);\n\n if (Math.abs(this.lat1 - this.lat2) < _constants_values__WEBPACK_IMPORTED_MODULE_9__[\"EPSLN\"]) {\n this.ns = this.sinphi;\n }\n else {\n this.sinphi = Math.sin(this.lat2);\n this.cosphi = Math.cos(this.lat2);\n this.ms2 = Object(_common_msfnz__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(this.e, this.sinphi, this.cosphi);\n this.ml2 = Object(_common_mlfn__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(this.e0, this.e1, this.e2, this.e3, this.lat2);\n this.ns = (this.ms1 - this.ms2) / (this.ml2 - this.ml1);\n }\n this.g = this.ml1 + this.ms1 / this.ns;\n this.ml0 = Object(_common_mlfn__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(this.e0, this.e1, this.e2, this.e3, this.lat0);\n this.rh = this.a * (this.g - this.ml0);\n}\n\n/* Equidistant Conic forward equations--mapping lat,long to x,y\n -----------------------------------------------------------*/\nfunction forward(p) {\n var lon = p.x;\n var lat = p.y;\n var rh1;\n\n /* Forward equations\n -----------------*/\n if (this.sphere) {\n rh1 = this.a * (this.g - lat);\n }\n else {\n var ml = Object(_common_mlfn__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(this.e0, this.e1, this.e2, this.e3, lat);\n rh1 = this.a * (this.g - ml);\n }\n var theta = this.ns * Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(lon - this.long0);\n var x = this.x0 + rh1 * Math.sin(theta);\n var y = this.y0 + this.rh - rh1 * Math.cos(theta);\n p.x = x;\n p.y = y;\n return p;\n}\n\n/* Inverse equations\n -----------------*/\nfunction inverse(p) {\n p.x -= this.x0;\n p.y = this.rh - p.y + this.y0;\n var con, rh1, lat, lon;\n if (this.ns >= 0) {\n rh1 = Math.sqrt(p.x * p.x + p.y * p.y);\n con = 1;\n }\n else {\n rh1 = -Math.sqrt(p.x * p.x + p.y * p.y);\n con = -1;\n }\n var theta = 0;\n if (rh1 !== 0) {\n theta = Math.atan2(con * p.x, con * p.y);\n }\n\n if (this.sphere) {\n lon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(this.long0 + theta / this.ns);\n lat = Object(_common_adjust_lat__WEBPACK_IMPORTED_MODULE_7__[\"default\"])(this.g - rh1 / this.a);\n p.x = lon;\n p.y = lat;\n return p;\n }\n else {\n var ml = this.g - rh1 / this.a;\n lat = Object(_common_imlfn__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(ml, this.e0, this.e1, this.e2, this.e3);\n lon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(this.long0 + theta / this.ns);\n p.x = lon;\n p.y = lat;\n return p;\n }\n\n}\n\nvar names = [\"Equidistant_Conic\", \"eqdc\"];\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/projections/eqdc.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/projections/etmerc.js": -/*!******************************************************!*\ - !*** ./node_modules/proj4/lib/projections/etmerc.js ***! - \******************************************************/ -/*! exports provided: init, forward, inverse, names, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"init\", function() { return init; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"forward\", function() { return forward; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"inverse\", function() { return inverse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"names\", function() { return names; });\n/* harmony import */ var _common_sinh__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common/sinh */ \"./node_modules/proj4/lib/common/sinh.js\");\n/* harmony import */ var _common_hypot__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/hypot */ \"./node_modules/proj4/lib/common/hypot.js\");\n/* harmony import */ var _common_asinhy__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/asinhy */ \"./node_modules/proj4/lib/common/asinhy.js\");\n/* harmony import */ var _common_gatg__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../common/gatg */ \"./node_modules/proj4/lib/common/gatg.js\");\n/* harmony import */ var _common_clens__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../common/clens */ \"./node_modules/proj4/lib/common/clens.js\");\n/* harmony import */ var _common_clens_cmplx__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../common/clens_cmplx */ \"./node_modules/proj4/lib/common/clens_cmplx.js\");\n/* harmony import */ var _common_adjust_lon__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../common/adjust_lon */ \"./node_modules/proj4/lib/common/adjust_lon.js\");\n// Heavily based on this etmerc projection implementation\n// https://github.com/mbloch/mapshaper-proj/blob/master/src/projections/etmerc.js\n\n\n\n\n\n\n\n\n\nfunction init() {\n if (this.es === undefined || this.es <= 0) {\n throw new Error('incorrect elliptical usage');\n }\n\n this.x0 = this.x0 !== undefined ? this.x0 : 0;\n this.y0 = this.y0 !== undefined ? this.y0 : 0;\n this.long0 = this.long0 !== undefined ? this.long0 : 0;\n this.lat0 = this.lat0 !== undefined ? this.lat0 : 0;\n\n this.cgb = [];\n this.cbg = [];\n this.utg = [];\n this.gtu = [];\n\n var f = this.es / (1 + Math.sqrt(1 - this.es));\n var n = f / (2 - f);\n var np = n;\n\n this.cgb[0] = n * (2 + n * (-2 / 3 + n * (-2 + n * (116 / 45 + n * (26 / 45 + n * (-2854 / 675 ))))));\n this.cbg[0] = n * (-2 + n * ( 2 / 3 + n * ( 4 / 3 + n * (-82 / 45 + n * (32 / 45 + n * (4642 / 4725))))));\n\n np = np * n;\n this.cgb[1] = np * (7 / 3 + n * (-8 / 5 + n * (-227 / 45 + n * (2704 / 315 + n * (2323 / 945)))));\n this.cbg[1] = np * (5 / 3 + n * (-16 / 15 + n * ( -13 / 9 + n * (904 / 315 + n * (-1522 / 945)))));\n\n np = np * n;\n this.cgb[2] = np * (56 / 15 + n * (-136 / 35 + n * (-1262 / 105 + n * (73814 / 2835))));\n this.cbg[2] = np * (-26 / 15 + n * (34 / 21 + n * (8 / 5 + n * (-12686 / 2835))));\n\n np = np * n;\n this.cgb[3] = np * (4279 / 630 + n * (-332 / 35 + n * (-399572 / 14175)));\n this.cbg[3] = np * (1237 / 630 + n * (-12 / 5 + n * ( -24832 / 14175)));\n\n np = np * n;\n this.cgb[4] = np * (4174 / 315 + n * (-144838 / 6237));\n this.cbg[4] = np * (-734 / 315 + n * (109598 / 31185));\n\n np = np * n;\n this.cgb[5] = np * (601676 / 22275);\n this.cbg[5] = np * (444337 / 155925);\n\n np = Math.pow(n, 2);\n this.Qn = this.k0 / (1 + n) * (1 + np * (1 / 4 + np * (1 / 64 + np / 256)));\n\n this.utg[0] = n * (-0.5 + n * ( 2 / 3 + n * (-37 / 96 + n * ( 1 / 360 + n * (81 / 512 + n * (-96199 / 604800))))));\n this.gtu[0] = n * (0.5 + n * (-2 / 3 + n * (5 / 16 + n * (41 / 180 + n * (-127 / 288 + n * (7891 / 37800))))));\n\n this.utg[1] = np * (-1 / 48 + n * (-1 / 15 + n * (437 / 1440 + n * (-46 / 105 + n * (1118711 / 3870720)))));\n this.gtu[1] = np * (13 / 48 + n * (-3 / 5 + n * (557 / 1440 + n * (281 / 630 + n * (-1983433 / 1935360)))));\n\n np = np * n;\n this.utg[2] = np * (-17 / 480 + n * (37 / 840 + n * (209 / 4480 + n * (-5569 / 90720 ))));\n this.gtu[2] = np * (61 / 240 + n * (-103 / 140 + n * (15061 / 26880 + n * (167603 / 181440))));\n\n np = np * n;\n this.utg[3] = np * (-4397 / 161280 + n * (11 / 504 + n * (830251 / 7257600)));\n this.gtu[3] = np * (49561 / 161280 + n * (-179 / 168 + n * (6601661 / 7257600)));\n\n np = np * n;\n this.utg[4] = np * (-4583 / 161280 + n * (108847 / 3991680));\n this.gtu[4] = np * (34729 / 80640 + n * (-3418889 / 1995840));\n\n np = np * n;\n this.utg[5] = np * (-20648693 / 638668800);\n this.gtu[5] = np * (212378941 / 319334400);\n\n var Z = Object(_common_gatg__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(this.cbg, this.lat0);\n this.Zb = -this.Qn * (Z + Object(_common_clens__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(this.gtu, 2 * Z));\n}\n\nfunction forward(p) {\n var Ce = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(p.x - this.long0);\n var Cn = p.y;\n\n Cn = Object(_common_gatg__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(this.cbg, Cn);\n var sin_Cn = Math.sin(Cn);\n var cos_Cn = Math.cos(Cn);\n var sin_Ce = Math.sin(Ce);\n var cos_Ce = Math.cos(Ce);\n\n Cn = Math.atan2(sin_Cn, cos_Ce * cos_Cn);\n Ce = Math.atan2(sin_Ce * cos_Cn, Object(_common_hypot__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(sin_Cn, cos_Cn * cos_Ce));\n Ce = Object(_common_asinhy__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(Math.tan(Ce));\n\n var tmp = Object(_common_clens_cmplx__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(this.gtu, 2 * Cn, 2 * Ce);\n\n Cn = Cn + tmp[0];\n Ce = Ce + tmp[1];\n\n var x;\n var y;\n\n if (Math.abs(Ce) <= 2.623395162778) {\n x = this.a * (this.Qn * Ce) + this.x0;\n y = this.a * (this.Qn * Cn + this.Zb) + this.y0;\n }\n else {\n x = Infinity;\n y = Infinity;\n }\n\n p.x = x;\n p.y = y;\n\n return p;\n}\n\nfunction inverse(p) {\n var Ce = (p.x - this.x0) * (1 / this.a);\n var Cn = (p.y - this.y0) * (1 / this.a);\n\n Cn = (Cn - this.Zb) / this.Qn;\n Ce = Ce / this.Qn;\n\n var lon;\n var lat;\n\n if (Math.abs(Ce) <= 2.623395162778) {\n var tmp = Object(_common_clens_cmplx__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(this.utg, 2 * Cn, 2 * Ce);\n\n Cn = Cn + tmp[0];\n Ce = Ce + tmp[1];\n Ce = Math.atan(Object(_common_sinh__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Ce));\n\n var sin_Cn = Math.sin(Cn);\n var cos_Cn = Math.cos(Cn);\n var sin_Ce = Math.sin(Ce);\n var cos_Ce = Math.cos(Ce);\n\n Cn = Math.atan2(sin_Cn * cos_Ce, Object(_common_hypot__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(sin_Ce, cos_Ce * cos_Cn));\n Ce = Math.atan2(sin_Ce, cos_Ce * cos_Cn);\n\n lon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(Ce + this.long0);\n lat = Object(_common_gatg__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(this.cgb, Cn);\n }\n else {\n lon = Infinity;\n lat = Infinity;\n }\n\n p.x = lon;\n p.y = lat;\n\n return p;\n}\n\nvar names = [\"Extended_Transverse_Mercator\", \"Extended Transverse Mercator\", \"etmerc\"];\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/projections/etmerc.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/projections/gauss.js": -/*!*****************************************************!*\ - !*** ./node_modules/proj4/lib/projections/gauss.js ***! - \*****************************************************/ -/*! exports provided: init, forward, inverse, names, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"init\", function() { return init; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"forward\", function() { return forward; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"inverse\", function() { return inverse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"names\", function() { return names; });\n/* harmony import */ var _common_srat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common/srat */ \"./node_modules/proj4/lib/common/srat.js\");\n/* harmony import */ var _constants_values__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants/values */ \"./node_modules/proj4/lib/constants/values.js\");\n\nvar MAX_ITER = 20;\n\n\nfunction init() {\n var sphi = Math.sin(this.lat0);\n var cphi = Math.cos(this.lat0);\n cphi *= cphi;\n this.rc = Math.sqrt(1 - this.es) / (1 - this.es * sphi * sphi);\n this.C = Math.sqrt(1 + this.es * cphi * cphi / (1 - this.es));\n this.phic0 = Math.asin(sphi / this.C);\n this.ratexp = 0.5 * this.C * this.e;\n this.K = Math.tan(0.5 * this.phic0 + _constants_values__WEBPACK_IMPORTED_MODULE_1__[\"FORTPI\"]) / (Math.pow(Math.tan(0.5 * this.lat0 + _constants_values__WEBPACK_IMPORTED_MODULE_1__[\"FORTPI\"]), this.C) * Object(_common_srat__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.e * sphi, this.ratexp));\n}\n\nfunction forward(p) {\n var lon = p.x;\n var lat = p.y;\n\n p.y = 2 * Math.atan(this.K * Math.pow(Math.tan(0.5 * lat + _constants_values__WEBPACK_IMPORTED_MODULE_1__[\"FORTPI\"]), this.C) * Object(_common_srat__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.e * Math.sin(lat), this.ratexp)) - _constants_values__WEBPACK_IMPORTED_MODULE_1__[\"HALF_PI\"];\n p.x = this.C * lon;\n return p;\n}\n\nfunction inverse(p) {\n var DEL_TOL = 1e-14;\n var lon = p.x / this.C;\n var lat = p.y;\n var num = Math.pow(Math.tan(0.5 * lat + _constants_values__WEBPACK_IMPORTED_MODULE_1__[\"FORTPI\"]) / this.K, 1 / this.C);\n for (var i = MAX_ITER; i > 0; --i) {\n lat = 2 * Math.atan(num * Object(_common_srat__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.e * Math.sin(p.y), - 0.5 * this.e)) - _constants_values__WEBPACK_IMPORTED_MODULE_1__[\"HALF_PI\"];\n if (Math.abs(lat - p.y) < DEL_TOL) {\n break;\n }\n p.y = lat;\n }\n /* convergence failed */\n if (!i) {\n return null;\n }\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nvar names = [\"gauss\"];\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/projections/gauss.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/projections/gnom.js": -/*!****************************************************!*\ - !*** ./node_modules/proj4/lib/projections/gnom.js ***! - \****************************************************/ -/*! exports provided: init, forward, inverse, names, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"init\", function() { return init; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"forward\", function() { return forward; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"inverse\", function() { return inverse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"names\", function() { return names; });\n/* harmony import */ var _common_adjust_lon__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common/adjust_lon */ \"./node_modules/proj4/lib/common/adjust_lon.js\");\n/* harmony import */ var _common_asinz__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/asinz */ \"./node_modules/proj4/lib/common/asinz.js\");\n/* harmony import */ var _constants_values__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../constants/values */ \"./node_modules/proj4/lib/constants/values.js\");\n\n\n\n\n/*\n reference:\n Wolfram Mathworld \"Gnomonic Projection\"\n http://mathworld.wolfram.com/GnomonicProjection.html\n Accessed: 12th November 2009\n */\nfunction init() {\n\n /* Place parameters in static storage for common use\n -------------------------------------------------*/\n this.sin_p14 = Math.sin(this.lat0);\n this.cos_p14 = Math.cos(this.lat0);\n // Approximation for projecting points to the horizon (infinity)\n this.infinity_dist = 1000 * this.a;\n this.rc = 1;\n}\n\n/* Gnomonic forward equations--mapping lat,long to x,y\n ---------------------------------------------------*/\nfunction forward(p) {\n var sinphi, cosphi; /* sin and cos value */\n var dlon; /* delta longitude value */\n var coslon; /* cos of longitude */\n var ksp; /* scale factor */\n var g;\n var x, y;\n var lon = p.x;\n var lat = p.y;\n /* Forward equations\n -----------------*/\n dlon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(lon - this.long0);\n\n sinphi = Math.sin(lat);\n cosphi = Math.cos(lat);\n\n coslon = Math.cos(dlon);\n g = this.sin_p14 * sinphi + this.cos_p14 * cosphi * coslon;\n ksp = 1;\n if ((g > 0) || (Math.abs(g) <= _constants_values__WEBPACK_IMPORTED_MODULE_2__[\"EPSLN\"])) {\n x = this.x0 + this.a * ksp * cosphi * Math.sin(dlon) / g;\n y = this.y0 + this.a * ksp * (this.cos_p14 * sinphi - this.sin_p14 * cosphi * coslon) / g;\n }\n else {\n\n // Point is in the opposing hemisphere and is unprojectable\n // We still need to return a reasonable point, so we project\n // to infinity, on a bearing\n // equivalent to the northern hemisphere equivalent\n // This is a reasonable approximation for short shapes and lines that\n // straddle the horizon.\n\n x = this.x0 + this.infinity_dist * cosphi * Math.sin(dlon);\n y = this.y0 + this.infinity_dist * (this.cos_p14 * sinphi - this.sin_p14 * cosphi * coslon);\n\n }\n p.x = x;\n p.y = y;\n return p;\n}\n\nfunction inverse(p) {\n var rh; /* Rho */\n var sinc, cosc;\n var c;\n var lon, lat;\n\n /* Inverse equations\n -----------------*/\n p.x = (p.x - this.x0) / this.a;\n p.y = (p.y - this.y0) / this.a;\n\n p.x /= this.k0;\n p.y /= this.k0;\n\n if ((rh = Math.sqrt(p.x * p.x + p.y * p.y))) {\n c = Math.atan2(rh, this.rc);\n sinc = Math.sin(c);\n cosc = Math.cos(c);\n\n lat = Object(_common_asinz__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(cosc * this.sin_p14 + (p.y * sinc * this.cos_p14) / rh);\n lon = Math.atan2(p.x * sinc, rh * this.cos_p14 * cosc - p.y * this.sin_p14 * sinc);\n lon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.long0 + lon);\n }\n else {\n lat = this.phic0;\n lon = 0;\n }\n\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nvar names = [\"gnom\"];\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/projections/gnom.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/projections/krovak.js": -/*!******************************************************!*\ - !*** ./node_modules/proj4/lib/projections/krovak.js ***! - \******************************************************/ -/*! exports provided: init, forward, inverse, names, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"init\", function() { return init; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"forward\", function() { return forward; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"inverse\", function() { return inverse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"names\", function() { return names; });\n/* harmony import */ var _common_adjust_lon__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common/adjust_lon */ \"./node_modules/proj4/lib/common/adjust_lon.js\");\n\n\nfunction init() {\n this.a = 6377397.155;\n this.es = 0.006674372230614;\n this.e = Math.sqrt(this.es);\n if (!this.lat0) {\n this.lat0 = 0.863937979737193;\n }\n if (!this.long0) {\n this.long0 = 0.7417649320975901 - 0.308341501185665;\n }\n /* if scale not set default to 0.9999 */\n if (!this.k0) {\n this.k0 = 0.9999;\n }\n this.s45 = 0.785398163397448; /* 45 */\n this.s90 = 2 * this.s45;\n this.fi0 = this.lat0;\n this.e2 = this.es;\n this.e = Math.sqrt(this.e2);\n this.alfa = Math.sqrt(1 + (this.e2 * Math.pow(Math.cos(this.fi0), 4)) / (1 - this.e2));\n this.uq = 1.04216856380474;\n this.u0 = Math.asin(Math.sin(this.fi0) / this.alfa);\n this.g = Math.pow((1 + this.e * Math.sin(this.fi0)) / (1 - this.e * Math.sin(this.fi0)), this.alfa * this.e / 2);\n this.k = Math.tan(this.u0 / 2 + this.s45) / Math.pow(Math.tan(this.fi0 / 2 + this.s45), this.alfa) * this.g;\n this.k1 = this.k0;\n this.n0 = this.a * Math.sqrt(1 - this.e2) / (1 - this.e2 * Math.pow(Math.sin(this.fi0), 2));\n this.s0 = 1.37008346281555;\n this.n = Math.sin(this.s0);\n this.ro0 = this.k1 * this.n0 / Math.tan(this.s0);\n this.ad = this.s90 - this.uq;\n}\n\n/* ellipsoid */\n/* calculate xy from lat/lon */\n/* Constants, identical to inverse transform function */\nfunction forward(p) {\n var gfi, u, deltav, s, d, eps, ro;\n var lon = p.x;\n var lat = p.y;\n var delta_lon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(lon - this.long0);\n /* Transformation */\n gfi = Math.pow(((1 + this.e * Math.sin(lat)) / (1 - this.e * Math.sin(lat))), (this.alfa * this.e / 2));\n u = 2 * (Math.atan(this.k * Math.pow(Math.tan(lat / 2 + this.s45), this.alfa) / gfi) - this.s45);\n deltav = -delta_lon * this.alfa;\n s = Math.asin(Math.cos(this.ad) * Math.sin(u) + Math.sin(this.ad) * Math.cos(u) * Math.cos(deltav));\n d = Math.asin(Math.cos(u) * Math.sin(deltav) / Math.cos(s));\n eps = this.n * d;\n ro = this.ro0 * Math.pow(Math.tan(this.s0 / 2 + this.s45), this.n) / Math.pow(Math.tan(s / 2 + this.s45), this.n);\n p.y = ro * Math.cos(eps) / 1;\n p.x = ro * Math.sin(eps) / 1;\n\n if (!this.czech) {\n p.y *= -1;\n p.x *= -1;\n }\n return (p);\n}\n\n/* calculate lat/lon from xy */\nfunction inverse(p) {\n var u, deltav, s, d, eps, ro, fi1;\n var ok;\n\n /* Transformation */\n /* revert y, x*/\n var tmp = p.x;\n p.x = p.y;\n p.y = tmp;\n if (!this.czech) {\n p.y *= -1;\n p.x *= -1;\n }\n ro = Math.sqrt(p.x * p.x + p.y * p.y);\n eps = Math.atan2(p.y, p.x);\n d = eps / Math.sin(this.s0);\n s = 2 * (Math.atan(Math.pow(this.ro0 / ro, 1 / this.n) * Math.tan(this.s0 / 2 + this.s45)) - this.s45);\n u = Math.asin(Math.cos(this.ad) * Math.sin(s) - Math.sin(this.ad) * Math.cos(s) * Math.cos(d));\n deltav = Math.asin(Math.cos(s) * Math.sin(d) / Math.cos(u));\n p.x = this.long0 - deltav / this.alfa;\n fi1 = u;\n ok = 0;\n var iter = 0;\n do {\n p.y = 2 * (Math.atan(Math.pow(this.k, - 1 / this.alfa) * Math.pow(Math.tan(u / 2 + this.s45), 1 / this.alfa) * Math.pow((1 + this.e * Math.sin(fi1)) / (1 - this.e * Math.sin(fi1)), this.e / 2)) - this.s45);\n if (Math.abs(fi1 - p.y) < 0.0000000001) {\n ok = 1;\n }\n fi1 = p.y;\n iter += 1;\n } while (ok === 0 && iter < 15);\n if (iter >= 15) {\n return null;\n }\n\n return (p);\n}\n\nvar names = [\"Krovak\", \"krovak\"];\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/projections/krovak.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/projections/laea.js": -/*!****************************************************!*\ - !*** ./node_modules/proj4/lib/projections/laea.js ***! - \****************************************************/ -/*! exports provided: S_POLE, N_POLE, EQUIT, OBLIQ, init, forward, inverse, names, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"S_POLE\", function() { return S_POLE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"N_POLE\", function() { return N_POLE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EQUIT\", function() { return EQUIT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"OBLIQ\", function() { return OBLIQ; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"init\", function() { return init; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"forward\", function() { return forward; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"inverse\", function() { return inverse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"names\", function() { return names; });\n/* harmony import */ var _constants_values__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants/values */ \"./node_modules/proj4/lib/constants/values.js\");\n/* harmony import */ var _common_qsfnz__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/qsfnz */ \"./node_modules/proj4/lib/common/qsfnz.js\");\n/* harmony import */ var _common_adjust_lon__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/adjust_lon */ \"./node_modules/proj4/lib/common/adjust_lon.js\");\n\n\n\n\n\n\n/*\n reference\n \"New Equal-Area Map Projections for Noncircular Regions\", John P. Snyder,\n The American Cartographer, Vol 15, No. 4, October 1988, pp. 341-355.\n */\n\nvar S_POLE = 1;\n\nvar N_POLE = 2;\nvar EQUIT = 3;\nvar OBLIQ = 4;\n\n/* Initialize the Lambert Azimuthal Equal Area projection\n ------------------------------------------------------*/\nfunction init() {\n var t = Math.abs(this.lat0);\n if (Math.abs(t - _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"HALF_PI\"]) < _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"EPSLN\"]) {\n this.mode = this.lat0 < 0 ? this.S_POLE : this.N_POLE;\n }\n else if (Math.abs(t) < _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"EPSLN\"]) {\n this.mode = this.EQUIT;\n }\n else {\n this.mode = this.OBLIQ;\n }\n if (this.es > 0) {\n var sinphi;\n\n this.qp = Object(_common_qsfnz__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this.e, 1);\n this.mmf = 0.5 / (1 - this.es);\n this.apa = authset(this.es);\n switch (this.mode) {\n case this.N_POLE:\n this.dd = 1;\n break;\n case this.S_POLE:\n this.dd = 1;\n break;\n case this.EQUIT:\n this.rq = Math.sqrt(0.5 * this.qp);\n this.dd = 1 / this.rq;\n this.xmf = 1;\n this.ymf = 0.5 * this.qp;\n break;\n case this.OBLIQ:\n this.rq = Math.sqrt(0.5 * this.qp);\n sinphi = Math.sin(this.lat0);\n this.sinb1 = Object(_common_qsfnz__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this.e, sinphi) / this.qp;\n this.cosb1 = Math.sqrt(1 - this.sinb1 * this.sinb1);\n this.dd = Math.cos(this.lat0) / (Math.sqrt(1 - this.es * sinphi * sinphi) * this.rq * this.cosb1);\n this.ymf = (this.xmf = this.rq) / this.dd;\n this.xmf *= this.dd;\n break;\n }\n }\n else {\n if (this.mode === this.OBLIQ) {\n this.sinph0 = Math.sin(this.lat0);\n this.cosph0 = Math.cos(this.lat0);\n }\n }\n}\n\n/* Lambert Azimuthal Equal Area forward equations--mapping lat,long to x,y\n -----------------------------------------------------------------------*/\nfunction forward(p) {\n\n /* Forward equations\n -----------------*/\n var x, y, coslam, sinlam, sinphi, q, sinb, cosb, b, cosphi;\n var lam = p.x;\n var phi = p.y;\n\n lam = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(lam - this.long0);\n if (this.sphere) {\n sinphi = Math.sin(phi);\n cosphi = Math.cos(phi);\n coslam = Math.cos(lam);\n if (this.mode === this.OBLIQ || this.mode === this.EQUIT) {\n y = (this.mode === this.EQUIT) ? 1 + cosphi * coslam : 1 + this.sinph0 * sinphi + this.cosph0 * cosphi * coslam;\n if (y <= _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"EPSLN\"]) {\n return null;\n }\n y = Math.sqrt(2 / y);\n x = y * cosphi * Math.sin(lam);\n y *= (this.mode === this.EQUIT) ? sinphi : this.cosph0 * sinphi - this.sinph0 * cosphi * coslam;\n }\n else if (this.mode === this.N_POLE || this.mode === this.S_POLE) {\n if (this.mode === this.N_POLE) {\n coslam = -coslam;\n }\n if (Math.abs(phi + this.phi0) < _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"EPSLN\"]) {\n return null;\n }\n y = _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"FORTPI\"] - phi * 0.5;\n y = 2 * ((this.mode === this.S_POLE) ? Math.cos(y) : Math.sin(y));\n x = y * Math.sin(lam);\n y *= coslam;\n }\n }\n else {\n sinb = 0;\n cosb = 0;\n b = 0;\n coslam = Math.cos(lam);\n sinlam = Math.sin(lam);\n sinphi = Math.sin(phi);\n q = Object(_common_qsfnz__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this.e, sinphi);\n if (this.mode === this.OBLIQ || this.mode === this.EQUIT) {\n sinb = q / this.qp;\n cosb = Math.sqrt(1 - sinb * sinb);\n }\n switch (this.mode) {\n case this.OBLIQ:\n b = 1 + this.sinb1 * sinb + this.cosb1 * cosb * coslam;\n break;\n case this.EQUIT:\n b = 1 + cosb * coslam;\n break;\n case this.N_POLE:\n b = _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"HALF_PI\"] + phi;\n q = this.qp - q;\n break;\n case this.S_POLE:\n b = phi - _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"HALF_PI\"];\n q = this.qp + q;\n break;\n }\n if (Math.abs(b) < _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"EPSLN\"]) {\n return null;\n }\n switch (this.mode) {\n case this.OBLIQ:\n case this.EQUIT:\n b = Math.sqrt(2 / b);\n if (this.mode === this.OBLIQ) {\n y = this.ymf * b * (this.cosb1 * sinb - this.sinb1 * cosb * coslam);\n }\n else {\n y = (b = Math.sqrt(2 / (1 + cosb * coslam))) * sinb * this.ymf;\n }\n x = this.xmf * b * cosb * sinlam;\n break;\n case this.N_POLE:\n case this.S_POLE:\n if (q >= 0) {\n x = (b = Math.sqrt(q)) * sinlam;\n y = coslam * ((this.mode === this.S_POLE) ? b : -b);\n }\n else {\n x = y = 0;\n }\n break;\n }\n }\n\n p.x = this.a * x + this.x0;\n p.y = this.a * y + this.y0;\n return p;\n}\n\n/* Inverse equations\n -----------------*/\nfunction inverse(p) {\n p.x -= this.x0;\n p.y -= this.y0;\n var x = p.x / this.a;\n var y = p.y / this.a;\n var lam, phi, cCe, sCe, q, rho, ab;\n if (this.sphere) {\n var cosz = 0,\n rh, sinz = 0;\n\n rh = Math.sqrt(x * x + y * y);\n phi = rh * 0.5;\n if (phi > 1) {\n return null;\n }\n phi = 2 * Math.asin(phi);\n if (this.mode === this.OBLIQ || this.mode === this.EQUIT) {\n sinz = Math.sin(phi);\n cosz = Math.cos(phi);\n }\n switch (this.mode) {\n case this.EQUIT:\n phi = (Math.abs(rh) <= _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"EPSLN\"]) ? 0 : Math.asin(y * sinz / rh);\n x *= sinz;\n y = cosz * rh;\n break;\n case this.OBLIQ:\n phi = (Math.abs(rh) <= _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"EPSLN\"]) ? this.phi0 : Math.asin(cosz * this.sinph0 + y * sinz * this.cosph0 / rh);\n x *= sinz * this.cosph0;\n y = (cosz - Math.sin(phi) * this.sinph0) * rh;\n break;\n case this.N_POLE:\n y = -y;\n phi = _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"HALF_PI\"] - phi;\n break;\n case this.S_POLE:\n phi -= _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"HALF_PI\"];\n break;\n }\n lam = (y === 0 && (this.mode === this.EQUIT || this.mode === this.OBLIQ)) ? 0 : Math.atan2(x, y);\n }\n else {\n ab = 0;\n if (this.mode === this.OBLIQ || this.mode === this.EQUIT) {\n x /= this.dd;\n y *= this.dd;\n rho = Math.sqrt(x * x + y * y);\n if (rho < _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"EPSLN\"]) {\n p.x = 0;\n p.y = this.phi0;\n return p;\n }\n sCe = 2 * Math.asin(0.5 * rho / this.rq);\n cCe = Math.cos(sCe);\n x *= (sCe = Math.sin(sCe));\n if (this.mode === this.OBLIQ) {\n ab = cCe * this.sinb1 + y * sCe * this.cosb1 / rho;\n q = this.qp * ab;\n y = rho * this.cosb1 * cCe - y * this.sinb1 * sCe;\n }\n else {\n ab = y * sCe / rho;\n q = this.qp * ab;\n y = rho * cCe;\n }\n }\n else if (this.mode === this.N_POLE || this.mode === this.S_POLE) {\n if (this.mode === this.N_POLE) {\n y = -y;\n }\n q = (x * x + y * y);\n if (!q) {\n p.x = 0;\n p.y = this.phi0;\n return p;\n }\n ab = 1 - q / this.qp;\n if (this.mode === this.S_POLE) {\n ab = -ab;\n }\n }\n lam = Math.atan2(x, y);\n phi = authlat(Math.asin(ab), this.apa);\n }\n\n p.x = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(this.long0 + lam);\n p.y = phi;\n return p;\n}\n\n/* determine latitude from authalic latitude */\nvar P00 = 0.33333333333333333333;\n\nvar P01 = 0.17222222222222222222;\nvar P02 = 0.10257936507936507936;\nvar P10 = 0.06388888888888888888;\nvar P11 = 0.06640211640211640211;\nvar P20 = 0.01641501294219154443;\n\nfunction authset(es) {\n var t;\n var APA = [];\n APA[0] = es * P00;\n t = es * es;\n APA[0] += t * P01;\n APA[1] = t * P10;\n t *= es;\n APA[0] += t * P02;\n APA[1] += t * P11;\n APA[2] = t * P20;\n return APA;\n}\n\nfunction authlat(beta, APA) {\n var t = beta + beta;\n return (beta + APA[0] * Math.sin(t) + APA[1] * Math.sin(t + t) + APA[2] * Math.sin(t + t + t));\n}\n\nvar names = [\"Lambert Azimuthal Equal Area\", \"Lambert_Azimuthal_Equal_Area\", \"laea\"];\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n init: init,\n forward: forward,\n inverse: inverse,\n names: names,\n S_POLE: S_POLE,\n N_POLE: N_POLE,\n EQUIT: EQUIT,\n OBLIQ: OBLIQ\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/projections/laea.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/projections/lcc.js": -/*!***************************************************!*\ - !*** ./node_modules/proj4/lib/projections/lcc.js ***! - \***************************************************/ -/*! exports provided: init, forward, inverse, names, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"init\", function() { return init; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"forward\", function() { return forward; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"inverse\", function() { return inverse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"names\", function() { return names; });\n/* harmony import */ var _common_msfnz__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common/msfnz */ \"./node_modules/proj4/lib/common/msfnz.js\");\n/* harmony import */ var _common_tsfnz__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/tsfnz */ \"./node_modules/proj4/lib/common/tsfnz.js\");\n/* harmony import */ var _common_sign__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/sign */ \"./node_modules/proj4/lib/common/sign.js\");\n/* harmony import */ var _common_adjust_lon__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../common/adjust_lon */ \"./node_modules/proj4/lib/common/adjust_lon.js\");\n/* harmony import */ var _common_phi2z__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../common/phi2z */ \"./node_modules/proj4/lib/common/phi2z.js\");\n/* harmony import */ var _constants_values__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../constants/values */ \"./node_modules/proj4/lib/constants/values.js\");\n\n\n\n\n\n\nfunction init() {\n\n // array of: r_maj,r_min,lat1,lat2,c_lon,c_lat,false_east,false_north\n //double c_lat; /* center latitude */\n //double c_lon; /* center longitude */\n //double lat1; /* first standard parallel */\n //double lat2; /* second standard parallel */\n //double r_maj; /* major axis */\n //double r_min; /* minor axis */\n //double false_east; /* x offset in meters */\n //double false_north; /* y offset in meters */\n\n if (!this.lat2) {\n this.lat2 = this.lat1;\n } //if lat2 is not defined\n if (!this.k0) {\n this.k0 = 1;\n }\n this.x0 = this.x0 || 0;\n this.y0 = this.y0 || 0;\n // Standard Parallels cannot be equal and on opposite sides of the equator\n if (Math.abs(this.lat1 + this.lat2) < _constants_values__WEBPACK_IMPORTED_MODULE_5__[\"EPSLN\"]) {\n return;\n }\n\n var temp = this.b / this.a;\n this.e = Math.sqrt(1 - temp * temp);\n\n var sin1 = Math.sin(this.lat1);\n var cos1 = Math.cos(this.lat1);\n var ms1 = Object(_common_msfnz__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.e, sin1, cos1);\n var ts1 = Object(_common_tsfnz__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this.e, this.lat1, sin1);\n\n var sin2 = Math.sin(this.lat2);\n var cos2 = Math.cos(this.lat2);\n var ms2 = Object(_common_msfnz__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.e, sin2, cos2);\n var ts2 = Object(_common_tsfnz__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this.e, this.lat2, sin2);\n\n var ts0 = Object(_common_tsfnz__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this.e, this.lat0, Math.sin(this.lat0));\n\n if (Math.abs(this.lat1 - this.lat2) > _constants_values__WEBPACK_IMPORTED_MODULE_5__[\"EPSLN\"]) {\n this.ns = Math.log(ms1 / ms2) / Math.log(ts1 / ts2);\n }\n else {\n this.ns = sin1;\n }\n if (isNaN(this.ns)) {\n this.ns = sin1;\n }\n this.f0 = ms1 / (this.ns * Math.pow(ts1, this.ns));\n this.rh = this.a * this.f0 * Math.pow(ts0, this.ns);\n if (!this.title) {\n this.title = \"Lambert Conformal Conic\";\n }\n}\n\n// Lambert Conformal conic forward equations--mapping lat,long to x,y\n// -----------------------------------------------------------------\nfunction forward(p) {\n\n var lon = p.x;\n var lat = p.y;\n\n // singular cases :\n if (Math.abs(2 * Math.abs(lat) - Math.PI) <= _constants_values__WEBPACK_IMPORTED_MODULE_5__[\"EPSLN\"]) {\n lat = Object(_common_sign__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(lat) * (_constants_values__WEBPACK_IMPORTED_MODULE_5__[\"HALF_PI\"] - 2 * _constants_values__WEBPACK_IMPORTED_MODULE_5__[\"EPSLN\"]);\n }\n\n var con = Math.abs(Math.abs(lat) - _constants_values__WEBPACK_IMPORTED_MODULE_5__[\"HALF_PI\"]);\n var ts, rh1;\n if (con > _constants_values__WEBPACK_IMPORTED_MODULE_5__[\"EPSLN\"]) {\n ts = Object(_common_tsfnz__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this.e, lat, Math.sin(lat));\n rh1 = this.a * this.f0 * Math.pow(ts, this.ns);\n }\n else {\n con = lat * this.ns;\n if (con <= 0) {\n return null;\n }\n rh1 = 0;\n }\n var theta = this.ns * Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(lon - this.long0);\n p.x = this.k0 * (rh1 * Math.sin(theta)) + this.x0;\n p.y = this.k0 * (this.rh - rh1 * Math.cos(theta)) + this.y0;\n\n return p;\n}\n\n// Lambert Conformal Conic inverse equations--mapping x,y to lat/long\n// -----------------------------------------------------------------\nfunction inverse(p) {\n\n var rh1, con, ts;\n var lat, lon;\n var x = (p.x - this.x0) / this.k0;\n var y = (this.rh - (p.y - this.y0) / this.k0);\n if (this.ns > 0) {\n rh1 = Math.sqrt(x * x + y * y);\n con = 1;\n }\n else {\n rh1 = -Math.sqrt(x * x + y * y);\n con = -1;\n }\n var theta = 0;\n if (rh1 !== 0) {\n theta = Math.atan2((con * x), (con * y));\n }\n if ((rh1 !== 0) || (this.ns > 0)) {\n con = 1 / this.ns;\n ts = Math.pow((rh1 / (this.a * this.f0)), con);\n lat = Object(_common_phi2z__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(this.e, ts);\n if (lat === -9999) {\n return null;\n }\n }\n else {\n lat = -_constants_values__WEBPACK_IMPORTED_MODULE_5__[\"HALF_PI\"];\n }\n lon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(theta / this.ns + this.long0);\n\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nvar names = [\"Lambert Tangential Conformal Conic Projection\", \"Lambert_Conformal_Conic\", \"Lambert_Conformal_Conic_2SP\", \"lcc\"];\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/projections/lcc.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/projections/longlat.js": -/*!*******************************************************!*\ - !*** ./node_modules/proj4/lib/projections/longlat.js ***! - \*******************************************************/ -/*! exports provided: init, forward, inverse, names, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"init\", function() { return init; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"forward\", function() { return identity; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"inverse\", function() { return identity; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"names\", function() { return names; });\nfunction init() {\n //no-op for longlat\n}\n\nfunction identity(pt) {\n return pt;\n}\n\n\nvar names = [\"longlat\", \"identity\"];\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n init: init,\n forward: identity,\n inverse: identity,\n names: names\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/projections/longlat.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/projections/merc.js": -/*!****************************************************!*\ - !*** ./node_modules/proj4/lib/projections/merc.js ***! - \****************************************************/ -/*! exports provided: init, forward, inverse, names, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"init\", function() { return init; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"forward\", function() { return forward; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"inverse\", function() { return inverse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"names\", function() { return names; });\n/* harmony import */ var _common_msfnz__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common/msfnz */ \"./node_modules/proj4/lib/common/msfnz.js\");\n/* harmony import */ var _common_adjust_lon__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/adjust_lon */ \"./node_modules/proj4/lib/common/adjust_lon.js\");\n/* harmony import */ var _common_tsfnz__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/tsfnz */ \"./node_modules/proj4/lib/common/tsfnz.js\");\n/* harmony import */ var _common_phi2z__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../common/phi2z */ \"./node_modules/proj4/lib/common/phi2z.js\");\n/* harmony import */ var _constants_values__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../constants/values */ \"./node_modules/proj4/lib/constants/values.js\");\n\n\n\n\n\n\nfunction init() {\n var con = this.b / this.a;\n this.es = 1 - con * con;\n if(!('x0' in this)){\n this.x0 = 0;\n }\n if(!('y0' in this)){\n this.y0 = 0;\n }\n this.e = Math.sqrt(this.es);\n if (this.lat_ts) {\n if (this.sphere) {\n this.k0 = Math.cos(this.lat_ts);\n }\n else {\n this.k0 = Object(_common_msfnz__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.e, Math.sin(this.lat_ts), Math.cos(this.lat_ts));\n }\n }\n else {\n if (!this.k0) {\n if (this.k) {\n this.k0 = this.k;\n }\n else {\n this.k0 = 1;\n }\n }\n }\n}\n\n/* Mercator forward equations--mapping lat,long to x,y\n --------------------------------------------------*/\n\nfunction forward(p) {\n var lon = p.x;\n var lat = p.y;\n // convert to radians\n if (lat * _constants_values__WEBPACK_IMPORTED_MODULE_4__[\"R2D\"] > 90 && lat * _constants_values__WEBPACK_IMPORTED_MODULE_4__[\"R2D\"] < -90 && lon * _constants_values__WEBPACK_IMPORTED_MODULE_4__[\"R2D\"] > 180 && lon * _constants_values__WEBPACK_IMPORTED_MODULE_4__[\"R2D\"] < -180) {\n return null;\n }\n\n var x, y;\n if (Math.abs(Math.abs(lat) - _constants_values__WEBPACK_IMPORTED_MODULE_4__[\"HALF_PI\"]) <= _constants_values__WEBPACK_IMPORTED_MODULE_4__[\"EPSLN\"]) {\n return null;\n }\n else {\n if (this.sphere) {\n x = this.x0 + this.a * this.k0 * Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(lon - this.long0);\n y = this.y0 + this.a * this.k0 * Math.log(Math.tan(_constants_values__WEBPACK_IMPORTED_MODULE_4__[\"FORTPI\"] + 0.5 * lat));\n }\n else {\n var sinphi = Math.sin(lat);\n var ts = Object(_common_tsfnz__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(this.e, lat, sinphi);\n x = this.x0 + this.a * this.k0 * Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(lon - this.long0);\n y = this.y0 - this.a * this.k0 * Math.log(ts);\n }\n p.x = x;\n p.y = y;\n return p;\n }\n}\n\n/* Mercator inverse equations--mapping x,y to lat/long\n --------------------------------------------------*/\nfunction inverse(p) {\n\n var x = p.x - this.x0;\n var y = p.y - this.y0;\n var lon, lat;\n\n if (this.sphere) {\n lat = _constants_values__WEBPACK_IMPORTED_MODULE_4__[\"HALF_PI\"] - 2 * Math.atan(Math.exp(-y / (this.a * this.k0)));\n }\n else {\n var ts = Math.exp(-y / (this.a * this.k0));\n lat = Object(_common_phi2z__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(this.e, ts);\n if (lat === -9999) {\n return null;\n }\n }\n lon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this.long0 + x / (this.a * this.k0));\n\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nvar names = [\"Mercator\", \"Popular Visualisation Pseudo Mercator\", \"Mercator_1SP\", \"Mercator_Auxiliary_Sphere\", \"merc\"];\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/projections/merc.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/projections/mill.js": -/*!****************************************************!*\ - !*** ./node_modules/proj4/lib/projections/mill.js ***! - \****************************************************/ -/*! exports provided: init, forward, inverse, names, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"init\", function() { return init; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"forward\", function() { return forward; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"inverse\", function() { return inverse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"names\", function() { return names; });\n/* harmony import */ var _common_adjust_lon__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common/adjust_lon */ \"./node_modules/proj4/lib/common/adjust_lon.js\");\n\n\n/*\n reference\n \"New Equal-Area Map Projections for Noncircular Regions\", John P. Snyder,\n The American Cartographer, Vol 15, No. 4, October 1988, pp. 341-355.\n */\n\n\n/* Initialize the Miller Cylindrical projection\n -------------------------------------------*/\nfunction init() {\n //no-op\n}\n\n/* Miller Cylindrical forward equations--mapping lat,long to x,y\n ------------------------------------------------------------*/\nfunction forward(p) {\n var lon = p.x;\n var lat = p.y;\n /* Forward equations\n -----------------*/\n var dlon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(lon - this.long0);\n var x = this.x0 + this.a * dlon;\n var y = this.y0 + this.a * Math.log(Math.tan((Math.PI / 4) + (lat / 2.5))) * 1.25;\n\n p.x = x;\n p.y = y;\n return p;\n}\n\n/* Miller Cylindrical inverse equations--mapping x,y to lat/long\n ------------------------------------------------------------*/\nfunction inverse(p) {\n p.x -= this.x0;\n p.y -= this.y0;\n\n var lon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.long0 + p.x / this.a);\n var lat = 2.5 * (Math.atan(Math.exp(0.8 * p.y / this.a)) - Math.PI / 4);\n\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nvar names = [\"Miller_Cylindrical\", \"mill\"];\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/projections/mill.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/projections/moll.js": -/*!****************************************************!*\ - !*** ./node_modules/proj4/lib/projections/moll.js ***! - \****************************************************/ -/*! exports provided: init, forward, inverse, names, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"init\", function() { return init; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"forward\", function() { return forward; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"inverse\", function() { return inverse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"names\", function() { return names; });\n/* harmony import */ var _common_adjust_lon__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common/adjust_lon */ \"./node_modules/proj4/lib/common/adjust_lon.js\");\n/* harmony import */ var _constants_values__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants/values */ \"./node_modules/proj4/lib/constants/values.js\");\n\nfunction init() {}\n\n/* Mollweide forward equations--mapping lat,long to x,y\n ----------------------------------------------------*/\nfunction forward(p) {\n\n /* Forward equations\n -----------------*/\n var lon = p.x;\n var lat = p.y;\n\n var delta_lon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(lon - this.long0);\n var theta = lat;\n var con = Math.PI * Math.sin(lat);\n\n /* Iterate using the Newton-Raphson method to find theta\n -----------------------------------------------------*/\n for (var i = 0; true; i++) {\n var delta_theta = -(theta + Math.sin(theta) - con) / (1 + Math.cos(theta));\n theta += delta_theta;\n if (Math.abs(delta_theta) < _constants_values__WEBPACK_IMPORTED_MODULE_1__[\"EPSLN\"]) {\n break;\n }\n }\n theta /= 2;\n\n /* If the latitude is 90 deg, force the x coordinate to be \"0 + false easting\"\n this is done here because of precision problems with \"cos(theta)\"\n --------------------------------------------------------------------------*/\n if (Math.PI / 2 - Math.abs(lat) < _constants_values__WEBPACK_IMPORTED_MODULE_1__[\"EPSLN\"]) {\n delta_lon = 0;\n }\n var x = 0.900316316158 * this.a * delta_lon * Math.cos(theta) + this.x0;\n var y = 1.4142135623731 * this.a * Math.sin(theta) + this.y0;\n\n p.x = x;\n p.y = y;\n return p;\n}\n\nfunction inverse(p) {\n var theta;\n var arg;\n\n /* Inverse equations\n -----------------*/\n p.x -= this.x0;\n p.y -= this.y0;\n arg = p.y / (1.4142135623731 * this.a);\n\n /* Because of division by zero problems, 'arg' can not be 1. Therefore\n a number very close to one is used instead.\n -------------------------------------------------------------------*/\n if (Math.abs(arg) > 0.999999999999) {\n arg = 0.999999999999;\n }\n theta = Math.asin(arg);\n var lon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.long0 + (p.x / (0.900316316158 * this.a * Math.cos(theta))));\n if (lon < (-Math.PI)) {\n lon = -Math.PI;\n }\n if (lon > Math.PI) {\n lon = Math.PI;\n }\n arg = (2 * theta + Math.sin(2 * theta)) / Math.PI;\n if (Math.abs(arg) > 1) {\n arg = 1;\n }\n var lat = Math.asin(arg);\n\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nvar names = [\"Mollweide\", \"moll\"];\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/projections/moll.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/projections/nzmg.js": -/*!****************************************************!*\ - !*** ./node_modules/proj4/lib/projections/nzmg.js ***! - \****************************************************/ -/*! exports provided: iterations, init, forward, inverse, names, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"iterations\", function() { return iterations; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"init\", function() { return init; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"forward\", function() { return forward; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"inverse\", function() { return inverse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"names\", function() { return names; });\n/* harmony import */ var _constants_values__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants/values */ \"./node_modules/proj4/lib/constants/values.js\");\n\n\n/*\n reference\n Department of Land and Survey Technical Circular 1973/32\n http://www.linz.govt.nz/docs/miscellaneous/nz-map-definition.pdf\n OSG Technical Report 4.1\n http://www.linz.govt.nz/docs/miscellaneous/nzmg.pdf\n */\n\n/**\n * iterations: Number of iterations to refine inverse transform.\n * 0 -> km accuracy\n * 1 -> m accuracy -- suitable for most mapping applications\n * 2 -> mm accuracy\n */\nvar iterations = 1;\n\nfunction init() {\n this.A = [];\n this.A[1] = 0.6399175073;\n this.A[2] = -0.1358797613;\n this.A[3] = 0.063294409;\n this.A[4] = -0.02526853;\n this.A[5] = 0.0117879;\n this.A[6] = -0.0055161;\n this.A[7] = 0.0026906;\n this.A[8] = -0.001333;\n this.A[9] = 0.00067;\n this.A[10] = -0.00034;\n\n this.B_re = [];\n this.B_im = [];\n this.B_re[1] = 0.7557853228;\n this.B_im[1] = 0;\n this.B_re[2] = 0.249204646;\n this.B_im[2] = 0.003371507;\n this.B_re[3] = -0.001541739;\n this.B_im[3] = 0.041058560;\n this.B_re[4] = -0.10162907;\n this.B_im[4] = 0.01727609;\n this.B_re[5] = -0.26623489;\n this.B_im[5] = -0.36249218;\n this.B_re[6] = -0.6870983;\n this.B_im[6] = -1.1651967;\n\n this.C_re = [];\n this.C_im = [];\n this.C_re[1] = 1.3231270439;\n this.C_im[1] = 0;\n this.C_re[2] = -0.577245789;\n this.C_im[2] = -0.007809598;\n this.C_re[3] = 0.508307513;\n this.C_im[3] = -0.112208952;\n this.C_re[4] = -0.15094762;\n this.C_im[4] = 0.18200602;\n this.C_re[5] = 1.01418179;\n this.C_im[5] = 1.64497696;\n this.C_re[6] = 1.9660549;\n this.C_im[6] = 2.5127645;\n\n this.D = [];\n this.D[1] = 1.5627014243;\n this.D[2] = 0.5185406398;\n this.D[3] = -0.03333098;\n this.D[4] = -0.1052906;\n this.D[5] = -0.0368594;\n this.D[6] = 0.007317;\n this.D[7] = 0.01220;\n this.D[8] = 0.00394;\n this.D[9] = -0.0013;\n}\n\n/**\n New Zealand Map Grid Forward - long/lat to x/y\n long/lat in radians\n */\nfunction forward(p) {\n var n;\n var lon = p.x;\n var lat = p.y;\n\n var delta_lat = lat - this.lat0;\n var delta_lon = lon - this.long0;\n\n // 1. Calculate d_phi and d_psi ... // and d_lambda\n // For this algorithm, delta_latitude is in seconds of arc x 10-5, so we need to scale to those units. Longitude is radians.\n var d_phi = delta_lat / _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"SEC_TO_RAD\"] * 1E-5;\n var d_lambda = delta_lon;\n var d_phi_n = 1; // d_phi^0\n\n var d_psi = 0;\n for (n = 1; n <= 10; n++) {\n d_phi_n = d_phi_n * d_phi;\n d_psi = d_psi + this.A[n] * d_phi_n;\n }\n\n // 2. Calculate theta\n var th_re = d_psi;\n var th_im = d_lambda;\n\n // 3. Calculate z\n var th_n_re = 1;\n var th_n_im = 0; // theta^0\n var th_n_re1;\n var th_n_im1;\n\n var z_re = 0;\n var z_im = 0;\n for (n = 1; n <= 6; n++) {\n th_n_re1 = th_n_re * th_re - th_n_im * th_im;\n th_n_im1 = th_n_im * th_re + th_n_re * th_im;\n th_n_re = th_n_re1;\n th_n_im = th_n_im1;\n z_re = z_re + this.B_re[n] * th_n_re - this.B_im[n] * th_n_im;\n z_im = z_im + this.B_im[n] * th_n_re + this.B_re[n] * th_n_im;\n }\n\n // 4. Calculate easting and northing\n p.x = (z_im * this.a) + this.x0;\n p.y = (z_re * this.a) + this.y0;\n\n return p;\n}\n\n/**\n New Zealand Map Grid Inverse - x/y to long/lat\n */\nfunction inverse(p) {\n var n;\n var x = p.x;\n var y = p.y;\n\n var delta_x = x - this.x0;\n var delta_y = y - this.y0;\n\n // 1. Calculate z\n var z_re = delta_y / this.a;\n var z_im = delta_x / this.a;\n\n // 2a. Calculate theta - first approximation gives km accuracy\n var z_n_re = 1;\n var z_n_im = 0; // z^0\n var z_n_re1;\n var z_n_im1;\n\n var th_re = 0;\n var th_im = 0;\n for (n = 1; n <= 6; n++) {\n z_n_re1 = z_n_re * z_re - z_n_im * z_im;\n z_n_im1 = z_n_im * z_re + z_n_re * z_im;\n z_n_re = z_n_re1;\n z_n_im = z_n_im1;\n th_re = th_re + this.C_re[n] * z_n_re - this.C_im[n] * z_n_im;\n th_im = th_im + this.C_im[n] * z_n_re + this.C_re[n] * z_n_im;\n }\n\n // 2b. Iterate to refine the accuracy of the calculation\n // 0 iterations gives km accuracy\n // 1 iteration gives m accuracy -- good enough for most mapping applications\n // 2 iterations bives mm accuracy\n for (var i = 0; i < this.iterations; i++) {\n var th_n_re = th_re;\n var th_n_im = th_im;\n var th_n_re1;\n var th_n_im1;\n\n var num_re = z_re;\n var num_im = z_im;\n for (n = 2; n <= 6; n++) {\n th_n_re1 = th_n_re * th_re - th_n_im * th_im;\n th_n_im1 = th_n_im * th_re + th_n_re * th_im;\n th_n_re = th_n_re1;\n th_n_im = th_n_im1;\n num_re = num_re + (n - 1) * (this.B_re[n] * th_n_re - this.B_im[n] * th_n_im);\n num_im = num_im + (n - 1) * (this.B_im[n] * th_n_re + this.B_re[n] * th_n_im);\n }\n\n th_n_re = 1;\n th_n_im = 0;\n var den_re = this.B_re[1];\n var den_im = this.B_im[1];\n for (n = 2; n <= 6; n++) {\n th_n_re1 = th_n_re * th_re - th_n_im * th_im;\n th_n_im1 = th_n_im * th_re + th_n_re * th_im;\n th_n_re = th_n_re1;\n th_n_im = th_n_im1;\n den_re = den_re + n * (this.B_re[n] * th_n_re - this.B_im[n] * th_n_im);\n den_im = den_im + n * (this.B_im[n] * th_n_re + this.B_re[n] * th_n_im);\n }\n\n // Complex division\n var den2 = den_re * den_re + den_im * den_im;\n th_re = (num_re * den_re + num_im * den_im) / den2;\n th_im = (num_im * den_re - num_re * den_im) / den2;\n }\n\n // 3. Calculate d_phi ... // and d_lambda\n var d_psi = th_re;\n var d_lambda = th_im;\n var d_psi_n = 1; // d_psi^0\n\n var d_phi = 0;\n for (n = 1; n <= 9; n++) {\n d_psi_n = d_psi_n * d_psi;\n d_phi = d_phi + this.D[n] * d_psi_n;\n }\n\n // 4. Calculate latitude and longitude\n // d_phi is calcuated in second of arc * 10^-5, so we need to scale back to radians. d_lambda is in radians.\n var lat = this.lat0 + (d_phi * _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"SEC_TO_RAD\"] * 1E5);\n var lon = this.long0 + d_lambda;\n\n p.x = lon;\n p.y = lat;\n\n return p;\n}\n\nvar names = [\"New_Zealand_Map_Grid\", \"nzmg\"];\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/projections/nzmg.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/projections/omerc.js": -/*!*****************************************************!*\ - !*** ./node_modules/proj4/lib/projections/omerc.js ***! - \*****************************************************/ -/*! exports provided: init, forward, inverse, names, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"init\", function() { return init; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"forward\", function() { return forward; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"inverse\", function() { return inverse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"names\", function() { return names; });\n/* harmony import */ var _common_tsfnz__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common/tsfnz */ \"./node_modules/proj4/lib/common/tsfnz.js\");\n/* harmony import */ var _common_adjust_lon__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/adjust_lon */ \"./node_modules/proj4/lib/common/adjust_lon.js\");\n/* harmony import */ var _common_phi2z__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/phi2z */ \"./node_modules/proj4/lib/common/phi2z.js\");\n/* harmony import */ var _constants_values__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../constants/values */ \"./node_modules/proj4/lib/constants/values.js\");\n\n\n\n\n\n/* Initialize the Oblique Mercator projection\n ------------------------------------------*/\nfunction init() {\n this.no_off = this.no_off || false;\n this.no_rot = this.no_rot || false;\n\n if (isNaN(this.k0)) {\n this.k0 = 1;\n }\n var sinlat = Math.sin(this.lat0);\n var coslat = Math.cos(this.lat0);\n var con = this.e * sinlat;\n\n this.bl = Math.sqrt(1 + this.es / (1 - this.es) * Math.pow(coslat, 4));\n this.al = this.a * this.bl * this.k0 * Math.sqrt(1 - this.es) / (1 - con * con);\n var t0 = Object(_common_tsfnz__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.e, this.lat0, sinlat);\n var dl = this.bl / coslat * Math.sqrt((1 - this.es) / (1 - con * con));\n if (dl * dl < 1) {\n dl = 1;\n }\n var fl;\n var gl;\n if (!isNaN(this.longc)) {\n //Central point and azimuth method\n\n if (this.lat0 >= 0) {\n fl = dl + Math.sqrt(dl * dl - 1);\n }\n else {\n fl = dl - Math.sqrt(dl * dl - 1);\n }\n this.el = fl * Math.pow(t0, this.bl);\n gl = 0.5 * (fl - 1 / fl);\n this.gamma0 = Math.asin(Math.sin(this.alpha) / dl);\n this.long0 = this.longc - Math.asin(gl * Math.tan(this.gamma0)) / this.bl;\n\n }\n else {\n //2 points method\n var t1 = Object(_common_tsfnz__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.e, this.lat1, Math.sin(this.lat1));\n var t2 = Object(_common_tsfnz__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.e, this.lat2, Math.sin(this.lat2));\n if (this.lat0 >= 0) {\n this.el = (dl + Math.sqrt(dl * dl - 1)) * Math.pow(t0, this.bl);\n }\n else {\n this.el = (dl - Math.sqrt(dl * dl - 1)) * Math.pow(t0, this.bl);\n }\n var hl = Math.pow(t1, this.bl);\n var ll = Math.pow(t2, this.bl);\n fl = this.el / hl;\n gl = 0.5 * (fl - 1 / fl);\n var jl = (this.el * this.el - ll * hl) / (this.el * this.el + ll * hl);\n var pl = (ll - hl) / (ll + hl);\n var dlon12 = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this.long1 - this.long2);\n this.long0 = 0.5 * (this.long1 + this.long2) - Math.atan(jl * Math.tan(0.5 * this.bl * (dlon12)) / pl) / this.bl;\n this.long0 = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this.long0);\n var dlon10 = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this.long1 - this.long0);\n this.gamma0 = Math.atan(Math.sin(this.bl * (dlon10)) / gl);\n this.alpha = Math.asin(dl * Math.sin(this.gamma0));\n }\n\n if (this.no_off) {\n this.uc = 0;\n }\n else {\n if (this.lat0 >= 0) {\n this.uc = this.al / this.bl * Math.atan2(Math.sqrt(dl * dl - 1), Math.cos(this.alpha));\n }\n else {\n this.uc = -1 * this.al / this.bl * Math.atan2(Math.sqrt(dl * dl - 1), Math.cos(this.alpha));\n }\n }\n\n}\n\n/* Oblique Mercator forward equations--mapping lat,long to x,y\n ----------------------------------------------------------*/\nfunction forward(p) {\n var lon = p.x;\n var lat = p.y;\n var dlon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(lon - this.long0);\n var us, vs;\n var con;\n if (Math.abs(Math.abs(lat) - _constants_values__WEBPACK_IMPORTED_MODULE_3__[\"HALF_PI\"]) <= _constants_values__WEBPACK_IMPORTED_MODULE_3__[\"EPSLN\"]) {\n if (lat > 0) {\n con = -1;\n }\n else {\n con = 1;\n }\n vs = this.al / this.bl * Math.log(Math.tan(_constants_values__WEBPACK_IMPORTED_MODULE_3__[\"FORTPI\"] + con * this.gamma0 * 0.5));\n us = -1 * con * _constants_values__WEBPACK_IMPORTED_MODULE_3__[\"HALF_PI\"] * this.al / this.bl;\n }\n else {\n var t = Object(_common_tsfnz__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.e, lat, Math.sin(lat));\n var ql = this.el / Math.pow(t, this.bl);\n var sl = 0.5 * (ql - 1 / ql);\n var tl = 0.5 * (ql + 1 / ql);\n var vl = Math.sin(this.bl * (dlon));\n var ul = (sl * Math.sin(this.gamma0) - vl * Math.cos(this.gamma0)) / tl;\n if (Math.abs(Math.abs(ul) - 1) <= _constants_values__WEBPACK_IMPORTED_MODULE_3__[\"EPSLN\"]) {\n vs = Number.POSITIVE_INFINITY;\n }\n else {\n vs = 0.5 * this.al * Math.log((1 - ul) / (1 + ul)) / this.bl;\n }\n if (Math.abs(Math.cos(this.bl * (dlon))) <= _constants_values__WEBPACK_IMPORTED_MODULE_3__[\"EPSLN\"]) {\n us = this.al * this.bl * (dlon);\n }\n else {\n us = this.al * Math.atan2(sl * Math.cos(this.gamma0) + vl * Math.sin(this.gamma0), Math.cos(this.bl * dlon)) / this.bl;\n }\n }\n\n if (this.no_rot) {\n p.x = this.x0 + us;\n p.y = this.y0 + vs;\n }\n else {\n\n us -= this.uc;\n p.x = this.x0 + vs * Math.cos(this.alpha) + us * Math.sin(this.alpha);\n p.y = this.y0 + us * Math.cos(this.alpha) - vs * Math.sin(this.alpha);\n }\n return p;\n}\n\nfunction inverse(p) {\n var us, vs;\n if (this.no_rot) {\n vs = p.y - this.y0;\n us = p.x - this.x0;\n }\n else {\n vs = (p.x - this.x0) * Math.cos(this.alpha) - (p.y - this.y0) * Math.sin(this.alpha);\n us = (p.y - this.y0) * Math.cos(this.alpha) + (p.x - this.x0) * Math.sin(this.alpha);\n us += this.uc;\n }\n var qp = Math.exp(-1 * this.bl * vs / this.al);\n var sp = 0.5 * (qp - 1 / qp);\n var tp = 0.5 * (qp + 1 / qp);\n var vp = Math.sin(this.bl * us / this.al);\n var up = (vp * Math.cos(this.gamma0) + sp * Math.sin(this.gamma0)) / tp;\n var ts = Math.pow(this.el / Math.sqrt((1 + up) / (1 - up)), 1 / this.bl);\n if (Math.abs(up - 1) < _constants_values__WEBPACK_IMPORTED_MODULE_3__[\"EPSLN\"]) {\n p.x = this.long0;\n p.y = _constants_values__WEBPACK_IMPORTED_MODULE_3__[\"HALF_PI\"];\n }\n else if (Math.abs(up + 1) < _constants_values__WEBPACK_IMPORTED_MODULE_3__[\"EPSLN\"]) {\n p.x = this.long0;\n p.y = -1 * _constants_values__WEBPACK_IMPORTED_MODULE_3__[\"HALF_PI\"];\n }\n else {\n p.y = Object(_common_phi2z__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(this.e, ts);\n p.x = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this.long0 - Math.atan2(sp * Math.cos(this.gamma0) - vp * Math.sin(this.gamma0), Math.cos(this.bl * us / this.al)) / this.bl);\n }\n return p;\n}\n\nvar names = [\"Hotine_Oblique_Mercator\", \"Hotine Oblique Mercator\", \"Hotine_Oblique_Mercator_Azimuth_Natural_Origin\", \"Hotine_Oblique_Mercator_Azimuth_Center\", \"omerc\"];\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/projections/omerc.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/projections/ortho.js": -/*!*****************************************************!*\ - !*** ./node_modules/proj4/lib/projections/ortho.js ***! - \*****************************************************/ -/*! exports provided: init, forward, inverse, names, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"init\", function() { return init; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"forward\", function() { return forward; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"inverse\", function() { return inverse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"names\", function() { return names; });\n/* harmony import */ var _common_adjust_lon__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common/adjust_lon */ \"./node_modules/proj4/lib/common/adjust_lon.js\");\n/* harmony import */ var _common_asinz__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/asinz */ \"./node_modules/proj4/lib/common/asinz.js\");\n/* harmony import */ var _constants_values__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../constants/values */ \"./node_modules/proj4/lib/constants/values.js\");\n\n\n\n\nfunction init() {\n //double temp; /* temporary variable */\n\n /* Place parameters in static storage for common use\n -------------------------------------------------*/\n this.sin_p14 = Math.sin(this.lat0);\n this.cos_p14 = Math.cos(this.lat0);\n}\n\n/* Orthographic forward equations--mapping lat,long to x,y\n ---------------------------------------------------*/\nfunction forward(p) {\n var sinphi, cosphi; /* sin and cos value */\n var dlon; /* delta longitude value */\n var coslon; /* cos of longitude */\n var ksp; /* scale factor */\n var g, x, y;\n var lon = p.x;\n var lat = p.y;\n /* Forward equations\n -----------------*/\n dlon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(lon - this.long0);\n\n sinphi = Math.sin(lat);\n cosphi = Math.cos(lat);\n\n coslon = Math.cos(dlon);\n g = this.sin_p14 * sinphi + this.cos_p14 * cosphi * coslon;\n ksp = 1;\n if ((g > 0) || (Math.abs(g) <= _constants_values__WEBPACK_IMPORTED_MODULE_2__[\"EPSLN\"])) {\n x = this.a * ksp * cosphi * Math.sin(dlon);\n y = this.y0 + this.a * ksp * (this.cos_p14 * sinphi - this.sin_p14 * cosphi * coslon);\n }\n p.x = x;\n p.y = y;\n return p;\n}\n\nfunction inverse(p) {\n var rh; /* height above ellipsoid */\n var z; /* angle */\n var sinz, cosz; /* sin of z and cos of z */\n var con;\n var lon, lat;\n /* Inverse equations\n -----------------*/\n p.x -= this.x0;\n p.y -= this.y0;\n rh = Math.sqrt(p.x * p.x + p.y * p.y);\n z = Object(_common_asinz__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(rh / this.a);\n\n sinz = Math.sin(z);\n cosz = Math.cos(z);\n\n lon = this.long0;\n if (Math.abs(rh) <= _constants_values__WEBPACK_IMPORTED_MODULE_2__[\"EPSLN\"]) {\n lat = this.lat0;\n p.x = lon;\n p.y = lat;\n return p;\n }\n lat = Object(_common_asinz__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(cosz * this.sin_p14 + (p.y * sinz * this.cos_p14) / rh);\n con = Math.abs(this.lat0) - _constants_values__WEBPACK_IMPORTED_MODULE_2__[\"HALF_PI\"];\n if (Math.abs(con) <= _constants_values__WEBPACK_IMPORTED_MODULE_2__[\"EPSLN\"]) {\n if (this.lat0 >= 0) {\n lon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.long0 + Math.atan2(p.x, - p.y));\n }\n else {\n lon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.long0 - Math.atan2(-p.x, p.y));\n }\n p.x = lon;\n p.y = lat;\n return p;\n }\n lon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.long0 + Math.atan2((p.x * sinz), rh * this.cos_p14 * cosz - p.y * this.sin_p14 * sinz));\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nvar names = [\"ortho\"];\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/projections/ortho.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/projections/poly.js": -/*!****************************************************!*\ - !*** ./node_modules/proj4/lib/projections/poly.js ***! - \****************************************************/ -/*! exports provided: init, forward, inverse, names, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"init\", function() { return init; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"forward\", function() { return forward; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"inverse\", function() { return inverse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"names\", function() { return names; });\n/* harmony import */ var _common_e0fn__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common/e0fn */ \"./node_modules/proj4/lib/common/e0fn.js\");\n/* harmony import */ var _common_e1fn__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/e1fn */ \"./node_modules/proj4/lib/common/e1fn.js\");\n/* harmony import */ var _common_e2fn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/e2fn */ \"./node_modules/proj4/lib/common/e2fn.js\");\n/* harmony import */ var _common_e3fn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../common/e3fn */ \"./node_modules/proj4/lib/common/e3fn.js\");\n/* harmony import */ var _common_adjust_lon__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../common/adjust_lon */ \"./node_modules/proj4/lib/common/adjust_lon.js\");\n/* harmony import */ var _common_adjust_lat__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../common/adjust_lat */ \"./node_modules/proj4/lib/common/adjust_lat.js\");\n/* harmony import */ var _common_mlfn__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../common/mlfn */ \"./node_modules/proj4/lib/common/mlfn.js\");\n/* harmony import */ var _constants_values__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../constants/values */ \"./node_modules/proj4/lib/constants/values.js\");\n/* harmony import */ var _common_gN__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../common/gN */ \"./node_modules/proj4/lib/common/gN.js\");\n\n\n\n\n\n\n\n\n\n\nvar MAX_ITER = 20;\n\nfunction init() {\n /* Place parameters in static storage for common use\n -------------------------------------------------*/\n this.temp = this.b / this.a;\n this.es = 1 - Math.pow(this.temp, 2); // devait etre dans tmerc.js mais n y est pas donc je commente sinon retour de valeurs nulles\n this.e = Math.sqrt(this.es);\n this.e0 = Object(_common_e0fn__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.es);\n this.e1 = Object(_common_e1fn__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this.es);\n this.e2 = Object(_common_e2fn__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(this.es);\n this.e3 = Object(_common_e3fn__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(this.es);\n this.ml0 = this.a * Object(_common_mlfn__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(this.e0, this.e1, this.e2, this.e3, this.lat0); //si que des zeros le calcul ne se fait pas\n}\n\n/* Polyconic forward equations--mapping lat,long to x,y\n ---------------------------------------------------*/\nfunction forward(p) {\n var lon = p.x;\n var lat = p.y;\n var x, y, el;\n var dlon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(lon - this.long0);\n el = dlon * Math.sin(lat);\n if (this.sphere) {\n if (Math.abs(lat) <= _constants_values__WEBPACK_IMPORTED_MODULE_7__[\"EPSLN\"]) {\n x = this.a * dlon;\n y = -1 * this.a * this.lat0;\n }\n else {\n x = this.a * Math.sin(el) / Math.tan(lat);\n y = this.a * (Object(_common_adjust_lat__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(lat - this.lat0) + (1 - Math.cos(el)) / Math.tan(lat));\n }\n }\n else {\n if (Math.abs(lat) <= _constants_values__WEBPACK_IMPORTED_MODULE_7__[\"EPSLN\"]) {\n x = this.a * dlon;\n y = -1 * this.ml0;\n }\n else {\n var nl = Object(_common_gN__WEBPACK_IMPORTED_MODULE_8__[\"default\"])(this.a, this.e, Math.sin(lat)) / Math.tan(lat);\n x = nl * Math.sin(el);\n y = this.a * Object(_common_mlfn__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(this.e0, this.e1, this.e2, this.e3, lat) - this.ml0 + nl * (1 - Math.cos(el));\n }\n\n }\n p.x = x + this.x0;\n p.y = y + this.y0;\n return p;\n}\n\n/* Inverse equations\n -----------------*/\nfunction inverse(p) {\n var lon, lat, x, y, i;\n var al, bl;\n var phi, dphi;\n x = p.x - this.x0;\n y = p.y - this.y0;\n\n if (this.sphere) {\n if (Math.abs(y + this.a * this.lat0) <= _constants_values__WEBPACK_IMPORTED_MODULE_7__[\"EPSLN\"]) {\n lon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(x / this.a + this.long0);\n lat = 0;\n }\n else {\n al = this.lat0 + y / this.a;\n bl = x * x / this.a / this.a + al * al;\n phi = al;\n var tanphi;\n for (i = MAX_ITER; i; --i) {\n tanphi = Math.tan(phi);\n dphi = -1 * (al * (phi * tanphi + 1) - phi - 0.5 * (phi * phi + bl) * tanphi) / ((phi - al) / tanphi - 1);\n phi += dphi;\n if (Math.abs(dphi) <= _constants_values__WEBPACK_IMPORTED_MODULE_7__[\"EPSLN\"]) {\n lat = phi;\n break;\n }\n }\n lon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(this.long0 + (Math.asin(x * Math.tan(phi) / this.a)) / Math.sin(lat));\n }\n }\n else {\n if (Math.abs(y + this.ml0) <= _constants_values__WEBPACK_IMPORTED_MODULE_7__[\"EPSLN\"]) {\n lat = 0;\n lon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(this.long0 + x / this.a);\n }\n else {\n\n al = (this.ml0 + y) / this.a;\n bl = x * x / this.a / this.a + al * al;\n phi = al;\n var cl, mln, mlnp, ma;\n var con;\n for (i = MAX_ITER; i; --i) {\n con = this.e * Math.sin(phi);\n cl = Math.sqrt(1 - con * con) * Math.tan(phi);\n mln = this.a * Object(_common_mlfn__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(this.e0, this.e1, this.e2, this.e3, phi);\n mlnp = this.e0 - 2 * this.e1 * Math.cos(2 * phi) + 4 * this.e2 * Math.cos(4 * phi) - 6 * this.e3 * Math.cos(6 * phi);\n ma = mln / this.a;\n dphi = (al * (cl * ma + 1) - ma - 0.5 * cl * (ma * ma + bl)) / (this.es * Math.sin(2 * phi) * (ma * ma + bl - 2 * al * ma) / (4 * cl) + (al - ma) * (cl * mlnp - 2 / Math.sin(2 * phi)) - mlnp);\n phi -= dphi;\n if (Math.abs(dphi) <= _constants_values__WEBPACK_IMPORTED_MODULE_7__[\"EPSLN\"]) {\n lat = phi;\n break;\n }\n }\n\n //lat=phi4z(this.e,this.e0,this.e1,this.e2,this.e3,al,bl,0,0);\n cl = Math.sqrt(1 - this.es * Math.pow(Math.sin(lat), 2)) * Math.tan(lat);\n lon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(this.long0 + Math.asin(x * cl / this.a) / Math.sin(lat));\n }\n }\n\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nvar names = [\"Polyconic\", \"poly\"];\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/projections/poly.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/projections/sinu.js": -/*!****************************************************!*\ - !*** ./node_modules/proj4/lib/projections/sinu.js ***! - \****************************************************/ -/*! exports provided: init, forward, inverse, names, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"init\", function() { return init; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"forward\", function() { return forward; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"inverse\", function() { return inverse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"names\", function() { return names; });\n/* harmony import */ var _common_adjust_lon__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common/adjust_lon */ \"./node_modules/proj4/lib/common/adjust_lon.js\");\n/* harmony import */ var _common_adjust_lat__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/adjust_lat */ \"./node_modules/proj4/lib/common/adjust_lat.js\");\n/* harmony import */ var _common_pj_enfn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/pj_enfn */ \"./node_modules/proj4/lib/common/pj_enfn.js\");\n/* harmony import */ var _common_pj_mlfn__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../common/pj_mlfn */ \"./node_modules/proj4/lib/common/pj_mlfn.js\");\n/* harmony import */ var _common_pj_inv_mlfn__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../common/pj_inv_mlfn */ \"./node_modules/proj4/lib/common/pj_inv_mlfn.js\");\n/* harmony import */ var _constants_values__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../constants/values */ \"./node_modules/proj4/lib/constants/values.js\");\n/* harmony import */ var _common_asinz__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../common/asinz */ \"./node_modules/proj4/lib/common/asinz.js\");\n\n\n\nvar MAX_ITER = 20;\n\n\n\n\n\n\n\nfunction init() {\n /* Place parameters in static storage for common use\n -------------------------------------------------*/\n\n\n if (!this.sphere) {\n this.en = Object(_common_pj_enfn__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(this.es);\n }\n else {\n this.n = 1;\n this.m = 0;\n this.es = 0;\n this.C_y = Math.sqrt((this.m + 1) / this.n);\n this.C_x = this.C_y / (this.m + 1);\n }\n\n}\n\n/* Sinusoidal forward equations--mapping lat,long to x,y\n -----------------------------------------------------*/\nfunction forward(p) {\n var x, y;\n var lon = p.x;\n var lat = p.y;\n /* Forward equations\n -----------------*/\n lon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(lon - this.long0);\n\n if (this.sphere) {\n if (!this.m) {\n lat = this.n !== 1 ? Math.asin(this.n * Math.sin(lat)) : lat;\n }\n else {\n var k = this.n * Math.sin(lat);\n for (var i = MAX_ITER; i; --i) {\n var V = (this.m * lat + Math.sin(lat) - k) / (this.m + Math.cos(lat));\n lat -= V;\n if (Math.abs(V) < _constants_values__WEBPACK_IMPORTED_MODULE_5__[\"EPSLN\"]) {\n break;\n }\n }\n }\n x = this.a * this.C_x * lon * (this.m + Math.cos(lat));\n y = this.a * this.C_y * lat;\n\n }\n else {\n\n var s = Math.sin(lat);\n var c = Math.cos(lat);\n y = this.a * Object(_common_pj_mlfn__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(lat, s, c, this.en);\n x = this.a * lon * c / Math.sqrt(1 - this.es * s * s);\n }\n\n p.x = x;\n p.y = y;\n return p;\n}\n\nfunction inverse(p) {\n var lat, temp, lon, s;\n\n p.x -= this.x0;\n lon = p.x / this.a;\n p.y -= this.y0;\n lat = p.y / this.a;\n\n if (this.sphere) {\n lat /= this.C_y;\n lon = lon / (this.C_x * (this.m + Math.cos(lat)));\n if (this.m) {\n lat = Object(_common_asinz__WEBPACK_IMPORTED_MODULE_6__[\"default\"])((this.m * lat + Math.sin(lat)) / this.n);\n }\n else if (this.n !== 1) {\n lat = Object(_common_asinz__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(Math.sin(lat) / this.n);\n }\n lon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(lon + this.long0);\n lat = Object(_common_adjust_lat__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(lat);\n }\n else {\n lat = Object(_common_pj_inv_mlfn__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(p.y / this.a, this.es, this.en);\n s = Math.abs(lat);\n if (s < _constants_values__WEBPACK_IMPORTED_MODULE_5__[\"HALF_PI\"]) {\n s = Math.sin(lat);\n temp = this.long0 + p.x * Math.sqrt(1 - this.es * s * s) / (this.a * Math.cos(lat));\n //temp = this.long0 + p.x / (this.a * Math.cos(lat));\n lon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(temp);\n }\n else if ((s - _constants_values__WEBPACK_IMPORTED_MODULE_5__[\"EPSLN\"]) < _constants_values__WEBPACK_IMPORTED_MODULE_5__[\"HALF_PI\"]) {\n lon = this.long0;\n }\n }\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nvar names = [\"Sinusoidal\", \"sinu\"];\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/projections/sinu.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/projections/somerc.js": -/*!******************************************************!*\ - !*** ./node_modules/proj4/lib/projections/somerc.js ***! - \******************************************************/ -/*! exports provided: init, forward, inverse, names, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"init\", function() { return init; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"forward\", function() { return forward; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"inverse\", function() { return inverse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"names\", function() { return names; });\n/*\n references:\n Formules et constantes pour le Calcul pour la\n projection cylindrique conforme à axe oblique et pour la transformation entre\n des systèmes de référence.\n http://www.swisstopo.admin.ch/internet/swisstopo/fr/home/topics/survey/sys/refsys/switzerland.parsysrelated1.31216.downloadList.77004.DownloadFile.tmp/swissprojectionfr.pdf\n */\n\nfunction init() {\n var phy0 = this.lat0;\n this.lambda0 = this.long0;\n var sinPhy0 = Math.sin(phy0);\n var semiMajorAxis = this.a;\n var invF = this.rf;\n var flattening = 1 / invF;\n var e2 = 2 * flattening - Math.pow(flattening, 2);\n var e = this.e = Math.sqrt(e2);\n this.R = this.k0 * semiMajorAxis * Math.sqrt(1 - e2) / (1 - e2 * Math.pow(sinPhy0, 2));\n this.alpha = Math.sqrt(1 + e2 / (1 - e2) * Math.pow(Math.cos(phy0), 4));\n this.b0 = Math.asin(sinPhy0 / this.alpha);\n var k1 = Math.log(Math.tan(Math.PI / 4 + this.b0 / 2));\n var k2 = Math.log(Math.tan(Math.PI / 4 + phy0 / 2));\n var k3 = Math.log((1 + e * sinPhy0) / (1 - e * sinPhy0));\n this.K = k1 - this.alpha * k2 + this.alpha * e / 2 * k3;\n}\n\nfunction forward(p) {\n var Sa1 = Math.log(Math.tan(Math.PI / 4 - p.y / 2));\n var Sa2 = this.e / 2 * Math.log((1 + this.e * Math.sin(p.y)) / (1 - this.e * Math.sin(p.y)));\n var S = -this.alpha * (Sa1 + Sa2) + this.K;\n\n // spheric latitude\n var b = 2 * (Math.atan(Math.exp(S)) - Math.PI / 4);\n\n // spheric longitude\n var I = this.alpha * (p.x - this.lambda0);\n\n // psoeudo equatorial rotation\n var rotI = Math.atan(Math.sin(I) / (Math.sin(this.b0) * Math.tan(b) + Math.cos(this.b0) * Math.cos(I)));\n\n var rotB = Math.asin(Math.cos(this.b0) * Math.sin(b) - Math.sin(this.b0) * Math.cos(b) * Math.cos(I));\n\n p.y = this.R / 2 * Math.log((1 + Math.sin(rotB)) / (1 - Math.sin(rotB))) + this.y0;\n p.x = this.R * rotI + this.x0;\n return p;\n}\n\nfunction inverse(p) {\n var Y = p.x - this.x0;\n var X = p.y - this.y0;\n\n var rotI = Y / this.R;\n var rotB = 2 * (Math.atan(Math.exp(X / this.R)) - Math.PI / 4);\n\n var b = Math.asin(Math.cos(this.b0) * Math.sin(rotB) + Math.sin(this.b0) * Math.cos(rotB) * Math.cos(rotI));\n var I = Math.atan(Math.sin(rotI) / (Math.cos(this.b0) * Math.cos(rotI) - Math.sin(this.b0) * Math.tan(rotB)));\n\n var lambda = this.lambda0 + I / this.alpha;\n\n var S = 0;\n var phy = b;\n var prevPhy = -1000;\n var iteration = 0;\n while (Math.abs(phy - prevPhy) > 0.0000001) {\n if (++iteration > 20) {\n //...reportError(\"omercFwdInfinity\");\n return;\n }\n //S = Math.log(Math.tan(Math.PI / 4 + phy / 2));\n S = 1 / this.alpha * (Math.log(Math.tan(Math.PI / 4 + b / 2)) - this.K) + this.e * Math.log(Math.tan(Math.PI / 4 + Math.asin(this.e * Math.sin(phy)) / 2));\n prevPhy = phy;\n phy = 2 * Math.atan(Math.exp(S)) - Math.PI / 2;\n }\n\n p.x = lambda;\n p.y = phy;\n return p;\n}\n\nvar names = [\"somerc\"];\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/projections/somerc.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/projections/stere.js": -/*!*****************************************************!*\ - !*** ./node_modules/proj4/lib/projections/stere.js ***! - \*****************************************************/ -/*! exports provided: ssfn_, init, forward, inverse, names, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ssfn_\", function() { return ssfn_; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"init\", function() { return init; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"forward\", function() { return forward; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"inverse\", function() { return inverse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"names\", function() { return names; });\n/* harmony import */ var _constants_values__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants/values */ \"./node_modules/proj4/lib/constants/values.js\");\n/* harmony import */ var _common_sign__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/sign */ \"./node_modules/proj4/lib/common/sign.js\");\n/* harmony import */ var _common_msfnz__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/msfnz */ \"./node_modules/proj4/lib/common/msfnz.js\");\n/* harmony import */ var _common_tsfnz__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../common/tsfnz */ \"./node_modules/proj4/lib/common/tsfnz.js\");\n/* harmony import */ var _common_phi2z__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../common/phi2z */ \"./node_modules/proj4/lib/common/phi2z.js\");\n/* harmony import */ var _common_adjust_lon__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../common/adjust_lon */ \"./node_modules/proj4/lib/common/adjust_lon.js\");\n\n\n\n\n\n\n\n\nfunction ssfn_(phit, sinphi, eccen) {\n sinphi *= eccen;\n return (Math.tan(0.5 * (_constants_values__WEBPACK_IMPORTED_MODULE_0__[\"HALF_PI\"] + phit)) * Math.pow((1 - sinphi) / (1 + sinphi), 0.5 * eccen));\n}\n\nfunction init() {\n this.coslat0 = Math.cos(this.lat0);\n this.sinlat0 = Math.sin(this.lat0);\n if (this.sphere) {\n if (this.k0 === 1 && !isNaN(this.lat_ts) && Math.abs(this.coslat0) <= _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"EPSLN\"]) {\n this.k0 = 0.5 * (1 + Object(_common_sign__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this.lat0) * Math.sin(this.lat_ts));\n }\n }\n else {\n if (Math.abs(this.coslat0) <= _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"EPSLN\"]) {\n if (this.lat0 > 0) {\n //North pole\n //trace('stere:north pole');\n this.con = 1;\n }\n else {\n //South pole\n //trace('stere:south pole');\n this.con = -1;\n }\n }\n this.cons = Math.sqrt(Math.pow(1 + this.e, 1 + this.e) * Math.pow(1 - this.e, 1 - this.e));\n if (this.k0 === 1 && !isNaN(this.lat_ts) && Math.abs(this.coslat0) <= _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"EPSLN\"]) {\n this.k0 = 0.5 * this.cons * Object(_common_msfnz__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(this.e, Math.sin(this.lat_ts), Math.cos(this.lat_ts)) / Object(_common_tsfnz__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(this.e, this.con * this.lat_ts, this.con * Math.sin(this.lat_ts));\n }\n this.ms1 = Object(_common_msfnz__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(this.e, this.sinlat0, this.coslat0);\n this.X0 = 2 * Math.atan(this.ssfn_(this.lat0, this.sinlat0, this.e)) - _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"HALF_PI\"];\n this.cosX0 = Math.cos(this.X0);\n this.sinX0 = Math.sin(this.X0);\n }\n}\n\n// Stereographic forward equations--mapping lat,long to x,y\nfunction forward(p) {\n var lon = p.x;\n var lat = p.y;\n var sinlat = Math.sin(lat);\n var coslat = Math.cos(lat);\n var A, X, sinX, cosX, ts, rh;\n var dlon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(lon - this.long0);\n\n if (Math.abs(Math.abs(lon - this.long0) - Math.PI) <= _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"EPSLN\"] && Math.abs(lat + this.lat0) <= _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"EPSLN\"]) {\n //case of the origine point\n //trace('stere:this is the origin point');\n p.x = NaN;\n p.y = NaN;\n return p;\n }\n if (this.sphere) {\n //trace('stere:sphere case');\n A = 2 * this.k0 / (1 + this.sinlat0 * sinlat + this.coslat0 * coslat * Math.cos(dlon));\n p.x = this.a * A * coslat * Math.sin(dlon) + this.x0;\n p.y = this.a * A * (this.coslat0 * sinlat - this.sinlat0 * coslat * Math.cos(dlon)) + this.y0;\n return p;\n }\n else {\n X = 2 * Math.atan(this.ssfn_(lat, sinlat, this.e)) - _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"HALF_PI\"];\n cosX = Math.cos(X);\n sinX = Math.sin(X);\n if (Math.abs(this.coslat0) <= _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"EPSLN\"]) {\n ts = Object(_common_tsfnz__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(this.e, lat * this.con, this.con * sinlat);\n rh = 2 * this.a * this.k0 * ts / this.cons;\n p.x = this.x0 + rh * Math.sin(lon - this.long0);\n p.y = this.y0 - this.con * rh * Math.cos(lon - this.long0);\n //trace(p.toString());\n return p;\n }\n else if (Math.abs(this.sinlat0) < _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"EPSLN\"]) {\n //Eq\n //trace('stere:equateur');\n A = 2 * this.a * this.k0 / (1 + cosX * Math.cos(dlon));\n p.y = A * sinX;\n }\n else {\n //other case\n //trace('stere:normal case');\n A = 2 * this.a * this.k0 * this.ms1 / (this.cosX0 * (1 + this.sinX0 * sinX + this.cosX0 * cosX * Math.cos(dlon)));\n p.y = A * (this.cosX0 * sinX - this.sinX0 * cosX * Math.cos(dlon)) + this.y0;\n }\n p.x = A * cosX * Math.sin(dlon) + this.x0;\n }\n //trace(p.toString());\n return p;\n}\n\n//* Stereographic inverse equations--mapping x,y to lat/long\nfunction inverse(p) {\n p.x -= this.x0;\n p.y -= this.y0;\n var lon, lat, ts, ce, Chi;\n var rh = Math.sqrt(p.x * p.x + p.y * p.y);\n if (this.sphere) {\n var c = 2 * Math.atan(rh / (0.5 * this.a * this.k0));\n lon = this.long0;\n lat = this.lat0;\n if (rh <= _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"EPSLN\"]) {\n p.x = lon;\n p.y = lat;\n return p;\n }\n lat = Math.asin(Math.cos(c) * this.sinlat0 + p.y * Math.sin(c) * this.coslat0 / rh);\n if (Math.abs(this.coslat0) < _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"EPSLN\"]) {\n if (this.lat0 > 0) {\n lon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(this.long0 + Math.atan2(p.x, - 1 * p.y));\n }\n else {\n lon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(this.long0 + Math.atan2(p.x, p.y));\n }\n }\n else {\n lon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(this.long0 + Math.atan2(p.x * Math.sin(c), rh * this.coslat0 * Math.cos(c) - p.y * this.sinlat0 * Math.sin(c)));\n }\n p.x = lon;\n p.y = lat;\n return p;\n }\n else {\n if (Math.abs(this.coslat0) <= _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"EPSLN\"]) {\n if (rh <= _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"EPSLN\"]) {\n lat = this.lat0;\n lon = this.long0;\n p.x = lon;\n p.y = lat;\n //trace(p.toString());\n return p;\n }\n p.x *= this.con;\n p.y *= this.con;\n ts = rh * this.cons / (2 * this.a * this.k0);\n lat = this.con * Object(_common_phi2z__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(this.e, ts);\n lon = this.con * Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(this.con * this.long0 + Math.atan2(p.x, - 1 * p.y));\n }\n else {\n ce = 2 * Math.atan(rh * this.cosX0 / (2 * this.a * this.k0 * this.ms1));\n lon = this.long0;\n if (rh <= _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"EPSLN\"]) {\n Chi = this.X0;\n }\n else {\n Chi = Math.asin(Math.cos(ce) * this.sinX0 + p.y * Math.sin(ce) * this.cosX0 / rh);\n lon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(this.long0 + Math.atan2(p.x * Math.sin(ce), rh * this.cosX0 * Math.cos(ce) - p.y * this.sinX0 * Math.sin(ce)));\n }\n lat = -1 * Object(_common_phi2z__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(this.e, Math.tan(0.5 * (_constants_values__WEBPACK_IMPORTED_MODULE_0__[\"HALF_PI\"] + Chi)));\n }\n }\n p.x = lon;\n p.y = lat;\n\n //trace(p.toString());\n return p;\n\n}\n\nvar names = [\"stere\", \"Stereographic_South_Pole\", \"Polar Stereographic (variant B)\"];\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n init: init,\n forward: forward,\n inverse: inverse,\n names: names,\n ssfn_: ssfn_\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/projections/stere.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/projections/sterea.js": -/*!******************************************************!*\ - !*** ./node_modules/proj4/lib/projections/sterea.js ***! - \******************************************************/ -/*! exports provided: init, forward, inverse, names, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"init\", function() { return init; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"forward\", function() { return forward; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"inverse\", function() { return inverse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"names\", function() { return names; });\n/* harmony import */ var _gauss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./gauss */ \"./node_modules/proj4/lib/projections/gauss.js\");\n/* harmony import */ var _common_adjust_lon__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/adjust_lon */ \"./node_modules/proj4/lib/common/adjust_lon.js\");\n\n\n\nfunction init() {\n _gauss__WEBPACK_IMPORTED_MODULE_0__[\"default\"].init.apply(this);\n if (!this.rc) {\n return;\n }\n this.sinc0 = Math.sin(this.phic0);\n this.cosc0 = Math.cos(this.phic0);\n this.R2 = 2 * this.rc;\n if (!this.title) {\n this.title = \"Oblique Stereographic Alternative\";\n }\n}\n\nfunction forward(p) {\n var sinc, cosc, cosl, k;\n p.x = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(p.x - this.long0);\n _gauss__WEBPACK_IMPORTED_MODULE_0__[\"default\"].forward.apply(this, [p]);\n sinc = Math.sin(p.y);\n cosc = Math.cos(p.y);\n cosl = Math.cos(p.x);\n k = this.k0 * this.R2 / (1 + this.sinc0 * sinc + this.cosc0 * cosc * cosl);\n p.x = k * cosc * Math.sin(p.x);\n p.y = k * (this.cosc0 * sinc - this.sinc0 * cosc * cosl);\n p.x = this.a * p.x + this.x0;\n p.y = this.a * p.y + this.y0;\n return p;\n}\n\nfunction inverse(p) {\n var sinc, cosc, lon, lat, rho;\n p.x = (p.x - this.x0) / this.a;\n p.y = (p.y - this.y0) / this.a;\n\n p.x /= this.k0;\n p.y /= this.k0;\n if ((rho = Math.sqrt(p.x * p.x + p.y * p.y))) {\n var c = 2 * Math.atan2(rho, this.R2);\n sinc = Math.sin(c);\n cosc = Math.cos(c);\n lat = Math.asin(cosc * this.sinc0 + p.y * sinc * this.cosc0 / rho);\n lon = Math.atan2(p.x * sinc, rho * this.cosc0 * cosc - p.y * this.sinc0 * sinc);\n }\n else {\n lat = this.phic0;\n lon = 0;\n }\n\n p.x = lon;\n p.y = lat;\n _gauss__WEBPACK_IMPORTED_MODULE_0__[\"default\"].inverse.apply(this, [p]);\n p.x = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(p.x + this.long0);\n return p;\n}\n\nvar names = [\"Stereographic_North_Pole\", \"Oblique_Stereographic\", \"Polar_Stereographic\", \"sterea\",\"Oblique Stereographic Alternative\"];\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/projections/sterea.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/projections/tmerc.js": -/*!*****************************************************!*\ - !*** ./node_modules/proj4/lib/projections/tmerc.js ***! - \*****************************************************/ -/*! exports provided: init, forward, inverse, names, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"init\", function() { return init; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"forward\", function() { return forward; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"inverse\", function() { return inverse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"names\", function() { return names; });\n/* harmony import */ var _common_pj_enfn__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common/pj_enfn */ \"./node_modules/proj4/lib/common/pj_enfn.js\");\n/* harmony import */ var _common_pj_mlfn__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common/pj_mlfn */ \"./node_modules/proj4/lib/common/pj_mlfn.js\");\n/* harmony import */ var _common_pj_inv_mlfn__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/pj_inv_mlfn */ \"./node_modules/proj4/lib/common/pj_inv_mlfn.js\");\n/* harmony import */ var _common_adjust_lon__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../common/adjust_lon */ \"./node_modules/proj4/lib/common/adjust_lon.js\");\n/* harmony import */ var _constants_values__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../constants/values */ \"./node_modules/proj4/lib/constants/values.js\");\n/* harmony import */ var _common_sign__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../common/sign */ \"./node_modules/proj4/lib/common/sign.js\");\n// Heavily based on this tmerc projection implementation\n// https://github.com/mbloch/mapshaper-proj/blob/master/src/projections/tmerc.js\n\n\n\n\n\n\n\n\n\nfunction init() {\n this.x0 = this.x0 !== undefined ? this.x0 : 0;\n this.y0 = this.y0 !== undefined ? this.y0 : 0;\n this.long0 = this.long0 !== undefined ? this.long0 : 0;\n this.lat0 = this.lat0 !== undefined ? this.lat0 : 0;\n\n if (this.es) {\n this.en = Object(_common_pj_enfn__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.es);\n this.ml0 = Object(_common_pj_mlfn__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(this.lat0, Math.sin(this.lat0), Math.cos(this.lat0), this.en);\n }\n}\n\n/**\n Transverse Mercator Forward - long/lat to x/y\n long/lat in radians\n */\nfunction forward(p) {\n var lon = p.x;\n var lat = p.y;\n\n var delta_lon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(lon - this.long0);\n var con;\n var x, y;\n var sin_phi = Math.sin(lat);\n var cos_phi = Math.cos(lat);\n\n if (!this.es) {\n var b = cos_phi * Math.sin(delta_lon);\n\n if ((Math.abs(Math.abs(b) - 1)) < _constants_values__WEBPACK_IMPORTED_MODULE_4__[\"EPSLN\"]) {\n return (93);\n }\n else {\n x = 0.5 * this.a * this.k0 * Math.log((1 + b) / (1 - b)) + this.x0;\n y = cos_phi * Math.cos(delta_lon) / Math.sqrt(1 - Math.pow(b, 2));\n b = Math.abs(y);\n\n if (b >= 1) {\n if ((b - 1) > _constants_values__WEBPACK_IMPORTED_MODULE_4__[\"EPSLN\"]) {\n return (93);\n }\n else {\n y = 0;\n }\n }\n else {\n y = Math.acos(y);\n }\n\n if (lat < 0) {\n y = -y;\n }\n\n y = this.a * this.k0 * (y - this.lat0) + this.y0;\n }\n }\n else {\n var al = cos_phi * delta_lon;\n var als = Math.pow(al, 2);\n var c = this.ep2 * Math.pow(cos_phi, 2);\n var cs = Math.pow(c, 2);\n var tq = Math.abs(cos_phi) > _constants_values__WEBPACK_IMPORTED_MODULE_4__[\"EPSLN\"] ? Math.tan(lat) : 0;\n var t = Math.pow(tq, 2);\n var ts = Math.pow(t, 2);\n con = 1 - this.es * Math.pow(sin_phi, 2);\n al = al / Math.sqrt(con);\n var ml = Object(_common_pj_mlfn__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(lat, sin_phi, cos_phi, this.en);\n\n x = this.a * (this.k0 * al * (1 +\n als / 6 * (1 - t + c +\n als / 20 * (5 - 18 * t + ts + 14 * c - 58 * t * c +\n als / 42 * (61 + 179 * ts - ts * t - 479 * t))))) +\n this.x0;\n\n y = this.a * (this.k0 * (ml - this.ml0 +\n sin_phi * delta_lon * al / 2 * (1 +\n als / 12 * (5 - t + 9 * c + 4 * cs +\n als / 30 * (61 + ts - 58 * t + 270 * c - 330 * t * c +\n als / 56 * (1385 + 543 * ts - ts * t - 3111 * t)))))) +\n this.y0;\n }\n\n p.x = x;\n p.y = y;\n\n return p;\n}\n\n/**\n Transverse Mercator Inverse - x/y to long/lat\n */\nfunction inverse(p) {\n var con, phi;\n var lat, lon;\n var x = (p.x - this.x0) * (1 / this.a);\n var y = (p.y - this.y0) * (1 / this.a);\n\n if (!this.es) {\n var f = Math.exp(x / this.k0);\n var g = 0.5 * (f - 1 / f);\n var temp = this.lat0 + y / this.k0;\n var h = Math.cos(temp);\n con = Math.sqrt((1 - Math.pow(h, 2)) / (1 + Math.pow(g, 2)));\n lat = Math.asin(con);\n\n if (y < 0) {\n lat = -lat;\n }\n\n if ((g === 0) && (h === 0)) {\n lon = 0;\n }\n else {\n lon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(Math.atan2(g, h) + this.long0);\n }\n }\n else { // ellipsoidal form\n con = this.ml0 + y / this.k0;\n phi = Object(_common_pj_inv_mlfn__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(con, this.es, this.en);\n\n if (Math.abs(phi) < _constants_values__WEBPACK_IMPORTED_MODULE_4__[\"HALF_PI\"]) {\n var sin_phi = Math.sin(phi);\n var cos_phi = Math.cos(phi);\n var tan_phi = Math.abs(cos_phi) > _constants_values__WEBPACK_IMPORTED_MODULE_4__[\"EPSLN\"] ? Math.tan(phi) : 0;\n var c = this.ep2 * Math.pow(cos_phi, 2);\n var cs = Math.pow(c, 2);\n var t = Math.pow(tan_phi, 2);\n var ts = Math.pow(t, 2);\n con = 1 - this.es * Math.pow(sin_phi, 2);\n var d = x * Math.sqrt(con) / this.k0;\n var ds = Math.pow(d, 2);\n con = con * tan_phi;\n\n lat = phi - (con * ds / (1 - this.es)) * 0.5 * (1 -\n ds / 12 * (5 + 3 * t - 9 * c * t + c - 4 * cs -\n ds / 30 * (61 + 90 * t - 252 * c * t + 45 * ts + 46 * c -\n ds / 56 * (1385 + 3633 * t + 4095 * ts + 1574 * ts * t))));\n\n lon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(this.long0 + (d * (1 -\n ds / 6 * (1 + 2 * t + c -\n ds / 20 * (5 + 28 * t + 24 * ts + 8 * c * t + 6 * c -\n ds / 42 * (61 + 662 * t + 1320 * ts + 720 * ts * t)))) / cos_phi));\n }\n else {\n lat = _constants_values__WEBPACK_IMPORTED_MODULE_4__[\"HALF_PI\"] * Object(_common_sign__WEBPACK_IMPORTED_MODULE_5__[\"default\"])(y);\n lon = 0;\n }\n }\n\n p.x = lon;\n p.y = lat;\n\n return p;\n}\n\nvar names = [\"Transverse_Mercator\", \"Transverse Mercator\", \"tmerc\"];\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/projections/tmerc.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/projections/utm.js": -/*!***************************************************!*\ - !*** ./node_modules/proj4/lib/projections/utm.js ***! - \***************************************************/ -/*! exports provided: dependsOn, init, names, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"dependsOn\", function() { return dependsOn; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"init\", function() { return init; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"names\", function() { return names; });\n/* harmony import */ var _common_adjust_zone__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common/adjust_zone */ \"./node_modules/proj4/lib/common/adjust_zone.js\");\n/* harmony import */ var _etmerc__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./etmerc */ \"./node_modules/proj4/lib/projections/etmerc.js\");\n/* harmony import */ var _constants_values__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../constants/values */ \"./node_modules/proj4/lib/constants/values.js\");\n\n\nvar dependsOn = 'etmerc';\n\n\n\nfunction init() {\n var zone = Object(_common_adjust_zone__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.zone, this.long0);\n if (zone === undefined) {\n throw new Error('unknown utm zone');\n }\n this.lat0 = 0;\n this.long0 = ((6 * Math.abs(zone)) - 183) * _constants_values__WEBPACK_IMPORTED_MODULE_2__[\"D2R\"];\n this.x0 = 500000;\n this.y0 = this.utmSouth ? 10000000 : 0;\n this.k0 = 0.9996;\n\n _etmerc__WEBPACK_IMPORTED_MODULE_1__[\"default\"].init.apply(this);\n this.forward = _etmerc__WEBPACK_IMPORTED_MODULE_1__[\"default\"].forward;\n this.inverse = _etmerc__WEBPACK_IMPORTED_MODULE_1__[\"default\"].inverse;\n}\n\nvar names = [\"Universal Transverse Mercator System\", \"utm\"];\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n init: init,\n names: names,\n dependsOn: dependsOn\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/projections/utm.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/projections/vandg.js": -/*!*****************************************************!*\ - !*** ./node_modules/proj4/lib/projections/vandg.js ***! - \*****************************************************/ -/*! exports provided: init, forward, inverse, names, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"init\", function() { return init; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"forward\", function() { return forward; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"inverse\", function() { return inverse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"names\", function() { return names; });\n/* harmony import */ var _common_adjust_lon__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../common/adjust_lon */ \"./node_modules/proj4/lib/common/adjust_lon.js\");\n/* harmony import */ var _constants_values__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants/values */ \"./node_modules/proj4/lib/constants/values.js\");\n/* harmony import */ var _common_asinz__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../common/asinz */ \"./node_modules/proj4/lib/common/asinz.js\");\n\n\n\n\n\n\n/* Initialize the Van Der Grinten projection\n ----------------------------------------*/\nfunction init() {\n //this.R = 6370997; //Radius of earth\n this.R = this.a;\n}\n\nfunction forward(p) {\n\n var lon = p.x;\n var lat = p.y;\n\n /* Forward equations\n -----------------*/\n var dlon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(lon - this.long0);\n var x, y;\n\n if (Math.abs(lat) <= _constants_values__WEBPACK_IMPORTED_MODULE_1__[\"EPSLN\"]) {\n x = this.x0 + this.R * dlon;\n y = this.y0;\n }\n var theta = Object(_common_asinz__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(2 * Math.abs(lat / Math.PI));\n if ((Math.abs(dlon) <= _constants_values__WEBPACK_IMPORTED_MODULE_1__[\"EPSLN\"]) || (Math.abs(Math.abs(lat) - _constants_values__WEBPACK_IMPORTED_MODULE_1__[\"HALF_PI\"]) <= _constants_values__WEBPACK_IMPORTED_MODULE_1__[\"EPSLN\"])) {\n x = this.x0;\n if (lat >= 0) {\n y = this.y0 + Math.PI * this.R * Math.tan(0.5 * theta);\n }\n else {\n y = this.y0 + Math.PI * this.R * -Math.tan(0.5 * theta);\n }\n // return(OK);\n }\n var al = 0.5 * Math.abs((Math.PI / dlon) - (dlon / Math.PI));\n var asq = al * al;\n var sinth = Math.sin(theta);\n var costh = Math.cos(theta);\n\n var g = costh / (sinth + costh - 1);\n var gsq = g * g;\n var m = g * (2 / sinth - 1);\n var msq = m * m;\n var con = Math.PI * this.R * (al * (g - msq) + Math.sqrt(asq * (g - msq) * (g - msq) - (msq + asq) * (gsq - msq))) / (msq + asq);\n if (dlon < 0) {\n con = -con;\n }\n x = this.x0 + con;\n //con = Math.abs(con / (Math.PI * this.R));\n var q = asq + g;\n con = Math.PI * this.R * (m * q - al * Math.sqrt((msq + asq) * (asq + 1) - q * q)) / (msq + asq);\n if (lat >= 0) {\n //y = this.y0 + Math.PI * this.R * Math.sqrt(1 - con * con - 2 * al * con);\n y = this.y0 + con;\n }\n else {\n //y = this.y0 - Math.PI * this.R * Math.sqrt(1 - con * con - 2 * al * con);\n y = this.y0 - con;\n }\n p.x = x;\n p.y = y;\n return p;\n}\n\n/* Van Der Grinten inverse equations--mapping x,y to lat/long\n ---------------------------------------------------------*/\nfunction inverse(p) {\n var lon, lat;\n var xx, yy, xys, c1, c2, c3;\n var a1;\n var m1;\n var con;\n var th1;\n var d;\n\n /* inverse equations\n -----------------*/\n p.x -= this.x0;\n p.y -= this.y0;\n con = Math.PI * this.R;\n xx = p.x / con;\n yy = p.y / con;\n xys = xx * xx + yy * yy;\n c1 = -Math.abs(yy) * (1 + xys);\n c2 = c1 - 2 * yy * yy + xx * xx;\n c3 = -2 * c1 + 1 + 2 * yy * yy + xys * xys;\n d = yy * yy / c3 + (2 * c2 * c2 * c2 / c3 / c3 / c3 - 9 * c1 * c2 / c3 / c3) / 27;\n a1 = (c1 - c2 * c2 / 3 / c3) / c3;\n m1 = 2 * Math.sqrt(-a1 / 3);\n con = ((3 * d) / a1) / m1;\n if (Math.abs(con) > 1) {\n if (con >= 0) {\n con = 1;\n }\n else {\n con = -1;\n }\n }\n th1 = Math.acos(con) / 3;\n if (p.y >= 0) {\n lat = (-m1 * Math.cos(th1 + Math.PI / 3) - c2 / 3 / c3) * Math.PI;\n }\n else {\n lat = -(-m1 * Math.cos(th1 + Math.PI / 3) - c2 / 3 / c3) * Math.PI;\n }\n\n if (Math.abs(xx) < _constants_values__WEBPACK_IMPORTED_MODULE_1__[\"EPSLN\"]) {\n lon = this.long0;\n }\n else {\n lon = Object(_common_adjust_lon__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this.long0 + Math.PI * (xys - 1 + Math.sqrt(1 + 2 * (xx * xx - yy * yy) + xys * xys)) / 2 / xx);\n }\n\n p.x = lon;\n p.y = lat;\n return p;\n}\n\nvar names = [\"Van_der_Grinten_I\", \"VanDerGrinten\", \"vandg\"];\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n init: init,\n forward: forward,\n inverse: inverse,\n names: names\n});\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/projections/vandg.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/transform.js": -/*!*********************************************!*\ - !*** ./node_modules/proj4/lib/transform.js ***! - \*********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return transform; });\n/* harmony import */ var _constants_values__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants/values */ \"./node_modules/proj4/lib/constants/values.js\");\n/* harmony import */ var _datum_transform__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./datum_transform */ \"./node_modules/proj4/lib/datum_transform.js\");\n/* harmony import */ var _adjust_axis__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./adjust_axis */ \"./node_modules/proj4/lib/adjust_axis.js\");\n/* harmony import */ var _Proj__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Proj */ \"./node_modules/proj4/lib/Proj.js\");\n/* harmony import */ var _common_toPoint__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./common/toPoint */ \"./node_modules/proj4/lib/common/toPoint.js\");\n\n\n\n\n\nfunction checkNotWGS(source, dest) {\n return ((source.datum.datum_type === _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"PJD_3PARAM\"] || source.datum.datum_type === _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"PJD_7PARAM\"]) && dest.datumCode !== 'WGS84') || ((dest.datum.datum_type === _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"PJD_3PARAM\"] || dest.datum.datum_type === _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"PJD_7PARAM\"]) && source.datumCode !== 'WGS84');\n}\n\nfunction transform(source, dest, point) {\n var wgs84;\n if (Array.isArray(point)) {\n point = Object(_common_toPoint__WEBPACK_IMPORTED_MODULE_4__[\"default\"])(point);\n }\n\n // Workaround for datum shifts towgs84, if either source or destination projection is not wgs84\n if (source.datum && dest.datum && checkNotWGS(source, dest)) {\n wgs84 = new _Proj__WEBPACK_IMPORTED_MODULE_3__[\"default\"]('WGS84');\n point = transform(source, wgs84, point);\n source = wgs84;\n }\n // DGR, 2010/11/12\n if (source.axis !== 'enu') {\n point = Object(_adjust_axis__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(source, false, point);\n }\n // Transform source points to long/lat, if they aren't already.\n if (source.projName === 'longlat') {\n point = {\n x: point.x * _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"D2R\"],\n y: point.y * _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"D2R\"]\n };\n }\n else {\n if (source.to_meter) {\n point = {\n x: point.x * source.to_meter,\n y: point.y * source.to_meter\n };\n }\n point = source.inverse(point); // Convert Cartesian to longlat\n }\n // Adjust for the prime meridian if necessary\n if (source.from_greenwich) {\n point.x += source.from_greenwich;\n }\n\n // Convert datums if needed, and if possible.\n point = Object(_datum_transform__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(source.datum, dest.datum, point);\n\n // Adjust for the prime meridian if necessary\n if (dest.from_greenwich) {\n point = {\n x: point.x - dest.from_greenwich,\n y: point.y\n };\n }\n\n if (dest.projName === 'longlat') {\n // convert radians to decimal degrees\n point = {\n x: point.x * _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"R2D\"],\n y: point.y * _constants_values__WEBPACK_IMPORTED_MODULE_0__[\"R2D\"]\n };\n } else { // else project\n point = dest.forward(point);\n if (dest.to_meter) {\n point = {\n x: point.x / dest.to_meter,\n y: point.y / dest.to_meter\n };\n }\n }\n\n // DGR, 2010/11/12\n if (dest.axis !== 'enu') {\n return Object(_adjust_axis__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(dest, true, point);\n }\n\n return point;\n}\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/transform.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/lib/version.js": -/*!*******************************************!*\ - !*** ./node_modules/proj4/lib/version.js ***! - \*******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _package_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../package.json */ \"./node_modules/proj4/package.json\");\nvar _package_json__WEBPACK_IMPORTED_MODULE_0___namespace = /*#__PURE__*/__webpack_require__.t(/*! ../package.json */ \"./node_modules/proj4/package.json\", 1);\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _package_json__WEBPACK_IMPORTED_MODULE_0__[\"version\"]; });\n\n\n\n\n//# sourceURL=webpack:///./node_modules/proj4/lib/version.js?"); - -/***/ }), - -/***/ "./node_modules/proj4/package.json": -/*!*****************************************!*\ - !*** ./node_modules/proj4/package.json ***! - \*****************************************/ -/*! exports provided: _args, _from, _id, _inBundle, _integrity, _location, _phantomChildren, _requested, _requiredBy, _resolved, _spec, _where, author, bugs, contributors, dependencies, description, devDependencies, directories, homepage, license, main, module, name, repository, scripts, version, default */ -/***/ (function(module) { - -eval("module.exports = JSON.parse(\"{\\\"_args\\\":[[\\\"proj4@2.4.3\\\",\\\"/home/mthh/code/magrit/client\\\"]],\\\"_from\\\":\\\"proj4@2.4.3\\\",\\\"_id\\\":\\\"proj4@2.4.3\\\",\\\"_inBundle\\\":false,\\\"_integrity\\\":\\\"sha1-87t+Yxv/wEfDaho8wUUzoDu+mWk=\\\",\\\"_location\\\":\\\"/proj4\\\",\\\"_phantomChildren\\\":{},\\\"_requested\\\":{\\\"type\\\":\\\"version\\\",\\\"registry\\\":true,\\\"raw\\\":\\\"proj4@2.4.3\\\",\\\"name\\\":\\\"proj4\\\",\\\"escapedName\\\":\\\"proj4\\\",\\\"rawSpec\\\":\\\"2.4.3\\\",\\\"saveSpec\\\":null,\\\"fetchSpec\\\":\\\"2.4.3\\\"},\\\"_requiredBy\\\":[\\\"/\\\"],\\\"_resolved\\\":\\\"https://registry.npmjs.org/proj4/-/proj4-2.4.3.tgz\\\",\\\"_spec\\\":\\\"2.4.3\\\",\\\"_where\\\":\\\"/home/mthh/code/magrit/client\\\",\\\"author\\\":\\\"\\\",\\\"bugs\\\":{\\\"url\\\":\\\"https://github.com/proj4js/proj4js/issues\\\"},\\\"contributors\\\":[{\\\"name\\\":\\\"Mike Adair\\\",\\\"email\\\":\\\"madair@dmsolutions.ca\\\"},{\\\"name\\\":\\\"Richard Greenwood\\\",\\\"email\\\":\\\"rich@greenwoodmap.com\\\"},{\\\"name\\\":\\\"Calvin Metcalf\\\",\\\"email\\\":\\\"calvin.metcalf@gmail.com\\\"},{\\\"name\\\":\\\"Richard Marsden\\\",\\\"url\\\":\\\"http://www.winwaed.com\\\"},{\\\"name\\\":\\\"T. Mittan\\\"},{\\\"name\\\":\\\"D. Steinwand\\\"},{\\\"name\\\":\\\"S. Nelson\\\"}],\\\"dependencies\\\":{\\\"mgrs\\\":\\\"1.0.0\\\",\\\"wkt-parser\\\":\\\"^1.1.3\\\"},\\\"description\\\":\\\"Proj4js is a JavaScript library to transform point coordinates from one coordinate system to another, including datum transformations.\\\",\\\"devDependencies\\\":{\\\"chai\\\":\\\"~1.8.1\\\",\\\"curl\\\":\\\"git://github.com/cujojs/curl.git\\\",\\\"grunt\\\":\\\"~0.4.2\\\",\\\"grunt-cli\\\":\\\"~0.1.13\\\",\\\"grunt-contrib-connect\\\":\\\"~0.6.0\\\",\\\"grunt-contrib-jshint\\\":\\\"~1.1.0\\\",\\\"grunt-contrib-uglify\\\":\\\"~0.11.1\\\",\\\"grunt-mocha-phantomjs\\\":\\\"~0.4.0\\\",\\\"grunt-rollup\\\":\\\"^1.0.1\\\",\\\"istanbul\\\":\\\"~0.2.4\\\",\\\"mocha\\\":\\\"~1.17.1\\\",\\\"rollup\\\":\\\"^0.41.4\\\",\\\"rollup-plugin-json\\\":\\\"^2.0.1\\\",\\\"rollup-plugin-node-resolve\\\":\\\"^2.0.0\\\",\\\"tin\\\":\\\"~0.4.0\\\"},\\\"directories\\\":{\\\"test\\\":\\\"test\\\",\\\"doc\\\":\\\"docs\\\"},\\\"homepage\\\":\\\"https://github.com/proj4js/proj4js#readme\\\",\\\"license\\\":\\\"MIT\\\",\\\"main\\\":\\\"dist/proj4-src.js\\\",\\\"module\\\":\\\"lib/index.js\\\",\\\"name\\\":\\\"proj4\\\",\\\"repository\\\":{\\\"type\\\":\\\"git\\\",\\\"url\\\":\\\"git://github.com/proj4js/proj4js.git\\\"},\\\"scripts\\\":{\\\"build\\\":\\\"grunt\\\",\\\"build:tmerc\\\":\\\"grunt build:tmerc\\\",\\\"test\\\":\\\"npm run build && istanbul test _mocha test/test.js\\\"},\\\"version\\\":\\\"2.4.3\\\"}\");\n\n//# sourceURL=webpack:///./node_modules/proj4/package.json?"); - -/***/ }), - -/***/ "./node_modules/proj4/projs.js": -/*!*************************************!*\ - !*** ./node_modules/proj4/projs.js ***! - \*************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _lib_projections_tmerc__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/projections/tmerc */ \"./node_modules/proj4/lib/projections/tmerc.js\");\n/* harmony import */ var _lib_projections_etmerc__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lib/projections/etmerc */ \"./node_modules/proj4/lib/projections/etmerc.js\");\n/* harmony import */ var _lib_projections_utm__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lib/projections/utm */ \"./node_modules/proj4/lib/projections/utm.js\");\n/* harmony import */ var _lib_projections_sterea__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./lib/projections/sterea */ \"./node_modules/proj4/lib/projections/sterea.js\");\n/* harmony import */ var _lib_projections_stere__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./lib/projections/stere */ \"./node_modules/proj4/lib/projections/stere.js\");\n/* harmony import */ var _lib_projections_somerc__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./lib/projections/somerc */ \"./node_modules/proj4/lib/projections/somerc.js\");\n/* harmony import */ var _lib_projections_omerc__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./lib/projections/omerc */ \"./node_modules/proj4/lib/projections/omerc.js\");\n/* harmony import */ var _lib_projections_lcc__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./lib/projections/lcc */ \"./node_modules/proj4/lib/projections/lcc.js\");\n/* harmony import */ var _lib_projections_krovak__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./lib/projections/krovak */ \"./node_modules/proj4/lib/projections/krovak.js\");\n/* harmony import */ var _lib_projections_cass__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./lib/projections/cass */ \"./node_modules/proj4/lib/projections/cass.js\");\n/* harmony import */ var _lib_projections_laea__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./lib/projections/laea */ \"./node_modules/proj4/lib/projections/laea.js\");\n/* harmony import */ var _lib_projections_aea__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./lib/projections/aea */ \"./node_modules/proj4/lib/projections/aea.js\");\n/* harmony import */ var _lib_projections_gnom__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./lib/projections/gnom */ \"./node_modules/proj4/lib/projections/gnom.js\");\n/* harmony import */ var _lib_projections_cea__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./lib/projections/cea */ \"./node_modules/proj4/lib/projections/cea.js\");\n/* harmony import */ var _lib_projections_eqc__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./lib/projections/eqc */ \"./node_modules/proj4/lib/projections/eqc.js\");\n/* harmony import */ var _lib_projections_poly__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./lib/projections/poly */ \"./node_modules/proj4/lib/projections/poly.js\");\n/* harmony import */ var _lib_projections_nzmg__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./lib/projections/nzmg */ \"./node_modules/proj4/lib/projections/nzmg.js\");\n/* harmony import */ var _lib_projections_mill__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./lib/projections/mill */ \"./node_modules/proj4/lib/projections/mill.js\");\n/* harmony import */ var _lib_projections_sinu__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./lib/projections/sinu */ \"./node_modules/proj4/lib/projections/sinu.js\");\n/* harmony import */ var _lib_projections_moll__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./lib/projections/moll */ \"./node_modules/proj4/lib/projections/moll.js\");\n/* harmony import */ var _lib_projections_eqdc__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./lib/projections/eqdc */ \"./node_modules/proj4/lib/projections/eqdc.js\");\n/* harmony import */ var _lib_projections_vandg__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./lib/projections/vandg */ \"./node_modules/proj4/lib/projections/vandg.js\");\n/* harmony import */ var _lib_projections_aeqd__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./lib/projections/aeqd */ \"./node_modules/proj4/lib/projections/aeqd.js\");\n/* harmony import */ var _lib_projections_ortho__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./lib/projections/ortho */ \"./node_modules/proj4/lib/projections/ortho.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (function(proj4){\n proj4.Proj.projections.add(_lib_projections_tmerc__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n proj4.Proj.projections.add(_lib_projections_etmerc__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n proj4.Proj.projections.add(_lib_projections_utm__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n proj4.Proj.projections.add(_lib_projections_sterea__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n proj4.Proj.projections.add(_lib_projections_stere__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n proj4.Proj.projections.add(_lib_projections_somerc__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n proj4.Proj.projections.add(_lib_projections_omerc__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\n proj4.Proj.projections.add(_lib_projections_lcc__WEBPACK_IMPORTED_MODULE_7__[\"default\"]);\n proj4.Proj.projections.add(_lib_projections_krovak__WEBPACK_IMPORTED_MODULE_8__[\"default\"]);\n proj4.Proj.projections.add(_lib_projections_cass__WEBPACK_IMPORTED_MODULE_9__[\"default\"]);\n proj4.Proj.projections.add(_lib_projections_laea__WEBPACK_IMPORTED_MODULE_10__[\"default\"]);\n proj4.Proj.projections.add(_lib_projections_aea__WEBPACK_IMPORTED_MODULE_11__[\"default\"]);\n proj4.Proj.projections.add(_lib_projections_gnom__WEBPACK_IMPORTED_MODULE_12__[\"default\"]);\n proj4.Proj.projections.add(_lib_projections_cea__WEBPACK_IMPORTED_MODULE_13__[\"default\"]);\n proj4.Proj.projections.add(_lib_projections_eqc__WEBPACK_IMPORTED_MODULE_14__[\"default\"]);\n proj4.Proj.projections.add(_lib_projections_poly__WEBPACK_IMPORTED_MODULE_15__[\"default\"]);\n proj4.Proj.projections.add(_lib_projections_nzmg__WEBPACK_IMPORTED_MODULE_16__[\"default\"]);\n proj4.Proj.projections.add(_lib_projections_mill__WEBPACK_IMPORTED_MODULE_17__[\"default\"]);\n proj4.Proj.projections.add(_lib_projections_sinu__WEBPACK_IMPORTED_MODULE_18__[\"default\"]);\n proj4.Proj.projections.add(_lib_projections_moll__WEBPACK_IMPORTED_MODULE_19__[\"default\"]);\n proj4.Proj.projections.add(_lib_projections_eqdc__WEBPACK_IMPORTED_MODULE_20__[\"default\"]);\n proj4.Proj.projections.add(_lib_projections_vandg__WEBPACK_IMPORTED_MODULE_21__[\"default\"]);\n proj4.Proj.projections.add(_lib_projections_aeqd__WEBPACK_IMPORTED_MODULE_22__[\"default\"]);\n proj4.Proj.projections.add(_lib_projections_ortho__WEBPACK_IMPORTED_MODULE_23__[\"default\"]);\n});\n\n//# sourceURL=webpack:///./node_modules/proj4/projs.js?"); - -/***/ }), - -/***/ "./node_modules/setimmediate/setImmediate.js": -/*!***************************************************!*\ - !*** ./node_modules/setimmediate/setImmediate.js ***! - \***************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -eval("/* WEBPACK VAR INJECTION */(function(global, process) {(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a - + - + diff --git a/magrit_app/static/page404.html b/magrit_app/static/page404.html index c63de1acc..153580607 100644 --- a/magrit_app/static/page404.html +++ b/magrit_app/static/page404.html @@ -1,5 +1,5 @@ - + @@ -139,6 +139,7 @@

-1 ? lang : 'en'; + document.querySelector('html').setAttribute('lang', lang); i18next.use(i18nextXHRBackend) .init({ debug: true, @@ -198,6 +199,7 @@

+maxmemory 8gb # MAXMEMORY POLICY: how Redis will select what to remove when maxmemory # is reached. You can select among five behaviors: @@ -587,7 +587,7 @@ slave-priority 100 # # The default is: # -# maxmemory-policy noeviction +maxmemory-policy volatile-ttl # LRU, LFU and minimal TTL algorithms are not precise algorithms but approximated # algorithms (in order to save memory), so you can tune it for speed or @@ -598,7 +598,7 @@ slave-priority 100 # The default of 5 produces good enough results. 10 Approximates very closely # true LRU but costs more CPU. 3 is faster but not very accurate. # -# maxmemory-samples 5 +maxmemory-samples 5 ############################# LAZY FREEING #################################### diff --git a/misc/dockerfiles/Dockerfile b/misc/dockerfiles/Dockerfile index a10b07b21..0acd7455f 100644 --- a/misc/dockerfiles/Dockerfile +++ b/misc/dockerfiles/Dockerfile @@ -36,12 +36,12 @@ ENV GDALOPTS=" --with-geos \ --with-spatialite \ --with-static-proj4=/usr/lib" -RUN mkdir $GDALBUILD && mkdir $GDALINST && cd $GDALBUILD && wget http://download.osgeo.org/gdal/2.2.3/gdal-2.2.3.tar.gz \ - && tar -xzf gdal-2.2.3.tar.gz && cd gdal-2.2.3 && ./configure --prefix=$GDALINST/gdal-2.2.3 $GDALOPTS \ +RUN mkdir $GDALBUILD && mkdir $GDALINST && cd $GDALBUILD && wget http://download.osgeo.org/gdal/2.4.2/gdal-2.4.2.tar.gz \ + && tar -xzf gdal-2.4.2.tar.gz && cd gdal-2.4.2 && ./configure --prefix=$GDALINST/gdal-2.4.2 $GDALOPTS \ && make -s -j 2 && make install -ENV PATH="${GDALINST}/gdal-2.2.3/bin:${PATH}" -ENV LD_LIBRARY_PATH="${GDALINST}/gdal-2.2.3/lib:${LD_LIBRARY_PATH}" +ENV PATH="${GDALINST}/gdal-2.4.2/bin:${PATH}" +ENV LD_LIBRARY_PATH="${GDALINST}/gdal-2.4.2/lib:${LD_LIBRARY_PATH}" ARG CACHEBUST=1 diff --git a/misc/install_gdal.sh b/misc/install_gdal.sh index 63611d113..15e967f68 100755 --- a/misc/install_gdal.sh +++ b/misc/install_gdal.sh @@ -31,12 +31,12 @@ if [ ! -d "$GDALINST" ]; then mkdir $GDALINST; fi -if [ ! -d $GDALINST/gdal-2.2.3 ]; then +if [ ! -d $GDALINST/gdal-2.4.2 ]; then cd $GDALBUILD - wget http://download.osgeo.org/gdal/2.2.3/gdal-2.2.3.tar.gz - tar -xzf gdal-2.2.3.tar.gz - cd gdal-2.2.3 - ./configure --prefix=$GDALINST/gdal-2.2.3 $GDALOPTS + wget http://download.osgeo.org/gdal/2.4.2/gdal-2.4.2.tar.gz + tar -xzf gdal-2.4.2.tar.gz + cd gdal-2.4.2 + ./configure --prefix=$GDALINST/gdal-2.4.2 $GDALOPTS make -s -j 2 make install fi diff --git a/requirements/common.txt b/requirements/common.txt index d8c3fabe4..0c6c6fc41 100644 --- a/requirements/common.txt +++ b/requirements/common.txt @@ -1,28 +1,27 @@ -aiohttp == 3.5.4 -aiohttp-session == 2.5.1 -cchardet == 2.1.4 -cryptography == 2.3.1 +aiohttp == 3.6.2 +aiohttp-session == 2.9.0 +cchardet == 2.1.5 +cryptography == 3.2 Cython >= 0.28 docopt >= 0.6.2 -Fiona == 1.8.5 -gdal == 2.2.3 -geopandas == 0.4.0 -jenkspy >= 0.1.4 -matplotlib == 2.2.3 +Fiona >= 1.8.12 +gdal == 2.4.2 +geopandas == 0.7.0 +jenkspy >= 0.1.5 +matplotlib == 3.2.0 mmh3 == 2.5.1 -numpy == 1.15.1 -pandas == 0.23.4 -pyproj == 1.9.6 -Rtree == 0.8.3 +numpy == 1.17.3 +pandas == 1.0.1 +pyproj == 2.5.0 +Rtree == 0.9.4 scipy == 1.1.0 -Shapely == 1.6.4 -ujson == 1.35 -psutil == 5.4.7 -pyexcel == 0.5.1.1 -pyexcel-io == 0.4.2 -pyexcel-ods == 0.4.0 -pyexcel-ods3 == 0.4.0 -pyexcel-xls == 0.4.0 -pyexcel-xlsx == 0.4.1 -xlrd == 1.0.0 +Shapely == 1.7.1 +ujson == 2.0.1 +psutil == 5.7.0 +pyexcel == 0.5.15 +pyexcel-io == 0.5.20 +pyexcel-ods == 0.5.6 +pyexcel-ods3 == 0.5.3 +pyexcel-xls == 0.5.8 +pyexcel-xlsx == 0.5.8 -e git+https://github.com/mthh/smoomapy-magrit@bd58548bbbb71d4c5c850e2e8e4589bebbd4c7ac#egg=smoomacypy diff --git a/requirements/dev.txt b/requirements/dev.txt index 849cb0093..850364a93 100755 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -1,6 +1,6 @@ -r prod.txt flaky == 3.4.0 -selenium == 3.13.0 -pillow == 4.1.1 +selenium == 3.141.0 +pillow == 7.1.0 pytest == 3.8.0 pytest-aiohttp == 0.3.0 diff --git a/requirements/prod.txt b/requirements/prod.txt index 507314140..bd32be178 100755 --- a/requirements/prod.txt +++ b/requirements/prod.txt @@ -1,5 +1,5 @@ -r common.txt -aioredis == 1.2.0 -gunicorn == 19.9.0 -hiredis == 0.3.0 -uvloop == 0.12.1 +aioredis == 1.3.1 +gunicorn == 20.0.4 +hiredis == 1.0.1 +uvloop == 0.14.0