{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/js/components/input-select.js","webpack:///./node_modules/core-js/internals/engine-is-node.js","webpack:///./node_modules/core-js/internals/perform.js","webpack:///./node_modules/fast-deep-equal/index.js","webpack:///./node_modules/core-js/modules/es.promise.js","webpack:///./node_modules/core-js/internals/task.js","webpack:///./node_modules/core-js/internals/validate-arguments-length.js","webpack:///./node_modules/core-js/internals/engine-is-ios.js","webpack:///./node_modules/core-js/internals/iterate.js","webpack:///./node_modules/core-js/internals/promise-statics-incorrect-iteration.js","webpack:///./node_modules/bootstrap-4-autocomplete/dist/bootstrap-4-autocomplete.js","webpack:///./src/js/utils/device.js","webpack:///./node_modules/core-js/modules/es.promise.constructor.js","webpack:///./node_modules/core-js/internals/microtask.js","webpack:///./node_modules/core-js/internals/engine-is-ios-pebble.js","webpack:///./node_modules/core-js/internals/engine-is-webos-webkit.js","webpack:///./node_modules/core-js/internals/host-report-errors.js","webpack:///./node_modules/core-js/internals/queue.js","webpack:///./node_modules/core-js/internals/engine-is-browser.js","webpack:///./node_modules/core-js/modules/es.promise.all.js","webpack:///./node_modules/core-js/modules/es.promise.catch.js","webpack:///./node_modules/core-js/modules/es.promise.race.js","webpack:///./node_modules/core-js/modules/es.promise.reject.js","webpack:///./node_modules/core-js/modules/es.promise.resolve.js","webpack:///./node_modules/core-js/internals/promise-resolve.js","webpack:///./node_modules/core-js/modules/es.string.trim.js","webpack:///./node_modules/core-js/internals/string-trim-forced.js","webpack:///./node_modules/core-js/modules/es.object.keys.js","webpack:///./node_modules/core-js/modules/web.url-search-params.js","webpack:///./node_modules/core-js/modules/web.url-search-params.constructor.js","webpack:///./node_modules/core-js/internals/native-url.js","webpack:///./node_modules/core-js/modules/es.string.search.js","webpack:///./node_modules/core-js/internals/same-value.js","webpack:///./node_modules/kdbush/src/sort.js","webpack:///./node_modules/kdbush/src/within.js","webpack:///./node_modules/kdbush/src/index.js","webpack:///./node_modules/kdbush/src/range.js","webpack:///./node_modules/supercluster/index.js","webpack:///./node_modules/@googlemaps/markerclusterer/dist/index.esm.js","webpack:///./src/js/utils/util-extent.js","webpack:///./src/js/components/map-extent.js","webpack:///./src/js/pages/map.js","webpack:///./node_modules/core-js/internals/promise-native-constructor.js","webpack:///./node_modules/core-js/internals/promise-constructor-detection.js","webpack:///./node_modules/core-js/internals/new-promise-capability.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","5","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","$","initialSelect","isMobile","select2","minimumResultsForSearch","width","reInitialSelect","hasClass","ready","on","classof","global","process","exec","error","equal","a","b","constructor","keys","Array","isArray","RegExp","source","flags","valueOf","toString","location","defer","channel","port","isCallable","hasOwn","fails","html","arraySlice","createElement","validateArgumentsLength","IS_IOS","IS_NODE","set","setImmediate","clear","clearImmediate","Dispatch","Function","MessageChannel","String","counter","queue","run","id","fn","runner","listener","event","post","postMessage","protocol","host","handler","arguments","args","undefined","nextTick","now","port2","port1","onmessage","addEventListener","importScripts","appendChild","removeChild","this","setTimeout","TypeError","passed","required","userAgent","test","anObject","tryToString","isArrayIteratorMethod","lengthOfArrayLike","isPrototypeOf","getIterator","getIteratorMethod","iteratorClose","Result","stopped","ResultPrototype","iterable","unboundFunction","options","iterator","iterFn","index","next","step","that","AS_ENTRIES","IS_ITERATOR","INTERRUPTED","stop","condition","callFn","done","NativePromiseConstructor","checkCorrectnessOfIteration","FORCED_PROMISE_CONSTRUCTOR","CONSTRUCTOR","all","then","defaults","treshold","maximumItems","highlightTyped","highlightClass","createItem","lookup","item","opts","label","idx","toLowerCase","indexOf","substring","classes","ret","_i","classes_1","clas","expandClassArray","createItems","field","val","dropdown","items","count","append","find","click","text","onSelectItem","children","autocomplete","extend","_field","parent","removeClass","removeAttr","remove","addClass","attr","dropdownClass","after","dropdownOptions","off","e","stopPropagation","keyup","jQuery","hasTouch","navigator","Internal","OwnPromiseCapability","nativeThen","IS_PURE","defineBuiltIn","setPrototypeOf","setToStringTag","setSpecies","aCallable","isObject","anInstance","speciesConstructor","task","microtask","hostReportErrors","perform","Queue","InternalStateModule","PromiseConstructorDetection","newPromiseCapabilityModule","NATIVE_PROMISE_REJECTION_EVENT","REJECTION_EVENT","NATIVE_PROMISE_SUBCLASSING","SUBCLASSING","getInternalPromiseState","getterFor","setInternalState","NativePromisePrototype","PromiseConstructor","PromisePrototype","document","newPromiseCapability","f","newGenericPromiseCapability","DISPATCH_EVENT","createEvent","dispatchEvent","isThenable","it","callReaction","reaction","state","exited","ok","fail","resolve","reject","domain","rejection","onHandleUnhandled","enter","exit","promise","notify","isReject","notified","reactions","onUnhandled","reason","initEvent","facade","isUnhandled","emit","unwrap","internalReject","internalResolve","wrapper","executor","type","onFulfilled","onRejected","add","C","PromiseWrapper","unsafe","wrap","forced","Promise","flush","head","last","toggle","node","getOwnPropertyDescriptor","macrotask","IS_IOS_PEBBLE","IS_WEBOS_WEBKIT","MutationObserver","WebKitMutationObserver","queueMicrotaskDescriptor","queueMicrotask","createTextNode","observe","characterData","Pebble","console","tail","entry","Deno","iterate","target","stat","capability","$promiseResolve","values","remaining","alreadyCalled","getBuiltIn","proto","real","method","race","promiseResolve","PromiseConstructorWrapper","CHECK_WRAPPER","x","promiseCapability","$trim","trim","forcedStringTrimMethod","PROPER_FUNCTION_NAME","PROPER","whitespaces","METHOD_NAME","toObject","nativeKeys","uncurryThis","DESCRIPTORS","USE_NATIVE_URL","defineBuiltIns","createIteratorConstructor","$toString","createPropertyDescriptor","wellKnownSymbol","arraySort","ITERATOR","getInternalParamsState","getInternalIteratorState","URL_SEARCH_PARAMS","safeGetBuiltIn","descriptor","nativeFetch","NativeRequest","Headers","RequestPrototype","HeadersPrototype","decodeURIComponent","encodeURIComponent","charAt","join","replace","split","stringSlice","plus","sequences","percentSequence","bytes","percentDecode","sequence","deserialize","replacements","replacer","match","serialize","URLSearchParamsIterator","params","kind","entries","URLSearchParamsState","init","url","parseObject","parseQuery","bindURL","update","entryIterator","entryNext","first","second","iteratorMethod","query","attribute","attributes","updateURL","URLSearchParamsConstructor","URLSearchParamsPrototype","getAll","has","found","sort","forEach","callback","boundFunction","URLSearchParams","headersHas","headersSet","wrapRequestOptions","headers","body","noTargetGet","fetch","input","RequestConstructor","Request","getState","URL","searchParams","pathname","toJSON","href","username","hash","fixRegExpWellKnownSymbolLogic","requireObjectCoercible","sameValue","getMethod","regExpExec","SEARCH","nativeSearch","maybeCallNative","regexp","O","searcher","string","rx","S","res","previousLastIndex","lastIndex","is","y","sortKD","ids","coords","nodeSize","left","right","depth","k","inc","z","Math","log","exp","sd","sqrt","newLeft","max","floor","newRight","min","swapItem","swap","arr","tmp","sqDist","ax","ay","bx","by","dx","dy","defaultGetX","defaultGetY","points","getX","getY","ArrayType","Float64Array","IndexArrayType","Uint16Array","Uint32Array","minX","minY","maxX","maxY","stack","axis","pop","nextAxis","range","qx","qy","r2","within","defaultOptions","minZoom","maxZoom","minPoints","radius","extent","generateId","reduce","map","props","fround","Float32Array","trees","time","timerId","clusters","geometry","createPointCluster","timeEnd","Date","_cluster","bbox","zoom","minLng","minLat","maxLng","maxLat","easternHem","getClusters","westernHem","concat","tree","_limitZoom","lngX","latY","numPoints","getClusterJSON","clusterId","originId","_getOriginId","originZoom","_getOriginZoom","errorMsg","Error","origin","pow","parentId","limit","offset","leaves","_appendLeaves","z2","top","bottom","tile","features","_addTileFeatures","expansionZoom","getChildren","properties","cluster_id","skipped","child","cluster","point_count","isCluster","tags","px","py","getClusterProperties","coordinates","round","neighborIds","numPointsOrigin","neighborId","wx","wy","clusterProperties","_map","numPoints2","createCluster","point","clone","original","Infinity","yLat","abbrev","point_count_abbreviated","lng","lat","sin","PI","y2","atan","dest","src","__rest","getOwnPropertySymbols","propertyIsEnumerable","Cluster","markers","position","google","maps","LatLng","_position","bounds","marker","getPosition","LatLngBounds","getCenter","filter","getVisible","setMap","AbstractAlgorithm","noop","_a","super","superCluster","assign","changed","load","getZoom","transformCluster","getLeaves","leaf","ClusterStats","sum","clusterMarkerCounts","clusterMarkerSum","mean","DefaultRenderer","stats","color","svg","btoa","Marker","icon","scaledSize","Size","fontSize","title","zIndex","Number","MAX_ZINDEX","OverlayViewSafe","type1","type2","OverlayView","MarkerClustererEvents","defaultOnClusterClickHandler","_","fitBounds","MarkerClusterer","algorithm","renderer","onClusterClick","noDraw","includes","render","addMarker","removed","removeMarker","getMap","Map","getProjection","trigger","CLUSTERING_BEGIN","calculate","mapCanvasProjection","reset","renderClusters","CLUSTERING_END","idleListener","addListener","removeListener","delete","CLUSTER_CLICK","tmpl","pStr","pData","reg","str","currentDatas","infoWindow","markerCluster","geoLocation","highlightMarkerIndex","ClusterLabel","initCity","$obj","select","cityValue","City","option","textContent","onAutoSelectItem","Address","StationName","setIcon","myDefaultIcon","close","initData","datas","defaultrenderer","iconObj","anchor","Point","iconObjActive","ViewInfo","StationCategory","Latitude","Longitude","googleMapNav","latitude","longitude","viewinfohtml","markerInfo","Area","BusinessHours","ID","setContent","setZoom","panTo","open","initMarkers","lable","enable","className","_e","SuperClusterAlgorithm","autocompleteConfig","cityChange","searchClick","cityVal","areaVal","filters","valarray","v","checkAddr","alert","valtypes","valstations","each","removeMarkers","addMarkers","hasType","hasStation","setVisible","setMapOnAll","hideMarkers","mapObject","InfoWindow","minWidth","pixelOffset","geolocation","getCurrentPosition","ajax","dataType","success","returnCode","windowWidth","Taiwan","north","south","west","east","vh","ZoomControl1","div","mapOne","controlDiv","style","padding","controlWrapper","classList","zoomInButton","zoomOutButton","addDomListener","getElementById","mapId","center","disableDefaultUI","zoomControl","restriction","latLngBounds","zoomControlDiv","controls","ControlPosition","RIGHT_CENTER","initMap","innerHeight","documentElement","setProperty","isForced","inspectSource","IS_BROWSER","V8_VERSION","SPECIES","PromiseRejectionEvent","PROMISE_CONSTRUCTOR_SOURCE","GLOBAL_CORE_JS_PROMISE","FakePromise","PromiseCapability","$$resolve","$$reject"],"mappings":"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","file":"js/map.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t5: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/BZ/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([510,0]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import { isMobile } from '@/utils/device';\r\n\r\nconst { $ } = window;\r\n\r\nfunction initialSelect() {\r\n if (!isMobile()) {\r\n $('.js-select').select2({\r\n minimumResultsForSearch: -1,\r\n width: 'style',\r\n });\r\n }\r\n}\r\n\r\nfunction destroySelect() {\r\n if ($('.js-select').hasClass('select2-hidden-accessible')) {\r\n $('.js-select').select2('destroy');\r\n }\r\n}\r\n\r\nfunction reInitialSelect() {\r\n destroySelect();\r\n initialSelect();\r\n}\r\n\r\n$(window).ready(() => {\r\n initialSelect();\r\n\r\n $(window).on('resize', () => {\r\n reInitialSelect();\r\n });\r\n});\r\n","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","module.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","'use strict';\n\n// do not edit .js files directly - edit src/index.jst\n\n\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n","// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/es.promise.constructor');\nrequire('../modules/es.promise.all');\nrequire('../modules/es.promise.catch');\nrequire('../modules/es.promise.race');\nrequire('../modules/es.promise.reject');\nrequire('../modules/es.promise.resolve');\n","var global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar Dispatch = global.Dispatch;\nvar Function = global.Function;\nvar MessageChannel = global.MessageChannel;\nvar String = global.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar location, defer, channel, port;\n\ntry {\n // Deno throws a ReferenceError on `location` access without `--location` flag\n location = global.location;\n} catch (error) { /* empty */ }\n\nvar run = function (id) {\n if (hasOwn(queue, id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(String(id), location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(handler) {\n validateArgumentsLength(arguments.length, 1);\n var fn = isCallable(handler) ? handler : Function(handler);\n var args = arraySlice(arguments, 1);\n queue[++counter] = function () {\n apply(fn, undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (IS_NODE) {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n isCallable(global.postMessage) &&\n !global.importScripts &&\n location && location.protocol !== 'file:' &&\n !fails(post)\n ) {\n defer = post;\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","var global = require('../internals/global');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw TypeError('Not enough arguments');\n return passed;\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","var global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar TypeError = global.TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","var NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\nmodule.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) {\n NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ });\n});\n","(function ($) {\r\n var defaults = {\r\n treshold: 4,\r\n maximumItems: 5,\r\n highlightTyped: true,\r\n highlightClass: 'text-primary'\r\n };\r\n function createItem(lookup, item, opts) {\r\n var label;\r\n if (opts.highlightTyped) {\r\n var idx = item.label.toLowerCase().indexOf(lookup.toLowerCase());\r\n label = item.label.substring(0, idx)\r\n + '' + item.label.substring(idx, idx + lookup.length) + ''\r\n + item.label.substring(idx + lookup.length, item.label.length);\r\n }\r\n else {\r\n label = item.label;\r\n }\r\n return '';\r\n }\r\n function expandClassArray(classes) {\r\n if (typeof classes == \"string\") {\r\n return classes;\r\n }\r\n if (classes.length == 0) {\r\n return '';\r\n }\r\n var ret = '';\r\n for (var _i = 0, classes_1 = classes; _i < classes_1.length; _i++) {\r\n var clas = classes_1[_i];\r\n ret += clas + ' ';\r\n }\r\n return ret.substring(0, ret.length - 1);\r\n }\r\n function createItems(field, opts) {\r\n var lookup = field.val();\r\n if (lookup.length < opts.treshold) {\r\n field.dropdown('hide');\r\n return 0;\r\n }\r\n var items = field.next();\r\n items.html('');\r\n var count = 0;\r\n var keys = Object.keys(opts.source);\r\n for (var i = 0; i < keys.length; i++) {\r\n var key = keys[i];\r\n var object = opts.source[key];\r\n var item = {\r\n label: opts.label ? object[opts.label] : key,\r\n value: opts.value ? object[opts.value] : object\r\n };\r\n if (item.label.toLowerCase().indexOf(lookup.toLowerCase()) >= 0) {\r\n items.append(createItem(lookup, item, opts));\r\n if (opts.maximumItems > 0 && ++count >= opts.maximumItems) {\r\n break;\r\n }\r\n }\r\n }\r\n // option action\r\n field.next().find('.dropdown-item').click(function () {\r\n field.val($(this).text());\r\n if (opts.onSelectItem) {\r\n opts.onSelectItem({\r\n value: $(this).data('value'),\r\n label: $(this).text()\r\n }, field[0]);\r\n }\r\n });\r\n return items.children().length;\r\n }\r\n $.fn.autocomplete = function (options) {\r\n // merge options with default\r\n var opts = {};\r\n $.extend(opts, defaults, options);\r\n var _field = $(this);\r\n // clear previously set autocomplete\r\n _field.parent().removeClass('dropdown');\r\n _field.removeAttr('data-toggle');\r\n _field.removeClass('dropdown-toggle');\r\n _field.parent().find('.dropdown-menu').remove();\r\n _field.dropdown('dispose');\r\n // attach dropdown\r\n _field.parent().addClass('dropdown');\r\n _field.attr('data-toggle', 'dropdown');\r\n _field.addClass('dropdown-toggle');\r\n var dropdown = $('
');\r\n // attach dropdown class\r\n if (opts.dropdownClass)\r\n dropdown.addClass(opts.dropdownClass);\r\n _field.after(dropdown);\r\n _field.dropdown(opts.dropdownOptions);\r\n this.off('click.autocomplete').click('click.autocomplete', function (e) {\r\n if (createItems(_field, opts) == 0) {\r\n // prevent show empty\r\n e.stopPropagation();\r\n _field.dropdown('hide');\r\n }\r\n ;\r\n });\r\n // show options\r\n this.off('keyup.autocomplete').keyup('keyup.autocomplete', function () {\r\n if (createItems(_field, opts) > 0) {\r\n _field.dropdown('show');\r\n }\r\n else {\r\n // sets up positioning\r\n _field.click();\r\n }\r\n });\r\n return this;\r\n };\r\n}(jQuery));\r\n","export function hasTouch() {\r\n return 'ontouchstart' in window;\r\n}\r\n\r\nexport function isMobile() {\r\n return /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent);\r\n}\r\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar IS_NODE = require('../internals/engine-is-node');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar perform = require('../internals/perform');\nvar Queue = require('../internals/queue');\nvar InternalStateModule = require('../internals/internal-state');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar PromiseConstructorDetection = require('../internals/promise-constructor-detection');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\nvar PROMISE = 'Promise';\nvar FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR;\nvar NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;\nvar NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar setInternalState = InternalStateModule.set;\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar PromiseConstructor = NativePromiseConstructor;\nvar PromisePrototype = NativePromisePrototype;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\n\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\n\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && isCallable(then = it.then) ? then : false;\n};\n\nvar callReaction = function (reaction, state) {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n call(then, result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n};\n\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n microtask(function () {\n var reactions = state.reactions;\n var reaction;\n while (reaction = reactions.get()) {\n callReaction(reaction, state);\n }\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (state) {\n call(task, global, function () {\n var promise = state.facade;\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n fn(state, value, unwrap);\n };\n};\n\nvar internalReject = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (state.facade === value) throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n call(then, value,\n bind(internalResolve, wrapper, state),\n bind(internalReject, wrapper, state)\n );\n } catch (error) {\n internalReject(wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(state, false);\n }\n } catch (error) {\n internalReject({ done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED_PROMISE_CONSTRUCTOR) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromisePrototype);\n aCallable(executor);\n call(Internal, this);\n var state = getInternalPromiseState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n\n PromisePrototype = PromiseConstructor.prototype;\n\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: new Queue(),\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n state.parent = true;\n reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;\n reaction.fail = isCallable(onRejected) && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n if (state.state == PENDING) state.reactions.add(reaction);\n else microtask(function () {\n callReaction(reaction, state);\n });\n return reaction.promise;\n });\n\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalPromiseState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\n\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!NATIVE_PROMISE_SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n call(nativeThen, that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n }\n\n // make `.constructor === Promise` work for native promise-based APIs\n try {\n delete NativePromisePrototype.constructor;\n } catch (error) { /* empty */ }\n\n // make `instanceof Promise` work for native promise-based APIs\n if (setPrototypeOf) {\n setPrototypeOf(NativePromisePrototype, PromisePrototype);\n }\n }\n}\n\n$({ global: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n","var global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar macrotask = require('../internals/task').set;\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_IOS_PEBBLE = require('../internals/engine-is-ios-pebble');\nvar IS_WEBOS_WEBKIT = require('../internals/engine-is-webos-webkit');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar document = global.document;\nvar process = global.process;\nvar Promise = global.Promise;\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\n\nvar flush, head, last, notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head) notify();\n else last = undefined;\n throw error;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n // workaround of WebKit ~ iOS Safari 10.1 bug\n promise.constructor = Promise;\n then = bind(promise.then, promise);\n notify = function () {\n then(flush);\n };\n // Node.js without promises\n } else if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessage\n // - onreadystatechange\n // - setTimeout\n } else {\n // strange IE + webpack dev server bug - use .bind(global)\n macrotask = bind(macrotask, global);\n notify = function () {\n macrotask(flush);\n };\n }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n};\n","var userAgent = require('../internals/engine-user-agent');\nvar global = require('../internals/global');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && global.Pebble !== undefined;\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","var global = require('../internals/global');\n\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length == 1 ? console.error(a) : console.error(a, b);\n }\n};\n","var Queue = function () {\n this.head = null;\n this.tail = null;\n};\n\nQueue.prototype = {\n add: function (item) {\n var entry = { item: item, next: null };\n if (this.head) this.tail.next = entry;\n else this.head = entry;\n this.tail = entry;\n },\n get: function () {\n var entry = this.head;\n if (entry) {\n this.head = entry.next;\n if (this.tail === entry) this.tail = null;\n return entry.item;\n }\n }\n};\n\nmodule.exports = Queue;\n","module.exports = typeof window == 'object' && typeof Deno != 'object';\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.all` method\n// https://tc39.es/ecma262/#sec-promise.all\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n remaining++;\n call($promiseResolve, C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// `Promise.prototype.catch` method\n// https://tc39.es/ecma262/#sec-promise.prototype.catch\n$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, {\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n});\n\n// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n var method = getBuiltIn('Promise').prototype['catch'];\n if (NativePromisePrototype['catch'] !== method) {\n defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true });\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.race` method\n// https://tc39.es/ecma262/#sec-promise.race\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n iterate(iterable, function (promise) {\n call($promiseResolve, C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\n// `Promise.reject` method\n// https://tc39.es/ecma262/#sec-promise.reject\n$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n reject: function reject(r) {\n var capability = newPromiseCapabilityModule.f(this);\n call(capability.reject, undefined, r);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar promiseResolve = require('../internals/promise-resolve');\n\nvar PromiseConstructorWrapper = getBuiltIn('Promise');\nvar CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR;\n\n// `Promise.resolve` method\n// https://tc39.es/ecma262/#sec-promise.resolve\n$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, {\n resolve: function resolve(x) {\n return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x);\n }\n});\n","var anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","var PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]()\n || non[METHOD_NAME]() !== non\n || (PROPER_FUNCTION_NAME && whitespaces[METHOD_NAME].name !== METHOD_NAME);\n });\n};\n","var $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/web.url-search-params.constructor');\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.array.iterator');\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/native-url');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar InternalStateModule = require('../internals/internal-state');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar bind = require('../internals/function-bind-context');\nvar classof = require('../internals/classof');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar $toString = require('../internals/to-string');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arraySort = require('../internals/array-sort');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n// eslint-disable-next-line es-x/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Avoid NodeJS experimental warning\nvar safeGetBuiltIn = function (name) {\n if (!DESCRIPTORS) return global[name];\n var descriptor = getOwnPropertyDescriptor(global, name);\n return descriptor && descriptor.value;\n};\n\nvar nativeFetch = safeGetBuiltIn('fetch');\nvar NativeRequest = safeGetBuiltIn('Request');\nvar Headers = safeGetBuiltIn('Headers');\nvar RequestPrototype = NativeRequest && NativeRequest.prototype;\nvar HeadersPrototype = Headers && Headers.prototype;\nvar RegExp = global.RegExp;\nvar TypeError = global.TypeError;\nvar decodeURIComponent = global.decodeURIComponent;\nvar encodeURIComponent = global.encodeURIComponent;\nvar charAt = uncurryThis(''.charAt);\nvar join = uncurryThis([].join);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar shift = uncurryThis([].shift);\nvar splice = uncurryThis([].splice);\nvar split = uncurryThis(''.split);\nvar stringSlice = uncurryThis(''.slice);\n\nvar plus = /\\+/g;\nvar sequences = Array(4);\n\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\n\nvar percentDecode = function (sequence) {\n try {\n return decodeURIComponent(sequence);\n } catch (error) {\n return sequence;\n }\n};\n\nvar deserialize = function (it) {\n var result = replace(it, plus, ' ');\n var bytes = 4;\n try {\n return decodeURIComponent(result);\n } catch (error) {\n while (bytes) {\n result = replace(result, percentSequence(bytes--), percentDecode);\n }\n return result;\n }\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replacements = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\n\nvar replacer = function (match) {\n return replacements[match];\n};\n\nvar serialize = function (it) {\n return replace(encodeURIComponent(it), find, replacer);\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n iterator: getIterator(getInternalParamsState(params).entries),\n kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];\n } return step;\n}, true);\n\nvar URLSearchParamsState = function (init) {\n this.entries = [];\n this.url = null;\n\n if (init !== undefined) {\n if (isObject(init)) this.parseObject(init);\n else this.parseQuery(typeof init == 'string' ? charAt(init, 0) === '?' ? stringSlice(init, 1) : init : $toString(init));\n }\n};\n\nURLSearchParamsState.prototype = {\n type: URL_SEARCH_PARAMS,\n bindURL: function (url) {\n this.url = url;\n this.update();\n },\n parseObject: function (object) {\n var iteratorMethod = getIteratorMethod(object);\n var iterator, next, step, entryIterator, entryNext, first, second;\n\n if (iteratorMethod) {\n iterator = getIterator(object, iteratorMethod);\n next = iterator.next;\n while (!(step = call(next, iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if (\n (first = call(entryNext, entryIterator)).done ||\n (second = call(entryNext, entryIterator)).done ||\n !call(entryNext, entryIterator).done\n ) throw TypeError('Expected sequence with length 2');\n push(this.entries, { key: $toString(first.value), value: $toString(second.value) });\n }\n } else for (var key in object) if (hasOwn(object, key)) {\n push(this.entries, { key: key, value: $toString(object[key]) });\n }\n },\n parseQuery: function (query) {\n if (query) {\n var attributes = split(query, '&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = split(attribute, '=');\n push(this.entries, {\n key: deserialize(shift(entry)),\n value: deserialize(join(entry, '='))\n });\n }\n }\n }\n },\n serialize: function () {\n var entries = this.entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n push(result, serialize(entry.key) + '=' + serialize(entry.value));\n } return join(result, '&');\n },\n update: function () {\n this.entries.length = 0;\n this.parseQuery(this.url.query);\n },\n updateURL: function () {\n if (this.url) this.url.update();\n }\n};\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n anInstance(this, URLSearchParamsPrototype);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n setInternalState(this, new URLSearchParamsState(init));\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\ndefineBuiltIns(URLSearchParamsPrototype, {\n // `URLSearchParams.prototype.append` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-append\n append: function append(name, value) {\n validateArgumentsLength(arguments.length, 2);\n var state = getInternalParamsState(this);\n push(state.entries, { key: $toString(name), value: $toString(value) });\n state.updateURL();\n },\n // `URLSearchParams.prototype.delete` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n 'delete': function (name) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var key = $toString(name);\n var index = 0;\n while (index < entries.length) {\n if (entries[index].key === key) splice(entries, index, 1);\n else index++;\n }\n state.updateURL();\n },\n // `URLSearchParams.prototype.get` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n get: function get(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = $toString(name);\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) return entries[index].value;\n }\n return null;\n },\n // `URLSearchParams.prototype.getAll` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n getAll: function getAll(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = $toString(name);\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) push(result, entries[index].value);\n }\n return result;\n },\n // `URLSearchParams.prototype.has` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n has: function has(name) {\n validateArgumentsLength(arguments.length, 1);\n var entries = getInternalParamsState(this).entries;\n var key = $toString(name);\n var index = 0;\n while (index < entries.length) {\n if (entries[index++].key === key) return true;\n }\n return false;\n },\n // `URLSearchParams.prototype.set` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n set: function set(name, value) {\n validateArgumentsLength(arguments.length, 1);\n var state = getInternalParamsState(this);\n var entries = state.entries;\n var found = false;\n var key = $toString(name);\n var val = $toString(value);\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found) splice(entries, index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found) push(entries, { key: key, value: val });\n state.updateURL();\n },\n // `URLSearchParams.prototype.sort` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n sort: function sort() {\n var state = getInternalParamsState(this);\n arraySort(state.entries, function (a, b) {\n return a.key > b.key ? 1 : -1;\n });\n state.updateURL();\n },\n // `URLSearchParams.prototype.forEach` method\n forEach: function forEach(callback /* , thisArg */) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n // `URLSearchParams.prototype.keys` method\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n // `URLSearchParams.prototype.values` method\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n // `URLSearchParams.prototype.entries` method\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\ndefineBuiltIn(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries, { name: 'entries' });\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\ndefineBuiltIn(URLSearchParamsPrototype, 'toString', function toString() {\n return getInternalParamsState(this).serialize();\n}, { enumerable: true });\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, forced: !USE_NATIVE_URL }, {\n URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` and `Request` for correct work with polyfilled `URLSearchParams`\nif (!USE_NATIVE_URL && isCallable(Headers)) {\n var headersHas = uncurryThis(HeadersPrototype.has);\n var headersSet = uncurryThis(HeadersPrototype.set);\n\n var wrapRequestOptions = function (init) {\n if (isObject(init)) {\n var body = init.body;\n var headers;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headersHas(headers, 'content-type')) {\n headersSet(headers, 'content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n return create(init, {\n body: createPropertyDescriptor(0, $toString(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n } return init;\n };\n\n if (isCallable(nativeFetch)) {\n $({ global: true, enumerable: true, noTargetGet: true, forced: true }, {\n fetch: function fetch(input /* , init */) {\n return nativeFetch(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});\n }\n });\n }\n\n if (isCallable(NativeRequest)) {\n var RequestConstructor = function Request(input /* , init */) {\n anInstance(this, RequestPrototype);\n return new NativeRequest(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});\n };\n\n RequestPrototype.constructor = RequestConstructor;\n RequestConstructor.prototype = RequestPrototype;\n\n $({ global: true, forced: true, noTargetGet: true }, {\n Request: RequestConstructor\n });\n }\n}\n\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line unicorn/relative-url-style -- required for testing\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n searchParams['delete']('b');\n result += key + value;\n });\n return (IS_PURE && !url.toJSON)\n || !searchParams.sort\n || url.href !== 'http://a/c%20d?a=1&c=3'\n || searchParams.get('c') !== '3'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !searchParams[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('http://тест').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('http://a#б').hash !== '#%D0%B1'\n // fails in Chrome 66-\n || result !== 'a1c3'\n // throws in Safari\n || new URL('http://x', undefined).host !== 'x';\n});\n","'use strict';\nvar call = require('../internals/function-call');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar sameValue = require('../internals/same-value');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@search logic\nfixRegExpWellKnownSymbolLogic('search', function (SEARCH, nativeSearch, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.es/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = requireObjectCoercible(this);\n var searcher = regexp == undefined ? undefined : getMethod(regexp, SEARCH);\n return searcher ? call(searcher, regexp, O) : new RegExp(regexp)[SEARCH](toString(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@search\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeSearch, rx, S);\n\n if (res.done) return res.value;\n\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","// `SameValue` abstract operation\n// https://tc39.es/ecma262/#sec-samevalue\n// eslint-disable-next-line es-x/no-object-is -- safe\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare -- NaN check\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","\nexport default function sortKD(ids, coords, nodeSize, left, right, depth) {\n if (right - left <= nodeSize) return;\n\n const m = (left + right) >> 1;\n\n select(ids, coords, m, left, right, depth % 2);\n\n sortKD(ids, coords, nodeSize, left, m - 1, depth + 1);\n sortKD(ids, coords, nodeSize, m + 1, right, depth + 1);\n}\n\nfunction select(ids, coords, k, left, right, inc) {\n\n while (right > left) {\n if (right - left > 600) {\n const n = right - left + 1;\n const m = k - left + 1;\n const z = Math.log(n);\n const s = 0.5 * Math.exp(2 * z / 3);\n const sd = 0.5 * Math.sqrt(z * s * (n - s) / n) * (m - n / 2 < 0 ? -1 : 1);\n const newLeft = Math.max(left, Math.floor(k - m * s / n + sd));\n const newRight = Math.min(right, Math.floor(k + (n - m) * s / n + sd));\n select(ids, coords, k, newLeft, newRight, inc);\n }\n\n const t = coords[2 * k + inc];\n let i = left;\n let j = right;\n\n swapItem(ids, coords, left, k);\n if (coords[2 * right + inc] > t) swapItem(ids, coords, left, right);\n\n while (i < j) {\n swapItem(ids, coords, i, j);\n i++;\n j--;\n while (coords[2 * i + inc] < t) i++;\n while (coords[2 * j + inc] > t) j--;\n }\n\n if (coords[2 * left + inc] === t) swapItem(ids, coords, left, j);\n else {\n j++;\n swapItem(ids, coords, j, right);\n }\n\n if (j <= k) left = j + 1;\n if (k <= j) right = j - 1;\n }\n}\n\nfunction swapItem(ids, coords, i, j) {\n swap(ids, i, j);\n swap(coords, 2 * i, 2 * j);\n swap(coords, 2 * i + 1, 2 * j + 1);\n}\n\nfunction swap(arr, i, j) {\n const tmp = arr[i];\n arr[i] = arr[j];\n arr[j] = tmp;\n}\n","\nexport default function within(ids, coords, qx, qy, r, nodeSize) {\n const stack = [0, ids.length - 1, 0];\n const result = [];\n const r2 = r * r;\n\n while (stack.length) {\n const axis = stack.pop();\n const right = stack.pop();\n const left = stack.pop();\n\n if (right - left <= nodeSize) {\n for (let i = left; i <= right; i++) {\n if (sqDist(coords[2 * i], coords[2 * i + 1], qx, qy) <= r2) result.push(ids[i]);\n }\n continue;\n }\n\n const m = Math.floor((left + right) / 2);\n\n const x = coords[2 * m];\n const y = coords[2 * m + 1];\n\n if (sqDist(x, y, qx, qy) <= r2) result.push(ids[m]);\n\n const nextAxis = (axis + 1) % 2;\n\n if (axis === 0 ? qx - r <= x : qy - r <= y) {\n stack.push(left);\n stack.push(m - 1);\n stack.push(nextAxis);\n }\n if (axis === 0 ? qx + r >= x : qy + r >= y) {\n stack.push(m + 1);\n stack.push(right);\n stack.push(nextAxis);\n }\n }\n\n return result;\n}\n\nfunction sqDist(ax, ay, bx, by) {\n const dx = ax - bx;\n const dy = ay - by;\n return dx * dx + dy * dy;\n}\n","\nimport sort from './sort';\nimport range from './range';\nimport within from './within';\n\nconst defaultGetX = p => p[0];\nconst defaultGetY = p => p[1];\n\nexport default class KDBush {\n constructor(points, getX = defaultGetX, getY = defaultGetY, nodeSize = 64, ArrayType = Float64Array) {\n this.nodeSize = nodeSize;\n this.points = points;\n\n const IndexArrayType = points.length < 65536 ? Uint16Array : Uint32Array;\n\n const ids = this.ids = new IndexArrayType(points.length);\n const coords = this.coords = new ArrayType(points.length * 2);\n\n for (let i = 0; i < points.length; i++) {\n ids[i] = i;\n coords[2 * i] = getX(points[i]);\n coords[2 * i + 1] = getY(points[i]);\n }\n\n sort(ids, coords, nodeSize, 0, ids.length - 1, 0);\n }\n\n range(minX, minY, maxX, maxY) {\n return range(this.ids, this.coords, minX, minY, maxX, maxY, this.nodeSize);\n }\n\n within(x, y, r) {\n return within(this.ids, this.coords, x, y, r, this.nodeSize);\n }\n}\n","\nexport default function range(ids, coords, minX, minY, maxX, maxY, nodeSize) {\n const stack = [0, ids.length - 1, 0];\n const result = [];\n let x, y;\n\n while (stack.length) {\n const axis = stack.pop();\n const right = stack.pop();\n const left = stack.pop();\n\n if (right - left <= nodeSize) {\n for (let i = left; i <= right; i++) {\n x = coords[2 * i];\n y = coords[2 * i + 1];\n if (x >= minX && x <= maxX && y >= minY && y <= maxY) result.push(ids[i]);\n }\n continue;\n }\n\n const m = Math.floor((left + right) / 2);\n\n x = coords[2 * m];\n y = coords[2 * m + 1];\n\n if (x >= minX && x <= maxX && y >= minY && y <= maxY) result.push(ids[m]);\n\n const nextAxis = (axis + 1) % 2;\n\n if (axis === 0 ? minX <= x : minY <= y) {\n stack.push(left);\n stack.push(m - 1);\n stack.push(nextAxis);\n }\n if (axis === 0 ? maxX >= x : maxY >= y) {\n stack.push(m + 1);\n stack.push(right);\n stack.push(nextAxis);\n }\n }\n\n return result;\n}\n","\nimport KDBush from 'kdbush';\n\nconst defaultOptions = {\n minZoom: 0, // min zoom to generate clusters on\n maxZoom: 16, // max zoom level to cluster the points on\n minPoints: 2, // minimum points to form a cluster\n radius: 40, // cluster radius in pixels\n extent: 512, // tile extent (radius is calculated relative to it)\n nodeSize: 64, // size of the KD-tree leaf node, affects performance\n log: false, // whether to log timing info\n\n // whether to generate numeric ids for input features (in vector tiles)\n generateId: false,\n\n // a reduce function for calculating custom cluster properties\n reduce: null, // (accumulated, props) => { accumulated.sum += props.sum; }\n\n // properties to use for individual points when running the reducer\n map: props => props // props => ({sum: props.my_value})\n};\n\nconst fround = Math.fround || (tmp => ((x) => { tmp[0] = +x; return tmp[0]; }))(new Float32Array(1));\n\nexport default class Supercluster {\n constructor(options) {\n this.options = extend(Object.create(defaultOptions), options);\n this.trees = new Array(this.options.maxZoom + 1);\n }\n\n load(points) {\n const {log, minZoom, maxZoom, nodeSize} = this.options;\n\n if (log) console.time('total time');\n\n const timerId = `prepare ${ points.length } points`;\n if (log) console.time(timerId);\n\n this.points = points;\n\n // generate a cluster object for each point and index input points into a KD-tree\n let clusters = [];\n for (let i = 0; i < points.length; i++) {\n if (!points[i].geometry) continue;\n clusters.push(createPointCluster(points[i], i));\n }\n this.trees[maxZoom + 1] = new KDBush(clusters, getX, getY, nodeSize, Float32Array);\n\n if (log) console.timeEnd(timerId);\n\n // cluster points on max zoom, then cluster the results on previous zoom, etc.;\n // results in a cluster hierarchy across zoom levels\n for (let z = maxZoom; z >= minZoom; z--) {\n const now = +Date.now();\n\n // create a new set of clusters for the zoom and index them with a KD-tree\n clusters = this._cluster(clusters, z);\n this.trees[z] = new KDBush(clusters, getX, getY, nodeSize, Float32Array);\n\n if (log) console.log('z%d: %d clusters in %dms', z, clusters.length, +Date.now() - now);\n }\n\n if (log) console.timeEnd('total time');\n\n return this;\n }\n\n getClusters(bbox, zoom) {\n let minLng = ((bbox[0] + 180) % 360 + 360) % 360 - 180;\n const minLat = Math.max(-90, Math.min(90, bbox[1]));\n let maxLng = bbox[2] === 180 ? 180 : ((bbox[2] + 180) % 360 + 360) % 360 - 180;\n const maxLat = Math.max(-90, Math.min(90, bbox[3]));\n\n if (bbox[2] - bbox[0] >= 360) {\n minLng = -180;\n maxLng = 180;\n } else if (minLng > maxLng) {\n const easternHem = this.getClusters([minLng, minLat, 180, maxLat], zoom);\n const westernHem = this.getClusters([-180, minLat, maxLng, maxLat], zoom);\n return easternHem.concat(westernHem);\n }\n\n const tree = this.trees[this._limitZoom(zoom)];\n const ids = tree.range(lngX(minLng), latY(maxLat), lngX(maxLng), latY(minLat));\n const clusters = [];\n for (const id of ids) {\n const c = tree.points[id];\n clusters.push(c.numPoints ? getClusterJSON(c) : this.points[c.index]);\n }\n return clusters;\n }\n\n getChildren(clusterId) {\n const originId = this._getOriginId(clusterId);\n const originZoom = this._getOriginZoom(clusterId);\n const errorMsg = 'No cluster with the specified id.';\n\n const index = this.trees[originZoom];\n if (!index) throw new Error(errorMsg);\n\n const origin = index.points[originId];\n if (!origin) throw new Error(errorMsg);\n\n const r = this.options.radius / (this.options.extent * Math.pow(2, originZoom - 1));\n const ids = index.within(origin.x, origin.y, r);\n const children = [];\n for (const id of ids) {\n const c = index.points[id];\n if (c.parentId === clusterId) {\n children.push(c.numPoints ? getClusterJSON(c) : this.points[c.index]);\n }\n }\n\n if (children.length === 0) throw new Error(errorMsg);\n\n return children;\n }\n\n getLeaves(clusterId, limit, offset) {\n limit = limit || 10;\n offset = offset || 0;\n\n const leaves = [];\n this._appendLeaves(leaves, clusterId, limit, offset, 0);\n\n return leaves;\n }\n\n getTile(z, x, y) {\n const tree = this.trees[this._limitZoom(z)];\n const z2 = Math.pow(2, z);\n const {extent, radius} = this.options;\n const p = radius / extent;\n const top = (y - p) / z2;\n const bottom = (y + 1 + p) / z2;\n\n const tile = {\n features: []\n };\n\n this._addTileFeatures(\n tree.range((x - p) / z2, top, (x + 1 + p) / z2, bottom),\n tree.points, x, y, z2, tile);\n\n if (x === 0) {\n this._addTileFeatures(\n tree.range(1 - p / z2, top, 1, bottom),\n tree.points, z2, y, z2, tile);\n }\n if (x === z2 - 1) {\n this._addTileFeatures(\n tree.range(0, top, p / z2, bottom),\n tree.points, -1, y, z2, tile);\n }\n\n return tile.features.length ? tile : null;\n }\n\n getClusterExpansionZoom(clusterId) {\n let expansionZoom = this._getOriginZoom(clusterId) - 1;\n while (expansionZoom <= this.options.maxZoom) {\n const children = this.getChildren(clusterId);\n expansionZoom++;\n if (children.length !== 1) break;\n clusterId = children[0].properties.cluster_id;\n }\n return expansionZoom;\n }\n\n _appendLeaves(result, clusterId, limit, offset, skipped) {\n const children = this.getChildren(clusterId);\n\n for (const child of children) {\n const props = child.properties;\n\n if (props && props.cluster) {\n if (skipped + props.point_count <= offset) {\n // skip the whole cluster\n skipped += props.point_count;\n } else {\n // enter the cluster\n skipped = this._appendLeaves(result, props.cluster_id, limit, offset, skipped);\n // exit the cluster\n }\n } else if (skipped < offset) {\n // skip a single point\n skipped++;\n } else {\n // add a single point\n result.push(child);\n }\n if (result.length === limit) break;\n }\n\n return skipped;\n }\n\n _addTileFeatures(ids, points, x, y, z2, tile) {\n for (const i of ids) {\n const c = points[i];\n const isCluster = c.numPoints;\n\n let tags, px, py;\n if (isCluster) {\n tags = getClusterProperties(c);\n px = c.x;\n py = c.y;\n } else {\n const p = this.points[c.index];\n tags = p.properties;\n px = lngX(p.geometry.coordinates[0]);\n py = latY(p.geometry.coordinates[1]);\n }\n\n const f = {\n type: 1,\n geometry: [[\n Math.round(this.options.extent * (px * z2 - x)),\n Math.round(this.options.extent * (py * z2 - y))\n ]],\n tags\n };\n\n // assign id\n let id;\n if (isCluster) {\n id = c.id;\n } else if (this.options.generateId) {\n // optionally generate id\n id = c.index;\n } else if (this.points[c.index].id) {\n // keep id if already assigned\n id = this.points[c.index].id;\n }\n\n if (id !== undefined) f.id = id;\n\n tile.features.push(f);\n }\n }\n\n _limitZoom(z) {\n return Math.max(this.options.minZoom, Math.min(Math.floor(+z), this.options.maxZoom + 1));\n }\n\n _cluster(points, zoom) {\n const clusters = [];\n const {radius, extent, reduce, minPoints} = this.options;\n const r = radius / (extent * Math.pow(2, zoom));\n\n // loop through each point\n for (let i = 0; i < points.length; i++) {\n const p = points[i];\n // if we've already visited the point at this zoom level, skip it\n if (p.zoom <= zoom) continue;\n p.zoom = zoom;\n\n // find all nearby points\n const tree = this.trees[zoom + 1];\n const neighborIds = tree.within(p.x, p.y, r);\n\n const numPointsOrigin = p.numPoints || 1;\n let numPoints = numPointsOrigin;\n\n // count the number of points in a potential cluster\n for (const neighborId of neighborIds) {\n const b = tree.points[neighborId];\n // filter out neighbors that are already processed\n if (b.zoom > zoom) numPoints += b.numPoints || 1;\n }\n\n // if there were neighbors to merge, and there are enough points to form a cluster\n if (numPoints > numPointsOrigin && numPoints >= minPoints) {\n let wx = p.x * numPointsOrigin;\n let wy = p.y * numPointsOrigin;\n\n let clusterProperties = reduce && numPointsOrigin > 1 ? this._map(p, true) : null;\n\n // encode both zoom and point index on which the cluster originated -- offset by total length of features\n const id = (i << 5) + (zoom + 1) + this.points.length;\n\n for (const neighborId of neighborIds) {\n const b = tree.points[neighborId];\n\n if (b.zoom <= zoom) continue;\n b.zoom = zoom; // save the zoom (so it doesn't get processed twice)\n\n const numPoints2 = b.numPoints || 1;\n wx += b.x * numPoints2; // accumulate coordinates for calculating weighted center\n wy += b.y * numPoints2;\n\n b.parentId = id;\n\n if (reduce) {\n if (!clusterProperties) clusterProperties = this._map(p, true);\n reduce(clusterProperties, this._map(b));\n }\n }\n\n p.parentId = id;\n clusters.push(createCluster(wx / numPoints, wy / numPoints, id, numPoints, clusterProperties));\n\n } else { // left points as unclustered\n clusters.push(p);\n\n if (numPoints > 1) {\n for (const neighborId of neighborIds) {\n const b = tree.points[neighborId];\n if (b.zoom <= zoom) continue;\n b.zoom = zoom;\n clusters.push(b);\n }\n }\n }\n }\n\n return clusters;\n }\n\n // get index of the point from which the cluster originated\n _getOriginId(clusterId) {\n return (clusterId - this.points.length) >> 5;\n }\n\n // get zoom of the point from which the cluster originated\n _getOriginZoom(clusterId) {\n return (clusterId - this.points.length) % 32;\n }\n\n _map(point, clone) {\n if (point.numPoints) {\n return clone ? extend({}, point.properties) : point.properties;\n }\n const original = this.points[point.index].properties;\n const result = this.options.map(original);\n return clone && result === original ? extend({}, result) : result;\n }\n}\n\nfunction createCluster(x, y, id, numPoints, properties) {\n return {\n x: fround(x), // weighted cluster center; round for consistency with Float32Array index\n y: fround(y),\n zoom: Infinity, // the last zoom the cluster was processed at\n id, // encodes index of the first child of the cluster and its zoom level\n parentId: -1, // parent cluster id\n numPoints,\n properties\n };\n}\n\nfunction createPointCluster(p, id) {\n const [x, y] = p.geometry.coordinates;\n return {\n x: fround(lngX(x)), // projected point coordinates\n y: fround(latY(y)),\n zoom: Infinity, // the last zoom the point was processed at\n index: id, // index of the source feature in the original input array,\n parentId: -1 // parent cluster id\n };\n}\n\nfunction getClusterJSON(cluster) {\n return {\n type: 'Feature',\n id: cluster.id,\n properties: getClusterProperties(cluster),\n geometry: {\n type: 'Point',\n coordinates: [xLng(cluster.x), yLat(cluster.y)]\n }\n };\n}\n\nfunction getClusterProperties(cluster) {\n const count = cluster.numPoints;\n const abbrev =\n count >= 10000 ? `${Math.round(count / 1000) }k` :\n count >= 1000 ? `${Math.round(count / 100) / 10 }k` : count;\n return extend(extend({}, cluster.properties), {\n cluster: true,\n cluster_id: cluster.id,\n point_count: count,\n point_count_abbreviated: abbrev\n });\n}\n\n// longitude/latitude to spherical mercator in [0..1] range\nfunction lngX(lng) {\n return lng / 360 + 0.5;\n}\nfunction latY(lat) {\n const sin = Math.sin(lat * Math.PI / 180);\n const y = (0.5 - 0.25 * Math.log((1 + sin) / (1 - sin)) / Math.PI);\n return y < 0 ? 0 : y > 1 ? 1 : y;\n}\n\n// spherical mercator to longitude/latitude\nfunction xLng(x) {\n return (x - 0.5) * 360;\n}\nfunction yLat(y) {\n const y2 = (180 - y * 360) * Math.PI / 180;\n return 360 * Math.atan(Math.exp(y2)) / Math.PI - 90;\n}\n\nfunction extend(dest, src) {\n for (const id in src) dest[id] = src[id];\n return dest;\n}\n\nfunction getX(p) {\n return p.x;\n}\nfunction getY(p) {\n return p.y;\n}\n","import SuperCluster from 'supercluster';\nimport equal from 'fast-deep-equal';\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\n\n/**\n * Copyright 2021 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nclass Cluster {\n constructor({ markers, position }) {\n this.markers = markers;\n if (position) {\n if (position instanceof google.maps.LatLng) {\n this._position = position;\n }\n else {\n this._position = new google.maps.LatLng(position);\n }\n }\n }\n get bounds() {\n if (this.markers.length === 0 && !this._position) {\n return undefined;\n }\n return this.markers.reduce((bounds, marker) => {\n return bounds.extend(marker.getPosition());\n }, new google.maps.LatLngBounds(this._position, this._position));\n }\n get position() {\n return this._position || this.bounds.getCenter();\n }\n /**\n * Get the count of **visible** markers.\n */\n get count() {\n return this.markers.filter((m) => m.getVisible())\n .length;\n }\n /**\n * Add a marker to the cluster.\n */\n push(marker) {\n this.markers.push(marker);\n }\n /**\n * Cleanup references and remove marker from map.\n */\n delete() {\n if (this.marker) {\n this.marker.setMap(null);\n delete this.marker;\n }\n this.markers.length = 0;\n }\n}\n\n/**\n * Copyright 2021 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nconst filterMarkersToPaddedViewport = (map, mapCanvasProjection, markers, viewportPadding) => {\n const extendedMapBounds = extendBoundsToPaddedViewport(map.getBounds(), mapCanvasProjection, viewportPadding);\n return markers.filter((marker) => extendedMapBounds.contains(marker.getPosition()));\n};\n/**\n * Extends a bounds by a number of pixels in each direction.\n */\nconst extendBoundsToPaddedViewport = (bounds, projection, pixels) => {\n const { northEast, southWest } = latLngBoundsToPixelBounds(bounds, projection);\n const extendedPixelBounds = extendPixelBounds({ northEast, southWest }, pixels);\n return pixelBoundsToLatLngBounds(extendedPixelBounds, projection);\n};\n/**\n * @hidden\n */\nconst distanceBetweenPoints = (p1, p2) => {\n const R = 6371; // Radius of the Earth in km\n const dLat = ((p2.lat - p1.lat) * Math.PI) / 180;\n const dLon = ((p2.lng - p1.lng) * Math.PI) / 180;\n const a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +\n Math.cos((p1.lat * Math.PI) / 180) *\n Math.cos((p2.lat * Math.PI) / 180) *\n Math.sin(dLon / 2) *\n Math.sin(dLon / 2);\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n return R * c;\n};\n/**\n * @hidden\n */\nconst latLngBoundsToPixelBounds = (bounds, projection) => {\n return {\n northEast: projection.fromLatLngToDivPixel(bounds.getNorthEast()),\n southWest: projection.fromLatLngToDivPixel(bounds.getSouthWest()),\n };\n};\n/**\n * @hidden\n */\nconst extendPixelBounds = ({ northEast, southWest }, pixels) => {\n northEast.x += pixels;\n northEast.y -= pixels;\n southWest.x -= pixels;\n southWest.y += pixels;\n return { northEast, southWest };\n};\n/**\n * @hidden\n */\nconst pixelBoundsToLatLngBounds = ({ northEast, southWest }, projection) => {\n const bounds = new google.maps.LatLngBounds();\n bounds.extend(projection.fromDivPixelToLatLng(northEast));\n bounds.extend(projection.fromDivPixelToLatLng(southWest));\n return bounds;\n};\n\n/**\n * Copyright 2021 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * @hidden\n */\nclass AbstractAlgorithm {\n constructor({ maxZoom = 16 }) {\n this.maxZoom = maxZoom;\n }\n /**\n * Helper function to bypass clustering based upon some map state such as\n * zoom, number of markers, etc.\n *\n * ```typescript\n * cluster({markers, map}: AlgorithmInput): Cluster[] {\n * if (shouldBypassClustering(map)) {\n * return this.noop({markers, map})\n * }\n * }\n * ```\n */\n noop({ markers }) {\n return noop(markers);\n }\n}\n/**\n * Abstract viewport algorithm proves a class to filter markers by a padded\n * viewport. This is a common optimization.\n *\n * @hidden\n */\nclass AbstractViewportAlgorithm extends AbstractAlgorithm {\n constructor(_a) {\n var { viewportPadding = 60 } = _a, options = __rest(_a, [\"viewportPadding\"]);\n super(options);\n this.viewportPadding = 60;\n this.viewportPadding = viewportPadding;\n }\n calculate({ markers, map, mapCanvasProjection, }) {\n if (map.getZoom() >= this.maxZoom) {\n return {\n clusters: this.noop({\n markers,\n map,\n mapCanvasProjection,\n }),\n changed: false,\n };\n }\n return {\n clusters: this.cluster({\n markers: filterMarkersToPaddedViewport(map, mapCanvasProjection, markers, this.viewportPadding),\n map,\n mapCanvasProjection,\n }),\n };\n }\n}\n/**\n * @hidden\n */\nconst noop = (markers) => {\n const clusters = markers.map((marker) => new Cluster({\n position: marker.getPosition(),\n markers: [marker],\n }));\n return clusters;\n};\n\n/**\n * Copyright 2021 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * The default Grid algorithm historically used in Google Maps marker\n * clustering.\n *\n * The Grid algorithm does not implement caching and markers may flash as the\n * viewport changes. Instead use {@link SuperClusterAlgorithm}.\n */\nclass GridAlgorithm extends AbstractViewportAlgorithm {\n constructor(_a) {\n var { maxDistance = 40000, gridSize = 40 } = _a, options = __rest(_a, [\"maxDistance\", \"gridSize\"]);\n super(options);\n this.clusters = [];\n this.maxDistance = maxDistance;\n this.gridSize = gridSize;\n }\n cluster({ markers, map, mapCanvasProjection, }) {\n this.clusters = [];\n markers.forEach((marker) => {\n this.addToClosestCluster(marker, map, mapCanvasProjection);\n });\n return this.clusters;\n }\n addToClosestCluster(marker, map, projection) {\n let maxDistance = this.maxDistance; // Some large number\n let cluster = null;\n for (let i = 0; i < this.clusters.length; i++) {\n const candidate = this.clusters[i];\n const distance = distanceBetweenPoints(candidate.bounds.getCenter().toJSON(), marker.getPosition().toJSON());\n if (distance < maxDistance) {\n maxDistance = distance;\n cluster = candidate;\n }\n }\n if (cluster &&\n extendBoundsToPaddedViewport(cluster.bounds, projection, this.gridSize).contains(marker.getPosition())) {\n cluster.push(marker);\n }\n else {\n const cluster = new Cluster({ markers: [marker] });\n this.clusters.push(cluster);\n }\n }\n}\n\n/**\n * Copyright 2021 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * Noop algorithm does not generate any clusters or filter markers by the an extended viewport.\n */\nclass NoopAlgorithm extends AbstractAlgorithm {\n constructor(_a) {\n var options = __rest(_a, []);\n super(options);\n }\n calculate({ markers, map, mapCanvasProjection, }) {\n return {\n clusters: this.cluster({ markers, map, mapCanvasProjection }),\n changed: false,\n };\n }\n cluster(input) {\n return this.noop(input);\n }\n}\n\n/**\n * Copyright 2021 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * A very fast JavaScript algorithm for geospatial point clustering using KD trees.\n *\n * @see https://www.npmjs.com/package/supercluster for more information on options.\n */\nclass SuperClusterAlgorithm extends AbstractAlgorithm {\n constructor(_a) {\n var { maxZoom, radius = 60 } = _a, options = __rest(_a, [\"maxZoom\", \"radius\"]);\n super({ maxZoom });\n this.superCluster = new SuperCluster(Object.assign({ maxZoom: this.maxZoom, radius }, options));\n this.state = { zoom: null };\n }\n calculate(input) {\n let changed = false;\n if (!equal(input.markers, this.markers)) {\n changed = true;\n // TODO use proxy to avoid copy?\n this.markers = [...input.markers];\n const points = this.markers.map((marker) => {\n return {\n type: \"Feature\",\n geometry: {\n type: \"Point\",\n coordinates: [\n marker.getPosition().lng(),\n marker.getPosition().lat(),\n ],\n },\n properties: { marker },\n };\n });\n this.superCluster.load(points);\n }\n const state = { zoom: input.map.getZoom() };\n if (!changed) {\n if (this.state.zoom > this.maxZoom && state.zoom > this.maxZoom) ;\n else {\n changed = changed || !equal(this.state, state);\n }\n }\n this.state = state;\n if (changed) {\n this.clusters = this.cluster(input);\n }\n return { clusters: this.clusters, changed };\n }\n cluster({ map }) {\n return this.superCluster\n .getClusters([-180, -90, 180, 90], Math.round(map.getZoom()))\n .map(this.transformCluster.bind(this));\n }\n transformCluster({ geometry: { coordinates: [lng, lat], }, properties, }) {\n if (properties.cluster) {\n return new Cluster({\n markers: this.superCluster\n .getLeaves(properties.cluster_id, Infinity)\n .map((leaf) => leaf.properties.marker),\n position: new google.maps.LatLng({ lat, lng }),\n });\n }\n else {\n const marker = properties.marker;\n return new Cluster({\n markers: [marker],\n position: marker.getPosition(),\n });\n }\n }\n}\n\n/**\n * Copyright 2021 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * Provides statistics on all clusters in the current render cycle for use in {@link Renderer.render}.\n */\nclass ClusterStats {\n constructor(markers, clusters) {\n this.markers = { sum: markers.length };\n const clusterMarkerCounts = clusters.map((a) => a.count);\n const clusterMarkerSum = clusterMarkerCounts.reduce((a, b) => a + b, 0);\n this.clusters = {\n count: clusters.length,\n markers: {\n mean: clusterMarkerSum / clusters.length,\n sum: clusterMarkerSum,\n min: Math.min(...clusterMarkerCounts),\n max: Math.max(...clusterMarkerCounts),\n },\n };\n }\n}\nclass DefaultRenderer {\n /**\n * The default render function for the library used by {@link MarkerClusterer}.\n *\n * Currently set to use the following:\n *\n * ```typescript\n * // change color if this cluster has more markers than the mean cluster\n * const color =\n * count > Math.max(10, stats.clusters.markers.mean)\n * ? \"#ff0000\"\n * : \"#0000ff\";\n *\n * // create svg url with fill color\n * const svg = window.btoa(`\n * `);\n *\n * // create marker using svg icon\n * return new google.maps.Marker({\n * position,\n * icon: {\n * url: `data:image/svg+xml;base64,${svg}`,\n * scaledSize: new google.maps.Size(45, 45),\n * },\n * label: {\n * text: String(count),\n * color: \"rgba(255,255,255,0.9)\",\n * fontSize: \"12px\",\n * },\n * // adjust zIndex to be above other markers\n * zIndex: 1000 + count,\n * });\n * ```\n */\n render({ count, position }, stats) {\n // change color if this cluster has more markers than the mean cluster\n const color = count > Math.max(10, stats.clusters.markers.mean) ? \"#ff0000\" : \"#0000ff\";\n // create svg url with fill color\n const svg = window.btoa(`\n `);\n // create marker using svg icon\n return new google.maps.Marker({\n position,\n icon: {\n url: `data:image/svg+xml;base64,${svg}`,\n scaledSize: new google.maps.Size(45, 45),\n },\n label: {\n text: String(count),\n color: \"rgba(255,255,255,0.9)\",\n fontSize: \"12px\",\n },\n title: `Cluster of ${count} markers`,\n // adjust zIndex to be above other markers\n zIndex: Number(google.maps.Marker.MAX_ZINDEX) + count,\n });\n }\n}\n\n/**\n * Copyright 2019 Google LLC. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * Extends an object's prototype by another's.\n *\n * @param type1 The Type to be extended.\n * @param type2 The Type to extend with.\n * @ignore\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction extend(type1, type2) {\n /* istanbul ignore next */\n // eslint-disable-next-line prefer-const\n for (let property in type2.prototype) {\n type1.prototype[property] = type2.prototype[property];\n }\n}\n/**\n * @ignore\n */\nclass OverlayViewSafe {\n constructor() {\n // MarkerClusterer implements google.maps.OverlayView interface. We use the\n // extend function to extend MarkerClusterer with google.maps.OverlayView\n // because it might not always be available when the code is defined so we\n // look for it at the last possible moment. If it doesn't exist now then\n // there is no point going ahead :)\n extend(OverlayViewSafe, google.maps.OverlayView);\n }\n}\n\n/**\n * Copyright 2021 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar MarkerClustererEvents;\n(function (MarkerClustererEvents) {\n MarkerClustererEvents[\"CLUSTERING_BEGIN\"] = \"clusteringbegin\";\n MarkerClustererEvents[\"CLUSTERING_END\"] = \"clusteringend\";\n MarkerClustererEvents[\"CLUSTER_CLICK\"] = \"click\";\n})(MarkerClustererEvents || (MarkerClustererEvents = {}));\nconst defaultOnClusterClickHandler = (_, cluster, map) => {\n map.fitBounds(cluster.bounds);\n};\n/**\n * MarkerClusterer creates and manages per-zoom-level clusters for large amounts\n * of markers. See {@link MarkerClustererOptions} for more details.\n *\n */\nclass MarkerClusterer extends OverlayViewSafe {\n constructor({ map, markers = [], algorithm = new SuperClusterAlgorithm({}), renderer = new DefaultRenderer(), onClusterClick = defaultOnClusterClickHandler, }) {\n super();\n this.markers = [...markers];\n this.clusters = [];\n this.algorithm = algorithm;\n this.renderer = renderer;\n this.onClusterClick = onClusterClick;\n if (map) {\n this.setMap(map);\n }\n }\n addMarker(marker, noDraw) {\n if (this.markers.includes(marker)) {\n return;\n }\n this.markers.push(marker);\n if (!noDraw) {\n this.render();\n }\n }\n addMarkers(markers, noDraw) {\n markers.forEach((marker) => {\n this.addMarker(marker, true);\n });\n if (!noDraw) {\n this.render();\n }\n }\n removeMarker(marker, noDraw) {\n const index = this.markers.indexOf(marker);\n if (index === -1) {\n // Marker is not in our list of markers, so do nothing:\n return false;\n }\n marker.setMap(null);\n this.markers.splice(index, 1); // Remove the marker from the list of managed markers\n if (!noDraw) {\n this.render();\n }\n return true;\n }\n removeMarkers(markers, noDraw) {\n let removed = false;\n markers.forEach((marker) => {\n removed = this.removeMarker(marker, true) || removed;\n });\n if (removed && !noDraw) {\n this.render();\n }\n return removed;\n }\n clearMarkers(noDraw) {\n this.markers.length = 0;\n if (!noDraw) {\n this.render();\n }\n }\n /**\n * Recalculates and draws all the marker clusters.\n */\n render() {\n const map = this.getMap();\n if (map instanceof google.maps.Map && this.getProjection()) {\n google.maps.event.trigger(this, MarkerClustererEvents.CLUSTERING_BEGIN, this);\n const { clusters, changed } = this.algorithm.calculate({\n markers: this.markers,\n map,\n mapCanvasProjection: this.getProjection(),\n });\n // allow algorithms to return flag on whether the clusters/markers have changed\n if (changed || changed == undefined) {\n // reset visibility of markers and clusters\n this.reset();\n // store new clusters\n this.clusters = clusters;\n this.renderClusters();\n }\n google.maps.event.trigger(this, MarkerClustererEvents.CLUSTERING_END, this);\n }\n }\n onAdd() {\n this.idleListener = this.getMap().addListener(\"idle\", this.render.bind(this));\n this.render();\n }\n onRemove() {\n google.maps.event.removeListener(this.idleListener);\n this.reset();\n }\n reset() {\n this.markers.forEach((marker) => marker.setMap(null));\n this.clusters.forEach((cluster) => cluster.delete());\n this.clusters = [];\n }\n renderClusters() {\n // generate stats to pass to renderers\n const stats = new ClusterStats(this.markers, this.clusters);\n const map = this.getMap();\n this.clusters.forEach((cluster) => {\n if (cluster.markers.length === 1) {\n cluster.marker = cluster.markers[0];\n }\n else {\n cluster.marker = this.renderer.render(cluster, stats);\n if (this.onClusterClick) {\n cluster.marker.addListener(\"click\", \n /* istanbul ignore next */\n (event) => {\n google.maps.event.trigger(this, MarkerClustererEvents.CLUSTER_CLICK, cluster);\n this.onClusterClick(event, cluster, map);\n });\n }\n }\n cluster.marker.setMap(map);\n });\n }\n}\n\nexport { AbstractAlgorithm, AbstractViewportAlgorithm, Cluster, ClusterStats, DefaultRenderer, GridAlgorithm, MarkerClusterer, MarkerClustererEvents, NoopAlgorithm, SuperClusterAlgorithm, defaultOnClusterClickHandler, distanceBetweenPoints, extendBoundsToPaddedViewport, extendPixelBounds, filterMarkersToPaddedViewport, noop, pixelBoundsToLatLngBounds };\n//# sourceMappingURL=index.esm.js.map\n","const { $ } = window;\r\n\r\n/**\r\n * @usage tmpl(\r\n * 'hello {{ name }}!',\r\n * { name: 'ash' }\r\n * );\r\n * => hello ash!\r\n *\r\n * @param {any} str\r\n * @param {any} data\r\n * @returns\r\n */\r\nexport function tmpl(pStr, pData) {\r\n let reg;\r\n let str = pStr;\r\n Object.keys(pData).forEach((item) => {\r\n reg = new RegExp(`{{ ${item} }}`, 'g');\r\n str = str.replace(reg, pData[item]);\r\n });\r\n return str;\r\n}\r\nexport function getQueryString(pKey) {\r\n if (typeof pKey !== 'string' || !pKey) {\r\n console.error('Invalid parameter key.');\r\n return null;\r\n }\r\n\r\n const searchParams = new URLSearchParams(window.location.search);\r\n return searchParams.get(pKey);\r\n}\r\n\r\nfunction initSetVCode($img) {\r\n $img.attr('src', `api/vcode.ashx?rnd=${Math.round(Math.random() * 999999)}`);\r\n}\r\n\r\nexport function setVCode($img) {\r\n initSetVCode($img);\r\n $img.on('click', function click() {\r\n initSetVCode($(this));\r\n });\r\n}\r\n\r\nexport function padLeft(str, lenght) {\r\n if (str.toString().length >= lenght) {\r\n return str;\r\n }\r\n return padLeft(`0${str}`, lenght);\r\n}\r\n\r\n// loading樣式\r\nexport function loadingView() {\r\n return '