uawdijnntqw1x1x1
IP : 18.191.89.16
Hostname : premium160.web-hosting.com
Kernel : Linux premium160.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
Disable Function : None :)
OS : Linux
PATH:
/
home
/
batcwwjx
/
.
/
public_html
/
our-apps
/
corresponding_authors_6th WOHC.html
/
/
/
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <style>body{background-color:white;}</style> <script>(function() { // If window.HTMLWidgets is already defined, then use it; otherwise create a // new object. This allows preceding code to set options that affect the // initialization process (though none currently exist). window.HTMLWidgets = window.HTMLWidgets || {}; // See if we're running in a viewer pane. If not, we're in a web browser. var viewerMode = window.HTMLWidgets.viewerMode = /\bviewer_pane=1\b/.test(window.location); // See if we're running in Shiny mode. If not, it's a static document. // Note that static widgets can appear in both Shiny and static modes, but // obviously, Shiny widgets can only appear in Shiny apps/documents. var shinyMode = window.HTMLWidgets.shinyMode = typeof(window.Shiny) !== "undefined" && !!window.Shiny.outputBindings; // We can't count on jQuery being available, so we implement our own // version if necessary. function querySelectorAll(scope, selector) { if (typeof(jQuery) !== "undefined" && scope instanceof jQuery) { return scope.find(selector); } if (scope.querySelectorAll) { return scope.querySelectorAll(selector); } } function asArray(value) { if (value === null) return []; if ($.isArray(value)) return value; return [value]; } // Implement jQuery's extend function extend(target /*, ... */) { if (arguments.length == 1) { return target; } for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var prop in source) { if (source.hasOwnProperty(prop)) { target[prop] = source[prop]; } } } return target; } // IE8 doesn't support Array.forEach. function forEach(values, callback, thisArg) { if (values.forEach) { values.forEach(callback, thisArg); } else { for (var i = 0; i < values.length; i++) { callback.call(thisArg, values[i], i, values); } } } // Replaces the specified method with the return value of funcSource. // // Note that funcSource should not BE the new method, it should be a function // that RETURNS the new method. funcSource receives a single argument that is // the overridden method, it can be called from the new method. The overridden // method can be called like a regular function, it has the target permanently // bound to it so "this" will work correctly. function overrideMethod(target, methodName, funcSource) { var superFunc = target[methodName] || function() {}; var superFuncBound = function() { return superFunc.apply(target, arguments); }; target[methodName] = funcSource(superFuncBound); } // Add a method to delegator that, when invoked, calls // delegatee.methodName. If there is no such method on // the delegatee, but there was one on delegator before // delegateMethod was called, then the original version // is invoked instead. // For example: // // var a = { // method1: function() { console.log('a1'); } // method2: function() { console.log('a2'); } // }; // var b = { // method1: function() { console.log('b1'); } // }; // delegateMethod(a, b, "method1"); // delegateMethod(a, b, "method2"); // a.method1(); // a.method2(); // // The output would be "b1", "a2". function delegateMethod(delegator, delegatee, methodName) { var inherited = delegator[methodName]; delegator[methodName] = function() { var target = delegatee; var method = delegatee[methodName]; // The method doesn't exist on the delegatee. Instead, // call the method on the delegator, if it exists. if (!method) { target = delegator; method = inherited; } if (method) { return method.apply(target, arguments); } }; } // Implement a vague facsimilie of jQuery's data method function elementData(el, name, value) { if (arguments.length == 2) { return el["htmlwidget_data_" + name]; } else if (arguments.length == 3) { el["htmlwidget_data_" + name] = value; return el; } else { throw new Error("Wrong number of arguments for elementData: " + arguments.length); } } // http://stackoverflow.com/questions/3446170/escape-string-for-use-in-javascript-regex function escapeRegExp(str) { return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"); } function hasClass(el, className) { var re = new RegExp("\\b" + escapeRegExp(className) + "\\b"); return re.test(el.className); } // elements - array (or array-like object) of HTML elements // className - class name to test for // include - if true, only return elements with given className; // if false, only return elements *without* given className function filterByClass(elements, className, include) { var results = []; for (var i = 0; i < elements.length; i++) { if (hasClass(elements[i], className) == include) results.push(elements[i]); } return results; } function on(obj, eventName, func) { if (obj.addEventListener) { obj.addEventListener(eventName, func, false); } else if (obj.attachEvent) { obj.attachEvent(eventName, func); } } function off(obj, eventName, func) { if (obj.removeEventListener) obj.removeEventListener(eventName, func, false); else if (obj.detachEvent) { obj.detachEvent(eventName, func); } } // Translate array of values to top/right/bottom/left, as usual with // the "padding" CSS property // https://developer.mozilla.org/en-US/docs/Web/CSS/padding function unpackPadding(value) { if (typeof(value) === "number") value = [value]; if (value.length === 1) { return {top: value[0], right: value[0], bottom: value[0], left: value[0]}; } if (value.length === 2) { return {top: value[0], right: value[1], bottom: value[0], left: value[1]}; } if (value.length === 3) { return {top: value[0], right: value[1], bottom: value[2], left: value[1]}; } if (value.length === 4) { return {top: value[0], right: value[1], bottom: value[2], left: value[3]}; } } // Convert an unpacked padding object to a CSS value function paddingToCss(paddingObj) { return paddingObj.top + "px " + paddingObj.right + "px " + paddingObj.bottom + "px " + paddingObj.left + "px"; } // Makes a number suitable for CSS function px(x) { if (typeof(x) === "number") return x + "px"; else return x; } // Retrieves runtime widget sizing information for an element. // The return value is either null, or an object with fill, padding, // defaultWidth, defaultHeight fields. function sizingPolicy(el) { var sizingEl = document.querySelector("script[data-for='" + el.id + "'][type='application/htmlwidget-sizing']"); if (!sizingEl) return null; var sp = JSON.parse(sizingEl.textContent || sizingEl.text || "{}"); if (viewerMode) { return sp.viewer; } else { return sp.browser; } } // @param tasks Array of strings (or falsy value, in which case no-op). // Each element must be a valid JavaScript expression that yields a // function. Or, can be an array of objects with "code" and "data" // properties; in this case, the "code" property should be a string // of JS that's an expr that yields a function, and "data" should be // an object that will be added as an additional argument when that // function is called. // @param target The object that will be "this" for each function // execution. // @param args Array of arguments to be passed to the functions. (The // same arguments will be passed to all functions.) function evalAndRun(tasks, target, args) { if (tasks) { forEach(tasks, function(task) { var theseArgs = args; if (typeof(task) === "object") { theseArgs = theseArgs.concat([task.data]); task = task.code; } var taskFunc = tryEval(task); if (typeof(taskFunc) !== "function") { throw new Error("Task must be a function! Source:\n" + task); } taskFunc.apply(target, theseArgs); }); } } // Attempt eval() both with and without enclosing in parentheses. // Note that enclosing coerces a function declaration into // an expression that eval() can parse // (otherwise, a SyntaxError is thrown) function tryEval(code) { var result = null; try { result = eval("(" + code + ")"); } catch(error) { if (!(error instanceof SyntaxError)) { throw error; } try { result = eval(code); } catch(e) { if (e instanceof SyntaxError) { throw error; } else { throw e; } } } return result; } function initSizing(el) { var sizing = sizingPolicy(el); if (!sizing) return; var cel = document.getElementById("htmlwidget_container"); if (!cel) return; if (typeof(sizing.padding) !== "undefined") { document.body.style.margin = "0"; document.body.style.padding = paddingToCss(unpackPadding(sizing.padding)); } if (sizing.fill) { document.body.style.overflow = "hidden"; document.body.style.width = "100%"; document.body.style.height = "100%"; document.documentElement.style.width = "100%"; document.documentElement.style.height = "100%"; if (cel) { cel.style.position = "absolute"; var pad = unpackPadding(sizing.padding); cel.style.top = pad.top + "px"; cel.style.right = pad.right + "px"; cel.style.bottom = pad.bottom + "px"; cel.style.left = pad.left + "px"; el.style.width = "100%"; el.style.height = "100%"; } return { getWidth: function() { return cel.offsetWidth; }, getHeight: function() { return cel.offsetHeight; } }; } else { el.style.width = px(sizing.width); el.style.height = px(sizing.height); return { getWidth: function() { return el.offsetWidth; }, getHeight: function() { return el.offsetHeight; } }; } } // Default implementations for methods var defaults = { find: function(scope) { return querySelectorAll(scope, "." + this.name); }, renderError: function(el, err) { var $el = $(el); this.clearError(el); // Add all these error classes, as Shiny does var errClass = "shiny-output-error"; if (err.type !== null) { // use the classes of the error condition as CSS class names errClass = errClass + " " + $.map(asArray(err.type), function(type) { return errClass + "-" + type; }).join(" "); } errClass = errClass + " htmlwidgets-error"; // Is el inline or block? If inline or inline-block, just display:none it // and add an inline error. var display = $el.css("display"); $el.data("restore-display-mode", display); if (display === "inline" || display === "inline-block") { $el.hide(); if (err.message !== "") { var errorSpan = $("<span>").addClass(errClass); errorSpan.text(err.message); $el.after(errorSpan); } } else if (display === "block") { // If block, add an error just after the el, set visibility:none on the // el, and position the error to be on top of the el. // Mark it with a unique ID and CSS class so we can remove it later. $el.css("visibility", "hidden"); if (err.message !== "") { var errorDiv = $("<div>").addClass(errClass).css("position", "absolute") .css("top", el.offsetTop) .css("left", el.offsetLeft) // setting width can push out the page size, forcing otherwise // unnecessary scrollbars to appear and making it impossible for // the element to shrink; so use max-width instead .css("maxWidth", el.offsetWidth) .css("height", el.offsetHeight); errorDiv.text(err.message); $el.after(errorDiv); // Really dumb way to keep the size/position of the error in sync with // the parent element as the window is resized or whatever. var intId = setInterval(function() { if (!errorDiv[0].parentElement) { clearInterval(intId); return; } errorDiv .css("top", el.offsetTop) .css("left", el.offsetLeft) .css("maxWidth", el.offsetWidth) .css("height", el.offsetHeight); }, 500); } } }, clearError: function(el) { var $el = $(el); var display = $el.data("restore-display-mode"); $el.data("restore-display-mode", null); if (display === "inline" || display === "inline-block") { if (display) $el.css("display", display); $(el.nextSibling).filter(".htmlwidgets-error").remove(); } else if (display === "block"){ $el.css("visibility", "inherit"); $(el.nextSibling).filter(".htmlwidgets-error").remove(); } }, sizing: {} }; // Called by widget bindings to register a new type of widget. The definition // object can contain the following properties: // - name (required) - A string indicating the binding name, which will be // used by default as the CSS classname to look for. // - initialize (optional) - A function(el) that will be called once per // widget element; if a value is returned, it will be passed as the third // value to renderValue. // - renderValue (required) - A function(el, data, initValue) that will be // called with data. Static contexts will cause this to be called once per // element; Shiny apps will cause this to be called multiple times per // element, as the data changes. window.HTMLWidgets.widget = function(definition) { if (!definition.name) { throw new Error("Widget must have a name"); } if (!definition.type) { throw new Error("Widget must have a type"); } // Currently we only support output widgets if (definition.type !== "output") { throw new Error("Unrecognized widget type '" + definition.type + "'"); } // TODO: Verify that .name is a valid CSS classname // Support new-style instance-bound definitions. Old-style class-bound // definitions have one widget "object" per widget per type/class of // widget; the renderValue and resize methods on such widget objects // take el and instance arguments, because the widget object can't // store them. New-style instance-bound definitions have one widget // object per widget instance; the definition that's passed in doesn't // provide renderValue or resize methods at all, just the single method // factory(el, width, height) // which returns an object that has renderValue(x) and resize(w, h). // This enables a far more natural programming style for the widget // author, who can store per-instance state using either OO-style // instance fields or functional-style closure variables (I guess this // is in contrast to what can only be called C-style pseudo-OO which is // what we required before). if (definition.factory) { definition = createLegacyDefinitionAdapter(definition); } if (!definition.renderValue) { throw new Error("Widget must have a renderValue function"); } // For static rendering (non-Shiny), use a simple widget registration // scheme. We also use this scheme for Shiny apps/documents that also // contain static widgets. window.HTMLWidgets.widgets = window.HTMLWidgets.widgets || []; // Merge defaults into the definition; don't mutate the original definition. var staticBinding = extend({}, defaults, definition); overrideMethod(staticBinding, "find", function(superfunc) { return function(scope) { var results = superfunc(scope); // Filter out Shiny outputs, we only want the static kind return filterByClass(results, "html-widget-output", false); }; }); window.HTMLWidgets.widgets.push(staticBinding); if (shinyMode) { // Shiny is running. Register the definition with an output binding. // The definition itself will not be the output binding, instead // we will make an output binding object that delegates to the // definition. This is because we foolishly used the same method // name (renderValue) for htmlwidgets definition and Shiny bindings // but they actually have quite different semantics (the Shiny // bindings receive data that includes lots of metadata that it // strips off before calling htmlwidgets renderValue). We can't // just ignore the difference because in some widgets it's helpful // to call this.renderValue() from inside of resize(), and if // we're not delegating, then that call will go to the Shiny // version instead of the htmlwidgets version. // Merge defaults with definition, without mutating either. var bindingDef = extend({}, defaults, definition); // This object will be our actual Shiny binding. var shinyBinding = new Shiny.OutputBinding(); // With a few exceptions, we'll want to simply use the bindingDef's // version of methods if they are available, otherwise fall back to // Shiny's defaults. NOTE: If Shiny's output bindings gain additional // methods in the future, and we want them to be overrideable by // HTMLWidget binding definitions, then we'll need to add them to this // list. delegateMethod(shinyBinding, bindingDef, "getId"); delegateMethod(shinyBinding, bindingDef, "onValueChange"); delegateMethod(shinyBinding, bindingDef, "onValueError"); delegateMethod(shinyBinding, bindingDef, "renderError"); delegateMethod(shinyBinding, bindingDef, "clearError"); delegateMethod(shinyBinding, bindingDef, "showProgress"); // The find, renderValue, and resize are handled differently, because we // want to actually decorate the behavior of the bindingDef methods. shinyBinding.find = function(scope) { var results = bindingDef.find(scope); // Only return elements that are Shiny outputs, not static ones var dynamicResults = results.filter(".html-widget-output"); // It's possible that whatever caused Shiny to think there might be // new dynamic outputs, also caused there to be new static outputs. // Since there might be lots of different htmlwidgets bindings, we // schedule execution for later--no need to staticRender multiple // times. if (results.length !== dynamicResults.length) scheduleStaticRender(); return dynamicResults; }; // Wrap renderValue to handle initialization, which unfortunately isn't // supported natively by Shiny at the time of this writing. shinyBinding.renderValue = function(el, data) { Shiny.renderDependencies(data.deps); // Resolve strings marked as javascript literals to objects if (!(data.evals instanceof Array)) data.evals = [data.evals]; for (var i = 0; data.evals && i < data.evals.length; i++) { window.HTMLWidgets.evaluateStringMember(data.x, data.evals[i]); } if (!bindingDef.renderOnNullValue) { if (data.x === null) { el.style.visibility = "hidden"; return; } else { el.style.visibility = "inherit"; } } if (!elementData(el, "initialized")) { initSizing(el); elementData(el, "initialized", true); if (bindingDef.initialize) { var result = bindingDef.initialize(el, el.offsetWidth, el.offsetHeight); elementData(el, "init_result", result); } } bindingDef.renderValue(el, data.x, elementData(el, "init_result")); evalAndRun(data.jsHooks.render, elementData(el, "init_result"), [el, data.x]); }; // Only override resize if bindingDef implements it if (bindingDef.resize) { shinyBinding.resize = function(el, width, height) { // Shiny can call resize before initialize/renderValue have been // called, which doesn't make sense for widgets. if (elementData(el, "initialized")) { bindingDef.resize(el, width, height, elementData(el, "init_result")); } }; } Shiny.outputBindings.register(shinyBinding, bindingDef.name); } }; var scheduleStaticRenderTimerId = null; function scheduleStaticRender() { if (!scheduleStaticRenderTimerId) { scheduleStaticRenderTimerId = setTimeout(function() { scheduleStaticRenderTimerId = null; window.HTMLWidgets.staticRender(); }, 1); } } // Render static widgets after the document finishes loading // Statically render all elements that are of this widget's class window.HTMLWidgets.staticRender = function() { var bindings = window.HTMLWidgets.widgets || []; forEach(bindings, function(binding) { var matches = binding.find(document.documentElement); forEach(matches, function(el) { var sizeObj = initSizing(el, binding); if (hasClass(el, "html-widget-static-bound")) return; el.className = el.className + " html-widget-static-bound"; var initResult; if (binding.initialize) { initResult = binding.initialize(el, sizeObj ? sizeObj.getWidth() : el.offsetWidth, sizeObj ? sizeObj.getHeight() : el.offsetHeight ); elementData(el, "init_result", initResult); } if (binding.resize) { var lastSize = { w: sizeObj ? sizeObj.getWidth() : el.offsetWidth, h: sizeObj ? sizeObj.getHeight() : el.offsetHeight }; var resizeHandler = function(e) { var size = { w: sizeObj ? sizeObj.getWidth() : el.offsetWidth, h: sizeObj ? sizeObj.getHeight() : el.offsetHeight }; if (size.w === 0 && size.h === 0) return; if (size.w === lastSize.w && size.h === lastSize.h) return; lastSize = size; binding.resize(el, size.w, size.h, initResult); }; on(window, "resize", resizeHandler); // This is needed for cases where we're running in a Shiny // app, but the widget itself is not a Shiny output, but // rather a simple static widget. One example of this is // an rmarkdown document that has runtime:shiny and widget // that isn't in a render function. Shiny only knows to // call resize handlers for Shiny outputs, not for static // widgets, so we do it ourselves. if (window.jQuery) { window.jQuery(document).on( "shown.htmlwidgets shown.bs.tab.htmlwidgets shown.bs.collapse.htmlwidgets", resizeHandler ); window.jQuery(document).on( "hidden.htmlwidgets hidden.bs.tab.htmlwidgets hidden.bs.collapse.htmlwidgets", resizeHandler ); } // This is needed for the specific case of ioslides, which // flips slides between display:none and display:block. // Ideally we would not have to have ioslide-specific code // here, but rather have ioslides raise a generic event, // but the rmarkdown package just went to CRAN so the // window to getting that fixed may be long. if (window.addEventListener) { // It's OK to limit this to window.addEventListener // browsers because ioslides itself only supports // such browsers. on(document, "slideenter", resizeHandler); on(document, "slideleave", resizeHandler); } } var scriptData = document.querySelector("script[data-for='" + el.id + "'][type='application/json']"); if (scriptData) { var data = JSON.parse(scriptData.textContent || scriptData.text); // Resolve strings marked as javascript literals to objects if (!(data.evals instanceof Array)) data.evals = [data.evals]; for (var k = 0; data.evals && k < data.evals.length; k++) { window.HTMLWidgets.evaluateStringMember(data.x, data.evals[k]); } binding.renderValue(el, data.x, initResult); evalAndRun(data.jsHooks.render, initResult, [el, data.x]); } }); }); invokePostRenderHandlers(); } function has_jQuery3() { if (!window.jQuery) { return false; } var $version = window.jQuery.fn.jquery; var $major_version = parseInt($version.split(".")[0]); return $major_version >= 3; } /* / Shiny 1.4 bumped jQuery from 1.x to 3.x which means jQuery's / on-ready handler (i.e., $(fn)) is now asyncronous (i.e., it now / really means $(setTimeout(fn)). / https://jquery.com/upgrade-guide/3.0/#breaking-change-document-ready-handlers-are-now-asynchronous / / Since Shiny uses $() to schedule initShiny, shiny>=1.4 calls initShiny / one tick later than it did before, which means staticRender() is / called renderValue() earlier than (advanced) widget authors might be expecting. / https://github.com/rstudio/shiny/issues/2630 / / For a concrete example, leaflet has some methods (e.g., updateBounds) / which reference Shiny methods registered in initShiny (e.g., setInputValue). / Since leaflet is privy to this life-cycle, it knows to use setTimeout() to / delay execution of those methods (until Shiny methods are ready) / https://github.com/rstudio/leaflet/blob/18ec981/javascript/src/index.js#L266-L268 / / Ideally widget authors wouldn't need to use this setTimeout() hack that / leaflet uses to call Shiny methods on a staticRender(). In the long run, / the logic initShiny should be broken up so that method registration happens / right away, but binding happens later. */ function maybeStaticRenderLater() { if (shinyMode && has_jQuery3()) { window.jQuery(window.HTMLWidgets.staticRender); } else { window.HTMLWidgets.staticRender(); } } if (document.addEventListener) { document.addEventListener("DOMContentLoaded", function() { document.removeEventListener("DOMContentLoaded", arguments.callee, false); maybeStaticRenderLater(); }, false); } else if (document.attachEvent) { document.attachEvent("onreadystatechange", function() { if (document.readyState === "complete") { document.detachEvent("onreadystatechange", arguments.callee); maybeStaticRenderLater(); } }); } window.HTMLWidgets.getAttachmentUrl = function(depname, key) { // If no key, default to the first item if (typeof(key) === "undefined") key = 1; var link = document.getElementById(depname + "-" + key + "-attachment"); if (!link) { throw new Error("Attachment " + depname + "/" + key + " not found in document"); } return link.getAttribute("href"); }; window.HTMLWidgets.dataframeToD3 = function(df) { var names = []; var length; for (var name in df) { if (df.hasOwnProperty(name)) names.push(name); if (typeof(df[name]) !== "object" || typeof(df[name].length) === "undefined") { throw new Error("All fields must be arrays"); } else if (typeof(length) !== "undefined" && length !== df[name].length) { throw new Error("All fields must be arrays of the same length"); } length = df[name].length; } var results = []; var item; for (var row = 0; row < length; row++) { item = {}; for (var col = 0; col < names.length; col++) { item[names[col]] = df[names[col]][row]; } results.push(item); } return results; }; window.HTMLWidgets.transposeArray2D = function(array) { if (array.length === 0) return array; var newArray = array[0].map(function(col, i) { return array.map(function(row) { return row[i] }) }); return newArray; }; // Split value at splitChar, but allow splitChar to be escaped // using escapeChar. Any other characters escaped by escapeChar // will be included as usual (including escapeChar itself). function splitWithEscape(value, splitChar, escapeChar) { var results = []; var escapeMode = false; var currentResult = ""; for (var pos = 0; pos < value.length; pos++) { if (!escapeMode) { if (value[pos] === splitChar) { results.push(currentResult); currentResult = ""; } else if (value[pos] === escapeChar) { escapeMode = true; } else { currentResult += value[pos]; } } else { currentResult += value[pos]; escapeMode = false; } } if (currentResult !== "") { results.push(currentResult); } return results; } // Function authored by Yihui/JJ Allaire window.HTMLWidgets.evaluateStringMember = function(o, member) { var parts = splitWithEscape(member, '.', '\\'); for (var i = 0, l = parts.length; i < l; i++) { var part = parts[i]; // part may be a character or 'numeric' member name if (o !== null && typeof o === "object" && part in o) { if (i == (l - 1)) { // if we are at the end of the line then evalulate if (typeof o[part] === "string") o[part] = tryEval(o[part]); } else { // otherwise continue to next embedded object o = o[part]; } } } }; // Retrieve the HTMLWidget instance (i.e. the return value of an // HTMLWidget binding's initialize() or factory() function) // associated with an element, or null if none. window.HTMLWidgets.getInstance = function(el) { return elementData(el, "init_result"); }; // Finds the first element in the scope that matches the selector, // and returns the HTMLWidget instance (i.e. the return value of // an HTMLWidget binding's initialize() or factory() function) // associated with that element, if any. If no element matches the // selector, or the first matching element has no HTMLWidget // instance associated with it, then null is returned. // // The scope argument is optional, and defaults to window.document. window.HTMLWidgets.find = function(scope, selector) { if (arguments.length == 1) { selector = scope; scope = document; } var el = scope.querySelector(selector); if (el === null) { return null; } else { return window.HTMLWidgets.getInstance(el); } }; // Finds all elements in the scope that match the selector, and // returns the HTMLWidget instances (i.e. the return values of // an HTMLWidget binding's initialize() or factory() function) // associated with the elements, in an array. If elements that // match the selector don't have an associated HTMLWidget // instance, the returned array will contain nulls. // // The scope argument is optional, and defaults to window.document. window.HTMLWidgets.findAll = function(scope, selector) { if (arguments.length == 1) { selector = scope; scope = document; } var nodes = scope.querySelectorAll(selector); var results = []; for (var i = 0; i < nodes.length; i++) { results.push(window.HTMLWidgets.getInstance(nodes[i])); } return results; }; var postRenderHandlers = []; function invokePostRenderHandlers() { while (postRenderHandlers.length) { var handler = postRenderHandlers.shift(); if (handler) { handler(); } } } // Register the given callback function to be invoked after the // next time static widgets are rendered. window.HTMLWidgets.addPostRenderHandler = function(callback) { postRenderHandlers.push(callback); }; // Takes a new-style instance-bound definition, and returns an // old-style class-bound definition. This saves us from having // to rewrite all the logic in this file to accomodate both // types of definitions. function createLegacyDefinitionAdapter(defn) { var result = { name: defn.name, type: defn.type, initialize: function(el, width, height) { return defn.factory(el, width, height); }, renderValue: function(el, x, instance) { return instance.renderValue(x); }, resize: function(el, width, height, instance) { return instance.resize(width, height); } }; if (defn.find) result.find = defn.find; if (defn.renderError) result.renderError = defn.renderError; if (defn.clearError) result.clearError = defn.clearError; return result; } })(); </script> <script>/*! jQuery v1.12.4 | (c) jQuery Foundation | jquery.org/license */ !function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=a.document,e=c.slice,f=c.concat,g=c.push,h=c.indexOf,i={},j=i.toString,k=i.hasOwnProperty,l={},m="1.12.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return e.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:e.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a){return n.each(this,a)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(e.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:g,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){var b=a&&a.toString();return!n.isArray(a)&&b-parseFloat(b)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!k.call(a,"constructor")&&!k.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(!l.ownFirst)for(b in a)return k.call(a,b);for(b in a);return void 0===b||k.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?i[j.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(s(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):g.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(h)return h.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,g=0,h=[];if(s(a))for(d=a.length;d>g;g++)e=b(a[g],g,c),null!=e&&h.push(e);else for(g in a)e=b(a[g],g,c),null!=e&&h.push(e);return f.apply([],h)},guid:1,proxy:function(a,b){var c,d,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=e.call(arguments,2),d=function(){return a.apply(b||this,c.concat(e.call(arguments)))},d.guid=a.guid=a.guid||n.guid++,d):void 0},now:function(){return+new Date},support:l}),"function"==typeof Symbol&&(n.fn[Symbol.iterator]=c[Symbol.iterator]),n.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){i["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=!!a&&"length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ga(),z=ga(),A=ga(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+M+"))|)"+L+"*\\]",O=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+N+")*)|.*)\\)|)",P=new RegExp(L+"+","g"),Q=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),R=new RegExp("^"+L+"*,"+L+"*"),S=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),T=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),U=new RegExp(O),V=new RegExp("^"+M+"$"),W={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},X=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,$=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,_=/[+~]/,aa=/'|\\/g,ba=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),ca=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},da=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(ea){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fa(a,b,d,e){var f,h,j,k,l,o,r,s,w=b&&b.ownerDocument,x=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==x&&9!==x&&11!==x)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==x&&(o=$.exec(a)))if(f=o[1]){if(9===x){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(w&&(j=w.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(o[2])return H.apply(d,b.getElementsByTagName(a)),d;if((f=o[3])&&c.getElementsByClassName&&b.getElementsByClassName)return H.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==x)w=b,s=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(aa,"\\$&"):b.setAttribute("id",k=u),r=g(a),h=r.length,l=V.test(k)?"#"+k:"[id='"+k+"']";while(h--)r[h]=l+" "+qa(r[h]);s=r.join(","),w=_.test(a)&&oa(b.parentNode)||b}if(s)try{return H.apply(d,w.querySelectorAll(s)),d}catch(y){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(Q,"$1"),b,d,e)}function ga(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ha(a){return a[u]=!0,a}function ia(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ja(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function ka(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function la(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function na(a){return ha(function(b){return b=+b,ha(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function oa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=fa.support={},f=fa.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fa.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ia(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ia(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Z.test(n.getElementsByClassName),c.getById=ia(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return"undefined"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Z.test(n.querySelectorAll))&&(ia(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ia(function(a){var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Z.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ia(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",O)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Z.test(o.compareDocumentPosition),t=b||Z.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return ka(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?ka(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},fa.matches=function(a,b){return fa(a,null,null,b)},fa.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(T,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fa(b,n,null,[a]).length>0},fa.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fa.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fa.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fa.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fa.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fa.selectors={cacheLength:50,createPseudo:ha,match:W,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ba,ca),a[3]=(a[3]||a[4]||a[5]||"").replace(ba,ca),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fa.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fa.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return W.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&U.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ba,ca).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fa.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(P," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fa.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ha(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ha(function(a){var b=[],c=[],d=h(a.replace(Q,"$1"));return d[u]?ha(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ha(function(a){return function(b){return fa(a,b).length>0}}),contains:ha(function(a){return a=a.replace(ba,ca),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ha(function(a){return V.test(a||"")||fa.error("unsupported lang: "+a),a=a.replace(ba,ca).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Y.test(a.nodeName)},input:function(a){return X.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:na(function(){return[0]}),last:na(function(a,b){return[b-1]}),eq:na(function(a,b,c){return[0>c?c+b:c]}),even:na(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:na(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:na(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:na(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=la(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=ma(b);function pa(){}pa.prototype=d.filters=d.pseudos,d.setFilters=new pa,g=fa.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=R.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=S.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(Q," ")}),h=h.slice(c.length));for(g in d.filter)!(e=W[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?fa.error(a):z(a,i).slice(0)};function qa(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function ra(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(j=b[u]||(b[u]={}),i=j[b.uniqueID]||(j[b.uniqueID]={}),(h=i[d])&&h[0]===w&&h[1]===f)return k[2]=h[2];if(i[d]=k,k[2]=a(b,c,g))return!0}}}function sa(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ta(a,b,c){for(var d=0,e=b.length;e>d;d++)fa(a,b[d],c);return c}function ua(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function va(a,b,c,d,e,f){return d&&!d[u]&&(d=va(d)),e&&!e[u]&&(e=va(e,f)),ha(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ta(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ua(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ua(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ua(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function wa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ra(function(a){return a===b},h,!0),l=ra(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[ra(sa(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return va(i>1&&sa(m),i>1&&qa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(Q,"$1"),c,e>i&&wa(a.slice(i,e)),f>e&&wa(a=a.slice(e)),f>e&&qa(a))}m.push(c)}return sa(m)}function xa(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=F.call(i));u=ua(u)}H.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&fa.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ha(f):f}return h=fa.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xa(e,d)),f.selector=a}return f},i=fa.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ba,ca),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=W.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ba,ca),_.test(j[0].type)&&oa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qa(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||_.test(a)&&oa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ia(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ia(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ja("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ia(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ja("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ia(function(a){return null==a.getAttribute("disabled")})||ja(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fa}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.uniqueSort=n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},v=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},w=n.expr.match.needsContext,x=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,y=/^.[^:#\[\.,]*$/;function z(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(y.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>-1!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++)if(n.contains(d[b],this))return!0}));for(b=0;e>b;b++)n.find(a,d[b],c);return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(z(this,a||[],!1))},not:function(a){return this.pushStack(z(this,a||[],!0))},is:function(a){return!!z(this,"string"==typeof a&&w.test(a)?n(a):a||[],!1).length}});var A,B=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=n.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||A,"string"==typeof a){if(e="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:B.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),x.test(e[1])&&n.isPlainObject(b))for(e in b)n.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}if(f=d.getElementById(e[2]),f&&f.parentNode){if(f.id!==e[2])return A.find(a);this.length=1,this[0]=f}return this.context=d,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof c.ready?c.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};C.prototype=n.fn,A=n(d);var D=/^(?:parents|prev(?:Until|All))/,E={children:!0,contents:!0,next:!0,prev:!0};n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(n.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=w.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.uniqueSort(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function F(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return u(a,"parentNode")},parentsUntil:function(a,b,c){return u(a,"parentNode",c)},next:function(a){return F(a,"nextSibling")},prev:function(a){return F(a,"previousSibling")},nextAll:function(a){return u(a,"nextSibling")},prevAll:function(a){return u(a,"previousSibling")},nextUntil:function(a,b,c){return u(a,"nextSibling",c)},prevUntil:function(a,b,c){return u(a,"previousSibling",c)},siblings:function(a){return v((a.parentNode||{}).firstChild,a)},children:function(a){return v(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(E[a]||(e=n.uniqueSort(e)),D.test(a)&&(e=e.reverse())),this.pushStack(e)}});var G=/\S+/g;function H(a){var b={};return n.each(a.match(G)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?H(a):n.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){n.each(b,function(b,c){n.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==n.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return n.each(arguments,function(a,b){var c;while((c=n.inArray(b,f,c))>-1)f.splice(c,1),h>=c&&h--}),this},has:function(a){return a?n.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=!0,c||j.disable(),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=e.call(arguments),d=c.length,f=1!==d||a&&n.isFunction(a.promise)?d:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?e.call(arguments):d,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(d>1)for(i=new Array(d),j=new Array(d),k=new Array(d);d>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().progress(h(b,j,i)).done(h(b,k,c)).fail(g.reject):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(d,[n]),n.fn.triggerHandler&&(n(d).triggerHandler("ready"),n(d).off("ready"))))}});function J(){d.addEventListener?(d.removeEventListener("DOMContentLoaded",K),a.removeEventListener("load",K)):(d.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(d.addEventListener||"load"===a.event.type||"complete"===d.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I)if(I=n.Deferred(),"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll)a.setTimeout(n.ready);else if(d.addEventListener)d.addEventListener("DOMContentLoaded",K),a.addEventListener("load",K);else{d.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&d.documentElement}catch(e){}c&&c.doScroll&&!function f(){if(!n.isReady){try{c.doScroll("left")}catch(b){return a.setTimeout(f,50)}J(),n.ready()}}()}return I.promise(b)},n.ready.promise();var L;for(L in n(l))break;l.ownFirst="0"===L,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c,e;c=d.getElementsByTagName("body")[0],c&&c.style&&(b=d.createElement("div"),e=d.createElement("div"),e.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(e).appendChild(b),"undefined"!=typeof b.style.zoom&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",l.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(e))}),function(){var a=d.createElement("div");l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}a=null}();var M=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b},N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else c=void 0; }return c}function Q(a){var b;for(b in a)if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function R(a,b,d,e){if(M(a)){var f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),"object"!=typeof b&&"function"!=typeof b||(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f}}function S(a,b,c){if(M(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!Q(d):!n.isEmptyObject(d))return}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=void 0)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=n._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}}),function(){var a;l.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,e;return c=d.getElementsByTagName("body")[0],c&&c.style?(b=d.createElement("div"),e=d.createElement("div"),e.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(e).appendChild(b),"undefined"!=typeof b.style.zoom&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(d.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(e),a):void 0}}();var T=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,U=new RegExp("^(?:([+-])=|)("+T+")([a-z%]*)$","i"),V=["Top","Right","Bottom","Left"],W=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)};function X(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return n.css(a,b,"")},i=h(),j=c&&c[3]||(n.cssNumber[b]?"":"px"),k=(n.cssNumber[b]||"px"!==j&&+i)&&U.exec(n.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,n.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var Y=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)Y(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},Z=/^(?:checkbox|radio)$/i,$=/<([\w:-]+)/,_=/^$|\/(?:java|ecma)script/i,aa=/^\s+/,ba="abbr|article|aside|audio|bdi|canvas|data|datalist|details|dialog|figcaption|figure|footer|header|hgroup|main|mark|meter|nav|output|picture|progress|section|summary|template|time|video";function ca(a){var b=ba.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}!function(){var a=d.createElement("div"),b=d.createDocumentFragment(),c=d.createElement("input");a.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",l.leadingWhitespace=3===a.firstChild.nodeType,l.tbody=!a.getElementsByTagName("tbody").length,l.htmlSerialize=!!a.getElementsByTagName("link").length,l.html5Clone="<:nav></:nav>"!==d.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,b.appendChild(c),l.appendChecked=c.checked,a.innerHTML="<textarea>x</textarea>",l.noCloneChecked=!!a.cloneNode(!0).lastChild.defaultValue,b.appendChild(a),c=d.createElement("input"),c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),a.appendChild(c),l.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!!a.addEventListener,a[n.expando]=1,l.attributes=!a.getAttribute(n.expando)}();var da={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:l.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]};da.optgroup=da.option,da.tbody=da.tfoot=da.colgroup=da.caption=da.thead,da.th=da.td;function ea(a,b){var c,d,e=0,f="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d):n.merge(f,ea(d,b));return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function fa(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}var ga=/<|&#?\w+;/,ha=/<tbody/i;function ia(a){Z.test(a.type)&&(a.defaultChecked=a.checked)}function ja(a,b,c,d,e){for(var f,g,h,i,j,k,m,o=a.length,p=ca(b),q=[],r=0;o>r;r++)if(g=a[r],g||0===g)if("object"===n.type(g))n.merge(q,g.nodeType?[g]:g);else if(ga.test(g)){i=i||p.appendChild(b.createElement("div")),j=($.exec(g)||["",""])[1].toLowerCase(),m=da[j]||da._default,i.innerHTML=m[1]+n.htmlPrefilter(g)+m[2],f=m[0];while(f--)i=i.lastChild;if(!l.leadingWhitespace&&aa.test(g)&&q.push(b.createTextNode(aa.exec(g)[0])),!l.tbody){g="table"!==j||ha.test(g)?"<table>"!==m[1]||ha.test(g)?0:i:i.firstChild,f=g&&g.childNodes.length;while(f--)n.nodeName(k=g.childNodes[f],"tbody")&&!k.childNodes.length&&g.removeChild(k)}n.merge(q,i.childNodes),i.textContent="";while(i.firstChild)i.removeChild(i.firstChild);i=p.lastChild}else q.push(b.createTextNode(g));i&&p.removeChild(i),l.appendChecked||n.grep(ea(q,"input"),ia),r=0;while(g=q[r++])if(d&&n.inArray(g,d)>-1)e&&e.push(g);else if(h=n.contains(g.ownerDocument,g),i=ea(p.appendChild(g),"script"),h&&fa(i),c){f=0;while(g=i[f++])_.test(g.type||"")&&c.push(g)}return i=null,p}!function(){var b,c,e=d.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b]=c in a)||(e.setAttribute(c,"t"),l[b]=e.attributes[c].expando===!1);e=null}();var ka=/^(?:input|select|textarea)$/i,la=/^key/,ma=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,na=/^(?:focusinfocus|focusoutblur)$/,oa=/^([^.]*)(?:\.(.+)|)/;function pa(){return!0}function qa(){return!1}function ra(){try{return d.activeElement}catch(a){}}function sa(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)sa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=qa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return n().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=n.guid++)),a.each(function(){n.event.add(this,b,e,d,c)})}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return"undefined"==typeof n||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(G)||[""],h=b.length;while(h--)f=oa.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(G)||[""],j=b.length;while(j--)if(h=oa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,e,f){var g,h,i,j,l,m,o,p=[e||d],q=k.call(b,"type")?b.type:b,r=k.call(b,"namespace")?b.namespace.split("."):[];if(i=m=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!na.test(q+n.event.triggered)&&(q.indexOf(".")>-1&&(r=q.split("."),q=r.shift(),r.sort()),h=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=r.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:n.makeArray(c,[b]),l=n.event.special[q]||{},f||!l.trigger||l.trigger.apply(e,c)!==!1)){if(!f&&!l.noBubble&&!n.isWindow(e)){for(j=l.delegateType||q,na.test(j+q)||(i=i.parentNode);i;i=i.parentNode)p.push(i),m=i;m===(e.ownerDocument||d)&&p.push(m.defaultView||m.parentWindow||a)}o=0;while((i=p[o++])&&!b.isPropagationStopped())b.type=o>1?j:l.bindType||q,g=(n._data(i,"events")||{})[b.type]&&n._data(i,"handle"),g&&g.apply(i,c),g=h&&i[h],g&&g.apply&&M(i)&&(b.result=g.apply(i,c),b.result===!1&&b.preventDefault());if(b.type=q,!f&&!b.isDefaultPrevented()&&(!l._default||l._default.apply(p.pop(),c)===!1)&&M(e)&&h&&e[q]&&!n.isWindow(e)){m=e[h],m&&(e[h]=null),n.event.triggered=q;try{e[q]()}catch(s){}n.event.triggered=void 0,m&&(e[h]=m)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,d,f,g,h=[],i=e.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())a.rnamespace&&!a.rnamespace.test(g.namespace)||(a.handleObj=g,a.data=g.data,d=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>-1:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[n.expando])return a;var b,c,e,f=a.type,g=a,h=this.fixHooks[f];h||(this.fixHooks[f]=h=ma.test(f)?this.mouseHooks:la.test(f)?this.keyHooks:{}),e=h.props?this.props.concat(h.props):this.props,a=new n.Event(g),b=e.length;while(b--)c=e[b],a[c]=g[c];return a.target||(a.target=g.srcElement||d),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,h.filter?h.filter(a,g):a},props:"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,e,f,g=b.button,h=b.fromElement;return null==a.pageX&&null!=b.clientX&&(e=a.target.ownerDocument||d,f=e.documentElement,c=e.body,a.pageX=b.clientX+(f&&f.scrollLeft||c&&c.scrollLeft||0)-(f&&f.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(f&&f.scrollTop||c&&c.scrollTop||0)-(f&&f.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&h&&(a.relatedTarget=h===a.target?b.toElement:h),a.which||void 0===g||(a.which=1&g?1:2&g?3:4&g?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==ra()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===ra()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return n.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c){var d=n.extend(new n.Event,c,{type:a,isSimulated:!0});n.event.trigger(d,null,b),d.isDefaultPrevented()&&c.preventDefault()}},n.removeEvent=d.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)}:function(a,b,c){var d="on"+b;a.detachEvent&&("undefined"==typeof a[d]&&(a[d]=null),a.detachEvent(d,c))},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?pa:qa):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={constructor:n.Event,isDefaultPrevented:qa,isPropagationStopped:qa,isImmediatePropagationStopped:qa,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=pa,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=pa,a&&!this.isSimulated&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=pa,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},n.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||n.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),l.submit||(n.event.special.submit={setup:function(){return n.nodeName(this,"form")?!1:void n.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=n.nodeName(b,"input")||n.nodeName(b,"button")?n.prop(b,"form"):void 0;c&&!n._data(c,"submit")&&(n.event.add(c,"submit._submit",function(a){a._submitBubble=!0}),n._data(c,"submit",!0))})},postDispatch:function(a){a._submitBubble&&(delete a._submitBubble,this.parentNode&&!a.isTrigger&&n.event.simulate("submit",this.parentNode,a))},teardown:function(){return n.nodeName(this,"form")?!1:void n.event.remove(this,"._submit")}}),l.change||(n.event.special.change={setup:function(){return ka.test(this.nodeName)?("checkbox"!==this.type&&"radio"!==this.type||(n.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._justChanged=!0)}),n.event.add(this,"click._change",function(a){this._justChanged&&!a.isTrigger&&(this._justChanged=!1),n.event.simulate("change",this,a)})),!1):void n.event.add(this,"beforeactivate._change",function(a){var b=a.target;ka.test(b.nodeName)&&!n._data(b,"change")&&(n.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||n.event.simulate("change",this.parentNode,a)}),n._data(b,"change",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return n.event.remove(this,"._change"),!ka.test(this.nodeName)}}),l.focusin||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a))};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=n._data(d,b);e||d.addEventListener(a,c,!0),n._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=n._data(d,b)-1;e?n._data(d,b,e):(d.removeEventListener(a,c,!0),n._removeData(d,b))}}}),n.fn.extend({on:function(a,b,c,d){return sa(this,a,b,c,d)},one:function(a,b,c,d){return sa(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,n(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&"function"!=typeof b||(c=b,b=void 0),c===!1&&(c=qa),this.each(function(){n.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}});var ta=/ jQuery\d+="(?:null|\d+)"/g,ua=new RegExp("<(?:"+ba+")[\\s/>]","i"),va=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,wa=/<script|<style|<link/i,xa=/checked\s*(?:[^=]|=\s*.checked.)/i,ya=/^true\/(.*)/,za=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,Aa=ca(d),Ba=Aa.appendChild(d.createElement("div"));function Ca(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function Da(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function Ea(a){var b=ya.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Fa(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)n.event.add(b,c,h[c][d])}g.data&&(g.data=n.extend({},g.data))}}function Ga(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events)n.removeEvent(b,d,e.handle);b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(Da(b).text=a.text,Ea(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&Z.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}}function Ha(a,b,c,d){b=f.apply([],b);var e,g,h,i,j,k,m=0,o=a.length,p=o-1,q=b[0],r=n.isFunction(q);if(r||o>1&&"string"==typeof q&&!l.checkClone&&xa.test(q))return a.each(function(e){var f=a.eq(e);r&&(b[0]=q.call(this,e,f.html())),Ha(f,b,c,d)});if(o&&(k=ja(b,a[0].ownerDocument,!1,a,d),e=k.firstChild,1===k.childNodes.length&&(k=e),e||d)){for(i=n.map(ea(k,"script"),Da),h=i.length;o>m;m++)g=k,m!==p&&(g=n.clone(g,!0,!0),h&&n.merge(i,ea(g,"script"))),c.call(a[m],g,m);if(h)for(j=i[i.length-1].ownerDocument,n.map(i,Ea),m=0;h>m;m++)g=i[m],_.test(g.type||"")&&!n._data(g,"globalEval")&&n.contains(j,g)&&(g.src?n._evalUrl&&n._evalUrl(g.src):n.globalEval((g.text||g.textContent||g.innerHTML||"").replace(za,"")));k=e=null}return a}function Ia(a,b,c){for(var d,e=b?n.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||n.cleanData(ea(d)),d.parentNode&&(c&&n.contains(d.ownerDocument,d)&&fa(ea(d,"script")),d.parentNode.removeChild(d));return a}n.extend({htmlPrefilter:function(a){return a.replace(va,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!ua.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(Ba.innerHTML=a.outerHTML,Ba.removeChild(f=Ba.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(d=ea(f),h=ea(a),g=0;null!=(e=h[g]);++g)d[g]&&Ga(e,d[g]);if(b)if(c)for(h=h||ea(a),d=d||ea(f),g=0;null!=(e=h[g]);g++)Fa(e,d[g]);else Fa(a,f);return d=ea(f,"script"),d.length>0&&fa(d,!i&&ea(a,"script")),d=h=e=null,f},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.attributes,m=n.event.special;null!=(d=a[h]);h++)if((b||M(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle);j[f]&&(delete j[f],k||"undefined"==typeof d.removeAttribute?d[i]=void 0:d.removeAttribute(i),c.push(f))}}}),n.fn.extend({domManip:Ha,detach:function(a){return Ia(this,a,!0)},remove:function(a){return Ia(this,a)},text:function(a){return Y(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDocument||d).createTextNode(a))},null,a,arguments.length)},append:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.appendChild(a)}})},prepend:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(ea(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return Y(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(ta,""):void 0;if("string"==typeof a&&!wa.test(a)&&(l.htmlSerialize||!ua.test(a))&&(l.leadingWhitespace||!aa.test(a))&&!da[($.exec(a)||["",""])[1].toLowerCase()]){a=n.htmlPrefilter(a);try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ea(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ha(this,arguments,function(b){var c=this.parentNode;n.inArray(this,a)<0&&(n.cleanData(ea(this)),c&&c.replaceChild(b,this))},a)}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],f=n(a),h=f.length-1;h>=d;d++)c=d===h?this:this.clone(!0),n(f[d])[b](c),g.apply(e,c.get());return this.pushStack(e)}});var Ja,Ka={HTML:"block",BODY:"block"};function La(a,b){var c=n(b.createElement(a)).appendTo(b.body),d=n.css(c[0],"display");return c.detach(),d}function Ma(a){var b=d,c=Ka[a];return c||(c=La(a,b),"none"!==c&&c||(Ja=(Ja||n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Ja[0].contentWindow||Ja[0].contentDocument).document,b.write(),b.close(),c=La(a,b),Ja.detach()),Ka[a]=c),c}var Na=/^margin/,Oa=new RegExp("^("+T+")(?!px)[a-z%]+$","i"),Pa=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e},Qa=d.documentElement;!function(){var b,c,e,f,g,h,i=d.createElement("div"),j=d.createElement("div");if(j.style){j.style.cssText="float:left;opacity:.5",l.opacity="0.5"===j.style.opacity,l.cssFloat=!!j.style.cssFloat,j.style.backgroundClip="content-box",j.cloneNode(!0).style.backgroundClip="",l.clearCloneStyle="content-box"===j.style.backgroundClip,i=d.createElement("div"),i.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",j.innerHTML="",i.appendChild(j),l.boxSizing=""===j.style.boxSizing||""===j.style.MozBoxSizing||""===j.style.WebkitBoxSizing,n.extend(l,{reliableHiddenOffsets:function(){return null==b&&k(),f},boxSizingReliable:function(){return null==b&&k(),e},pixelMarginRight:function(){return null==b&&k(),c},pixelPosition:function(){return null==b&&k(),b},reliableMarginRight:function(){return null==b&&k(),g},reliableMarginLeft:function(){return null==b&&k(),h}});function k(){var k,l,m=d.documentElement;m.appendChild(i),j.style.cssText="-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",b=e=h=!1,c=g=!0,a.getComputedStyle&&(l=a.getComputedStyle(j),b="1%"!==(l||{}).top,h="2px"===(l||{}).marginLeft,e="4px"===(l||{width:"4px"}).width,j.style.marginRight="50%",c="4px"===(l||{marginRight:"4px"}).marginRight,k=j.appendChild(d.createElement("div")),k.style.cssText=j.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",k.style.marginRight=k.style.width="0",j.style.width="1px",g=!parseFloat((a.getComputedStyle(k)||{}).marginRight),j.removeChild(k)),j.style.display="none",f=0===j.getClientRects().length,f&&(j.style.display="",j.innerHTML="<table><tr><td></td><td>t</td></tr></table>",j.childNodes[0].style.borderCollapse="separate",k=j.getElementsByTagName("td"),k[0].style.cssText="margin:0;border:0;padding:0;display:none",f=0===k[0].offsetHeight,f&&(k[0].style.display="",k[1].style.display="none",f=0===k[0].offsetHeight)),m.removeChild(i)}}}();var Ra,Sa,Ta=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ra=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)},Sa=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ra(a),g=c?c.getPropertyValue(b)||c[b]:void 0,""!==g&&void 0!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),c&&!l.pixelMarginRight()&&Oa.test(g)&&Na.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f),void 0===g?g:g+""}):Qa.currentStyle&&(Ra=function(a){return a.currentStyle},Sa=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ra(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Oa.test(g)&&!Ta.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function Ua(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Va=/alpha\([^)]*\)/i,Wa=/opacity\s*=\s*([^)]*)/i,Xa=/^(none|table(?!-c[ea]).+)/,Ya=new RegExp("^("+T+")(.*)$","i"),Za={position:"absolute",visibility:"hidden",display:"block"},$a={letterSpacing:"0",fontWeight:"400"},_a=["Webkit","O","Moz","ms"],ab=d.createElement("div").style;function bb(a){if(a in ab)return a;var b=a.charAt(0).toUpperCase()+a.slice(1),c=_a.length;while(c--)if(a=_a[c]+b,a in ab)return a}function cb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=n._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&W(d)&&(f[g]=n._data(d,"olddisplay",Ma(d.nodeName)))):(e=W(d),(c&&"none"!==c||!e)&&n._data(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function db(a,b,c){var d=Ya.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function eb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+V[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+V[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+V[f]+"Width",!0,e))):(g+=n.css(a,"padding"+V[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+V[f]+"Width",!0,e)));return g}function fb(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ra(a),g=l.boxSizing&&"border-box"===n.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Sa(a,b,f),(0>e||null==e)&&(e=a.style[b]),Oa.test(e))return e;d=g&&(l.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+eb(a,b,c||(g?"border":"content"),d,f)+"px"}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Sa(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":l.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;if(b=n.cssProps[h]||(n.cssProps[h]=bb(h)||h),g=n.cssHooks[b]||n.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=U.exec(c))&&e[1]&&(c=X(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(n.cssNumber[h]?"":"px")),l.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=bb(h)||h),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Sa(a,b,d)),"normal"===f&&b in $a&&(f=$a[b]),""===c||c?(e=parseFloat(f),c===!0||isFinite(e)?e||0:f):f}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?Xa.test(n.css(a,"display"))&&0===a.offsetWidth?Pa(a,Za,function(){return fb(a,b,d)}):fb(a,b,d):void 0},set:function(a,c,d){var e=d&&Ra(a);return db(a,c,d?eb(a,b,d,l.boxSizing&&"border-box"===n.css(a,"boxSizing",!1,e),e):0)}}}),l.opacity||(n.cssHooks.opacity={get:function(a,b){return Wa.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=n.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===n.trim(f.replace(Va,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Va.test(f)?f.replace(Va,e):f+" "+e)}}),n.cssHooks.marginRight=Ua(l.reliableMarginRight,function(a,b){return b?Pa(a,{display:"inline-block"},Sa,[a,"marginRight"]):void 0}),n.cssHooks.marginLeft=Ua(l.reliableMarginLeft,function(a,b){return b?(parseFloat(Sa(a,"marginLeft"))||(n.contains(a.ownerDocument,a)?a.getBoundingClientRect().left-Pa(a,{ marginLeft:0},function(){return a.getBoundingClientRect().left}):0))+"px":void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+V[d]+b]=f[d]||f[d-2]||f[0];return e}},Na.test(a)||(n.cssHooks[a+b].set=db)}),n.fn.extend({css:function(a,b){return Y(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=Ra(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)},a,b,arguments.length>1)},show:function(){return cb(this,!0)},hide:function(){return cb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){W(this)?n(this).show():n(this).hide()})}});function gb(a,b,c,d,e){return new gb.prototype.init(a,b,c,d,e)}n.Tween=gb,gb.prototype={constructor:gb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||n.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=gb.propHooks[this.prop];return a&&a.get?a.get(this):gb.propHooks._default.get(this)},run:function(a){var b,c=gb.propHooks[this.prop];return this.options.duration?this.pos=b=n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):gb.propHooks._default.set(this),this}},gb.prototype.init.prototype=gb.prototype,gb.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[n.cssProps[a.prop]]&&!n.cssHooks[a.prop]?a.elem[a.prop]=a.now:n.style(a.elem,a.prop,a.now+a.unit)}}},gb.propHooks.scrollTop=gb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},n.fx=gb.prototype.init,n.fx.step={};var hb,ib,jb=/^(?:toggle|show|hide)$/,kb=/queueHooks$/;function lb(){return a.setTimeout(function(){hb=void 0}),hb=n.now()}function mb(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=V[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function nb(a,b,c){for(var d,e=(qb.tweeners[b]||[]).concat(qb.tweeners["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ob(a,b,c){var d,e,f,g,h,i,j,k,m=this,o={},p=a.style,q=a.nodeType&&W(a),r=n._data(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,m.always(function(){m.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=n.css(a,"display"),k="none"===j?n._data(a,"olddisplay")||Ma(a.nodeName):j,"inline"===k&&"none"===n.css(a,"float")&&(l.inlineBlockNeedsLayout&&"inline"!==Ma(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",l.shrinkWrapBlocks()||m.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],jb.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||n.style(a,d)}else j=void 0;if(n.isEmptyObject(o))"inline"===("none"===j?Ma(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=n._data(a,"fxshow",{}),f&&(r.hidden=!q),q?n(a).show():m.done(function(){n(a).hide()}),m.done(function(){var b;n._removeData(a,"fxshow");for(b in o)n.style(a,b,o[b])});for(d in o)g=nb(q?r[d]:0,d,m),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function pb(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function qb(a,b,c){var d,e,f=0,g=qb.prefilters.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=hb||lb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{},easing:n.easing._default},c),originalProperties:b,originalOptions:c,startTime:hb||lb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for(pb(k,j.opts.specialEasing);g>f;f++)if(d=qb.prefilters[f].call(j,a,k,j.opts))return n.isFunction(d.stop)&&(n._queueHooks(j.elem,j.opts.queue).stop=n.proxy(d.stop,d)),d;return n.map(k,nb,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(qb,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return X(c.elem,a,U.exec(b),c),c}]},tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.match(G);for(var c,d=0,e=a.length;e>d;d++)c=a[d],qb.tweeners[c]=qb.tweeners[c]||[],qb.tweeners[c].unshift(b)},prefilters:[ob],prefilter:function(a,b){b?qb.prefilters.unshift(a):qb.prefilters.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,null!=d.queue&&d.queue!==!0||(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(W).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=qb(this,n.extend({},a),f);(e||n._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=n._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&kb.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));!b&&c||n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=n._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(mb(b,!0),a,d,e)}}),n.each({slideDown:mb("show"),slideUp:mb("hide"),slideToggle:mb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=n.timers,c=0;for(hb=n.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||n.fx.stop(),hb=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){ib||(ib=a.setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){a.clearInterval(ib),ib=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(b,c){return b=n.fx?n.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a,b=d.createElement("input"),c=d.createElement("div"),e=d.createElement("select"),f=e.appendChild(d.createElement("option"));c=d.createElement("div"),c.setAttribute("className","t"),c.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",a=c.getElementsByTagName("a")[0],b.setAttribute("type","checkbox"),c.appendChild(b),a=c.getElementsByTagName("a")[0],a.style.cssText="top:1px",l.getSetAttribute="t"!==c.className,l.style=/top/.test(a.getAttribute("style")),l.hrefNormalized="/a"===a.getAttribute("href"),l.checkOn=!!b.value,l.optSelected=f.selected,l.enctype=!!d.createElement("form").enctype,e.disabled=!0,l.optDisabled=!f.disabled,b=d.createElement("input"),b.setAttribute("value",""),l.input=""===b.getAttribute("value"),b.value="t",b.setAttribute("type","radio"),l.radioValue="t"===b.value}();var rb=/\r/g,sb=/[\x20\t\r\n\f]+/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(rb,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.trim(n.text(a)).replace(sb," ")}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],(c.selected||i===e)&&(l.optDisabled?!c.disabled:null===c.getAttribute("disabled"))&&(!c.parentNode.disabled||!n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)if(d=e[g],n.inArray(n.valHooks.option.get(d),f)>-1)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>-1:void 0}},l.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var tb,ub,vb=n.expr.attrHandle,wb=/^(?:checked|selected)$/i,xb=l.getSetAttribute,yb=l.input;n.fn.extend({attr:function(a,b){return Y(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),e=n.attrHooks[b]||(n.expr.match.bool.test(b)?ub:tb)),void 0!==c?null===c?void n.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=n.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!l.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(G);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)?yb&&xb||!wb.test(c)?a[d]=!1:a[n.camelCase("default-"+c)]=a[d]=!1:n.attr(a,c,""),a.removeAttribute(xb?c:d)}}),ub={set:function(a,b,c){return b===!1?n.removeAttr(a,c):yb&&xb||!wb.test(c)?a.setAttribute(!xb&&n.propFix[c]||c,c):a[n.camelCase("default-"+c)]=a[c]=!0,c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=vb[b]||n.find.attr;yb&&xb||!wb.test(b)?vb[b]=function(a,b,d){var e,f;return d||(f=vb[b],vb[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,vb[b]=f),e}:vb[b]=function(a,b,c){return c?void 0:a[n.camelCase("default-"+b)]?b.toLowerCase():null}}),yb&&xb||(n.attrHooks.value={set:function(a,b,c){return n.nodeName(a,"input")?void(a.defaultValue=b):tb&&tb.set(a,b,c)}}),xb||(tb={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},vb.id=vb.name=vb.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},n.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:tb.set},n.attrHooks.contenteditable={set:function(a,b,c){tb.set(a,""===b?!1:b,c)}},n.each(["width","height"],function(a,b){n.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),l.style||(n.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var zb=/^(?:input|select|textarea|button|object)$/i,Ab=/^(?:a|area)$/i;n.fn.extend({prop:function(a,b){return Y(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return a=n.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),n.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&n.isXMLDoc(a)||(b=n.propFix[b]||b,e=n.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=n.find.attr(a,"tabindex");return b?parseInt(b,10):zb.test(a.nodeName)||Ab.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),l.hrefNormalized||n.each(["href","src"],function(a,b){n.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),l.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this}),l.enctype||(n.propFix.enctype="encoding");var Bb=/[\t\r\n\f]/g;function Cb(a){return n.attr(a,"class")||""}n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,Cb(this)))});if("string"==typeof a&&a){b=a.match(G)||[];while(c=this[i++])if(e=Cb(c),d=1===c.nodeType&&(" "+e+" ").replace(Bb," ")){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=n.trim(d),e!==h&&n.attr(c,"class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,Cb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(G)||[];while(c=this[i++])if(e=Cb(c),d=1===c.nodeType&&(" "+e+" ").replace(Bb," ")){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=n.trim(d),e!==h&&n.attr(c,"class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):n.isFunction(a)?this.each(function(c){n(this).toggleClass(a.call(this,c,Cb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=n(this),f=a.match(G)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=Cb(this),b&&n._data(this,"__className__",b),n.attr(this,"class",b||a===!1?"":n._data(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+Cb(c)+" ").replace(Bb," ").indexOf(b)>-1)return!0;return!1}}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var Db=a.location,Eb=n.now(),Fb=/\?/,Gb=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;n.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=n.trim(b+"");return e&&!n.trim(e.replace(Gb,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():n.error("Invalid JSON: "+b)},n.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new a.DOMParser,c=d.parseFromString(b,"text/xml")):(c=new a.ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||n.error("Invalid XML: "+b),c};var Hb=/#.*$/,Ib=/([?&])_=[^&]*/,Jb=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Kb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Lb=/^(?:GET|HEAD)$/,Mb=/^\/\//,Nb=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Ob={},Pb={},Qb="*/".concat("*"),Rb=Db.href,Sb=Nb.exec(Rb.toLowerCase())||[];function Tb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(G)||[];if(n.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Ub(a,b,c,d){var e={},f=a===Pb;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Vb(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&n.extend(!0,a,c),a}function Wb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Xb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Rb,type:"GET",isLocal:Kb.test(Sb[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Qb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Vb(Vb(a,n.ajaxSettings),b):Vb(n.ajaxSettings,a)},ajaxPrefilter:Tb(Ob),ajaxTransport:Tb(Pb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var d,e,f,g,h,i,j,k,l=n.ajaxSetup({},c),m=l.context||l,o=l.context&&(m.nodeType||m.jquery)?n(m):n.event,p=n.Deferred(),q=n.Callbacks("once memory"),r=l.statusCode||{},s={},t={},u=0,v="canceled",w={readyState:0,getResponseHeader:function(a){var b;if(2===u){if(!k){k={};while(b=Jb.exec(g))k[b[1].toLowerCase()]=b[2]}b=k[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===u?g:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return u||(a=t[c]=t[c]||a,s[a]=b),this},overrideMimeType:function(a){return u||(l.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>u)for(b in a)r[b]=[r[b],a[b]];else w.always(a[w.status]);return this},abort:function(a){var b=a||v;return j&&j.abort(b),y(0,b),this}};if(p.promise(w).complete=q.add,w.success=w.done,w.error=w.fail,l.url=((b||l.url||Rb)+"").replace(Hb,"").replace(Mb,Sb[1]+"//"),l.type=c.method||c.type||l.method||l.type,l.dataTypes=n.trim(l.dataType||"*").toLowerCase().match(G)||[""],null==l.crossDomain&&(d=Nb.exec(l.url.toLowerCase()),l.crossDomain=!(!d||d[1]===Sb[1]&&d[2]===Sb[2]&&(d[3]||("http:"===d[1]?"80":"443"))===(Sb[3]||("http:"===Sb[1]?"80":"443")))),l.data&&l.processData&&"string"!=typeof l.data&&(l.data=n.param(l.data,l.traditional)),Ub(Ob,l,c,w),2===u)return w;i=n.event&&l.global,i&&0===n.active++&&n.event.trigger("ajaxStart"),l.type=l.type.toUpperCase(),l.hasContent=!Lb.test(l.type),f=l.url,l.hasContent||(l.data&&(f=l.url+=(Fb.test(f)?"&":"?")+l.data,delete l.data),l.cache===!1&&(l.url=Ib.test(f)?f.replace(Ib,"$1_="+Eb++):f+(Fb.test(f)?"&":"?")+"_="+Eb++)),l.ifModified&&(n.lastModified[f]&&w.setRequestHeader("If-Modified-Since",n.lastModified[f]),n.etag[f]&&w.setRequestHeader("If-None-Match",n.etag[f])),(l.data&&l.hasContent&&l.contentType!==!1||c.contentType)&&w.setRequestHeader("Content-Type",l.contentType),w.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+("*"!==l.dataTypes[0]?", "+Qb+"; q=0.01":""):l.accepts["*"]);for(e in l.headers)w.setRequestHeader(e,l.headers[e]);if(l.beforeSend&&(l.beforeSend.call(m,w,l)===!1||2===u))return w.abort();v="abort";for(e in{success:1,error:1,complete:1})w[e](l[e]);if(j=Ub(Pb,l,c,w)){if(w.readyState=1,i&&o.trigger("ajaxSend",[w,l]),2===u)return w;l.async&&l.timeout>0&&(h=a.setTimeout(function(){w.abort("timeout")},l.timeout));try{u=1,j.send(s,y)}catch(x){if(!(2>u))throw x;y(-1,x)}}else y(-1,"No Transport");function y(b,c,d,e){var k,s,t,v,x,y=c;2!==u&&(u=2,h&&a.clearTimeout(h),j=void 0,g=e||"",w.readyState=b>0?4:0,k=b>=200&&300>b||304===b,d&&(v=Wb(l,w,d)),v=Xb(l,v,w,k),k?(l.ifModified&&(x=w.getResponseHeader("Last-Modified"),x&&(n.lastModified[f]=x),x=w.getResponseHeader("etag"),x&&(n.etag[f]=x)),204===b||"HEAD"===l.type?y="nocontent":304===b?y="notmodified":(y=v.state,s=v.data,t=v.error,k=!t)):(t=y,!b&&y||(y="error",0>b&&(b=0))),w.status=b,w.statusText=(c||y)+"",k?p.resolveWith(m,[s,y,w]):p.rejectWith(m,[w,y,t]),w.statusCode(r),r=void 0,i&&o.trigger(k?"ajaxSuccess":"ajaxError",[w,l,k?s:t]),q.fireWith(m,[w,y]),i&&(o.trigger("ajaxComplete",[w,l]),--n.active||n.event.trigger("ajaxStop")))}return w},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax(n.extend({url:a,type:b,dataType:e,data:c,success:d},n.isPlainObject(a)&&a))}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){if(n.isFunction(a))return this.each(function(b){n(this).wrapAll(a.call(this,b))});if(this[0]){var b=n(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return n.isFunction(a)?this.each(function(b){n(this).wrapInner(a.call(this,b))}):this.each(function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}});function Yb(a){return a.style&&a.style.display||n.css(a,"display")}function Zb(a){if(!n.contains(a.ownerDocument||d,a))return!0;while(a&&1===a.nodeType){if("none"===Yb(a)||"hidden"===a.type)return!0;a=a.parentNode}return!1}n.expr.filters.hidden=function(a){return l.reliableHiddenOffsets()?a.offsetWidth<=0&&a.offsetHeight<=0&&!a.getClientRects().length:Zb(a)},n.expr.filters.visible=function(a){return!n.expr.filters.hidden(a)};var $b=/%20/g,_b=/\[\]$/,ac=/\r?\n/g,bc=/^(?:submit|button|image|reset|file)$/i,cc=/^(?:input|select|textarea|keygen)/i;function dc(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||_b.test(a)?d(a,e):dc(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)dc(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)dc(c,a[c],b,e);return d.join("&").replace($b,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&cc.test(this.nodeName)&&!bc.test(a)&&(this.checked||!Z.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(ac,"\r\n")}}):{name:b.name,value:c.replace(ac,"\r\n")}}).get()}}),n.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return this.isLocal?ic():d.documentMode>8?hc():/^(get|post|head|put|delete|options)$/i.test(this.type)&&hc()||ic()}:hc;var ec=0,fc={},gc=n.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in fc)fc[a](void 0,!0)}),l.cors=!!gc&&"withCredentials"in gc,gc=l.ajax=!!gc,gc&&n.ajaxTransport(function(b){if(!b.crossDomain||l.cors){var c;return{send:function(d,e){var f,g=b.xhr(),h=++ec;if(g.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(f in b.xhrFields)g[f]=b.xhrFields[f];b.mimeType&&g.overrideMimeType&&g.overrideMimeType(b.mimeType),b.crossDomain||d["X-Requested-With"]||(d["X-Requested-With"]="XMLHttpRequest");for(f in d)void 0!==d[f]&&g.setRequestHeader(f,d[f]+"");g.send(b.hasContent&&b.data||null),c=function(a,d){var f,i,j;if(c&&(d||4===g.readyState))if(delete fc[h],c=void 0,g.onreadystatechange=n.noop,d)4!==g.readyState&&g.abort();else{j={},f=g.status,"string"==typeof g.responseText&&(j.text=g.responseText);try{i=g.statusText}catch(k){i=""}f||!b.isLocal||b.crossDomain?1223===f&&(f=204):f=j.text?200:404}j&&e(f,i,j,g.getAllResponseHeaders())},b.async?4===g.readyState?a.setTimeout(c):g.onreadystatechange=fc[h]=c:c()},abort:function(){c&&c(void 0,!0)}}}});function hc(){try{return new a.XMLHttpRequest}catch(b){}}function ic(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=d.head||n("head")[0]||d.documentElement;return{send:function(e,f){b=d.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||f(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var jc=[],kc=/(=)\?(?=&|$)|\?\?/;n.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=jc.pop()||n.expando+"_"+Eb++;return this[a]=!0,a}}),n.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(kc.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&kc.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(kc,"$1"+e):b.jsonp!==!1&&(b.url+=(Fb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||n.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?n(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,jc.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||d;var e=x.exec(a),f=!c&&[];return e?[b.createElement(e[1])]:(e=ja([a],b,f),f&&f.length&&n(f).remove(),n.merge([],e.childNodes))};var lc=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof a&&lc)return lc.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=n.trim(a.slice(h,a.length)),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&n.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?n("<div>").append(n.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};function mc(a){return n.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&n.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,n.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,n.contains(b,e)?("undefined"!=typeof e.getBoundingClientRect&&(d=e.getBoundingClientRect()),c=mc(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===n.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(c=a.offset()),c.top+=n.css(a[0],"borderTopWidth",!0),c.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-n.css(d,"marginTop",!0),left:b.left-c.left-n.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&!n.nodeName(a,"html")&&"static"===n.css(a,"position"))a=a.offsetParent;return a||Qa})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);n.fn[a]=function(d){return Y(this,function(a,d,e){var f=mc(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?n(f).scrollLeft():e,c?e:n(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=Ua(l.pixelPosition,function(a,c){return c?(c=Sa(a,b),Oa.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({ padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return Y(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}}),n.fn.size=function(){return this.length},n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var nc=a.jQuery,oc=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=oc),b&&a.jQuery===n&&(a.jQuery=nc),n},b||(a.jQuery=a.$=n),n}); </script> <style type="text/css">.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane > svg,.leaflet-pane > canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer {position: absolute;left: 0;top: 0;}.leaflet-container {overflow: hidden;}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow {-webkit-user-select: none;-moz-user-select: none;user-select: none;-webkit-user-drag: none;}.leaflet-safari .leaflet-tile {image-rendering: -webkit-optimize-contrast;}.leaflet-safari .leaflet-tile-container {width: 1600px;height: 1600px;-webkit-transform-origin: 0 0;}.leaflet-marker-icon,.leaflet-marker-shadow {display: block;}.leaflet-container .leaflet-overlay-pane svg,.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer {max-width: none !important;max-height: none !important;}.leaflet-container.leaflet-touch-zoom {-ms-touch-action: pan-x pan-y;touch-action: pan-x pan-y;}.leaflet-container.leaflet-touch-drag {-ms-touch-action: pinch-zoom;touch-action: none;touch-action: pinch-zoom;}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {-ms-touch-action: none;touch-action: none;}.leaflet-container {-webkit-tap-highlight-color: transparent;}.leaflet-container a {-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);}.leaflet-tile {filter: inherit;visibility: hidden;}.leaflet-tile-loaded {visibility: inherit;}.leaflet-zoom-box {width: 0;height: 0;-moz-box-sizing: border-box;box-sizing: border-box;z-index: 800;}.leaflet-overlay-pane svg {-moz-user-select: none;}.leaflet-pane { z-index: 400; }.leaflet-tile-pane { z-index: 200; }.leaflet-overlay-pane { z-index: 400; }.leaflet-shadow-pane { z-index: 500; }.leaflet-marker-pane { z-index: 600; }.leaflet-tooltip-pane { z-index: 650; }.leaflet-popup-pane { z-index: 700; }.leaflet-map-pane canvas { z-index: 100; }.leaflet-map-pane svg { z-index: 200; }.leaflet-vml-shape {width: 1px;height: 1px;}.lvml {behavior: url(#default#VML);display: inline-block;position: absolute;}.leaflet-control {position: relative;z-index: 800;pointer-events: visiblePainted; pointer-events: auto;}.leaflet-top,.leaflet-bottom {position: absolute;z-index: 1000;pointer-events: none;}.leaflet-top {top: 0;}.leaflet-right {right: 0;}.leaflet-bottom {bottom: 0;}.leaflet-left {left: 0;}.leaflet-control {float: left;clear: both;}.leaflet-right .leaflet-control {float: right;}.leaflet-top .leaflet-control {margin-top: 10px;}.leaflet-bottom .leaflet-control {margin-bottom: 10px;}.leaflet-left .leaflet-control {margin-left: 10px;}.leaflet-right .leaflet-control {margin-right: 10px;}.leaflet-fade-anim .leaflet-tile {will-change: opacity;}.leaflet-fade-anim .leaflet-popup {opacity: 0;-webkit-transition: opacity 0.2s linear;-moz-transition: opacity 0.2s linear;-o-transition: opacity 0.2s linear;transition: opacity 0.2s linear;}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {opacity: 1;}.leaflet-zoom-animated {-webkit-transform-origin: 0 0;-ms-transform-origin: 0 0;transform-origin: 0 0;}.leaflet-zoom-anim .leaflet-zoom-animated {will-change: transform;}.leaflet-zoom-anim .leaflet-zoom-animated {-webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);-moz-transition: -moz-transform 0.25s cubic-bezier(0,0,0.25,1);-o-transition: -o-transform 0.25s cubic-bezier(0,0,0.25,1);transition: transform 0.25s cubic-bezier(0,0,0.25,1);}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile {-webkit-transition: none;-moz-transition: none;-o-transition: none;transition: none;}.leaflet-zoom-anim .leaflet-zoom-hide {visibility: hidden;}.leaflet-interactive {cursor: pointer;}.leaflet-grab {cursor: -webkit-grab;cursor: -moz-grab;}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive {cursor: crosshair;}.leaflet-popup-pane,.leaflet-control {cursor: auto;}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable {cursor: move;cursor: -webkit-grabbing;cursor: -moz-grabbing;}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane > svg path,.leaflet-tile-container {pointer-events: none;}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane > svg path.leaflet-interactive {pointer-events: visiblePainted; pointer-events: auto;}.leaflet-container {background: #ddd;outline: 0;}.leaflet-container a {color: #0078A8;}.leaflet-container a.leaflet-active {outline: 2px solid orange;}.leaflet-zoom-box {border: 2px dotted #38f;background: rgba(255,255,255,0.5);}.leaflet-container {font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;}.leaflet-bar {box-shadow: 0 1px 5px rgba(0,0,0,0.65);border-radius: 4px;}.leaflet-bar a,.leaflet-bar a:hover {background-color: #fff;border-bottom: 1px solid #ccc;width: 26px;height: 26px;line-height: 26px;display: block;text-align: center;text-decoration: none;color: black;}.leaflet-bar a,.leaflet-control-layers-toggle {background-position: 50% 50%;background-repeat: no-repeat;display: block;}.leaflet-bar a:hover {background-color: #f4f4f4;}.leaflet-bar a:first-child {border-top-left-radius: 4px;border-top-right-radius: 4px;}.leaflet-bar a:last-child {border-bottom-left-radius: 4px;border-bottom-right-radius: 4px;border-bottom: none;}.leaflet-bar a.leaflet-disabled {cursor: default;background-color: #f4f4f4;color: #bbb;}.leaflet-touch .leaflet-bar a {width: 30px;height: 30px;line-height: 30px;}.leaflet-touch .leaflet-bar a:first-child {border-top-left-radius: 2px;border-top-right-radius: 2px;}.leaflet-touch .leaflet-bar a:last-child {border-bottom-left-radius: 2px;border-bottom-right-radius: 2px;}.leaflet-control-zoom-in,.leaflet-control-zoom-out {font: bold 18px 'Lucida Console', Monaco, monospace;text-indent: 1px;}.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out {font-size: 22px;}.leaflet-control-layers {box-shadow: 0 1px 5px rgba(0,0,0,0.4);background: #fff;border-radius: 5px;}.leaflet-control-layers-toggle {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width: 36px;height: 36px;}.leaflet-retina .leaflet-control-layers-toggle {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size: 26px 26px;}.leaflet-touch .leaflet-control-layers-toggle {width: 44px;height: 44px;}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle {display: none;}.leaflet-control-layers-expanded .leaflet-control-layers-list {display: block;position: relative;}.leaflet-control-layers-expanded {padding: 6px 10px 6px 6px;color: #333;background: #fff;}.leaflet-control-layers-scrollbar {overflow-y: scroll;overflow-x: hidden;padding-right: 5px;}.leaflet-control-layers-selector {margin-top: 2px;position: relative;top: 1px;}.leaflet-control-layers label {display: block;}.leaflet-control-layers-separator {height: 0;border-top: 1px solid #ddd;margin: 5px -10px 5px -6px;}.leaflet-default-icon-path {background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=);}.leaflet-container .leaflet-control-attribution {background: #fff;background: rgba(255, 255, 255, 0.7);margin: 0;}.leaflet-control-attribution,.leaflet-control-scale-line {padding: 0 5px;color: #333;}.leaflet-control-attribution a {text-decoration: none;}.leaflet-control-attribution a:hover {text-decoration: underline;}.leaflet-container .leaflet-control-attribution,.leaflet-container .leaflet-control-scale {font-size: 11px;}.leaflet-left .leaflet-control-scale {margin-left: 5px;}.leaflet-bottom .leaflet-control-scale {margin-bottom: 5px;}.leaflet-control-scale-line {border: 2px solid #777;border-top: none;line-height: 1.1;padding: 2px 5px 1px;font-size: 11px;white-space: nowrap;overflow: hidden;-moz-box-sizing: border-box;box-sizing: border-box;background: #fff;background: rgba(255, 255, 255, 0.5);}.leaflet-control-scale-line:not(:first-child) {border-top: 2px solid #777;border-bottom: none;margin-top: -2px;}.leaflet-control-scale-line:not(:first-child):not(:last-child) {border-bottom: 2px solid #777;}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar {box-shadow: none;}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar {border: 2px solid rgba(0,0,0,0.2);background-clip: padding-box;}.leaflet-popup {position: absolute;text-align: center;margin-bottom: 20px;}.leaflet-popup-content-wrapper {padding: 1px;text-align: left;border-radius: 12px;}.leaflet-popup-content {margin: 13px 19px;line-height: 1.4;}.leaflet-popup-content p {margin: 18px 0;}.leaflet-popup-tip-container {width: 40px;height: 20px;position: absolute;left: 50%;margin-left: -20px;overflow: hidden;pointer-events: none;}.leaflet-popup-tip {width: 17px;height: 17px;padding: 1px;margin: -10px auto 0;-webkit-transform: rotate(45deg);-moz-transform: rotate(45deg);-ms-transform: rotate(45deg);-o-transform: rotate(45deg);transform: rotate(45deg);}.leaflet-popup-content-wrapper,.leaflet-popup-tip {background: white;color: #333;box-shadow: 0 3px 14px rgba(0,0,0,0.4);}.leaflet-container a.leaflet-popup-close-button {position: absolute;top: 0;right: 0;padding: 4px 4px 0 0;border: none;text-align: center;width: 18px;height: 14px;font: 16px/14px Tahoma, Verdana, sans-serif;color: #c3c3c3;text-decoration: none;font-weight: bold;background: transparent;}.leaflet-container a.leaflet-popup-close-button:hover {color: #999;}.leaflet-popup-scrolled {overflow: auto;border-bottom: 1px solid #ddd;border-top: 1px solid #ddd;}.leaflet-oldie .leaflet-popup-content-wrapper {zoom: 1;}.leaflet-oldie .leaflet-popup-tip {width: 24px;margin: 0 auto;-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);}.leaflet-oldie .leaflet-popup-tip-container {margin-top: -1px;}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip {border: 1px solid #999;}.leaflet-div-icon {background: #fff;border: 1px solid #666;}.leaflet-tooltip {position: absolute;padding: 6px;background-color: #fff;border: 1px solid #fff;border-radius: 3px;color: #222;white-space: nowrap;-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;pointer-events: none;box-shadow: 0 1px 3px rgba(0,0,0,0.4);}.leaflet-tooltip.leaflet-clickable {cursor: pointer;pointer-events: auto;}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before {position: absolute;pointer-events: none;border: 6px solid transparent;background: transparent;content: "";}.leaflet-tooltip-bottom {margin-top: 6px;}.leaflet-tooltip-top {margin-top: -6px;}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before {left: 50%;margin-left: -6px;}.leaflet-tooltip-top:before {bottom: 0;margin-bottom: -12px;border-top-color: #fff;}.leaflet-tooltip-bottom:before {top: 0;margin-top: -12px;margin-left: -6px;border-bottom-color: #fff;}.leaflet-tooltip-left {margin-left: -6px;}.leaflet-tooltip-right {margin-left: 6px;}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before {top: 50%;margin-top: -6px;}.leaflet-tooltip-left:before {right: 0;margin-right: -12px;border-left-color: #fff;}.leaflet-tooltip-right:before {left: 0;margin-left: -12px;border-right-color: #fff;}</style> <script>/* @preserve * Leaflet 1.3.1+Detached: ba6f97fff8647e724e4dfe66d2ed7da11f908989.ba6f97f, a JS library for interactive maps. https://leafletjs.com * (c) 2010-2017 Vladimir Agafonkin, (c) 2010-2011 CloudMade */ !function(t,i){"object"==typeof exports&&"undefined"!=typeof module?i(exports):"function"==typeof define&&define.amd?define(["exports"],i):i(t.L={})}(this,function(t){"use strict";function i(t){var i,e,n,o;for(e=1,n=arguments.length;e<n;e++){o=arguments[e];for(i in o)t[i]=o[i]}return t}function e(t,i){var e=Array.prototype.slice;if(t.bind)return t.bind.apply(t,e.call(arguments,1));var n=e.call(arguments,2);return function(){return t.apply(i,n.length?n.concat(e.call(arguments)):arguments)}}function n(t){return t._leaflet_id=t._leaflet_id||++ti,t._leaflet_id}function o(t,i,e){var n,o,s,r;return r=function(){n=!1,o&&(s.apply(e,o),o=!1)},s=function(){n?o=arguments:(t.apply(e,arguments),setTimeout(r,i),n=!0)}}function s(t,i,e){var n=i[1],o=i[0],s=n-o;return t===n&&e?t:((t-o)%s+s)%s+o}function r(){return!1}function a(t,i){var e=Math.pow(10,void 0===i?6:i);return Math.round(t*e)/e}function h(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function u(t){return h(t).split(/\s+/)}function l(t,i){t.hasOwnProperty("options")||(t.options=t.options?Qt(t.options):{});for(var e in i)t.options[e]=i[e];return t.options}function c(t,i,e){var n=[];for(var o in t)n.push(encodeURIComponent(e?o.toUpperCase():o)+"="+encodeURIComponent(t[o]));return(i&&-1!==i.indexOf("?")?"&":"?")+n.join("&")}function _(t,i){return t.replace(ii,function(t,e){var n=i[e];if(void 0===n)throw new Error("No value provided for variable "+t);return"function"==typeof n&&(n=n(i)),n})}function d(t,i){for(var e=0;e<t.length;e++)if(t[e]===i)return e;return-1}function p(t){return window["webkit"+t]||window["moz"+t]||window["ms"+t]}function m(t){var i=+new Date,e=Math.max(0,16-(i-oi));return oi=i+e,window.setTimeout(t,e)}function f(t,i,n){if(!n||si!==m)return si.call(window,e(t,i));t.call(i)}function g(t){t&&ri.call(window,t)}function v(){}function y(t){if("undefined"!=typeof L&&L&&L.Mixin){t=ei(t)?t:[t];for(var i=0;i<t.length;i++)t[i]===L.Mixin.Events&&console.warn("Deprecated include of L.Mixin.Events: this property will be removed in future releases, please inherit from L.Evented instead.",(new Error).stack)}}function x(t,i,e){this.x=e?Math.round(t):t,this.y=e?Math.round(i):i}function w(t,i,e){return t instanceof x?t:ei(t)?new x(t[0],t[1]):void 0===t||null===t?t:"object"==typeof t&&"x"in t&&"y"in t?new x(t.x,t.y):new x(t,i,e)}function P(t,i){if(t)for(var e=i?[t,i]:t,n=0,o=e.length;n<o;n++)this.extend(e[n])}function b(t,i){return!t||t instanceof P?t:new P(t,i)}function T(t,i){if(t)for(var e=i?[t,i]:t,n=0,o=e.length;n<o;n++)this.extend(e[n])}function z(t,i){return t instanceof T?t:new T(t,i)}function M(t,i,e){if(isNaN(t)||isNaN(i))throw new Error("Invalid LatLng object: ("+t+", "+i+")");this.lat=+t,this.lng=+i,void 0!==e&&(this.alt=+e)}function C(t,i,e){return t instanceof M?t:ei(t)&&"object"!=typeof t[0]?3===t.length?new M(t[0],t[1],t[2]):2===t.length?new M(t[0],t[1]):null:void 0===t||null===t?t:"object"==typeof t&&"lat"in t?new M(t.lat,"lng"in t?t.lng:t.lon,t.alt):void 0===i?null:new M(t,i,e)}function Z(t,i,e,n){if(ei(t))return this._a=t[0],this._b=t[1],this._c=t[2],void(this._d=t[3]);this._a=t,this._b=i,this._c=e,this._d=n}function S(t,i,e,n){return new Z(t,i,e,n)}function E(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}function k(t,i){var e,n,o,s,r,a,h="";for(e=0,o=t.length;e<o;e++){for(n=0,s=(r=t[e]).length;n<s;n++)a=r[n],h+=(n?"L":"M")+a.x+" "+a.y;h+=i?Xi?"z":"x":""}return h||"M0 0"}function A(t){return navigator.userAgent.toLowerCase().indexOf(t)>=0}function I(t,i,e,n){return"touchstart"===i?O(t,e,n):"touchmove"===i?W(t,e,n):"touchend"===i&&H(t,e,n),this}function B(t,i,e){var n=t["_leaflet_"+i+e];return"touchstart"===i?t.removeEventListener(Qi,n,!1):"touchmove"===i?t.removeEventListener(te,n,!1):"touchend"===i&&(t.removeEventListener(ie,n,!1),t.removeEventListener(ee,n,!1)),this}function O(t,i,n){var o=e(function(t){if("mouse"!==t.pointerType&&t.MSPOINTER_TYPE_MOUSE&&t.pointerType!==t.MSPOINTER_TYPE_MOUSE){if(!(ne.indexOf(t.target.tagName)<0))return;$(t)}j(t,i)});t["_leaflet_touchstart"+n]=o,t.addEventListener(Qi,o,!1),se||(document.documentElement.addEventListener(Qi,R,!0),document.documentElement.addEventListener(te,D,!0),document.documentElement.addEventListener(ie,N,!0),document.documentElement.addEventListener(ee,N,!0),se=!0)}function R(t){oe[t.pointerId]=t,re++}function D(t){oe[t.pointerId]&&(oe[t.pointerId]=t)}function N(t){delete oe[t.pointerId],re--}function j(t,i){t.touches=[];for(var e in oe)t.touches.push(oe[e]);t.changedTouches=[t],i(t)}function W(t,i,e){var n=function(t){(t.pointerType!==t.MSPOINTER_TYPE_MOUSE&&"mouse"!==t.pointerType||0!==t.buttons)&&j(t,i)};t["_leaflet_touchmove"+e]=n,t.addEventListener(te,n,!1)}function H(t,i,e){var n=function(t){j(t,i)};t["_leaflet_touchend"+e]=n,t.addEventListener(ie,n,!1),t.addEventListener(ee,n,!1)}function F(t,i,e){function n(t){var i;if(Ui){if(!Pi||"mouse"===t.pointerType)return;i=re}else i=t.touches.length;if(!(i>1)){var e=Date.now(),n=e-(s||e);r=t.touches?t.touches[0]:t,a=n>0&&n<=h,s=e}}function o(t){if(a&&!r.cancelBubble){if(Ui){if(!Pi||"mouse"===t.pointerType)return;var e,n,o={};for(n in r)e=r[n],o[n]=e&&e.bind?e.bind(r):e;r=o}r.type="dblclick",i(r),s=null}}var s,r,a=!1,h=250;return t[ue+ae+e]=n,t[ue+he+e]=o,t[ue+"dblclick"+e]=i,t.addEventListener(ae,n,!1),t.addEventListener(he,o,!1),t.addEventListener("dblclick",i,!1),this}function U(t,i){var e=t[ue+ae+i],n=t[ue+he+i],o=t[ue+"dblclick"+i];return t.removeEventListener(ae,e,!1),t.removeEventListener(he,n,!1),Pi||t.removeEventListener("dblclick",o,!1),this}function V(t,i,e,n){if("object"==typeof i)for(var o in i)G(t,o,i[o],e);else for(var s=0,r=(i=u(i)).length;s<r;s++)G(t,i[s],e,n);return this}function q(t,i,e,n){if("object"==typeof i)for(var o in i)K(t,o,i[o],e);else if(i)for(var s=0,r=(i=u(i)).length;s<r;s++)K(t,i[s],e,n);else{for(var a in t[le])K(t,a,t[le][a]);delete t[le]}return this}function G(t,i,e,o){var s=i+n(e)+(o?"_"+n(o):"");if(t[le]&&t[le][s])return this;var r=function(i){return e.call(o||t,i||window.event)},a=r;Ui&&0===i.indexOf("touch")?I(t,i,r,s):!Vi||"dblclick"!==i||!F||Ui&&Si?"addEventListener"in t?"mousewheel"===i?t.addEventListener("onwheel"in t?"wheel":"mousewheel",r,!1):"mouseenter"===i||"mouseleave"===i?(r=function(i){i=i||window.event,ot(t,i)&&a(i)},t.addEventListener("mouseenter"===i?"mouseover":"mouseout",r,!1)):("click"===i&&Ti&&(r=function(t){st(t,a)}),t.addEventListener(i,r,!1)):"attachEvent"in t&&t.attachEvent("on"+i,r):F(t,r,s),t[le]=t[le]||{},t[le][s]=r}function K(t,i,e,o){var s=i+n(e)+(o?"_"+n(o):""),r=t[le]&&t[le][s];if(!r)return this;Ui&&0===i.indexOf("touch")?B(t,i,s):!Vi||"dblclick"!==i||!U||Ui&&Si?"removeEventListener"in t?"mousewheel"===i?t.removeEventListener("onwheel"in t?"wheel":"mousewheel",r,!1):t.removeEventListener("mouseenter"===i?"mouseover":"mouseleave"===i?"mouseout":i,r,!1):"detachEvent"in t&&t.detachEvent("on"+i,r):U(t,s),t[le][s]=null}function Y(t){return t.stopPropagation?t.stopPropagation():t.originalEvent?t.originalEvent._stopped=!0:t.cancelBubble=!0,nt(t),this}function X(t){return G(t,"mousewheel",Y),this}function J(t){return V(t,"mousedown touchstart dblclick",Y),G(t,"click",et),this}function $(t){return t.preventDefault?t.preventDefault():t.returnValue=!1,this}function Q(t){return $(t),Y(t),this}function tt(t,i){if(!i)return new x(t.clientX,t.clientY);var e=i.getBoundingClientRect(),n=e.width/i.offsetWidth||1,o=e.height/i.offsetHeight||1;return new x(t.clientX/n-e.left-i.clientLeft,t.clientY/o-e.top-i.clientTop)}function it(t){return Pi?t.wheelDeltaY/2:t.deltaY&&0===t.deltaMode?-t.deltaY/ce:t.deltaY&&1===t.deltaMode?20*-t.deltaY:t.deltaY&&2===t.deltaMode?60*-t.deltaY:t.deltaX||t.deltaZ?0:t.wheelDelta?(t.wheelDeltaY||t.wheelDelta)/2:t.detail&&Math.abs(t.detail)<32765?20*-t.detail:t.detail?t.detail/-32765*60:0}function et(t){_e[t.type]=!0}function nt(t){var i=_e[t.type];return _e[t.type]=!1,i}function ot(t,i){var e=i.relatedTarget;if(!e)return!0;try{for(;e&&e!==t;)e=e.parentNode}catch(t){return!1}return e!==t}function st(t,i){var e=t.timeStamp||t.originalEvent&&t.originalEvent.timeStamp,n=pi&&e-pi;n&&n>100&&n<500||t.target._simulatedClick&&!t._simulated?Q(t):(pi=e,i(t))}function rt(t){return"string"==typeof t?document.getElementById(t):t}function at(t,i){var e=t.style[i]||t.currentStyle&&t.currentStyle[i];if((!e||"auto"===e)&&document.defaultView){var n=document.defaultView.getComputedStyle(t,null);e=n?n[i]:null}return"auto"===e?null:e}function ht(t,i,e){var n=document.createElement(t);return n.className=i||"",e&&e.appendChild(n),n}function ut(t){var i=t.parentNode;i&&i.removeChild(t)}function lt(t){for(;t.firstChild;)t.removeChild(t.firstChild)}function ct(t){var i=t.parentNode;i.lastChild!==t&&i.appendChild(t)}function _t(t){var i=t.parentNode;i.firstChild!==t&&i.insertBefore(t,i.firstChild)}function dt(t,i){if(void 0!==t.classList)return t.classList.contains(i);var e=gt(t);return e.length>0&&new RegExp("(^|\\s)"+i+"(\\s|$)").test(e)}function pt(t,i){if(void 0!==t.classList)for(var e=u(i),n=0,o=e.length;n<o;n++)t.classList.add(e[n]);else if(!dt(t,i)){var s=gt(t);ft(t,(s?s+" ":"")+i)}}function mt(t,i){void 0!==t.classList?t.classList.remove(i):ft(t,h((" "+gt(t)+" ").replace(" "+i+" "," ")))}function ft(t,i){void 0===t.className.baseVal?t.className=i:t.className.baseVal=i}function gt(t){return void 0===t.className.baseVal?t.className:t.className.baseVal}function vt(t,i){"opacity"in t.style?t.style.opacity=i:"filter"in t.style&&yt(t,i)}function yt(t,i){var e=!1,n="DXImageTransform.Microsoft.Alpha";try{e=t.filters.item(n)}catch(t){if(1===i)return}i=Math.round(100*i),e?(e.Enabled=100!==i,e.Opacity=i):t.style.filter+=" progid:"+n+"(opacity="+i+")"}function xt(t){for(var i=document.documentElement.style,e=0;e<t.length;e++)if(t[e]in i)return t[e];return!1}function wt(t,i,e){var n=i||new x(0,0);t.style[pe]=(Oi?"translate("+n.x+"px,"+n.y+"px)":"translate3d("+n.x+"px,"+n.y+"px,0)")+(e?" scale("+e+")":"")}function Lt(t,i){t._leaflet_pos=i,Ni?wt(t,i):(t.style.left=i.x+"px",t.style.top=i.y+"px")}function Pt(t){return t._leaflet_pos||new x(0,0)}function bt(){V(window,"dragstart",$)}function Tt(){q(window,"dragstart",$)}function zt(t){for(;-1===t.tabIndex;)t=t.parentNode;t.style&&(Mt(),ve=t,ye=t.style.outline,t.style.outline="none",V(window,"keydown",Mt))}function Mt(){ve&&(ve.style.outline=ye,ve=void 0,ye=void 0,q(window,"keydown",Mt))}function Ct(t,i){if(!i||!t.length)return t.slice();var e=i*i;return t=kt(t,e),t=St(t,e)}function Zt(t,i,e){return Math.sqrt(Rt(t,i,e,!0))}function St(t,i){var e=t.length,n=new(typeof Uint8Array!=void 0+""?Uint8Array:Array)(e);n[0]=n[e-1]=1,Et(t,n,i,0,e-1);var o,s=[];for(o=0;o<e;o++)n[o]&&s.push(t[o]);return s}function Et(t,i,e,n,o){var s,r,a,h=0;for(r=n+1;r<=o-1;r++)(a=Rt(t[r],t[n],t[o],!0))>h&&(s=r,h=a);h>e&&(i[s]=1,Et(t,i,e,n,s),Et(t,i,e,s,o))}function kt(t,i){for(var e=[t[0]],n=1,o=0,s=t.length;n<s;n++)Ot(t[n],t[o])>i&&(e.push(t[n]),o=n);return o<s-1&&e.push(t[s-1]),e}function At(t,i,e,n,o){var s,r,a,h=n?Se:Bt(t,e),u=Bt(i,e);for(Se=u;;){if(!(h|u))return[t,i];if(h&u)return!1;a=Bt(r=It(t,i,s=h||u,e,o),e),s===h?(t=r,h=a):(i=r,u=a)}}function It(t,i,e,n,o){var s,r,a=i.x-t.x,h=i.y-t.y,u=n.min,l=n.max;return 8&e?(s=t.x+a*(l.y-t.y)/h,r=l.y):4&e?(s=t.x+a*(u.y-t.y)/h,r=u.y):2&e?(s=l.x,r=t.y+h*(l.x-t.x)/a):1&e&&(s=u.x,r=t.y+h*(u.x-t.x)/a),new x(s,r,o)}function Bt(t,i){var e=0;return t.x<i.min.x?e|=1:t.x>i.max.x&&(e|=2),t.y<i.min.y?e|=4:t.y>i.max.y&&(e|=8),e}function Ot(t,i){var e=i.x-t.x,n=i.y-t.y;return e*e+n*n}function Rt(t,i,e,n){var o,s=i.x,r=i.y,a=e.x-s,h=e.y-r,u=a*a+h*h;return u>0&&((o=((t.x-s)*a+(t.y-r)*h)/u)>1?(s=e.x,r=e.y):o>0&&(s+=a*o,r+=h*o)),a=t.x-s,h=t.y-r,n?a*a+h*h:new x(s,r)}function Dt(t){return!ei(t[0])||"object"!=typeof t[0][0]&&void 0!==t[0][0]}function Nt(t){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),Dt(t)}function jt(t,i,e){var n,o,s,r,a,h,u,l,c,_=[1,4,2,8];for(o=0,u=t.length;o<u;o++)t[o]._code=Bt(t[o],i);for(r=0;r<4;r++){for(l=_[r],n=[],o=0,s=(u=t.length)-1;o<u;s=o++)a=t[o],h=t[s],a._code&l?h._code&l||((c=It(h,a,l,i,e))._code=Bt(c,i),n.push(c)):(h._code&l&&((c=It(h,a,l,i,e))._code=Bt(c,i),n.push(c)),n.push(a));t=n}return t}function Wt(t,i){var e,n,o,s,r="Feature"===t.type?t.geometry:t,a=r?r.coordinates:null,h=[],u=i&&i.pointToLayer,l=i&&i.coordsToLatLng||Ht;if(!a&&!r)return null;switch(r.type){case"Point":return e=l(a),u?u(t,e):new Xe(e);case"MultiPoint":for(o=0,s=a.length;o<s;o++)e=l(a[o]),h.push(u?u(t,e):new Xe(e));return new qe(h);case"LineString":case"MultiLineString":return n=Ft(a,"LineString"===r.type?0:1,l),new tn(n,i);case"Polygon":case"MultiPolygon":return n=Ft(a,"Polygon"===r.type?1:2,l),new en(n,i);case"GeometryCollection":for(o=0,s=r.geometries.length;o<s;o++){var c=Wt({geometry:r.geometries[o],type:"Feature",properties:t.properties},i);c&&h.push(c)}return new qe(h);default:throw new Error("Invalid GeoJSON object.")}}function Ht(t){return new M(t[1],t[0],t[2])}function Ft(t,i,e){for(var n,o=[],s=0,r=t.length;s<r;s++)n=i?Ft(t[s],i-1,e):(e||Ht)(t[s]),o.push(n);return o}function Ut(t,i){return i="number"==typeof i?i:6,void 0!==t.alt?[a(t.lng,i),a(t.lat,i),a(t.alt,i)]:[a(t.lng,i),a(t.lat,i)]}function Vt(t,i,e,n){for(var o=[],s=0,r=t.length;s<r;s++)o.push(i?Vt(t[s],i-1,e,n):Ut(t[s],n));return!i&&e&&o.push(o[0]),o}function qt(t,e){return t.feature?i({},t.feature,{geometry:e}):Gt(e)}function Gt(t){return"Feature"===t.type||"FeatureCollection"===t.type?t:{type:"Feature",properties:{},geometry:t}}function Kt(t,i){return new nn(t,i)}function Yt(t,i){return new dn(t,i)}function Xt(t){return Yi?new fn(t):null}function Jt(t){return Xi||Ji?new xn(t):null}var $t=Object.freeze;Object.freeze=function(t){return t};var Qt=Object.create||function(){function t(){}return function(i){return t.prototype=i,new t}}(),ti=0,ii=/\{ *([\w_-]+) *\}/g,ei=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)},ni="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=",oi=0,si=window.requestAnimationFrame||p("RequestAnimationFrame")||m,ri=window.cancelAnimationFrame||p("CancelAnimationFrame")||p("CancelRequestAnimationFrame")||function(t){window.clearTimeout(t)},ai=(Object.freeze||Object)({freeze:$t,extend:i,create:Qt,bind:e,lastId:ti,stamp:n,throttle:o,wrapNum:s,falseFn:r,formatNum:a,trim:h,splitWords:u,setOptions:l,getParamString:c,template:_,isArray:ei,indexOf:d,emptyImageUrl:ni,requestFn:si,cancelFn:ri,requestAnimFrame:f,cancelAnimFrame:g});v.extend=function(t){var e=function(){this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()},n=e.__super__=this.prototype,o=Qt(n);o.constructor=e,e.prototype=o;for(var s in this)this.hasOwnProperty(s)&&"prototype"!==s&&"__super__"!==s&&(e[s]=this[s]);return t.statics&&(i(e,t.statics),delete t.statics),t.includes&&(y(t.includes),i.apply(null,[o].concat(t.includes)),delete t.includes),o.options&&(t.options=i(Qt(o.options),t.options)),i(o,t),o._initHooks=[],o.callInitHooks=function(){if(!this._initHooksCalled){n.callInitHooks&&n.callInitHooks.call(this),this._initHooksCalled=!0;for(var t=0,i=o._initHooks.length;t<i;t++)o._initHooks[t].call(this)}},e},v.include=function(t){return i(this.prototype,t),this},v.mergeOptions=function(t){return i(this.prototype.options,t),this},v.addInitHook=function(t){var i=Array.prototype.slice.call(arguments,1),e="function"==typeof t?t:function(){this[t].apply(this,i)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(e),this};var hi={on:function(t,i,e){if("object"==typeof t)for(var n in t)this._on(n,t[n],i);else for(var o=0,s=(t=u(t)).length;o<s;o++)this._on(t[o],i,e);return this},off:function(t,i,e){if(t)if("object"==typeof t)for(var n in t)this._off(n,t[n],i);else for(var o=0,s=(t=u(t)).length;o<s;o++)this._off(t[o],i,e);else delete this._events;return this},_on:function(t,i,e){this._events=this._events||{};var n=this._events[t];n||(n=[],this._events[t]=n),e===this&&(e=void 0);for(var o={fn:i,ctx:e},s=n,r=0,a=s.length;r<a;r++)if(s[r].fn===i&&s[r].ctx===e)return;s.push(o)},_off:function(t,i,e){var n,o,s;if(this._events&&(n=this._events[t]))if(i){if(e===this&&(e=void 0),n)for(o=0,s=n.length;o<s;o++){var a=n[o];if(a.ctx===e&&a.fn===i)return a.fn=r,this._firingCount&&(this._events[t]=n=n.slice()),void n.splice(o,1)}}else{for(o=0,s=n.length;o<s;o++)n[o].fn=r;delete this._events[t]}},fire:function(t,e,n){if(!this.listens(t,n))return this;var o=i({},e,{type:t,target:this,sourceTarget:e&&e.sourceTarget||this});if(this._events){var s=this._events[t];if(s){this._firingCount=this._firingCount+1||1;for(var r=0,a=s.length;r<a;r++){var h=s[r];h.fn.call(h.ctx||this,o)}this._firingCount--}}return n&&this._propagateEvent(o),this},listens:function(t,i){var e=this._events&&this._events[t];if(e&&e.length)return!0;if(i)for(var n in this._eventParents)if(this._eventParents[n].listens(t,i))return!0;return!1},once:function(t,i,n){if("object"==typeof t){for(var o in t)this.once(o,t[o],i);return this}var s=e(function(){this.off(t,i,n).off(t,s,n)},this);return this.on(t,i,n).on(t,s,n)},addEventParent:function(t){return this._eventParents=this._eventParents||{},this._eventParents[n(t)]=t,this},removeEventParent:function(t){return this._eventParents&&delete this._eventParents[n(t)],this},_propagateEvent:function(t){for(var e in this._eventParents)this._eventParents[e].fire(t.type,i({layer:t.target,propagatedFrom:t.target},t),!0)}};hi.addEventListener=hi.on,hi.removeEventListener=hi.clearAllEventListeners=hi.off,hi.addOneTimeEventListener=hi.once,hi.fireEvent=hi.fire,hi.hasEventListeners=hi.listens;var ui=v.extend(hi),li=Math.trunc||function(t){return t>0?Math.floor(t):Math.ceil(t)};x.prototype={clone:function(){return new x(this.x,this.y)},add:function(t){return this.clone()._add(w(t))},_add:function(t){return this.x+=t.x,this.y+=t.y,this},subtract:function(t){return this.clone()._subtract(w(t))},_subtract:function(t){return this.x-=t.x,this.y-=t.y,this},divideBy:function(t){return this.clone()._divideBy(t)},_divideBy:function(t){return this.x/=t,this.y/=t,this},multiplyBy:function(t){return this.clone()._multiplyBy(t)},_multiplyBy:function(t){return this.x*=t,this.y*=t,this},scaleBy:function(t){return new x(this.x*t.x,this.y*t.y)},unscaleBy:function(t){return new x(this.x/t.x,this.y/t.y)},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.clone()._ceil()},_ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},trunc:function(){return this.clone()._trunc()},_trunc:function(){return this.x=li(this.x),this.y=li(this.y),this},distanceTo:function(t){var i=(t=w(t)).x-this.x,e=t.y-this.y;return Math.sqrt(i*i+e*e)},equals:function(t){return(t=w(t)).x===this.x&&t.y===this.y},contains:function(t){return t=w(t),Math.abs(t.x)<=Math.abs(this.x)&&Math.abs(t.y)<=Math.abs(this.y)},toString:function(){return"Point("+a(this.x)+", "+a(this.y)+")"}},P.prototype={extend:function(t){return t=w(t),this.min||this.max?(this.min.x=Math.min(t.x,this.min.x),this.max.x=Math.max(t.x,this.max.x),this.min.y=Math.min(t.y,this.min.y),this.max.y=Math.max(t.y,this.max.y)):(this.min=t.clone(),this.max=t.clone()),this},getCenter:function(t){return new x((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,t)},getBottomLeft:function(){return new x(this.min.x,this.max.y)},getTopRight:function(){return new x(this.max.x,this.min.y)},getTopLeft:function(){return this.min},getBottomRight:function(){return this.max},getSize:function(){return this.max.subtract(this.min)},contains:function(t){var i,e;return(t="number"==typeof t[0]||t instanceof x?w(t):b(t))instanceof P?(i=t.min,e=t.max):i=e=t,i.x>=this.min.x&&e.x<=this.max.x&&i.y>=this.min.y&&e.y<=this.max.y},intersects:function(t){t=b(t);var i=this.min,e=this.max,n=t.min,o=t.max,s=o.x>=i.x&&n.x<=e.x,r=o.y>=i.y&&n.y<=e.y;return s&&r},overlaps:function(t){t=b(t);var i=this.min,e=this.max,n=t.min,o=t.max,s=o.x>i.x&&n.x<e.x,r=o.y>i.y&&n.y<e.y;return s&&r},isValid:function(){return!(!this.min||!this.max)}},T.prototype={extend:function(t){var i,e,n=this._southWest,o=this._northEast;if(t instanceof M)i=t,e=t;else{if(!(t instanceof T))return t?this.extend(C(t)||z(t)):this;if(i=t._southWest,e=t._northEast,!i||!e)return this}return n||o?(n.lat=Math.min(i.lat,n.lat),n.lng=Math.min(i.lng,n.lng),o.lat=Math.max(e.lat,o.lat),o.lng=Math.max(e.lng,o.lng)):(this._southWest=new M(i.lat,i.lng),this._northEast=new M(e.lat,e.lng)),this},pad:function(t){var i=this._southWest,e=this._northEast,n=Math.abs(i.lat-e.lat)*t,o=Math.abs(i.lng-e.lng)*t;return new T(new M(i.lat-n,i.lng-o),new M(e.lat+n,e.lng+o))},getCenter:function(){return new M((this._southWest.lat+this._northEast.lat)/2,(this._southWest.lng+this._northEast.lng)/2)},getSouthWest:function(){return this._southWest},getNorthEast:function(){return this._northEast},getNorthWest:function(){return new M(this.getNorth(),this.getWest())},getSouthEast:function(){return new M(this.getSouth(),this.getEast())},getWest:function(){return this._southWest.lng},getSouth:function(){return this._southWest.lat},getEast:function(){return this._northEast.lng},getNorth:function(){return this._northEast.lat},contains:function(t){t="number"==typeof t[0]||t instanceof M||"lat"in t?C(t):z(t);var i,e,n=this._southWest,o=this._northEast;return t instanceof T?(i=t.getSouthWest(),e=t.getNorthEast()):i=e=t,i.lat>=n.lat&&e.lat<=o.lat&&i.lng>=n.lng&&e.lng<=o.lng},intersects:function(t){t=z(t);var i=this._southWest,e=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>=i.lat&&n.lat<=e.lat,r=o.lng>=i.lng&&n.lng<=e.lng;return s&&r},overlaps:function(t){t=z(t);var i=this._southWest,e=this._northEast,n=t.getSouthWest(),o=t.getNorthEast(),s=o.lat>i.lat&&n.lat<e.lat,r=o.lng>i.lng&&n.lng<e.lng;return s&&r},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(t,i){return!!t&&(t=z(t),this._southWest.equals(t.getSouthWest(),i)&&this._northEast.equals(t.getNorthEast(),i))},isValid:function(){return!(!this._southWest||!this._northEast)}},M.prototype={equals:function(t,i){return!!t&&(t=C(t),Math.max(Math.abs(this.lat-t.lat),Math.abs(this.lng-t.lng))<=(void 0===i?1e-9:i))},toString:function(t){return"LatLng("+a(this.lat,t)+", "+a(this.lng,t)+")"},distanceTo:function(t){return _i.distance(this,C(t))},wrap:function(){return _i.wrapLatLng(this)},toBounds:function(t){var i=180*t/40075017,e=i/Math.cos(Math.PI/180*this.lat);return z([this.lat-i,this.lng-e],[this.lat+i,this.lng+e])},clone:function(){return new M(this.lat,this.lng,this.alt)}};var ci={latLngToPoint:function(t,i){var e=this.projection.project(t),n=this.scale(i);return this.transformation._transform(e,n)},pointToLatLng:function(t,i){var e=this.scale(i),n=this.transformation.untransform(t,e);return this.projection.unproject(n)},project:function(t){return this.projection.project(t)},unproject:function(t){return this.projection.unproject(t)},scale:function(t){return 256*Math.pow(2,t)},zoom:function(t){return Math.log(t/256)/Math.LN2},getProjectedBounds:function(t){if(this.infinite)return null;var i=this.projection.bounds,e=this.scale(t);return new P(this.transformation.transform(i.min,e),this.transformation.transform(i.max,e))},infinite:!1,wrapLatLng:function(t){var i=this.wrapLng?s(t.lng,this.wrapLng,!0):t.lng;return new M(this.wrapLat?s(t.lat,this.wrapLat,!0):t.lat,i,t.alt)},wrapLatLngBounds:function(t){var i=t.getCenter(),e=this.wrapLatLng(i),n=i.lat-e.lat,o=i.lng-e.lng;if(0===n&&0===o)return t;var s=t.getSouthWest(),r=t.getNorthEast();return new T(new M(s.lat-n,s.lng-o),new M(r.lat-n,r.lng-o))}},_i=i({},ci,{wrapLng:[-180,180],R:6371e3,distance:function(t,i){var e=Math.PI/180,n=t.lat*e,o=i.lat*e,s=Math.sin((i.lat-t.lat)*e/2),r=Math.sin((i.lng-t.lng)*e/2),a=s*s+Math.cos(n)*Math.cos(o)*r*r,h=2*Math.atan2(Math.sqrt(a),Math.sqrt(1-a));return this.R*h}}),di={R:6378137,MAX_LATITUDE:85.0511287798,project:function(t){var i=Math.PI/180,e=this.MAX_LATITUDE,n=Math.max(Math.min(e,t.lat),-e),o=Math.sin(n*i);return new x(this.R*t.lng*i,this.R*Math.log((1+o)/(1-o))/2)},unproject:function(t){var i=180/Math.PI;return new M((2*Math.atan(Math.exp(t.y/this.R))-Math.PI/2)*i,t.x*i/this.R)},bounds:function(){var t=6378137*Math.PI;return new P([-t,-t],[t,t])}()};Z.prototype={transform:function(t,i){return this._transform(t.clone(),i)},_transform:function(t,i){return i=i||1,t.x=i*(this._a*t.x+this._b),t.y=i*(this._c*t.y+this._d),t},untransform:function(t,i){return i=i||1,new x((t.x/i-this._b)/this._a,(t.y/i-this._d)/this._c)}};var pi,mi,fi,gi,vi=i({},_i,{code:"EPSG:3857",projection:di,transformation:function(){var t=.5/(Math.PI*di.R);return S(t,.5,-t,.5)}()}),yi=i({},vi,{code:"EPSG:900913"}),xi=document.documentElement.style,wi="ActiveXObject"in window,Li=wi&&!document.addEventListener,Pi="msLaunchUri"in navigator&&!("documentMode"in document),bi=A("webkit"),Ti=A("android"),zi=A("android 2")||A("android 3"),Mi=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),Ci=Ti&&A("Google")&&Mi<537&&!("AudioNode"in window),Zi=!!window.opera,Si=A("chrome"),Ei=A("gecko")&&!bi&&!Zi&&!wi,ki=!Si&&A("safari"),Ai=A("phantom"),Ii="OTransition"in xi,Bi=0===navigator.platform.indexOf("Win"),Oi=wi&&"transition"in xi,Ri="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!zi,Di="MozPerspective"in xi,Ni=!window.L_DISABLE_3D&&(Oi||Ri||Di)&&!Ii&&!Ai,ji="undefined"!=typeof orientation||A("mobile"),Wi=ji&&bi,Hi=ji&&Ri,Fi=!window.PointerEvent&&window.MSPointerEvent,Ui=!(!window.PointerEvent&&!Fi),Vi=!window.L_NO_TOUCH&&(Ui||"ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch),qi=ji&&Zi,Gi=ji&&Ei,Ki=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,Yi=!!document.createElement("canvas").getContext,Xi=!(!document.createElementNS||!E("svg").createSVGRect),Ji=!Xi&&function(){try{var t=document.createElement("div");t.innerHTML='<v:shape adj="1"/>';var i=t.firstChild;return i.style.behavior="url(#default#VML)",i&&"object"==typeof i.adj}catch(t){return!1}}(),$i=(Object.freeze||Object)({ie:wi,ielt9:Li,edge:Pi,webkit:bi,android:Ti,android23:zi,androidStock:Ci,opera:Zi,chrome:Si,gecko:Ei,safari:ki,phantom:Ai,opera12:Ii,win:Bi,ie3d:Oi,webkit3d:Ri,gecko3d:Di,any3d:Ni,mobile:ji,mobileWebkit:Wi,mobileWebkit3d:Hi,msPointer:Fi,pointer:Ui,touch:Vi,mobileOpera:qi,mobileGecko:Gi,retina:Ki,canvas:Yi,svg:Xi,vml:Ji}),Qi=Fi?"MSPointerDown":"pointerdown",te=Fi?"MSPointerMove":"pointermove",ie=Fi?"MSPointerUp":"pointerup",ee=Fi?"MSPointerCancel":"pointercancel",ne=["INPUT","SELECT","OPTION"],oe={},se=!1,re=0,ae=Fi?"MSPointerDown":Ui?"pointerdown":"touchstart",he=Fi?"MSPointerUp":Ui?"pointerup":"touchend",ue="_leaflet_",le="_leaflet_events",ce=Bi&&Si?2*window.devicePixelRatio:Ei?window.devicePixelRatio:1,_e={},de=(Object.freeze||Object)({on:V,off:q,stopPropagation:Y,disableScrollPropagation:X,disableClickPropagation:J,preventDefault:$,stop:Q,getMousePosition:tt,getWheelDelta:it,fakeStop:et,skipped:nt,isExternalTarget:ot,addListener:V,removeListener:q}),pe=xt(["transform","WebkitTransform","OTransform","MozTransform","msTransform"]),me=xt(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),fe="webkitTransition"===me||"OTransition"===me?me+"End":"transitionend";if("onselectstart"in document)mi=function(){V(window,"selectstart",$)},fi=function(){q(window,"selectstart",$)};else{var ge=xt(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);mi=function(){if(ge){var t=document.documentElement.style;gi=t[ge],t[ge]="none"}},fi=function(){ge&&(document.documentElement.style[ge]=gi,gi=void 0)}}var ve,ye,xe=(Object.freeze||Object)({TRANSFORM:pe,TRANSITION:me,TRANSITION_END:fe,get:rt,getStyle:at,create:ht,remove:ut,empty:lt,toFront:ct,toBack:_t,hasClass:dt,addClass:pt,removeClass:mt,setClass:ft,getClass:gt,setOpacity:vt,testProp:xt,setTransform:wt,setPosition:Lt,getPosition:Pt,disableTextSelection:mi,enableTextSelection:fi,disableImageDrag:bt,enableImageDrag:Tt,preventOutline:zt,restoreOutline:Mt}),we=ui.extend({run:function(t,i,e,n){this.stop(),this._el=t,this._inProgress=!0,this._duration=e||.25,this._easeOutPower=1/Math.max(n||.5,.2),this._startPos=Pt(t),this._offset=i.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=f(this._animate,this),this._step()},_step:function(t){var i=+new Date-this._startTime,e=1e3*this._duration;i<e?this._runFrame(this._easeOut(i/e),t):(this._runFrame(1),this._complete())},_runFrame:function(t,i){var e=this._startPos.add(this._offset.multiplyBy(t));i&&e._round(),Lt(this._el,e),this.fire("step")},_complete:function(){g(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(t){return 1-Math.pow(1-t,this._easeOutPower)}}),Le=ui.extend({options:{crs:vi,center:void 0,zoom:void 0,minZoom:void 0,maxZoom:void 0,layers:[],maxBounds:void 0,renderer:void 0,zoomAnimation:!0,zoomAnimationThreshold:4,fadeAnimation:!0,markerZoomAnimation:!0,transform3DLimit:8388608,zoomSnap:1,zoomDelta:1,trackResize:!0},initialize:function(t,i){i=l(this,i),this._initContainer(t),this._initLayout(),this._onResize=e(this._onResize,this),this._initEvents(),i.maxBounds&&this.setMaxBounds(i.maxBounds),void 0!==i.zoom&&(this._zoom=this._limitZoom(i.zoom)),i.center&&void 0!==i.zoom&&this.setView(C(i.center),i.zoom,{reset:!0}),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._sizeChanged=!0,this.callInitHooks(),this._zoomAnimated=me&&Ni&&!qi&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),V(this._proxy,fe,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(t,e,n){return e=void 0===e?this._zoom:this._limitZoom(e),t=this._limitCenter(C(t),e,this.options.maxBounds),n=n||{},this._stop(),this._loaded&&!n.reset&&!0!==n&&(void 0!==n.animate&&(n.zoom=i({animate:n.animate},n.zoom),n.pan=i({animate:n.animate,duration:n.duration},n.pan)),this._zoom!==e?this._tryAnimatedZoom&&this._tryAnimatedZoom(t,e,n.zoom):this._tryAnimatedPan(t,n.pan))?(clearTimeout(this._sizeTimer),this):(this._resetView(t,e),this)},setZoom:function(t,i){return this._loaded?this.setView(this.getCenter(),t,{zoom:i}):(this._zoom=t,this)},zoomIn:function(t,i){return t=t||(Ni?this.options.zoomDelta:1),this.setZoom(this._zoom+t,i)},zoomOut:function(t,i){return t=t||(Ni?this.options.zoomDelta:1),this.setZoom(this._zoom-t,i)},setZoomAround:function(t,i,e){var n=this.getZoomScale(i),o=this.getSize().divideBy(2),s=(t instanceof x?t:this.latLngToContainerPoint(t)).subtract(o).multiplyBy(1-1/n),r=this.containerPointToLatLng(o.add(s));return this.setView(r,i,{zoom:e})},_getBoundsCenterZoom:function(t,i){i=i||{},t=t.getBounds?t.getBounds():z(t);var e=w(i.paddingTopLeft||i.padding||[0,0]),n=w(i.paddingBottomRight||i.padding||[0,0]),o=this.getBoundsZoom(t,!1,e.add(n));if((o="number"==typeof i.maxZoom?Math.min(i.maxZoom,o):o)===1/0)return{center:t.getCenter(),zoom:o};var s=n.subtract(e).divideBy(2),r=this.project(t.getSouthWest(),o),a=this.project(t.getNorthEast(),o);return{center:this.unproject(r.add(a).divideBy(2).add(s),o),zoom:o}},fitBounds:function(t,i){if(!(t=z(t)).isValid())throw new Error("Bounds are not valid.");var e=this._getBoundsCenterZoom(t,i);return this.setView(e.center,e.zoom,i)},fitWorld:function(t){return this.fitBounds([[-90,-180],[90,180]],t)},panTo:function(t,i){return this.setView(t,this._zoom,{pan:i})},panBy:function(t,i){if(t=w(t).round(),i=i||{},!t.x&&!t.y)return this.fire("moveend");if(!0!==i.animate&&!this.getSize().contains(t))return this._resetView(this.unproject(this.project(this.getCenter()).add(t)),this.getZoom()),this;if(this._panAnim||(this._panAnim=new we,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),i.noMoveStart||this.fire("movestart"),!1!==i.animate){pt(this._mapPane,"leaflet-pan-anim");var e=this._getMapPanePos().subtract(t).round();this._panAnim.run(this._mapPane,e,i.duration||.25,i.easeLinearity)}else this._rawPanBy(t),this.fire("move").fire("moveend");return this},flyTo:function(t,i,e){function n(t){var i=(g*g-m*m+(t?-1:1)*x*x*v*v)/(2*(t?g:m)*x*v),e=Math.sqrt(i*i+1)-i;return e<1e-9?-18:Math.log(e)}function o(t){return(Math.exp(t)-Math.exp(-t))/2}function s(t){return(Math.exp(t)+Math.exp(-t))/2}function r(t){return o(t)/s(t)}function a(t){return m*(s(w)/s(w+y*t))}function h(t){return m*(s(w)*r(w+y*t)-o(w))/x}function u(t){return 1-Math.pow(1-t,1.5)}function l(){var e=(Date.now()-L)/b,n=u(e)*P;e<=1?(this._flyToFrame=f(l,this),this._move(this.unproject(c.add(_.subtract(c).multiplyBy(h(n)/v)),p),this.getScaleZoom(m/a(n),p),{flyTo:!0})):this._move(t,i)._moveEnd(!0)}if(!1===(e=e||{}).animate||!Ni)return this.setView(t,i,e);this._stop();var c=this.project(this.getCenter()),_=this.project(t),d=this.getSize(),p=this._zoom;t=C(t),i=void 0===i?p:i;var m=Math.max(d.x,d.y),g=m*this.getZoomScale(p,i),v=_.distanceTo(c)||1,y=1.42,x=y*y,w=n(0),L=Date.now(),P=(n(1)-w)/y,b=e.duration?1e3*e.duration:1e3*P*.8;return this._moveStart(!0,e.noMoveStart),l.call(this),this},flyToBounds:function(t,i){var e=this._getBoundsCenterZoom(t,i);return this.flyTo(e.center,e.zoom,i)},setMaxBounds:function(t){return(t=z(t)).isValid()?(this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this.options.maxBounds=t,this._loaded&&this._panInsideMaxBounds(),this.on("moveend",this._panInsideMaxBounds)):(this.options.maxBounds=null,this.off("moveend",this._panInsideMaxBounds))},setMinZoom:function(t){var i=this.options.minZoom;return this.options.minZoom=t,this._loaded&&i!==t&&(this.fire("zoomlevelschange"),this.getZoom()<this.options.minZoom)?this.setZoom(t):this},setMaxZoom:function(t){var i=this.options.maxZoom;return this.options.maxZoom=t,this._loaded&&i!==t&&(this.fire("zoomlevelschange"),this.getZoom()>this.options.maxZoom)?this.setZoom(t):this},panInsideBounds:function(t,i){this._enforcingBounds=!0;var e=this.getCenter(),n=this._limitCenter(e,this._zoom,z(t));return e.equals(n)||this.panTo(n,i),this._enforcingBounds=!1,this},invalidateSize:function(t){if(!this._loaded)return this;t=i({animate:!1,pan:!0},!0===t?{animate:!0}:t);var n=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var o=this.getSize(),s=n.divideBy(2).round(),r=o.divideBy(2).round(),a=s.subtract(r);return a.x||a.y?(t.animate&&t.pan?this.panBy(a):(t.pan&&this._rawPanBy(a),this.fire("move"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(e(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:n,newSize:o})):this},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(t){if(t=this._locateOptions=i({timeout:1e4,watch:!1},t),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var n=e(this._handleGeolocationResponse,this),o=e(this._handleGeolocationError,this);return t.watch?this._locationWatchId=navigator.geolocation.watchPosition(n,o,t):navigator.geolocation.getCurrentPosition(n,o,t),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){var i=t.code,e=t.message||(1===i?"permission denied":2===i?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:i,message:"Geolocation error: "+e+"."})},_handleGeolocationResponse:function(t){var i=new M(t.coords.latitude,t.coords.longitude),e=i.toBounds(t.coords.accuracy),n=this._locateOptions;if(n.setView){var o=this.getBoundsZoom(e);this.setView(i,n.maxZoom?Math.min(o,n.maxZoom):o)}var s={latlng:i,bounds:e,timestamp:t.timestamp};for(var r in t.coords)"number"==typeof t.coords[r]&&(s[r]=t.coords[r]);this.fire("locationfound",s)},addHandler:function(t,i){if(!i)return this;var e=this[t]=new i(this);return this._handlers.push(e),this.options[t]&&e.enable(),this},remove:function(){if(this._initEvents(!0),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch(t){this._container._leaflet_id=void 0,this._containerId=void 0}void 0!==this._locationWatchId&&this.stopLocate(),this._stop(),ut(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._clearHandlers(),this._loaded&&this.fire("unload");var t;for(t in this._layers)this._layers[t].remove();for(t in this._panes)ut(this._panes[t]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(t,i){var e=ht("div","leaflet-pane"+(t?" leaflet-"+t.replace("Pane","")+"-pane":""),i||this._mapPane);return t&&(this._panes[t]=e),e},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter:this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds();return new T(this.unproject(t.getBottomLeft()),this.unproject(t.getTopRight()))},getMinZoom:function(){return void 0===this.options.minZoom?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return void 0===this.options.maxZoom?void 0===this._layersMaxZoom?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,i,e){t=z(t),e=w(e||[0,0]);var n=this.getZoom()||0,o=this.getMinZoom(),s=this.getMaxZoom(),r=t.getNorthWest(),a=t.getSouthEast(),h=this.getSize().subtract(e),u=b(this.project(a,n),this.project(r,n)).getSize(),l=Ni?this.options.zoomSnap:1,c=h.x/u.x,_=h.y/u.y,d=i?Math.max(c,_):Math.min(c,_);return n=this.getScaleZoom(d,n),l&&(n=Math.round(n/(l/100))*(l/100),n=i?Math.ceil(n/l)*l:Math.floor(n/l)*l),Math.max(o,Math.min(s,n))},getSize:function(){return this._size&&!this._sizeChanged||(this._size=new x(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(t,i){var e=this._getTopLeftPoint(t,i);return new P(e,e.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(t){return this.options.crs.getProjectedBounds(void 0===t?this.getZoom():t)},getPane:function(t){return"string"==typeof t?this._panes[t]:t},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t,i){var e=this.options.crs;return i=void 0===i?this._zoom:i,e.scale(t)/e.scale(i)},getScaleZoom:function(t,i){var e=this.options.crs;i=void 0===i?this._zoom:i;var n=e.zoom(t*e.scale(i));return isNaN(n)?1/0:n},project:function(t,i){return i=void 0===i?this._zoom:i,this.options.crs.latLngToPoint(C(t),i)},unproject:function(t,i){return i=void 0===i?this._zoom:i,this.options.crs.pointToLatLng(w(t),i)},layerPointToLatLng:function(t){var i=w(t).add(this.getPixelOrigin());return this.unproject(i)},latLngToLayerPoint:function(t){return this.project(C(t))._round()._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng(C(t))},wrapLatLngBounds:function(t){return this.options.crs.wrapLatLngBounds(z(t))},distance:function(t,i){return this.options.crs.distance(C(t),C(i))},containerPointToLayerPoint:function(t){return w(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return w(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){var i=this.containerPointToLayerPoint(w(t));return this.layerPointToLatLng(i)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(C(t)))},mouseEventToContainerPoint:function(t){return tt(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){var i=this._container=rt(t);if(!i)throw new Error("Map container not found.");if(i._leaflet_id)throw new Error("Map container is already initialized.");V(i,"scroll",this._onScroll,this),this._containerId=n(i)},_initLayout:function(){var t=this._container;this._fadeAnimated=this.options.fadeAnimation&&Ni,pt(t,"leaflet-container"+(Vi?" leaflet-touch":"")+(Ki?" leaflet-retina":"")+(Li?" leaflet-oldie":"")+(ki?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var i=at(t,"position");"absolute"!==i&&"relative"!==i&&"fixed"!==i&&(t.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),Lt(this._mapPane,new x(0,0)),this.createPane("tilePane"),this.createPane("shadowPane"),this.createPane("overlayPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(pt(t.markerPane,"leaflet-zoom-hide"),pt(t.shadowPane,"leaflet-zoom-hide"))},_resetView:function(t,i){Lt(this._mapPane,new x(0,0));var e=!this._loaded;this._loaded=!0,i=this._limitZoom(i),this.fire("viewprereset");var n=this._zoom!==i;this._moveStart(n,!1)._move(t,i)._moveEnd(n),this.fire("viewreset"),e&&this.fire("load")},_moveStart:function(t,i){return t&&this.fire("zoomstart"),i||this.fire("movestart"),this},_move:function(t,i,e){void 0===i&&(i=this._zoom);var n=this._zoom!==i;return this._zoom=i,this._lastCenter=t,this._pixelOrigin=this._getNewPixelOrigin(t),(n||e&&e.pinch)&&this.fire("zoom",e),this.fire("move",e)},_moveEnd:function(t){return t&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return g(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(t){Lt(this._mapPane,this._getMapPanePos().subtract(t))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(t){this._targets={},this._targets[n(this._container)]=this;var i=t?q:V;i(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress",this._handleDOMEvent,this),this.options.trackResize&&i(window,"resize",this._onResize,this),Ni&&this.options.transform3DLimit&&(t?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){g(this._resizeRequest),this._resizeRequest=f(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var t=this._getMapPanePos();Math.max(Math.abs(t.x),Math.abs(t.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,i){for(var e,o=[],s="mouseout"===i||"mouseover"===i,r=t.target||t.srcElement,a=!1;r;){if((e=this._targets[n(r)])&&("click"===i||"preclick"===i)&&!t._simulated&&this._draggableMoved(e)){a=!0;break}if(e&&e.listens(i,!0)){if(s&&!ot(r,t))break;if(o.push(e),s)break}if(r===this._container)break;r=r.parentNode}return o.length||a||s||!ot(r,t)||(o=[this]),o},_handleDOMEvent:function(t){if(this._loaded&&!nt(t)){var i=t.type;"mousedown"!==i&&"keypress"!==i||zt(t.target||t.srcElement),this._fireDOMEvent(t,i)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(t,e,n){if("click"===t.type){var o=i({},t);o.type="preclick",this._fireDOMEvent(o,o.type,n)}if(!t._stopped&&(n=(n||[]).concat(this._findEventTargets(t,e))).length){var s=n[0];"contextmenu"===e&&s.listens(e,!0)&&$(t);var r={originalEvent:t};if("keypress"!==t.type){var a=s.getLatLng&&(!s._radius||s._radius<=10);r.containerPoint=a?this.latLngToContainerPoint(s.getLatLng()):this.mouseEventToContainerPoint(t),r.layerPoint=this.containerPointToLayerPoint(r.containerPoint),r.latlng=a?s.getLatLng():this.layerPointToLatLng(r.layerPoint)}for(var h=0;h<n.length;h++)if(n[h].fire(e,r,!0),r.originalEvent._stopped||!1===n[h].options.bubblingMouseEvents&&-1!==d(this._mouseEvents,e))return}},_draggableMoved:function(t){return(t=t.dragging&&t.dragging.enabled()?t:this).dragging&&t.dragging.moved()||this.boxZoom&&this.boxZoom.moved()},_clearHandlers:function(){for(var t=0,i=this._handlers.length;t<i;t++)this._handlers[t].disable()},whenReady:function(t,i){return this._loaded?t.call(i||this,{target:this}):this.on("load",t,i),this},_getMapPanePos:function(){return Pt(this._mapPane)||new x(0,0)},_moved:function(){var t=this._getMapPanePos();return t&&!t.equals([0,0])},_getTopLeftPoint:function(t,i){return(t&&void 0!==i?this._getNewPixelOrigin(t,i):this.getPixelOrigin()).subtract(this._getMapPanePos())},_getNewPixelOrigin:function(t,i){var e=this.getSize()._divideBy(2);return this.project(t,i)._subtract(e)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(t,i,e){var n=this._getNewPixelOrigin(e,i);return this.project(t,i)._subtract(n)},_latLngBoundsToNewLayerBounds:function(t,i,e){var n=this._getNewPixelOrigin(e,i);return b([this.project(t.getSouthWest(),i)._subtract(n),this.project(t.getNorthWest(),i)._subtract(n),this.project(t.getSouthEast(),i)._subtract(n),this.project(t.getNorthEast(),i)._subtract(n)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(t){return this.latLngToLayerPoint(t).subtract(this._getCenterLayerPoint())},_limitCenter:function(t,i,e){if(!e)return t;var n=this.project(t,i),o=this.getSize().divideBy(2),s=new P(n.subtract(o),n.add(o)),r=this._getBoundsOffset(s,e,i);return r.round().equals([0,0])?t:this.unproject(n.add(r),i)},_limitOffset:function(t,i){if(!i)return t;var e=this.getPixelBounds(),n=new P(e.min.add(t),e.max.add(t));return t.add(this._getBoundsOffset(n,i))},_getBoundsOffset:function(t,i,e){var n=b(this.project(i.getNorthEast(),e),this.project(i.getSouthWest(),e)),o=n.min.subtract(t.min),s=n.max.subtract(t.max);return new x(this._rebound(o.x,-s.x),this._rebound(o.y,-s.y))},_rebound:function(t,i){return t+i>0?Math.round(t-i)/2:Math.max(0,Math.ceil(t))-Math.max(0,Math.floor(i))},_limitZoom:function(t){var i=this.getMinZoom(),e=this.getMaxZoom(),n=Ni?this.options.zoomSnap:1;return n&&(t=Math.round(t/n)*n),Math.max(i,Math.min(e,t))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){mt(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(t,i){var e=this._getCenterOffset(t)._trunc();return!(!0!==(i&&i.animate)&&!this.getSize().contains(e))&&(this.panBy(e,i),!0)},_createAnimProxy:function(){var t=this._proxy=ht("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(t),this.on("zoomanim",function(t){var i=pe,e=this._proxy.style[i];wt(this._proxy,this.project(t.center,t.zoom),this.getZoomScale(t.zoom,1)),e===this._proxy.style[i]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",function(){var t=this.getCenter(),i=this.getZoom();wt(this._proxy,this.project(t,i),this.getZoomScale(i,1))},this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){ut(this._proxy),delete this._proxy},_catchTransitionEnd:function(t){this._animatingZoom&&t.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(t,i,e){if(this._animatingZoom)return!0;if(e=e||{},!this._zoomAnimated||!1===e.animate||this._nothingToAnimate()||Math.abs(i-this._zoom)>this.options.zoomAnimationThreshold)return!1;var n=this.getZoomScale(i),o=this._getCenterOffset(t)._divideBy(1-1/n);return!(!0!==e.animate&&!this.getSize().contains(o))&&(f(function(){this._moveStart(!0,!1)._animateZoom(t,i,!0)},this),!0)},_animateZoom:function(t,i,n,o){this._mapPane&&(n&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=i,pt(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:t,zoom:i,noUpdate:o}),setTimeout(e(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&mt(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom),f(function(){this._moveEnd(!0)},this))}}),Pe=v.extend({options:{position:"topright"},initialize:function(t){l(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var i=this._map;return i&&i.removeControl(this),this.options.position=t,i&&i.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var i=this._container=this.onAdd(t),e=this.getPosition(),n=t._controlCorners[e];return pt(i,"leaflet-control"),-1!==e.indexOf("bottom")?n.insertBefore(i,n.firstChild):n.appendChild(i),this},remove:function(){return this._map?(ut(this._container),this.onRemove&&this.onRemove(this._map),this._map=null,this):this},_refocusOnMap:function(t){this._map&&t&&t.screenX>0&&t.screenY>0&&this._map.getContainer().focus()}}),be=function(t){return new Pe(t)};Le.include({addControl:function(t){return t.addTo(this),this},removeControl:function(t){return t.remove(),this},_initControlPos:function(){function t(t,o){var s=e+t+" "+e+o;i[t+o]=ht("div",s,n)}var i=this._controlCorners={},e="leaflet-",n=this._controlContainer=ht("div",e+"control-container",this._container);t("top","left"),t("top","right"),t("bottom","left"),t("bottom","right")},_clearControlPos:function(){for(var t in this._controlCorners)ut(this._controlCorners[t]);ut(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Te=Pe.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(t,i,e,n){return e<n?-1:n<e?1:0}},initialize:function(t,i,e){l(this,e),this._layerControlInputs=[],this._layers=[],this._lastZIndex=0,this._handlingClick=!1;for(var n in t)this._addLayer(t[n],n);for(n in i)this._addLayer(i[n],n,!0)},onAdd:function(t){this._initLayout(),this._update(),this._map=t,t.on("zoomend",this._checkDisabledLayers,this);for(var i=0;i<this._layers.length;i++)this._layers[i].layer.on("add remove",this._onLayerChange,this);return this._container},addTo:function(t){return Pe.prototype.addTo.call(this,t),this._expandIfNotCollapsed()},onRemove:function(){this._map.off("zoomend",this._checkDisabledLayers,this);for(var t=0;t<this._layers.length;t++)this._layers[t].layer.off("add remove",this._onLayerChange,this)},addBaseLayer:function(t,i){return this._addLayer(t,i),this._map?this._update():this},addOverlay:function(t,i){return this._addLayer(t,i,!0),this._map?this._update():this},removeLayer:function(t){t.off("add remove",this._onLayerChange,this);var i=this._getLayer(n(t));return i&&this._layers.splice(this._layers.indexOf(i),1),this._map?this._update():this},expand:function(){pt(this._container,"leaflet-control-layers-expanded"),this._form.style.height=null;var t=this._map.getSize().y-(this._container.offsetTop+50);return t<this._form.clientHeight?(pt(this._form,"leaflet-control-layers-scrollbar"),this._form.style.height=t+"px"):mt(this._form,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return mt(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var t="leaflet-control-layers",i=this._container=ht("div",t),e=this.options.collapsed;i.setAttribute("aria-haspopup",!0),J(i),X(i);var n=this._form=ht("form",t+"-list");e&&(this._map.on("click",this.collapse,this),Ti||V(i,{mouseenter:this.expand,mouseleave:this.collapse},this));var o=this._layersLink=ht("a",t+"-toggle",i);o.href="#",o.title="Layers",Vi?(V(o,"click",Q),V(o,"click",this.expand,this)):V(o,"focus",this.expand,this),e||this.expand(),this._baseLayersList=ht("div",t+"-base",n),this._separator=ht("div",t+"-separator",n),this._overlaysList=ht("div",t+"-overlays",n),i.appendChild(n)},_getLayer:function(t){for(var i=0;i<this._layers.length;i++)if(this._layers[i]&&n(this._layers[i].layer)===t)return this._layers[i]},_addLayer:function(t,i,n){this._map&&t.on("add remove",this._onLayerChange,this),this._layers.push({layer:t,name:i,overlay:n}),this.options.sortLayers&&this._layers.sort(e(function(t,i){return this.options.sortFunction(t.layer,i.layer,t.name,i.name)},this)),this.options.autoZIndex&&t.setZIndex&&(this._lastZIndex++,t.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(!this._container)return this;lt(this._baseLayersList),lt(this._overlaysList),this._layerControlInputs=[];var t,i,e,n,o=0;for(e=0;e<this._layers.length;e++)n=this._layers[e],this._addItem(n),i=i||n.overlay,t=t||!n.overlay,o+=n.overlay?0:1;return this.options.hideSingleBase&&(t=t&&o>1,this._baseLayersList.style.display=t?"":"none"),this._separator.style.display=i&&t?"":"none",this},_onLayerChange:function(t){this._handlingClick||this._update();var i=this._getLayer(n(t.target)),e=i.overlay?"add"===t.type?"overlayadd":"overlayremove":"add"===t.type?"baselayerchange":null;e&&this._map.fire(e,i)},_createRadioElement:function(t,i){var e='<input type="radio" class="leaflet-control-layers-selector" name="'+t+'"'+(i?' checked="checked"':"")+"/>",n=document.createElement("div");return n.innerHTML=e,n.firstChild},_addItem:function(t){var i,e=document.createElement("label"),o=this._map.hasLayer(t.layer);t.overlay?((i=document.createElement("input")).type="checkbox",i.className="leaflet-control-layers-selector",i.defaultChecked=o):i=this._createRadioElement("leaflet-base-layers",o),this._layerControlInputs.push(i),i.layerId=n(t.layer),V(i,"click",this._onInputClick,this);var s=document.createElement("span");s.innerHTML=" "+t.name;var r=document.createElement("div");return e.appendChild(r),r.appendChild(i),r.appendChild(s),(t.overlay?this._overlaysList:this._baseLayersList).appendChild(e),this._checkDisabledLayers(),e},_onInputClick:function(){var t,i,e=this._layerControlInputs,n=[],o=[];this._handlingClick=!0;for(var s=e.length-1;s>=0;s--)t=e[s],i=this._getLayer(t.layerId).layer,t.checked?n.push(i):t.checked||o.push(i);for(s=0;s<o.length;s++)this._map.hasLayer(o[s])&&this._map.removeLayer(o[s]);for(s=0;s<n.length;s++)this._map.hasLayer(n[s])||this._map.addLayer(n[s]);this._handlingClick=!1,this._refocusOnMap()},_checkDisabledLayers:function(){for(var t,i,e=this._layerControlInputs,n=this._map.getZoom(),o=e.length-1;o>=0;o--)t=e[o],i=this._getLayer(t.layerId).layer,t.disabled=void 0!==i.options.minZoom&&n<i.options.minZoom||void 0!==i.options.maxZoom&&n>i.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expand:function(){return this.expand()},_collapse:function(){return this.collapse()}}),ze=Pe.extend({options:{position:"topleft",zoomInText:"+",zoomInTitle:"Zoom in",zoomOutText:"−",zoomOutTitle:"Zoom out"},onAdd:function(t){var i="leaflet-control-zoom",e=ht("div",i+" leaflet-bar"),n=this.options;return this._zoomInButton=this._createButton(n.zoomInText,n.zoomInTitle,i+"-in",e,this._zoomIn),this._zoomOutButton=this._createButton(n.zoomOutText,n.zoomOutTitle,i+"-out",e,this._zoomOut),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),e},onRemove:function(t){t.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(t){!this._disabled&&this._map._zoom<this._map.getMaxZoom()&&this._map.zoomIn(this._map.options.zoomDelta*(t.shiftKey?3:1))},_zoomOut:function(t){!this._disabled&&this._map._zoom>this._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,i,e,n,o){var s=ht("a",e,n);return s.innerHTML=t,s.href="#",s.title=i,s.setAttribute("role","button"),s.setAttribute("aria-label",i),J(s),V(s,"click",Q),V(s,"click",o,this),V(s,"click",this._refocusOnMap,this),s},_updateDisabled:function(){var t=this._map,i="leaflet-disabled";mt(this._zoomInButton,i),mt(this._zoomOutButton,i),(this._disabled||t._zoom===t.getMinZoom())&&pt(this._zoomOutButton,i),(this._disabled||t._zoom===t.getMaxZoom())&&pt(this._zoomInButton,i)}});Le.mergeOptions({zoomControl:!0}),Le.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new ze,this.addControl(this.zoomControl))});var Me=Pe.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var i=ht("div","leaflet-control-scale"),e=this.options;return this._addScales(e,"leaflet-control-scale-line",i),t.on(e.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),i},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,i,e){t.metric&&(this._mScale=ht("div",i,e)),t.imperial&&(this._iScale=ht("div",i,e))},_update:function(){var t=this._map,i=t.getSize().y/2,e=t.distance(t.containerPointToLatLng([0,i]),t.containerPointToLatLng([this.options.maxWidth,i]));this._updateScales(e)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var i=this._getRoundNum(t),e=i<1e3?i+" m":i/1e3+" km";this._updateScale(this._mScale,e,i/t)},_updateImperial:function(t){var i,e,n,o=3.2808399*t;o>5280?(i=o/5280,e=this._getRoundNum(i),this._updateScale(this._iScale,e+" mi",e/i)):(n=this._getRoundNum(o),this._updateScale(this._iScale,n+" ft",n/o))},_updateScale:function(t,i,e){t.style.width=Math.round(this.options.maxWidth*e)+"px",t.innerHTML=i},_getRoundNum:function(t){var i=Math.pow(10,(Math.floor(t)+"").length-1),e=t/i;return e=e>=10?10:e>=5?5:e>=3?3:e>=2?2:1,i*e}}),Ce=Pe.extend({options:{position:"bottomright",prefix:'<a href="https://leafletjs.com" title="A JS library for interactive maps">Leaflet</a>'},initialize:function(t){l(this,t),this._attributions={}},onAdd:function(t){t.attributionControl=this,this._container=ht("div","leaflet-control-attribution"),J(this._container);for(var i in t._layers)t._layers[i].getAttribution&&this.addAttribution(t._layers[i].getAttribution());return this._update(),this._container},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t?(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update(),this):this},removeAttribution:function(t){return t?(this._attributions[t]&&(this._attributions[t]--,this._update()),this):this},_update:function(){if(this._map){var t=[];for(var i in this._attributions)this._attributions[i]&&t.push(i);var e=[];this.options.prefix&&e.push(this.options.prefix),t.length&&e.push(t.join(", ")),this._container.innerHTML=e.join(" | ")}}});Le.mergeOptions({attributionControl:!0}),Le.addInitHook(function(){this.options.attributionControl&&(new Ce).addTo(this)});Pe.Layers=Te,Pe.Zoom=ze,Pe.Scale=Me,Pe.Attribution=Ce,be.layers=function(t,i,e){return new Te(t,i,e)},be.zoom=function(t){return new ze(t)},be.scale=function(t){return new Me(t)},be.attribution=function(t){return new Ce(t)};var Ze=v.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled?this:(this._enabled=!0,this.addHooks(),this)},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}});Ze.addTo=function(t,i){return t.addHandler(i,this),this};var Se,Ee={Events:hi},ke=Vi?"touchstart mousedown":"mousedown",Ae={mousedown:"mouseup",touchstart:"touchend",pointerdown:"touchend",MSPointerDown:"touchend"},Ie={mousedown:"mousemove",touchstart:"touchmove",pointerdown:"touchmove",MSPointerDown:"touchmove"},Be=ui.extend({options:{clickTolerance:3},initialize:function(t,i,e,n){l(this,n),this._element=t,this._dragStartTarget=i||t,this._preventOutline=e},enable:function(){this._enabled||(V(this._dragStartTarget,ke,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(Be._dragging===this&&this.finishDrag(),q(this._dragStartTarget,ke,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){if(!t._simulated&&this._enabled&&(this._moved=!1,!dt(this._element,"leaflet-zoom-anim")&&!(Be._dragging||t.shiftKey||1!==t.which&&1!==t.button&&!t.touches||(Be._dragging=this,this._preventOutline&&zt(this._element),bt(),mi(),this._moving)))){this.fire("down");var i=t.touches?t.touches[0]:t;this._startPoint=new x(i.clientX,i.clientY),V(document,Ie[t.type],this._onMove,this),V(document,Ae[t.type],this._onUp,this)}},_onMove:function(t){if(!t._simulated&&this._enabled)if(t.touches&&t.touches.length>1)this._moved=!0;else{var i=t.touches&&1===t.touches.length?t.touches[0]:t,e=new x(i.clientX,i.clientY).subtract(this._startPoint);(e.x||e.y)&&(Math.abs(e.x)+Math.abs(e.y)<this.options.clickTolerance||($(t),this._moved||(this.fire("dragstart"),this._moved=!0,this._startPos=Pt(this._element).subtract(e),pt(document.body,"leaflet-dragging"),this._lastTarget=t.target||t.srcElement,window.SVGElementInstance&&this._lastTarget instanceof SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),pt(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(e),this._moving=!0,g(this._animRequest),this._lastEvent=t,this._animRequest=f(this._updatePosition,this,!0)))}},_updatePosition:function(){var t={originalEvent:this._lastEvent};this.fire("predrag",t),Lt(this._element,this._newPos),this.fire("drag",t)},_onUp:function(t){!t._simulated&&this._enabled&&this.finishDrag()},finishDrag:function(){mt(document.body,"leaflet-dragging"),this._lastTarget&&(mt(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null);for(var t in Ie)q(document,Ie[t],this._onMove,this),q(document,Ae[t],this._onUp,this);Tt(),fi(),this._moved&&this._moving&&(g(this._animRequest),this.fire("dragend",{distance:this._newPos.distanceTo(this._startPos)})),this._moving=!1,Be._dragging=!1}}),Oe=(Object.freeze||Object)({simplify:Ct,pointToSegmentDistance:Zt,closestPointOnSegment:function(t,i,e){return Rt(t,i,e)},clipSegment:At,_getEdgeIntersection:It,_getBitCode:Bt,_sqClosestPointOnSegment:Rt,isFlat:Dt,_flat:Nt}),Re=(Object.freeze||Object)({clipPolygon:jt}),De={project:function(t){return new x(t.lng,t.lat)},unproject:function(t){return new M(t.y,t.x)},bounds:new P([-180,-90],[180,90])},Ne={R:6378137,R_MINOR:6356752.314245179,bounds:new P([-20037508.34279,-15496570.73972],[20037508.34279,18764656.23138]),project:function(t){var i=Math.PI/180,e=this.R,n=t.lat*i,o=this.R_MINOR/e,s=Math.sqrt(1-o*o),r=s*Math.sin(n),a=Math.tan(Math.PI/4-n/2)/Math.pow((1-r)/(1+r),s/2);return n=-e*Math.log(Math.max(a,1e-10)),new x(t.lng*i*e,n)},unproject:function(t){for(var i,e=180/Math.PI,n=this.R,o=this.R_MINOR/n,s=Math.sqrt(1-o*o),r=Math.exp(-t.y/n),a=Math.PI/2-2*Math.atan(r),h=0,u=.1;h<15&&Math.abs(u)>1e-7;h++)i=s*Math.sin(a),i=Math.pow((1-i)/(1+i),s/2),a+=u=Math.PI/2-2*Math.atan(r*i)-a;return new M(a*e,t.x*e/n)}},je=(Object.freeze||Object)({LonLat:De,Mercator:Ne,SphericalMercator:di}),We=i({},_i,{code:"EPSG:3395",projection:Ne,transformation:function(){var t=.5/(Math.PI*Ne.R);return S(t,.5,-t,.5)}()}),He=i({},_i,{code:"EPSG:4326",projection:De,transformation:S(1/180,1,-1/180,.5)}),Fe=i({},ci,{projection:De,transformation:S(1,0,-1,0),scale:function(t){return Math.pow(2,t)},zoom:function(t){return Math.log(t)/Math.LN2},distance:function(t,i){var e=i.lng-t.lng,n=i.lat-t.lat;return Math.sqrt(e*e+n*n)},infinite:!0});ci.Earth=_i,ci.EPSG3395=We,ci.EPSG3857=vi,ci.EPSG900913=yi,ci.EPSG4326=He,ci.Simple=Fe;var Ue=ui.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(t){return t.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(t){return t&&t.removeLayer(this),this},getPane:function(t){return this._map.getPane(t?this.options[t]||t:this.options.pane)},addInteractiveTarget:function(t){return this._map._targets[n(t)]=this,this},removeInteractiveTarget:function(t){return delete this._map._targets[n(t)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(t){var i=t.target;if(i.hasLayer(this)){if(this._map=i,this._zoomAnimated=i._zoomAnimated,this.getEvents){var e=this.getEvents();i.on(e,this),this.once("remove",function(){i.off(e,this)},this)}this.onAdd(i),this.getAttribution&&i.attributionControl&&i.attributionControl.addAttribution(this.getAttribution()),this.fire("add"),i.fire("layeradd",{layer:this})}}});Le.include({addLayer:function(t){if(!t._layerAdd)throw new Error("The provided object is not a Layer.");var i=n(t);return this._layers[i]?this:(this._layers[i]=t,t._mapToAdd=this,t.beforeAdd&&t.beforeAdd(this),this.whenReady(t._layerAdd,t),this)},removeLayer:function(t){var i=n(t);return this._layers[i]?(this._loaded&&t.onRemove(this),t.getAttribution&&this.attributionControl&&this.attributionControl.removeAttribution(t.getAttribution()),delete this._layers[i],this._loaded&&(this.fire("layerremove",{layer:t}),t.fire("remove")),t._map=t._mapToAdd=null,this):this},hasLayer:function(t){return!!t&&n(t)in this._layers},eachLayer:function(t,i){for(var e in this._layers)t.call(i,this._layers[e]);return this},_addLayers:function(t){for(var i=0,e=(t=t?ei(t)?t:[t]:[]).length;i<e;i++)this.addLayer(t[i])},_addZoomLimit:function(t){!isNaN(t.options.maxZoom)&&isNaN(t.options.minZoom)||(this._zoomBoundLayers[n(t)]=t,this._updateZoomLevels())},_removeZoomLimit:function(t){var i=n(t);this._zoomBoundLayers[i]&&(delete this._zoomBoundLayers[i],this._updateZoomLevels())},_updateZoomLevels:function(){var t=1/0,i=-1/0,e=this._getZoomSpan();for(var n in this._zoomBoundLayers){var o=this._zoomBoundLayers[n].options;t=void 0===o.minZoom?t:Math.min(t,o.minZoom),i=void 0===o.maxZoom?i:Math.max(i,o.maxZoom)}this._layersMaxZoom=i===-1/0?void 0:i,this._layersMinZoom=t===1/0?void 0:t,e!==this._getZoomSpan()&&this.fire("zoomlevelschange"),void 0===this.options.maxZoom&&this._layersMaxZoom&&this.getZoom()>this._layersMaxZoom&&this.setZoom(this._layersMaxZoom),void 0===this.options.minZoom&&this._layersMinZoom&&this.getZoom()<this._layersMinZoom&&this.setZoom(this._layersMinZoom)}});var Ve=Ue.extend({initialize:function(t,i){l(this,i),this._layers={};var e,n;if(t)for(e=0,n=t.length;e<n;e++)this.addLayer(t[e])},addLayer:function(t){var i=this.getLayerId(t);return this._layers[i]=t,this._map&&this._map.addLayer(t),this},removeLayer:function(t){var i=t in this._layers?t:this.getLayerId(t);return this._map&&this._layers[i]&&this._map.removeLayer(this._layers[i]),delete this._layers[i],this},hasLayer:function(t){return!!t&&(t in this._layers||this.getLayerId(t)in this._layers)},clearLayers:function(){return this.eachLayer(this.removeLayer,this)},invoke:function(t){var i,e,n=Array.prototype.slice.call(arguments,1);for(i in this._layers)(e=this._layers[i])[t]&&e[t].apply(e,n);return this},onAdd:function(t){this.eachLayer(t.addLayer,t)},onRemove:function(t){this.eachLayer(t.removeLayer,t)},eachLayer:function(t,i){for(var e in this._layers)t.call(i,this._layers[e]);return this},getLayer:function(t){return this._layers[t]},getLayers:function(){var t=[];return this.eachLayer(t.push,t),t},setZIndex:function(t){return this.invoke("setZIndex",t)},getLayerId:function(t){return n(t)}}),qe=Ve.extend({addLayer:function(t){return this.hasLayer(t)?this:(t.addEventParent(this),Ve.prototype.addLayer.call(this,t),this.fire("layeradd",{layer:t}))},removeLayer:function(t){return this.hasLayer(t)?(t in this._layers&&(t=this._layers[t]),t.removeEventParent(this),Ve.prototype.removeLayer.call(this,t),this.fire("layerremove",{layer:t})):this},setStyle:function(t){return this.invoke("setStyle",t)},bringToFront:function(){return this.invoke("bringToFront")},bringToBack:function(){return this.invoke("bringToBack")},getBounds:function(){var t=new T;for(var i in this._layers){var e=this._layers[i];t.extend(e.getBounds?e.getBounds():e.getLatLng())}return t}}),Ge=v.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0]},initialize:function(t){l(this,t)},createIcon:function(t){return this._createIcon("icon",t)},createShadow:function(t){return this._createIcon("shadow",t)},_createIcon:function(t,i){var e=this._getIconUrl(t);if(!e){if("icon"===t)throw new Error("iconUrl not set in Icon options (see the docs).");return null}var n=this._createImg(e,i&&"IMG"===i.tagName?i:null);return this._setIconStyles(n,t),n},_setIconStyles:function(t,i){var e=this.options,n=e[i+"Size"];"number"==typeof n&&(n=[n,n]);var o=w(n),s=w("shadow"===i&&e.shadowAnchor||e.iconAnchor||o&&o.divideBy(2,!0));t.className="leaflet-marker-"+i+" "+(e.className||""),s&&(t.style.marginLeft=-s.x+"px",t.style.marginTop=-s.y+"px"),o&&(t.style.width=o.x+"px",t.style.height=o.y+"px")},_createImg:function(t,i){return i=i||document.createElement("img"),i.src=t,i},_getIconUrl:function(t){return Ki&&this.options[t+"RetinaUrl"]||this.options[t+"Url"]}}),Ke=Ge.extend({options:{iconUrl:"marker-icon.png",iconRetinaUrl:"marker-icon-2x.png",shadowUrl:"marker-shadow.png",iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],tooltipAnchor:[16,-28],shadowSize:[41,41]},_getIconUrl:function(t){return Ke.imagePath||(Ke.imagePath=this._detectIconPath()),(this.options.imagePath||Ke.imagePath)+Ge.prototype._getIconUrl.call(this,t)},_detectIconPath:function(){var t=ht("div","leaflet-default-icon-path",document.body),i=at(t,"background-image")||at(t,"backgroundImage");return document.body.removeChild(t),i=null===i||0!==i.indexOf("url")?"":i.replace(/^url\(["']?/,"").replace(/marker-icon\.png["']?\)$/,"")}}),Ye=Ze.extend({initialize:function(t){this._marker=t},addHooks:function(){var t=this._marker._icon;this._draggable||(this._draggable=new Be(t,t,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),pt(t,"leaflet-marker-draggable")},removeHooks:function(){this._draggable.off({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).disable(),this._marker._icon&&mt(this._marker._icon,"leaflet-marker-draggable")},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(t){var i=this._marker,e=i._map,n=this._marker.options.autoPanSpeed,o=this._marker.options.autoPanPadding,s=L.DomUtil.getPosition(i._icon),r=e.getPixelBounds(),a=e.getPixelOrigin(),h=b(r.min._subtract(a).add(o),r.max._subtract(a).subtract(o));if(!h.contains(s)){var u=w((Math.max(h.max.x,s.x)-h.max.x)/(r.max.x-h.max.x)-(Math.min(h.min.x,s.x)-h.min.x)/(r.min.x-h.min.x),(Math.max(h.max.y,s.y)-h.max.y)/(r.max.y-h.max.y)-(Math.min(h.min.y,s.y)-h.min.y)/(r.min.y-h.min.y)).multiplyBy(n);e.panBy(u,{animate:!1}),this._draggable._newPos._add(u),this._draggable._startPos._add(u),L.DomUtil.setPosition(i._icon,this._draggable._newPos),this._onDrag(t),this._panRequest=f(this._adjustPan.bind(this,t))}},_onDragStart:function(){this._oldLatLng=this._marker.getLatLng(),this._marker.closePopup().fire("movestart").fire("dragstart")},_onPreDrag:function(t){this._marker.options.autoPan&&(g(this._panRequest),this._panRequest=f(this._adjustPan.bind(this,t)))},_onDrag:function(t){var i=this._marker,e=i._shadow,n=Pt(i._icon),o=i._map.layerPointToLatLng(n);e&&Lt(e,n),i._latlng=o,t.latlng=o,t.oldLatLng=this._oldLatLng,i.fire("move",t).fire("drag",t)},_onDragEnd:function(t){g(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",t)}}),Xe=Ue.extend({options:{icon:new Ke,interactive:!0,draggable:!1,autoPan:!1,autoPanPadding:[50,50],autoPanSpeed:10,keyboard:!0,title:"",alt:"",zIndexOffset:0,opacity:1,riseOnHover:!1,riseOffset:250,pane:"markerPane",bubblingMouseEvents:!1},initialize:function(t,i){l(this,i),this._latlng=C(t)},onAdd:function(t){this._zoomAnimated=this._zoomAnimated&&t.options.markerZoomAnimation,this._zoomAnimated&&t.on("zoomanim",this._animateZoom,this),this._initIcon(),this.update()},onRemove:function(t){this.dragging&&this.dragging.enabled()&&(this.options.draggable=!0,this.dragging.removeHooks()),delete this.dragging,this._zoomAnimated&&t.off("zoomanim",this._animateZoom,this),this._removeIcon(),this._removeShadow()},getEvents:function(){return{zoom:this.update,viewreset:this.update}},getLatLng:function(){return this._latlng},setLatLng:function(t){var i=this._latlng;return this._latlng=C(t),this.update(),this.fire("move",{oldLatLng:i,latlng:this._latlng})},setZIndexOffset:function(t){return this.options.zIndexOffset=t,this.update()},setIcon:function(t){return this.options.icon=t,this._map&&(this._initIcon(),this.update()),this._popup&&this.bindPopup(this._popup,this._popup.options),this},getElement:function(){return this._icon},update:function(){if(this._icon&&this._map){var t=this._map.latLngToLayerPoint(this._latlng).round();this._setPos(t)}return this},_initIcon:function(){var t=this.options,i="leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"),e=t.icon.createIcon(this._icon),n=!1;e!==this._icon&&(this._icon&&this._removeIcon(),n=!0,t.title&&(e.title=t.title),"IMG"===e.tagName&&(e.alt=t.alt||"")),pt(e,i),t.keyboard&&(e.tabIndex="0"),this._icon=e,t.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex});var o=t.icon.createShadow(this._shadow),s=!1;o!==this._shadow&&(this._removeShadow(),s=!0),o&&(pt(o,i),o.alt=""),this._shadow=o,t.opacity<1&&this._updateOpacity(),n&&this.getPane().appendChild(this._icon),this._initInteraction(),o&&s&&this.getPane("shadowPane").appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),ut(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&ut(this._shadow),this._shadow=null},_setPos:function(t){Lt(this._icon,t),this._shadow&&Lt(this._shadow,t),this._zIndex=t.y+this.options.zIndexOffset,this._resetZIndex()},_updateZIndex:function(t){this._icon.style.zIndex=this._zIndex+t},_animateZoom:function(t){var i=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center).round();this._setPos(i)},_initInteraction:function(){if(this.options.interactive&&(pt(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),Ye)){var t=this.options.draggable;this.dragging&&(t=this.dragging.enabled(),this.dragging.disable()),this.dragging=new Ye(this),t&&this.dragging.enable()}},setOpacity:function(t){return this.options.opacity=t,this._map&&this._updateOpacity(),this},_updateOpacity:function(){var t=this.options.opacity;vt(this._icon,t),this._shadow&&vt(this._shadow,t)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor}}),Je=Ue.extend({options:{stroke:!0,color:"#3388ff",weight:3,opacity:1,lineCap:"round",lineJoin:"round",dashArray:null,dashOffset:null,fill:!1,fillColor:null,fillOpacity:.2,fillRule:"evenodd",interactive:!0,bubblingMouseEvents:!0},beforeAdd:function(t){this._renderer=t.getRenderer(this)},onAdd:function(){this._renderer._initPath(this),this._reset(),this._renderer._addPath(this)},onRemove:function(){this._renderer._removePath(this)},redraw:function(){return this._map&&this._renderer._updatePath(this),this},setStyle:function(t){return l(this,t),this._renderer&&this._renderer._updateStyle(this),this},bringToFront:function(){return this._renderer&&this._renderer._bringToFront(this),this},bringToBack:function(){return this._renderer&&this._renderer._bringToBack(this),this},getElement:function(){return this._path},_reset:function(){this._project(),this._update()},_clickTolerance:function(){return(this.options.stroke?this.options.weight/2:0)+this._renderer.options.tolerance}}),$e=Je.extend({options:{fill:!0,radius:10},initialize:function(t,i){l(this,i),this._latlng=C(t),this._radius=this.options.radius},setLatLng:function(t){return this._latlng=C(t),this.redraw(),this.fire("move",{latlng:this._latlng})},getLatLng:function(){return this._latlng},setRadius:function(t){return this.options.radius=this._radius=t,this.redraw()},getRadius:function(){return this._radius},setStyle:function(t){var i=t&&t.radius||this._radius;return Je.prototype.setStyle.call(this,t),this.setRadius(i),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng),this._updateBounds()},_updateBounds:function(){var t=this._radius,i=this._radiusY||t,e=this._clickTolerance(),n=[t+e,i+e];this._pxBounds=new P(this._point.subtract(n),this._point.add(n))},_update:function(){this._map&&this._updatePath()},_updatePath:function(){this._renderer._updateCircle(this)},_empty:function(){return this._radius&&!this._renderer._bounds.intersects(this._pxBounds)},_containsPoint:function(t){return t.distanceTo(this._point)<=this._radius+this._clickTolerance()}}),Qe=$e.extend({initialize:function(t,e,n){if("number"==typeof e&&(e=i({},n,{radius:e})),l(this,e),this._latlng=C(t),isNaN(this.options.radius))throw new Error("Circle radius cannot be NaN");this._mRadius=this.options.radius},setRadius:function(t){return this._mRadius=t,this.redraw()},getRadius:function(){return this._mRadius},getBounds:function(){var t=[this._radius,this._radiusY||this._radius];return new T(this._map.layerPointToLatLng(this._point.subtract(t)),this._map.layerPointToLatLng(this._point.add(t)))},setStyle:Je.prototype.setStyle,_project:function(){var t=this._latlng.lng,i=this._latlng.lat,e=this._map,n=e.options.crs;if(n.distance===_i.distance){var o=Math.PI/180,s=this._mRadius/_i.R/o,r=e.project([i+s,t]),a=e.project([i-s,t]),h=r.add(a).divideBy(2),u=e.unproject(h).lat,l=Math.acos((Math.cos(s*o)-Math.sin(i*o)*Math.sin(u*o))/(Math.cos(i*o)*Math.cos(u*o)))/o;(isNaN(l)||0===l)&&(l=s/Math.cos(Math.PI/180*i)),this._point=h.subtract(e.getPixelOrigin()),this._radius=isNaN(l)?0:h.x-e.project([u,t-l]).x,this._radiusY=h.y-r.y}else{var c=n.unproject(n.project(this._latlng).subtract([this._mRadius,0]));this._point=e.latLngToLayerPoint(this._latlng),this._radius=this._point.x-e.latLngToLayerPoint(c).x}this._updateBounds()}}),tn=Je.extend({options:{smoothFactor:1,noClip:!1},initialize:function(t,i){l(this,i),this._setLatLngs(t)},getLatLngs:function(){return this._latlngs},setLatLngs:function(t){return this._setLatLngs(t),this.redraw()},isEmpty:function(){return!this._latlngs.length},closestLayerPoint:function(t){for(var i,e,n=1/0,o=null,s=Rt,r=0,a=this._parts.length;r<a;r++)for(var h=this._parts[r],u=1,l=h.length;u<l;u++){var c=s(t,i=h[u-1],e=h[u],!0);c<n&&(n=c,o=s(t,i,e))}return o&&(o.distance=Math.sqrt(n)),o},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");var t,i,e,n,o,s,r,a=this._rings[0],h=a.length;if(!h)return null;for(t=0,i=0;t<h-1;t++)i+=a[t].distanceTo(a[t+1])/2;if(0===i)return this._map.layerPointToLatLng(a[0]);for(t=0,n=0;t<h-1;t++)if(o=a[t],s=a[t+1],e=o.distanceTo(s),(n+=e)>i)return r=(n-i)/e,this._map.layerPointToLatLng([s.x-r*(s.x-o.x),s.y-r*(s.y-o.y)])},getBounds:function(){return this._bounds},addLatLng:function(t,i){return i=i||this._defaultShape(),t=C(t),i.push(t),this._bounds.extend(t),this.redraw()},_setLatLngs:function(t){this._bounds=new T,this._latlngs=this._convertLatLngs(t)},_defaultShape:function(){return Dt(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(t){for(var i=[],e=Dt(t),n=0,o=t.length;n<o;n++)e?(i[n]=C(t[n]),this._bounds.extend(i[n])):i[n]=this._convertLatLngs(t[n]);return i},_project:function(){var t=new P;this._rings=[],this._projectLatlngs(this._latlngs,this._rings,t);var i=this._clickTolerance(),e=new x(i,i);this._bounds.isValid()&&t.isValid()&&(t.min._subtract(e),t.max._add(e),this._pxBounds=t)},_projectLatlngs:function(t,i,e){var n,o,s=t[0]instanceof M,r=t.length;if(s){for(o=[],n=0;n<r;n++)o[n]=this._map.latLngToLayerPoint(t[n]),e.extend(o[n]);i.push(o)}else for(n=0;n<r;n++)this._projectLatlngs(t[n],i,e)},_clipPoints:function(){var t=this._renderer._bounds;if(this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else{var i,e,n,o,s,r,a,h=this._parts;for(i=0,n=0,o=this._rings.length;i<o;i++)for(e=0,s=(a=this._rings[i]).length;e<s-1;e++)(r=At(a[e],a[e+1],t,e,!0))&&(h[n]=h[n]||[],h[n].push(r[0]),r[1]===a[e+1]&&e!==s-2||(h[n].push(r[1]),n++))}},_simplifyPoints:function(){for(var t=this._parts,i=this.options.smoothFactor,e=0,n=t.length;e<n;e++)t[e]=Ct(t[e],i)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(t,i){var e,n,o,s,r,a,h=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(t))return!1;for(e=0,s=this._parts.length;e<s;e++)for(n=0,o=(r=(a=this._parts[e]).length)-1;n<r;o=n++)if((i||0!==n)&&Zt(t,a[o],a[n])<=h)return!0;return!1}});tn._flat=Nt;var en=tn.extend({options:{fill:!0},isEmpty:function(){return!this._latlngs.length||!this._latlngs[0].length},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");var t,i,e,n,o,s,r,a,h,u=this._rings[0],l=u.length;if(!l)return null;for(s=r=a=0,t=0,i=l-1;t<l;i=t++)e=u[t],n=u[i],o=e.y*n.x-n.y*e.x,r+=(e.x+n.x)*o,a+=(e.y+n.y)*o,s+=3*o;return h=0===s?u[0]:[r/s,a/s],this._map.layerPointToLatLng(h)},_convertLatLngs:function(t){var i=tn.prototype._convertLatLngs.call(this,t),e=i.length;return e>=2&&i[0]instanceof M&&i[0].equals(i[e-1])&&i.pop(),i},_setLatLngs:function(t){tn.prototype._setLatLngs.call(this,t),Dt(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return Dt(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var t=this._renderer._bounds,i=this.options.weight,e=new x(i,i);if(t=new P(t.min.subtract(e),t.max.add(e)),this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else for(var n,o=0,s=this._rings.length;o<s;o++)(n=jt(this._rings[o],t,!0)).length&&this._parts.push(n)},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(t){var i,e,n,o,s,r,a,h,u=!1;if(!this._pxBounds.contains(t))return!1;for(o=0,a=this._parts.length;o<a;o++)for(s=0,r=(h=(i=this._parts[o]).length)-1;s<h;r=s++)e=i[s],n=i[r],e.y>t.y!=n.y>t.y&&t.x<(n.x-e.x)*(t.y-e.y)/(n.y-e.y)+e.x&&(u=!u);return u||tn.prototype._containsPoint.call(this,t,!0)}}),nn=qe.extend({initialize:function(t,i){l(this,i),this._layers={},t&&this.addData(t)},addData:function(t){var i,e,n,o=ei(t)?t:t.features;if(o){for(i=0,e=o.length;i<e;i++)((n=o[i]).geometries||n.geometry||n.features||n.coordinates)&&this.addData(n);return this}var s=this.options;if(s.filter&&!s.filter(t))return this;var r=Wt(t,s);return r?(r.feature=Gt(t),r.defaultOptions=r.options,this.resetStyle(r),s.onEachFeature&&s.onEachFeature(t,r),this.addLayer(r)):this},resetStyle:function(t){return t.options=i({},t.defaultOptions),this._setLayerStyle(t,this.options.style),this},setStyle:function(t){return this.eachLayer(function(i){this._setLayerStyle(i,t)},this)},_setLayerStyle:function(t,i){"function"==typeof i&&(i=i(t.feature)),t.setStyle&&t.setStyle(i)}}),on={toGeoJSON:function(t){return qt(this,{type:"Point",coordinates:Ut(this.getLatLng(),t)})}};Xe.include(on),Qe.include(on),$e.include(on),tn.include({toGeoJSON:function(t){var i=!Dt(this._latlngs),e=Vt(this._latlngs,i?1:0,!1,t);return qt(this,{type:(i?"Multi":"")+"LineString",coordinates:e})}}),en.include({toGeoJSON:function(t){var i=!Dt(this._latlngs),e=i&&!Dt(this._latlngs[0]),n=Vt(this._latlngs,e?2:i?1:0,!0,t);return i||(n=[n]),qt(this,{type:(e?"Multi":"")+"Polygon",coordinates:n})}}),Ve.include({toMultiPoint:function(t){var i=[];return this.eachLayer(function(e){i.push(e.toGeoJSON(t).geometry.coordinates)}),qt(this,{type:"MultiPoint",coordinates:i})},toGeoJSON:function(t){var i=this.feature&&this.feature.geometry&&this.feature.geometry.type;if("MultiPoint"===i)return this.toMultiPoint(t);var e="GeometryCollection"===i,n=[];return this.eachLayer(function(i){if(i.toGeoJSON){var o=i.toGeoJSON(t);if(e)n.push(o.geometry);else{var s=Gt(o);"FeatureCollection"===s.type?n.push.apply(n,s.features):n.push(s)}}}),e?qt(this,{geometries:n,type:"GeometryCollection"}):{type:"FeatureCollection",features:n}}});var sn=Kt,rn=Ue.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(t,i,e){this._url=t,this._bounds=z(i),l(this,e)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(pt(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){ut(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(t){return this.options.opacity=t,this._image&&this._updateOpacity(),this},setStyle:function(t){return t.opacity&&this.setOpacity(t.opacity),this},bringToFront:function(){return this._map&&ct(this._image),this},bringToBack:function(){return this._map&&_t(this._image),this},setUrl:function(t){return this._url=t,this._image&&(this._image.src=t),this},setBounds:function(t){return this._bounds=z(t),this._map&&this._reset(),this},getEvents:function(){var t={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var t="IMG"===this._url.tagName,i=this._image=t?this._url:ht("img");pt(i,"leaflet-image-layer"),this._zoomAnimated&&pt(i,"leaflet-zoom-animated"),this.options.className&&pt(i,this.options.className),i.onselectstart=r,i.onmousemove=r,i.onload=e(this.fire,this,"load"),i.onerror=e(this._overlayOnError,this,"error"),this.options.crossOrigin&&(i.crossOrigin=""),this.options.zIndex&&this._updateZIndex(),t?this._url=i.src:(i.src=this._url,i.alt=this.options.alt)},_animateZoom:function(t){var i=this._map.getZoomScale(t.zoom),e=this._map._latLngBoundsToNewLayerBounds(this._bounds,t.zoom,t.center).min;wt(this._image,e,i)},_reset:function(){var t=this._image,i=new P(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),e=i.getSize();Lt(t,i.min),t.style.width=e.x+"px",t.style.height=e.y+"px"},_updateOpacity:function(){vt(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var t=this.options.errorOverlayUrl;t&&this._url!==t&&(this._url=t,this._image.src=t)}}),an=rn.extend({options:{autoplay:!0,loop:!0},_initImage:function(){var t="VIDEO"===this._url.tagName,i=this._image=t?this._url:ht("video");if(pt(i,"leaflet-image-layer"),this._zoomAnimated&&pt(i,"leaflet-zoom-animated"),i.onselectstart=r,i.onmousemove=r,i.onloadeddata=e(this.fire,this,"load"),t){for(var n=i.getElementsByTagName("source"),o=[],s=0;s<n.length;s++)o.push(n[s].src);this._url=n.length>0?o:[i.src]}else{ei(this._url)||(this._url=[this._url]),i.autoplay=!!this.options.autoplay,i.loop=!!this.options.loop;for(var a=0;a<this._url.length;a++){var h=ht("source");h.src=this._url[a],i.appendChild(h)}}}}),hn=Ue.extend({options:{offset:[0,7],className:"",pane:"popupPane"},initialize:function(t,i){l(this,t),this._source=i},onAdd:function(t){this._zoomAnimated=t._zoomAnimated,this._container||this._initLayout(),t._fadeAnimated&&vt(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),t._fadeAnimated&&vt(this._container,1),this.bringToFront()},onRemove:function(t){t._fadeAnimated?(vt(this._container,0),this._removeTimeout=setTimeout(e(ut,void 0,this._container),200)):ut(this._container)},getLatLng:function(){return this._latlng},setLatLng:function(t){return this._latlng=C(t),this._map&&(this._updatePosition(),this._adjustPan()),this},getContent:function(){return this._content},setContent:function(t){return this._content=t,this.update(),this},getElement:function(){return this._container},update:function(){this._map&&(this._container.style.visibility="hidden",this._updateContent(),this._updateLayout(),this._updatePosition(),this._container.style.visibility="",this._adjustPan())},getEvents:function(){var t={zoom:this._updatePosition,viewreset:this._updatePosition};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},isOpen:function(){return!!this._map&&this._map.hasLayer(this)},bringToFront:function(){return this._map&&ct(this._container),this},bringToBack:function(){return this._map&&_t(this._container),this},_updateContent:function(){if(this._content){var t=this._contentNode,i="function"==typeof this._content?this._content(this._source||this):this._content;if("string"==typeof i)t.innerHTML=i;else{for(;t.hasChildNodes();)t.removeChild(t.firstChild);t.appendChild(i)}this.fire("contentupdate")}},_updatePosition:function(){if(this._map){var t=this._map.latLngToLayerPoint(this._latlng),i=w(this.options.offset),e=this._getAnchor();this._zoomAnimated?Lt(this._container,t.add(e)):i=i.add(t).add(e);var n=this._containerBottom=-i.y,o=this._containerLeft=-Math.round(this._containerWidth/2)+i.x;this._container.style.bottom=n+"px",this._container.style.left=o+"px"}},_getAnchor:function(){return[0,0]}}),un=hn.extend({options:{maxWidth:300,minWidth:50,maxHeight:null,autoPan:!0,autoPanPaddingTopLeft:null,autoPanPaddingBottomRight:null,autoPanPadding:[5,5],keepInView:!1,closeButton:!0,autoClose:!0,closeOnEscapeKey:!0,className:""},openOn:function(t){return t.openPopup(this),this},onAdd:function(t){hn.prototype.onAdd.call(this,t),t.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof Je||this._source.on("preclick",Y))},onRemove:function(t){hn.prototype.onRemove.call(this,t),t.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof Je||this._source.off("preclick",Y))},getEvents:function(){var t=hn.prototype.getEvents.call(this);return(void 0!==this.options.closeOnClick?this.options.closeOnClick:this._map.options.closePopupOnClick)&&(t.preclick=this._close),this.options.keepInView&&(t.moveend=this._adjustPan),t},_close:function(){this._map&&this._map.closePopup(this)},_initLayout:function(){var t="leaflet-popup",i=this._container=ht("div",t+" "+(this.options.className||"")+" leaflet-zoom-animated"),e=this._wrapper=ht("div",t+"-content-wrapper",i);if(this._contentNode=ht("div",t+"-content",e),J(e),X(this._contentNode),V(e,"contextmenu",Y),this._tipContainer=ht("div",t+"-tip-container",i),this._tip=ht("div",t+"-tip",this._tipContainer),this.options.closeButton){var n=this._closeButton=ht("a",t+"-close-button",i);n.href="#close",n.innerHTML="×",V(n,"click",this._onCloseButtonClick,this)}},_updateLayout:function(){var t=this._contentNode,i=t.style;i.width="",i.whiteSpace="nowrap";var e=t.offsetWidth;e=Math.min(e,this.options.maxWidth),e=Math.max(e,this.options.minWidth),i.width=e+1+"px",i.whiteSpace="",i.height="";var n=t.offsetHeight,o=this.options.maxHeight;o&&n>o?(i.height=o+"px",pt(t,"leaflet-popup-scrolled")):mt(t,"leaflet-popup-scrolled"),this._containerWidth=this._container.offsetWidth},_animateZoom:function(t){var i=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center),e=this._getAnchor();Lt(this._container,i.add(e))},_adjustPan:function(){if(!(!this.options.autoPan||this._map._panAnim&&this._map._panAnim._inProgress)){var t=this._map,i=parseInt(at(this._container,"marginBottom"),10)||0,e=this._container.offsetHeight+i,n=this._containerWidth,o=new x(this._containerLeft,-e-this._containerBottom);o._add(Pt(this._container));var s=t.layerPointToContainerPoint(o),r=w(this.options.autoPanPadding),a=w(this.options.autoPanPaddingTopLeft||r),h=w(this.options.autoPanPaddingBottomRight||r),u=t.getSize(),l=0,c=0;s.x+n+h.x>u.x&&(l=s.x+n-u.x+h.x),s.x-l-a.x<0&&(l=s.x-a.x),s.y+e+h.y>u.y&&(c=s.y+e-u.y+h.y),s.y-c-a.y<0&&(c=s.y-a.y),(l||c)&&t.fire("autopanstart").panBy([l,c])}},_onCloseButtonClick:function(t){this._close(),Q(t)},_getAnchor:function(){return w(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}});Le.mergeOptions({closePopupOnClick:!0}),Le.include({openPopup:function(t,i,e){return t instanceof un||(t=new un(e).setContent(t)),i&&t.setLatLng(i),this.hasLayer(t)?this:(this._popup&&this._popup.options.autoClose&&this.closePopup(),this._popup=t,this.addLayer(t))},closePopup:function(t){return t&&t!==this._popup||(t=this._popup,this._popup=null),t&&this.removeLayer(t),this}}),Ue.include({bindPopup:function(t,i){return t instanceof un?(l(t,i),this._popup=t,t._source=this):(this._popup&&!i||(this._popup=new un(i,this)),this._popup.setContent(t)),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(t,i){if(t instanceof Ue||(i=t,t=this),t instanceof qe)for(var e in this._layers){t=this._layers[e];break}return i||(i=t.getCenter?t.getCenter():t.getLatLng()),this._popup&&this._map&&(this._popup._source=t,this._popup.update(),this._map.openPopup(this._popup,i)),this},closePopup:function(){return this._popup&&this._popup._close(),this},togglePopup:function(t){return this._popup&&(this._popup._map?this.closePopup():this.openPopup(t)),this},isPopupOpen:function(){return!!this._popup&&this._popup.isOpen()},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){var i=t.layer||t.target;this._popup&&this._map&&(Q(t),i instanceof Je?this.openPopup(t.layer||t.target,t.latlng):this._map.hasLayer(this._popup)&&this._popup._source===i?this.closePopup():this.openPopup(i,t.latlng))},_movePopup:function(t){this._popup.setLatLng(t.latlng)},_onKeyPress:function(t){13===t.originalEvent.keyCode&&this._openPopup(t)}});var ln=hn.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,interactive:!1,opacity:.9},onAdd:function(t){hn.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire("tooltipopen",{tooltip:this}),this._source&&this._source.fire("tooltipopen",{tooltip:this},!0)},onRemove:function(t){hn.prototype.onRemove.call(this,t),t.fire("tooltipclose",{tooltip:this}),this._source&&this._source.fire("tooltipclose",{tooltip:this},!0)},getEvents:function(){var t=hn.prototype.getEvents.call(this);return Vi&&!this.options.permanent&&(t.preclick=this._close),t},_close:function(){this._map&&this._map.closeTooltip(this)},_initLayout:function(){var t="leaflet-tooltip "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=ht("div",t)},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var i=this._map,e=this._container,n=i.latLngToContainerPoint(i.getCenter()),o=i.layerPointToContainerPoint(t),s=this.options.direction,r=e.offsetWidth,a=e.offsetHeight,h=w(this.options.offset),u=this._getAnchor();"top"===s?t=t.add(w(-r/2+h.x,-a+h.y+u.y,!0)):"bottom"===s?t=t.subtract(w(r/2-h.x,-h.y,!0)):"center"===s?t=t.subtract(w(r/2+h.x,a/2-u.y+h.y,!0)):"right"===s||"auto"===s&&o.x<n.x?(s="right",t=t.add(w(h.x+u.x,u.y-a/2+h.y,!0))):(s="left",t=t.subtract(w(r+u.x-h.x,a/2-u.y-h.y,!0))),mt(e,"leaflet-tooltip-right"),mt(e,"leaflet-tooltip-left"),mt(e,"leaflet-tooltip-top"),mt(e,"leaflet-tooltip-bottom"),pt(e,"leaflet-tooltip-"+s),Lt(e,t)},_updatePosition:function(){var t=this._map.latLngToLayerPoint(this._latlng);this._setPosition(t)},setOpacity:function(t){this.options.opacity=t,this._container&&vt(this._container,t)},_animateZoom:function(t){var i=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center);this._setPosition(i)},_getAnchor:function(){return w(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}});Le.include({openTooltip:function(t,i,e){return t instanceof ln||(t=new ln(e).setContent(t)),i&&t.setLatLng(i),this.hasLayer(t)?this:this.addLayer(t)},closeTooltip:function(t){return t&&this.removeLayer(t),this}}),Ue.include({bindTooltip:function(t,i){return t instanceof ln?(l(t,i),this._tooltip=t,t._source=this):(this._tooltip&&!i||(this._tooltip=new ln(i,this)),this._tooltip.setContent(t)),this._initTooltipInteractions(),this._tooltip.options.permanent&&this._map&&this._map.hasLayer(this)&&this.openTooltip(),this},unbindTooltip:function(){return this._tooltip&&(this._initTooltipInteractions(!0),this.closeTooltip(),this._tooltip=null),this},_initTooltipInteractions:function(t){if(t||!this._tooltipHandlersAdded){var i=t?"off":"on",e={remove:this.closeTooltip,move:this._moveTooltip};this._tooltip.options.permanent?e.add=this._openTooltip:(e.mouseover=this._openTooltip,e.mouseout=this.closeTooltip,this._tooltip.options.sticky&&(e.mousemove=this._moveTooltip),Vi&&(e.click=this._openTooltip)),this[i](e),this._tooltipHandlersAdded=!t}},openTooltip:function(t,i){if(t instanceof Ue||(i=t,t=this),t instanceof qe)for(var e in this._layers){t=this._layers[e];break}return i||(i=t.getCenter?t.getCenter():t.getLatLng()),this._tooltip&&this._map&&(this._tooltip._source=t,this._tooltip.update(),this._map.openTooltip(this._tooltip,i),this._tooltip.options.interactive&&this._tooltip._container&&(pt(this._tooltip._container,"leaflet-clickable"),this.addInteractiveTarget(this._tooltip._container))),this},closeTooltip:function(){return this._tooltip&&(this._tooltip._close(),this._tooltip.options.interactive&&this._tooltip._container&&(mt(this._tooltip._container,"leaflet-clickable"),this.removeInteractiveTarget(this._tooltip._container))),this},toggleTooltip:function(t){return this._tooltip&&(this._tooltip._map?this.closeTooltip():this.openTooltip(t)),this},isTooltipOpen:function(){return this._tooltip.isOpen()},setTooltipContent:function(t){return this._tooltip&&this._tooltip.setContent(t),this},getTooltip:function(){return this._tooltip},_openTooltip:function(t){var i=t.layer||t.target;this._tooltip&&this._map&&this.openTooltip(i,this._tooltip.options.sticky?t.latlng:void 0)},_moveTooltip:function(t){var i,e,n=t.latlng;this._tooltip.options.sticky&&t.originalEvent&&(i=this._map.mouseEventToContainerPoint(t.originalEvent),e=this._map.containerPointToLayerPoint(i),n=this._map.layerPointToLatLng(e)),this._tooltip.setLatLng(n)}});var cn=Ge.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:"leaflet-div-icon"},createIcon:function(t){var i=t&&"DIV"===t.tagName?t:document.createElement("div"),e=this.options;if(i.innerHTML=!1!==e.html?e.html:"",e.bgPos){var n=w(e.bgPos);i.style.backgroundPosition=-n.x+"px "+-n.y+"px"}return this._setIconStyles(i,"icon"),i},createShadow:function(){return null}});Ge.Default=Ke;var _n=Ue.extend({options:{tileSize:256,opacity:1,updateWhenIdle:ji,updateWhenZooming:!0,updateInterval:200,zIndex:1,bounds:null,minZoom:0,maxZoom:void 0,maxNativeZoom:void 0,minNativeZoom:void 0,noWrap:!1,pane:"tilePane",className:"",keepBuffer:2},initialize:function(t){l(this,t)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView(),this._update()},beforeAdd:function(t){t._addZoomLimit(this)},onRemove:function(t){this._removeAllTiles(),ut(this._container),t._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(ct(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(_t(this._container),this._setAutoZIndex(Math.min)),this},getContainer:function(){return this._container},setOpacity:function(t){return this.options.opacity=t,this._updateOpacity(),this},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},isLoading:function(){return this._loading},redraw:function(){return this._map&&(this._removeAllTiles(),this._update()),this},getEvents:function(){var t={viewprereset:this._invalidateAll,viewreset:this._resetView,zoom:this._resetView,moveend:this._onMoveEnd};return this.options.updateWhenIdle||(this._onMove||(this._onMove=o(this._onMoveEnd,this.options.updateInterval,this)),t.move=this._onMove),this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},createTile:function(){return document.createElement("div")},getTileSize:function(){var t=this.options.tileSize;return t instanceof x?t:new x(t,t)},_updateZIndex:function(){this._container&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(t){for(var i,e=this.getPane().children,n=-t(-1/0,1/0),o=0,s=e.length;o<s;o++)i=e[o].style.zIndex,e[o]!==this._container&&i&&(n=t(n,+i));isFinite(n)&&(this.options.zIndex=n+t(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!Li){vt(this._container,this.options.opacity);var t=+new Date,i=!1,e=!1;for(var n in this._tiles){var o=this._tiles[n];if(o.current&&o.loaded){var s=Math.min(1,(t-o.loaded)/200);vt(o.el,s),s<1?i=!0:(o.active?e=!0:this._onOpaqueTile(o),o.active=!0)}}e&&!this._noPrune&&this._pruneTiles(),i&&(g(this._fadeFrame),this._fadeFrame=f(this._updateOpacity,this))}},_onOpaqueTile:r,_initContainer:function(){this._container||(this._container=ht("div","leaflet-layer "+(this.options.className||"")),this._updateZIndex(),this.options.opacity<1&&this._updateOpacity(),this.getPane().appendChild(this._container))},_updateLevels:function(){var t=this._tileZoom,i=this.options.maxZoom;if(void 0!==t){for(var e in this._levels)this._levels[e].el.children.length||e===t?(this._levels[e].el.style.zIndex=i-Math.abs(t-e),this._onUpdateLevel(e)):(ut(this._levels[e].el),this._removeTilesAtZoom(e),this._onRemoveLevel(e),delete this._levels[e]);var n=this._levels[t],o=this._map;return n||((n=this._levels[t]={}).el=ht("div","leaflet-tile-container leaflet-zoom-animated",this._container),n.el.style.zIndex=i,n.origin=o.project(o.unproject(o.getPixelOrigin()),t).round(),n.zoom=t,this._setZoomTransform(n,o.getCenter(),o.getZoom()),n.el.offsetWidth,this._onCreateLevel(n)),this._level=n,n}},_onUpdateLevel:r,_onRemoveLevel:r,_onCreateLevel:r,_pruneTiles:function(){if(this._map){var t,i,e=this._map.getZoom();if(e>this.options.maxZoom||e<this.options.minZoom)this._removeAllTiles();else{for(t in this._tiles)(i=this._tiles[t]).retain=i.current;for(t in this._tiles)if((i=this._tiles[t]).current&&!i.active){var n=i.coords;this._retainParent(n.x,n.y,n.z,n.z-5)||this._retainChildren(n.x,n.y,n.z,n.z+2)}for(t in this._tiles)this._tiles[t].retain||this._removeTile(t)}}},_removeTilesAtZoom:function(t){for(var i in this._tiles)this._tiles[i].coords.z===t&&this._removeTile(i)},_removeAllTiles:function(){for(var t in this._tiles)this._removeTile(t)},_invalidateAll:function(){for(var t in this._levels)ut(this._levels[t].el),this._onRemoveLevel(t),delete this._levels[t];this._removeAllTiles(),this._tileZoom=void 0},_retainParent:function(t,i,e,n){var o=Math.floor(t/2),s=Math.floor(i/2),r=e-1,a=new x(+o,+s);a.z=+r;var h=this._tileCoordsToKey(a),u=this._tiles[h];return u&&u.active?(u.retain=!0,!0):(u&&u.loaded&&(u.retain=!0),r>n&&this._retainParent(o,s,r,n))},_retainChildren:function(t,i,e,n){for(var o=2*t;o<2*t+2;o++)for(var s=2*i;s<2*i+2;s++){var r=new x(o,s);r.z=e+1;var a=this._tileCoordsToKey(r),h=this._tiles[a];h&&h.active?h.retain=!0:(h&&h.loaded&&(h.retain=!0),e+1<n&&this._retainChildren(o,s,e+1,n))}},_resetView:function(t){var i=t&&(t.pinch||t.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),i,i)},_animateZoom:function(t){this._setView(t.center,t.zoom,!0,t.noUpdate)},_clampZoom:function(t){var i=this.options;return void 0!==i.minNativeZoom&&t<i.minNativeZoom?i.minNativeZoom:void 0!==i.maxNativeZoom&&i.maxNativeZoom<t?i.maxNativeZoom:t},_setView:function(t,i,e,n){var o=this._clampZoom(Math.round(i));(void 0!==this.options.maxZoom&&o>this.options.maxZoom||void 0!==this.options.minZoom&&o<this.options.minZoom)&&(o=void 0);var s=this.options.updateWhenZooming&&o!==this._tileZoom;n&&!s||(this._tileZoom=o,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),void 0!==o&&this._update(t),e||this._pruneTiles(),this._noPrune=!!e),this._setZoomTransforms(t,i)},_setZoomTransforms:function(t,i){for(var e in this._levels)this._setZoomTransform(this._levels[e],t,i)},_setZoomTransform:function(t,i,e){var n=this._map.getZoomScale(e,t.zoom),o=t.origin.multiplyBy(n).subtract(this._map._getNewPixelOrigin(i,e)).round();Ni?wt(t.el,o,n):Lt(t.el,o)},_resetGrid:function(){var t=this._map,i=t.options.crs,e=this._tileSize=this.getTileSize(),n=this._tileZoom,o=this._map.getPixelWorldBounds(this._tileZoom);o&&(this._globalTileRange=this._pxBoundsToTileRange(o)),this._wrapX=i.wrapLng&&!this.options.noWrap&&[Math.floor(t.project([0,i.wrapLng[0]],n).x/e.x),Math.ceil(t.project([0,i.wrapLng[1]],n).x/e.y)],this._wrapY=i.wrapLat&&!this.options.noWrap&&[Math.floor(t.project([i.wrapLat[0],0],n).y/e.x),Math.ceil(t.project([i.wrapLat[1],0],n).y/e.y)]},_onMoveEnd:function(){this._map&&!this._map._animatingZoom&&this._update()},_getTiledPixelBounds:function(t){var i=this._map,e=i._animatingZoom?Math.max(i._animateToZoom,i.getZoom()):i.getZoom(),n=i.getZoomScale(e,this._tileZoom),o=i.project(t,this._tileZoom).floor(),s=i.getSize().divideBy(2*n);return new P(o.subtract(s),o.add(s))},_update:function(t){var i=this._map;if(i){var e=this._clampZoom(i.getZoom());if(void 0===t&&(t=i.getCenter()),void 0!==this._tileZoom){var n=this._getTiledPixelBounds(t),o=this._pxBoundsToTileRange(n),s=o.getCenter(),r=[],a=this.options.keepBuffer,h=new P(o.getBottomLeft().subtract([a,-a]),o.getTopRight().add([a,-a]));if(!(isFinite(o.min.x)&&isFinite(o.min.y)&&isFinite(o.max.x)&&isFinite(o.max.y)))throw new Error("Attempted to load an infinite number of tiles");for(var u in this._tiles){var l=this._tiles[u].coords;l.z===this._tileZoom&&h.contains(new x(l.x,l.y))||(this._tiles[u].current=!1)}if(Math.abs(e-this._tileZoom)>1)this._setView(t,e);else{for(var c=o.min.y;c<=o.max.y;c++)for(var _=o.min.x;_<=o.max.x;_++){var d=new x(_,c);if(d.z=this._tileZoom,this._isValidTile(d)){var p=this._tiles[this._tileCoordsToKey(d)];p?p.current=!0:r.push(d)}}if(r.sort(function(t,i){return t.distanceTo(s)-i.distanceTo(s)}),0!==r.length){this._loading||(this._loading=!0,this.fire("loading"));var m=document.createDocumentFragment();for(_=0;_<r.length;_++)this._addTile(r[_],m);this._level.el.appendChild(m)}}}}},_isValidTile:function(t){var i=this._map.options.crs;if(!i.infinite){var e=this._globalTileRange;if(!i.wrapLng&&(t.x<e.min.x||t.x>e.max.x)||!i.wrapLat&&(t.y<e.min.y||t.y>e.max.y))return!1}if(!this.options.bounds)return!0;var n=this._tileCoordsToBounds(t);return z(this.options.bounds).overlaps(n)},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToNwSe:function(t){var i=this._map,e=this.getTileSize(),n=t.scaleBy(e),o=n.add(e);return[i.unproject(n,t.z),i.unproject(o,t.z)]},_tileCoordsToBounds:function(t){var i=this._tileCoordsToNwSe(t),e=new T(i[0],i[1]);return this.options.noWrap||(e=this._map.wrapLatLngBounds(e)),e},_tileCoordsToKey:function(t){return t.x+":"+t.y+":"+t.z},_keyToTileCoords:function(t){var i=t.split(":"),e=new x(+i[0],+i[1]);return e.z=+i[2],e},_removeTile:function(t){var i=this._tiles[t];i&&(Ci||i.el.setAttribute("src",ni),ut(i.el),delete this._tiles[t],this.fire("tileunload",{tile:i.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){pt(t,"leaflet-tile");var i=this.getTileSize();t.style.width=i.x+"px",t.style.height=i.y+"px",t.onselectstart=r,t.onmousemove=r,Li&&this.options.opacity<1&&vt(t,this.options.opacity),Ti&&!zi&&(t.style.WebkitBackfaceVisibility="hidden")},_addTile:function(t,i){var n=this._getTilePos(t),o=this._tileCoordsToKey(t),s=this.createTile(this._wrapCoords(t),e(this._tileReady,this,t));this._initTile(s),this.createTile.length<2&&f(e(this._tileReady,this,t,null,s)),Lt(s,n),this._tiles[o]={el:s,coords:t,current:!0},i.appendChild(s),this.fire("tileloadstart",{tile:s,coords:t})},_tileReady:function(t,i,n){if(this._map){i&&this.fire("tileerror",{error:i,tile:n,coords:t});var o=this._tileCoordsToKey(t);(n=this._tiles[o])&&(n.loaded=+new Date,this._map._fadeAnimated?(vt(n.el,0),g(this._fadeFrame),this._fadeFrame=f(this._updateOpacity,this)):(n.active=!0,this._pruneTiles()),i||(pt(n.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:n.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),Li||!this._map._fadeAnimated?f(this._pruneTiles,this):setTimeout(e(this._pruneTiles,this),250)))}},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var i=new x(this._wrapX?s(t.x,this._wrapX):t.x,this._wrapY?s(t.y,this._wrapY):t.y);return i.z=t.z,i},_pxBoundsToTileRange:function(t){var i=this.getTileSize();return new P(t.min.unscaleBy(i).floor(),t.max.unscaleBy(i).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}}),dn=_n.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1},initialize:function(t,i){this._url=t,(i=l(this,i)).detectRetina&&Ki&&i.maxZoom>0&&(i.tileSize=Math.floor(i.tileSize/2),i.zoomReverse?(i.zoomOffset--,i.minZoom++):(i.zoomOffset++,i.maxZoom--),i.minZoom=Math.max(0,i.minZoom)),"string"==typeof i.subdomains&&(i.subdomains=i.subdomains.split("")),Ti||this.on("tileunload",this._onTileRemove)},setUrl:function(t,i){return this._url=t,i||this.redraw(),this},createTile:function(t,i){var n=document.createElement("img");return V(n,"load",e(this._tileOnLoad,this,i,n)),V(n,"error",e(this._tileOnError,this,i,n)),this.options.crossOrigin&&(n.crossOrigin=""),n.alt="",n.setAttribute("role","presentation"),n.src=this.getTileUrl(t),n},getTileUrl:function(t){var e={r:Ki?"@2x":"",s:this._getSubdomain(t),x:t.x,y:t.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var n=this._globalTileRange.max.y-t.y;this.options.tms&&(e.y=n),e["-y"]=n}return _(this._url,i(e,this.options))},_tileOnLoad:function(t,i){Li?setTimeout(e(t,this,null,i),0):t(null,i)},_tileOnError:function(t,i,e){var n=this.options.errorTileUrl;n&&i.getAttribute("src")!==n&&(i.src=n),t(e,i)},_onTileRemove:function(t){t.tile.onload=null},_getZoomForUrl:function(){var t=this._tileZoom,i=this.options.maxZoom,e=this.options.zoomReverse,n=this.options.zoomOffset;return e&&(t=i-t),t+n},_getSubdomain:function(t){var i=Math.abs(t.x+t.y)%this.options.subdomains.length;return this.options.subdomains[i]},_abortLoading:function(){var t,i;for(t in this._tiles)this._tiles[t].coords.z!==this._tileZoom&&((i=this._tiles[t].el).onload=r,i.onerror=r,i.complete||(i.src=ni,ut(i),delete this._tiles[t]))}}),pn=dn.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(t,e){this._url=t;var n=i({},this.defaultWmsParams);for(var o in e)o in this.options||(n[o]=e[o]);var s=(e=l(this,e)).detectRetina&&Ki?2:1,r=this.getTileSize();n.width=r.x*s,n.height=r.y*s,this.wmsParams=n},onAdd:function(t){this._crs=this.options.crs||t.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var i=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[i]=this._crs.code,dn.prototype.onAdd.call(this,t)},getTileUrl:function(t){var i=this._tileCoordsToNwSe(t),e=this._crs,n=b(e.project(i[0]),e.project(i[1])),o=n.min,s=n.max,r=(this._wmsVersion>=1.3&&this._crs===He?[o.y,o.x,s.y,s.x]:[o.x,o.y,s.x,s.y]).join(","),a=L.TileLayer.prototype.getTileUrl.call(this,t);return a+c(this.wmsParams,a,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+r},setParams:function(t,e){return i(this.wmsParams,t),e||this.redraw(),this}});dn.WMS=pn,Yt.wms=function(t,i){return new pn(t,i)};var mn=Ue.extend({options:{padding:.1,tolerance:0},initialize:function(t){l(this,t),n(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),this._zoomAnimated&&pt(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var t={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(t.zoomanim=this._onAnimZoom),t},_onAnimZoom:function(t){this._updateTransform(t.center,t.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(t,i){var e=this._map.getZoomScale(i,this._zoom),n=Pt(this._container),o=this._map.getSize().multiplyBy(.5+this.options.padding),s=this._map.project(this._center,i),r=this._map.project(t,i).subtract(s),a=o.multiplyBy(-e).add(n).add(o).subtract(r);Ni?wt(this._container,a,e):Lt(this._container,a)},_reset:function(){this._update(),this._updateTransform(this._center,this._zoom);for(var t in this._layers)this._layers[t]._reset()},_onZoomEnd:function(){for(var t in this._layers)this._layers[t]._project()},_updatePaths:function(){for(var t in this._layers)this._layers[t]._update()},_update:function(){var t=this.options.padding,i=this._map.getSize(),e=this._map.containerPointToLayerPoint(i.multiplyBy(-t)).round();this._bounds=new P(e,e.add(i.multiplyBy(1+2*t)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),fn=mn.extend({getEvents:function(){var t=mn.prototype.getEvents.call(this);return t.viewprereset=this._onViewPreReset,t},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){mn.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var t=this._container=document.createElement("canvas");V(t,"mousemove",o(this._onMouseMove,32,this),this),V(t,"click dblclick mousedown mouseup contextmenu",this._onClick,this),V(t,"mouseout",this._handleMouseOut,this),this._ctx=t.getContext("2d")},_destroyContainer:function(){delete this._ctx,ut(this._container),q(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){this._redrawBounds=null;for(var t in this._layers)this._layers[t]._update();this._redraw()}},_update:function(){if(!this._map._animatingZoom||!this._bounds){this._drawnLayers={},mn.prototype._update.call(this);var t=this._bounds,i=this._container,e=t.getSize(),n=Ki?2:1;Lt(i,t.min),i.width=n*e.x,i.height=n*e.y,i.style.width=e.x+"px",i.style.height=e.y+"px",Ki&&this._ctx.scale(2,2),this._ctx.translate(-t.min.x,-t.min.y),this.fire("update")}},_reset:function(){mn.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(t){this._updateDashArray(t),this._layers[n(t)]=t;var i=t._order={layer:t,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=i),this._drawLast=i,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(t){this._requestRedraw(t)},_removePath:function(t){var i=t._order,e=i.next,n=i.prev;e?e.prev=n:this._drawLast=n,n?n.next=e:this._drawFirst=e,delete t._order,delete this._layers[L.stamp(t)],this._requestRedraw(t)},_updatePath:function(t){this._extendRedrawBounds(t),t._project(),t._update(),this._requestRedraw(t)},_updateStyle:function(t){this._updateDashArray(t),this._requestRedraw(t)},_updateDashArray:function(t){if(t.options.dashArray){var i,e=t.options.dashArray.split(","),n=[];for(i=0;i<e.length;i++)n.push(Number(e[i]));t.options._dashArray=n}},_requestRedraw:function(t){this._map&&(this._extendRedrawBounds(t),this._redrawRequest=this._redrawRequest||f(this._redraw,this))},_extendRedrawBounds:function(t){if(t._pxBounds){var i=(t.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new P,this._redrawBounds.extend(t._pxBounds.min.subtract([i,i])),this._redrawBounds.extend(t._pxBounds.max.add([i,i]))}},_redraw:function(){this._redrawRequest=null,this._redrawBounds&&(this._redrawBounds.min._floor(),this._redrawBounds.max._ceil()),this._clear(),this._draw(),this._redrawBounds=null},_clear:function(){var t=this._redrawBounds;if(t){var i=t.getSize();this._ctx.clearRect(t.min.x,t.min.y,i.x,i.y)}else this._ctx.clearRect(0,0,this._container.width,this._container.height)},_draw:function(){var t,i=this._redrawBounds;if(this._ctx.save(),i){var e=i.getSize();this._ctx.beginPath(),this._ctx.rect(i.min.x,i.min.y,e.x,e.y),this._ctx.clip()}this._drawing=!0;for(var n=this._drawFirst;n;n=n.next)t=n.layer,(!i||t._pxBounds&&t._pxBounds.intersects(i))&&t._updatePath();this._drawing=!1,this._ctx.restore()},_updatePoly:function(t,i){if(this._drawing){var e,n,o,s,r=t._parts,a=r.length,h=this._ctx;if(a){for(this._drawnLayers[t._leaflet_id]=t,h.beginPath(),e=0;e<a;e++){for(n=0,o=r[e].length;n<o;n++)s=r[e][n],h[n?"lineTo":"moveTo"](s.x,s.y);i&&h.closePath()}this._fillStroke(h,t)}}},_updateCircle:function(t){if(this._drawing&&!t._empty()){var i=t._point,e=this._ctx,n=Math.max(Math.round(t._radius),1),o=(Math.max(Math.round(t._radiusY),1)||n)/n;this._drawnLayers[t._leaflet_id]=t,1!==o&&(e.save(),e.scale(1,o)),e.beginPath(),e.arc(i.x,i.y/o,n,0,2*Math.PI,!1),1!==o&&e.restore(),this._fillStroke(e,t)}},_fillStroke:function(t,i){var e=i.options;e.fill&&(t.globalAlpha=e.fillOpacity,t.fillStyle=e.fillColor||e.color,t.fill(e.fillRule||"evenodd")),e.stroke&&0!==e.weight&&(t.setLineDash&&t.setLineDash(i.options&&i.options._dashArray||[]),t.globalAlpha=e.opacity,t.lineWidth=e.weight,t.strokeStyle=e.color,t.lineCap=e.lineCap,t.lineJoin=e.lineJoin,t.stroke())},_onClick:function(t){for(var i,e,n=this._map.mouseEventToLayerPoint(t),o=this._drawFirst;o;o=o.next)(i=o.layer).options.interactive&&i._containsPoint(n)&&!this._map._draggableMoved(i)&&(e=i);e&&(et(t),this._fireEvent([e],t))},_onMouseMove:function(t){if(this._map&&!this._map.dragging.moving()&&!this._map._animatingZoom){var i=this._map.mouseEventToLayerPoint(t);this._handleMouseHover(t,i)}},_handleMouseOut:function(t){var i=this._hoveredLayer;i&&(mt(this._container,"leaflet-interactive"),this._fireEvent([i],t,"mouseout"),this._hoveredLayer=null)},_handleMouseHover:function(t,i){for(var e,n,o=this._drawFirst;o;o=o.next)(e=o.layer).options.interactive&&e._containsPoint(i)&&(n=e);n!==this._hoveredLayer&&(this._handleMouseOut(t),n&&(pt(this._container,"leaflet-interactive"),this._fireEvent([n],t,"mouseover"),this._hoveredLayer=n)),this._hoveredLayer&&this._fireEvent([this._hoveredLayer],t)},_fireEvent:function(t,i,e){this._map._fireDOMEvent(i,e||i.type,t)},_bringToFront:function(t){var i=t._order,e=i.next,n=i.prev;e&&(e.prev=n,n?n.next=e:e&&(this._drawFirst=e),i.prev=this._drawLast,this._drawLast.next=i,i.next=null,this._drawLast=i,this._requestRedraw(t))},_bringToBack:function(t){var i=t._order,e=i.next,n=i.prev;n&&(n.next=e,e?e.prev=n:n&&(this._drawLast=n),i.prev=null,i.next=this._drawFirst,this._drawFirst.prev=i,this._drawFirst=i,this._requestRedraw(t))}}),gn=function(){try{return document.namespaces.add("lvml","urn:schemas-microsoft-com:vml"),function(t){return document.createElement("<lvml:"+t+' class="lvml">')}}catch(t){return function(t){return document.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}}(),vn={_initContainer:function(){this._container=ht("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(mn.prototype._update.call(this),this.fire("update"))},_initPath:function(t){var i=t._container=gn("shape");pt(i,"leaflet-vml-shape "+(this.options.className||"")),i.coordsize="1 1",t._path=gn("path"),i.appendChild(t._path),this._updateStyle(t),this._layers[n(t)]=t},_addPath:function(t){var i=t._container;this._container.appendChild(i),t.options.interactive&&t.addInteractiveTarget(i)},_removePath:function(t){var i=t._container;ut(i),t.removeInteractiveTarget(i),delete this._layers[n(t)]},_updateStyle:function(t){var i=t._stroke,e=t._fill,n=t.options,o=t._container;o.stroked=!!n.stroke,o.filled=!!n.fill,n.stroke?(i||(i=t._stroke=gn("stroke")),o.appendChild(i),i.weight=n.weight+"px",i.color=n.color,i.opacity=n.opacity,n.dashArray?i.dashStyle=ei(n.dashArray)?n.dashArray.join(" "):n.dashArray.replace(/( *, *)/g," "):i.dashStyle="",i.endcap=n.lineCap.replace("butt","flat"),i.joinstyle=n.lineJoin):i&&(o.removeChild(i),t._stroke=null),n.fill?(e||(e=t._fill=gn("fill")),o.appendChild(e),e.color=n.fillColor||n.color,e.opacity=n.fillOpacity):e&&(o.removeChild(e),t._fill=null)},_updateCircle:function(t){var i=t._point.round(),e=Math.round(t._radius),n=Math.round(t._radiusY||e);this._setPath(t,t._empty()?"M0 0":"AL "+i.x+","+i.y+" "+e+","+n+" 0,23592600")},_setPath:function(t,i){t._path.v=i},_bringToFront:function(t){ct(t._container)},_bringToBack:function(t){_t(t._container)}},yn=Ji?gn:E,xn=mn.extend({getEvents:function(){var t=mn.prototype.getEvents.call(this);return t.zoomstart=this._onZoomStart,t},_initContainer:function(){this._container=yn("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=yn("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){ut(this._container),q(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_onZoomStart:function(){this._update()},_update:function(){if(!this._map._animatingZoom||!this._bounds){mn.prototype._update.call(this);var t=this._bounds,i=t.getSize(),e=this._container;this._svgSize&&this._svgSize.equals(i)||(this._svgSize=i,e.setAttribute("width",i.x),e.setAttribute("height",i.y)),Lt(e,t.min),e.setAttribute("viewBox",[t.min.x,t.min.y,i.x,i.y].join(" ")),this.fire("update")}},_initPath:function(t){var i=t._path=yn("path");t.options.className&&pt(i,t.options.className),t.options.interactive&&pt(i,"leaflet-interactive"),this._updateStyle(t),this._layers[n(t)]=t},_addPath:function(t){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){ut(t._path),t.removeInteractiveTarget(t._path),delete this._layers[n(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var i=t._path,e=t.options;i&&(e.stroke?(i.setAttribute("stroke",e.color),i.setAttribute("stroke-opacity",e.opacity),i.setAttribute("stroke-width",e.weight),i.setAttribute("stroke-linecap",e.lineCap),i.setAttribute("stroke-linejoin",e.lineJoin),e.dashArray?i.setAttribute("stroke-dasharray",e.dashArray):i.removeAttribute("stroke-dasharray"),e.dashOffset?i.setAttribute("stroke-dashoffset",e.dashOffset):i.removeAttribute("stroke-dashoffset")):i.setAttribute("stroke","none"),e.fill?(i.setAttribute("fill",e.fillColor||e.color),i.setAttribute("fill-opacity",e.fillOpacity),i.setAttribute("fill-rule",e.fillRule||"evenodd")):i.setAttribute("fill","none"))},_updatePoly:function(t,i){this._setPath(t,k(t._parts,i))},_updateCircle:function(t){var i=t._point,e=Math.max(Math.round(t._radius),1),n="a"+e+","+(Math.max(Math.round(t._radiusY),1)||e)+" 0 1,0 ",o=t._empty()?"M0 0":"M"+(i.x-e)+","+i.y+n+2*e+",0 "+n+2*-e+",0 ";this._setPath(t,o)},_setPath:function(t,i){t._path.setAttribute("d",i)},_bringToFront:function(t){ct(t._path)},_bringToBack:function(t){_t(t._path)}});Ji&&xn.include(vn),Le.include({getRenderer:function(t){var i=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer;return i||(i=this._renderer=this.options.preferCanvas&&Xt()||Jt()),this.hasLayer(i)||this.addLayer(i),i},_getPaneRenderer:function(t){if("overlayPane"===t||void 0===t)return!1;var i=this._paneRenderers[t];return void 0===i&&(i=xn&&Jt({pane:t})||fn&&Xt({pane:t}),this._paneRenderers[t]=i),i}});var wn=en.extend({initialize:function(t,i){en.prototype.initialize.call(this,this._boundsToLatLngs(t),i)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return t=z(t),[t.getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}});xn.create=yn,xn.pointsToPath=k,nn.geometryToLayer=Wt,nn.coordsToLatLng=Ht,nn.coordsToLatLngs=Ft,nn.latLngToCoords=Ut,nn.latLngsToCoords=Vt,nn.getFeature=qt,nn.asFeature=Gt,Le.mergeOptions({boxZoom:!0});var Ln=Ze.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._resetStateTimeout=0,t.on("unload",this._destroy,this)},addHooks:function(){V(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){q(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){ut(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){0!==this._resetStateTimeout&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(t){if(!t.shiftKey||1!==t.which&&1!==t.button)return!1;this._clearDeferredResetState(),this._resetState(),mi(),bt(),this._startPoint=this._map.mouseEventToContainerPoint(t),V(document,{contextmenu:Q,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=ht("div","leaflet-zoom-box",this._container),pt(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(t);var i=new P(this._point,this._startPoint),e=i.getSize();Lt(this._box,i.min),this._box.style.width=e.x+"px",this._box.style.height=e.y+"px"},_finish:function(){this._moved&&(ut(this._box),mt(this._container,"leaflet-crosshair")),fi(),Tt(),q(document,{contextmenu:Q,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){if((1===t.which||1===t.button)&&(this._finish(),this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(e(this._resetState,this),0);var i=new T(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(i).fire("boxzoomend",{boxZoomBounds:i})}},_onKeyDown:function(t){27===t.keyCode&&this._finish()}});Le.addInitHook("addHandler","boxZoom",Ln),Le.mergeOptions({doubleClickZoom:!0});var Pn=Ze.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(t){var i=this._map,e=i.getZoom(),n=i.options.zoomDelta,o=t.originalEvent.shiftKey?e-n:e+n;"center"===i.options.doubleClickZoom?i.setZoom(o):i.setZoomAround(t.containerPoint,o)}});Le.addInitHook("addHandler","doubleClickZoom",Pn),Le.mergeOptions({dragging:!0,inertia:!zi,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var bn=Ze.extend({addHooks:function(){if(!this._draggable){var t=this._map;this._draggable=new Be(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),t.on("zoomend",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))}pt(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){mt(this._map._container,"leaflet-grab"),mt(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var t=this._map;if(t._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var i=z(this._map.options.maxBounds);this._offsetLimit=b(this._map.latLngToContainerPoint(i.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(i.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;t.fire("movestart").fire("dragstart"),t.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(t){if(this._map.options.inertia){var i=this._lastTime=+new Date,e=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(e),this._times.push(i),this._prunePositions(i)}this._map.fire("move",t).fire("drag",t)},_prunePositions:function(t){for(;this._positions.length>1&&t-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var t=this._map.getSize().divideBy(2),i=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=i.subtract(t).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(t,i){return t-(t-i)*this._viscosity},_onPreDragLimit:function(){if(this._viscosity&&this._offsetLimit){var t=this._draggable._newPos.subtract(this._draggable._startPos),i=this._offsetLimit;t.x<i.min.x&&(t.x=this._viscousLimit(t.x,i.min.x)),t.y<i.min.y&&(t.y=this._viscousLimit(t.y,i.min.y)),t.x>i.max.x&&(t.x=this._viscousLimit(t.x,i.max.x)),t.y>i.max.y&&(t.y=this._viscousLimit(t.y,i.max.y)),this._draggable._newPos=this._draggable._startPos.add(t)}},_onPreDragWrap:function(){var t=this._worldWidth,i=Math.round(t/2),e=this._initialWorldOffset,n=this._draggable._newPos.x,o=(n-i+e)%t+i-e,s=(n+i+e)%t-i-e,r=Math.abs(o+e)<Math.abs(s+e)?o:s;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=r},_onDragEnd:function(t){var i=this._map,e=i.options,n=!e.inertia||this._times.length<2;if(i.fire("dragend",t),n)i.fire("moveend");else{this._prunePositions(+new Date);var o=this._lastPos.subtract(this._positions[0]),s=(this._lastTime-this._times[0])/1e3,r=e.easeLinearity,a=o.multiplyBy(r/s),h=a.distanceTo([0,0]),u=Math.min(e.inertiaMaxSpeed,h),l=a.multiplyBy(u/h),c=u/(e.inertiaDeceleration*r),_=l.multiplyBy(-c/2).round();_.x||_.y?(_=i._limitOffset(_,i.options.maxBounds),f(function(){i.panBy(_,{duration:c,easeLinearity:r,noMoveStart:!0,animate:!0})})):i.fire("moveend")}}});Le.addInitHook("addHandler","dragging",bn),Le.mergeOptions({keyboard:!0,keyboardPanDelta:80});var Tn=Ze.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,54,173]},initialize:function(t){this._map=t,this._setPanDelta(t.options.keyboardPanDelta),this._setZoomDelta(t.options.zoomDelta)},addHooks:function(){var t=this._map._container;t.tabIndex<=0&&(t.tabIndex="0"),V(t,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.on({focus:this._addHooks,blur:this._removeHooks},this)},removeHooks:function(){this._removeHooks(),q(this._map._container,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.off({focus:this._addHooks,blur:this._removeHooks},this)},_onMouseDown:function(){if(!this._focused){var t=document.body,i=document.documentElement,e=t.scrollTop||i.scrollTop,n=t.scrollLeft||i.scrollLeft;this._map._container.focus(),window.scrollTo(n,e)}},_onFocus:function(){this._focused=!0,this._map.fire("focus")},_onBlur:function(){this._focused=!1,this._map.fire("blur")},_setPanDelta:function(t){var i,e,n=this._panKeys={},o=this.keyCodes;for(i=0,e=o.left.length;i<e;i++)n[o.left[i]]=[-1*t,0];for(i=0,e=o.right.length;i<e;i++)n[o.right[i]]=[t,0];for(i=0,e=o.down.length;i<e;i++)n[o.down[i]]=[0,t];for(i=0,e=o.up.length;i<e;i++)n[o.up[i]]=[0,-1*t]},_setZoomDelta:function(t){var i,e,n=this._zoomKeys={},o=this.keyCodes;for(i=0,e=o.zoomIn.length;i<e;i++)n[o.zoomIn[i]]=t;for(i=0,e=o.zoomOut.length;i<e;i++)n[o.zoomOut[i]]=-t},_addHooks:function(){V(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){q(document,"keydown",this._onKeyDown,this)},_onKeyDown:function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var i,e=t.keyCode,n=this._map;if(e in this._panKeys){if(n._panAnim&&n._panAnim._inProgress)return;i=this._panKeys[e],t.shiftKey&&(i=w(i).multiplyBy(3)),n.panBy(i),n.options.maxBounds&&n.panInsideBounds(n.options.maxBounds)}else if(e in this._zoomKeys)n.setZoom(n.getZoom()+(t.shiftKey?3:1)*this._zoomKeys[e]);else{if(27!==e||!n._popup||!n._popup.options.closeOnEscapeKey)return;n.closePopup()}Q(t)}}});Le.addInitHook("addHandler","keyboard",Tn),Le.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var zn=Ze.extend({addHooks:function(){V(this._map._container,"mousewheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){q(this._map._container,"mousewheel",this._onWheelScroll,this)},_onWheelScroll:function(t){var i=it(t),n=this._map.options.wheelDebounceTime;this._delta+=i,this._lastMousePos=this._map.mouseEventToContainerPoint(t),this._startTime||(this._startTime=+new Date);var o=Math.max(n-(+new Date-this._startTime),0);clearTimeout(this._timer),this._timer=setTimeout(e(this._performZoom,this),o),Q(t)},_performZoom:function(){var t=this._map,i=t.getZoom(),e=this._map.options.zoomSnap||0;t._stop();var n=this._delta/(4*this._map.options.wheelPxPerZoomLevel),o=4*Math.log(2/(1+Math.exp(-Math.abs(n))))/Math.LN2,s=e?Math.ceil(o/e)*e:o,r=t._limitZoom(i+(this._delta>0?s:-s))-i;this._delta=0,this._startTime=null,r&&("center"===t.options.scrollWheelZoom?t.setZoom(i+r):t.setZoomAround(this._lastMousePos,i+r))}});Le.addInitHook("addHandler","scrollWheelZoom",zn),Le.mergeOptions({tap:!0,tapTolerance:15});var Mn=Ze.extend({addHooks:function(){V(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){q(this._map._container,"touchstart",this._onDown,this)},_onDown:function(t){if(t.touches){if($(t),this._fireClick=!0,t.touches.length>1)return this._fireClick=!1,void clearTimeout(this._holdTimeout);var i=t.touches[0],n=i.target;this._startPos=this._newPos=new x(i.clientX,i.clientY),n.tagName&&"a"===n.tagName.toLowerCase()&&pt(n,"leaflet-active"),this._holdTimeout=setTimeout(e(function(){this._isTapValid()&&(this._fireClick=!1,this._onUp(),this._simulateEvent("contextmenu",i))},this),1e3),this._simulateEvent("mousedown",i),V(document,{touchmove:this._onMove,touchend:this._onUp},this)}},_onUp:function(t){if(clearTimeout(this._holdTimeout),q(document,{touchmove:this._onMove,touchend:this._onUp},this),this._fireClick&&t&&t.changedTouches){var i=t.changedTouches[0],e=i.target;e&&e.tagName&&"a"===e.tagName.toLowerCase()&&mt(e,"leaflet-active"),this._simulateEvent("mouseup",i),this._isTapValid()&&this._simulateEvent("click",i)}},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_onMove:function(t){var i=t.touches[0];this._newPos=new x(i.clientX,i.clientY),this._simulateEvent("mousemove",i)},_simulateEvent:function(t,i){var e=document.createEvent("MouseEvents");e._simulated=!0,i.target._simulatedClick=!0,e.initMouseEvent(t,!0,!0,window,1,i.screenX,i.screenY,i.clientX,i.clientY,!1,!1,!1,!1,0,null),i.target.dispatchEvent(e)}});Vi&&!Ui&&Le.addInitHook("addHandler","tap",Mn),Le.mergeOptions({touchZoom:Vi&&!zi,bounceAtZoomLimits:!0});var Cn=Ze.extend({addHooks:function(){pt(this._map._container,"leaflet-touch-zoom"),V(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){mt(this._map._container,"leaflet-touch-zoom"),q(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(t){var i=this._map;if(t.touches&&2===t.touches.length&&!i._animatingZoom&&!this._zooming){var e=i.mouseEventToContainerPoint(t.touches[0]),n=i.mouseEventToContainerPoint(t.touches[1]);this._centerPoint=i.getSize()._divideBy(2),this._startLatLng=i.containerPointToLatLng(this._centerPoint),"center"!==i.options.touchZoom&&(this._pinchStartLatLng=i.containerPointToLatLng(e.add(n)._divideBy(2))),this._startDist=e.distanceTo(n),this._startZoom=i.getZoom(),this._moved=!1,this._zooming=!0,i._stop(),V(document,"touchmove",this._onTouchMove,this),V(document,"touchend",this._onTouchEnd,this),$(t)}},_onTouchMove:function(t){if(t.touches&&2===t.touches.length&&this._zooming){var i=this._map,n=i.mouseEventToContainerPoint(t.touches[0]),o=i.mouseEventToContainerPoint(t.touches[1]),s=n.distanceTo(o)/this._startDist;if(this._zoom=i.getScaleZoom(s,this._startZoom),!i.options.bounceAtZoomLimits&&(this._zoom<i.getMinZoom()&&s<1||this._zoom>i.getMaxZoom()&&s>1)&&(this._zoom=i._limitZoom(this._zoom)),"center"===i.options.touchZoom){if(this._center=this._startLatLng,1===s)return}else{var r=n._add(o)._divideBy(2)._subtract(this._centerPoint);if(1===s&&0===r.x&&0===r.y)return;this._center=i.unproject(i.project(this._pinchStartLatLng,this._zoom).subtract(r),this._zoom)}this._moved||(i._moveStart(!0,!1),this._moved=!0),g(this._animRequest);var a=e(i._move,i,this._center,this._zoom,{pinch:!0,round:!1});this._animRequest=f(a,this,!0),$(t)}},_onTouchEnd:function(){this._moved&&this._zooming?(this._zooming=!1,g(this._animRequest),q(document,"touchmove",this._onTouchMove),q(document,"touchend",this._onTouchEnd),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))):this._zooming=!1}});Le.addInitHook("addHandler","touchZoom",Cn),Le.BoxZoom=Ln,Le.DoubleClickZoom=Pn,Le.Drag=bn,Le.Keyboard=Tn,Le.ScrollWheelZoom=zn,Le.Tap=Mn,Le.TouchZoom=Cn;var Zn=window.L;window.L=t,Object.freeze=$t,t.version="1.3.1+HEAD.ba6f97f",t.noConflict=function(){return window.L=Zn,this},t.Control=Pe,t.control=be,t.Browser=$i,t.Evented=ui,t.Mixin=Ee,t.Util=ai,t.Class=v,t.Handler=Ze,t.extend=i,t.bind=e,t.stamp=n,t.setOptions=l,t.DomEvent=de,t.DomUtil=xe,t.PosAnimation=we,t.Draggable=Be,t.LineUtil=Oe,t.PolyUtil=Re,t.Point=x,t.point=w,t.Bounds=P,t.bounds=b,t.Transformation=Z,t.transformation=S,t.Projection=je,t.LatLng=M,t.latLng=C,t.LatLngBounds=T,t.latLngBounds=z,t.CRS=ci,t.GeoJSON=nn,t.geoJSON=Kt,t.geoJson=sn,t.Layer=Ue,t.LayerGroup=Ve,t.layerGroup=function(t,i){return new Ve(t,i)},t.FeatureGroup=qe,t.featureGroup=function(t){return new qe(t)},t.ImageOverlay=rn,t.imageOverlay=function(t,i,e){return new rn(t,i,e)},t.VideoOverlay=an,t.videoOverlay=function(t,i,e){return new an(t,i,e)},t.DivOverlay=hn,t.Popup=un,t.popup=function(t,i){return new un(t,i)},t.Tooltip=ln,t.tooltip=function(t,i){return new ln(t,i)},t.Icon=Ge,t.icon=function(t){return new Ge(t)},t.DivIcon=cn,t.divIcon=function(t){return new cn(t)},t.Marker=Xe,t.marker=function(t,i){return new Xe(t,i)},t.TileLayer=dn,t.tileLayer=Yt,t.GridLayer=_n,t.gridLayer=function(t){return new _n(t)},t.SVG=xn,t.svg=Jt,t.Renderer=mn,t.Canvas=fn,t.canvas=Xt,t.Path=Je,t.CircleMarker=$e,t.circleMarker=function(t,i){return new $e(t,i)},t.Circle=Qe,t.circle=function(t,i,e){return new Qe(t,i,e)},t.Polyline=tn,t.polyline=function(t,i){return new tn(t,i)},t.Polygon=en,t.polygon=function(t,i){return new en(t,i)},t.Rectangle=wn,t.rectangle=function(t,i){return new wn(t,i)},t.Map=Le,t.map=function(t,i){return new Le(t,i)}});</script> <style type="text/css"> img.leaflet-tile { padding: 0; margin: 0; border-radius: 0; border: none; } .info { padding: 6px 8px; font: 14px/16px Arial, Helvetica, sans-serif; background: white; background: rgba(255,255,255,0.8); box-shadow: 0 0 15px rgba(0,0,0,0.2); border-radius: 5px; } .legend { line-height: 18px; color: #555; } .legend svg text { fill: #555; } .legend svg line { stroke: #555; } .legend i { width: 18px; height: 18px; margin-right: 4px; opacity: 0.7; display: inline-block; vertical-align: top; zoom: 1; *display: inline; } </style> <script>!function(t,s){"object"==typeof exports&&"undefined"!=typeof module?module.exports=s():"function"==typeof define&&define.amd?define(s):t.proj4=s()}(this,function(){"use strict";function k(t,s){if(t[s])return t[s];for(var i,a=Object.keys(t),h=s.toLowerCase().replace(H,""),e=-1;++e<a.length;)if((i=a[e]).toLowerCase().replace(H,"")===h)return t[i]}function e(t){if("string"!=typeof t)throw new Error("not a string");this.text=t.trim(),this.level=0,this.place=0,this.root=null,this.stack=[],this.currentObject=null,this.state=K}function h(t,s,i){Array.isArray(s)&&(i.unshift(s),s=null);var a=s?{}:t,h=i.reduce(function(t,s){return n(s,t),t},a);s&&(t[s]=h)}function n(t,s){if(Array.isArray(t)){var i,a=t.shift();if("PARAMETER"===a&&(a=t.shift()),1===t.length)return Array.isArray(t[0])?(s[a]={},void n(t[0],s[a])):void(s[a]=t[0]);if(t.length)if("TOWGS84"!==a){if("AXIS"===a)return a in s||(s[a]=[]),void s[a].push(t);switch(Array.isArray(a)||(s[a]={}),a){case"UNIT":case"PRIMEM":case"VERT_DATUM":return s[a]={name:t[0].toLowerCase(),convert:t[1]},void(3===t.length&&n(t[2],s[a]));case"SPHEROID":case"ELLIPSOID":return s[a]={name:t[0],a:t[1],rf:t[2]},void(4===t.length&&n(t[3],s[a]));case"PROJECTEDCRS":case"PROJCRS":case"GEOGCS":case"GEOCCS":case"PROJCS":case"LOCAL_CS":case"GEODCRS":case"GEODETICCRS":case"GEODETICDATUM":case"EDATUM":case"ENGINEERINGDATUM":case"VERT_CS":case"VERTCRS":case"VERTICALCRS":case"COMPD_CS":case"COMPOUNDCRS":case"ENGINEERINGCRS":case"ENGCRS":case"FITTED_CS":case"LOCAL_DATUM":case"DATUM":return t[0]=["name",t[0]],void h(s,a,t);default:for(i=-1;++i<t.length;)if(!Array.isArray(t[i]))return n(t,s[a]);return h(s,a,t)}}else s[a]=t;else s[a]=!0}else s[t]=!0}function r(t){return t*it}function o(e){function t(t){return t*(e.to_meter||1)}if("GEOGCS"===e.type?e.projName="longlat":"LOCAL_CS"===e.type?(e.projName="identity",e.local=!0):"object"==typeof e.PROJECTION?e.projName=Object.keys(e.PROJECTION)[0]:e.projName=e.PROJECTION,e.AXIS){for(var s="",i=0,a=e.AXIS.length;i<a;++i){var h=e.AXIS[i][0].toLowerCase();-1!==h.indexOf("north")?s+="n":-1!==h.indexOf("south")?s+="s":-1!==h.indexOf("east")?s+="e":-1!==h.indexOf("west")&&(s+="w")}2===s.length&&(s+="u"),3===s.length&&(e.axis=s)}e.UNIT&&(e.units=e.UNIT.name.toLowerCase(),"metre"===e.units&&(e.units="meter"),e.UNIT.convert&&("GEOGCS"===e.type?e.DATUM&&e.DATUM.SPHEROID&&(e.to_meter=e.UNIT.convert*e.DATUM.SPHEROID.a):e.to_meter=e.UNIT.convert));var n=e.GEOGCS;"GEOGCS"===e.type&&(n=e),n&&(n.DATUM?e.datumCode=n.DATUM.name.toLowerCase():e.datumCode=n.name.toLowerCase(),"d_"===e.datumCode.slice(0,2)&&(e.datumCode=e.datumCode.slice(2)),"new_zealand_geodetic_datum_1949"!==e.datumCode&&"new_zealand_1949"!==e.datumCode||(e.datumCode="nzgd49"),"wgs_1984"!==e.datumCode&&"world_geodetic_system_1984"!==e.datumCode||("Mercator_Auxiliary_Sphere"===e.PROJECTION&&(e.sphere=!0),e.datumCode="wgs84"),"_ferro"===e.datumCode.slice(-6)&&(e.datumCode=e.datumCode.slice(0,-6)),"_jakarta"===e.datumCode.slice(-8)&&(e.datumCode=e.datumCode.slice(0,-8)),~e.datumCode.indexOf("belge")&&(e.datumCode="rnb72"),n.DATUM&&n.DATUM.SPHEROID&&(e.ellps=n.DATUM.SPHEROID.name.replace("_19","").replace(/[Cc]larke\_18/,"clrk"),"international"===e.ellps.toLowerCase().slice(0,13)&&(e.ellps="intl"),e.a=n.DATUM.SPHEROID.a,e.rf=parseFloat(n.DATUM.SPHEROID.rf,10)),n.DATUM&&n.DATUM.TOWGS84&&(e.datum_params=n.DATUM.TOWGS84),~e.datumCode.indexOf("osgb_1936")&&(e.datumCode="osgb36"),~e.datumCode.indexOf("osni_1952")&&(e.datumCode="osni52"),(~e.datumCode.indexOf("tm65")||~e.datumCode.indexOf("geodetic_datum_of_1965"))&&(e.datumCode="ire65"),"ch1903+"===e.datumCode&&(e.datumCode="ch1903"),~e.datumCode.indexOf("israel")&&(e.datumCode="isr93")),e.b&&!isFinite(e.b)&&(e.b=e.a),[["standard_parallel_1","Standard_Parallel_1"],["standard_parallel_2","Standard_Parallel_2"],["false_easting","False_Easting"],["false_northing","False_Northing"],["central_meridian","Central_Meridian"],["latitude_of_origin","Latitude_Of_Origin"],["latitude_of_origin","Central_Parallel"],["scale_factor","Scale_Factor"],["k0","scale_factor"],["latitude_of_center","Latitude_Of_Center"],["latitude_of_center","Latitude_of_center"],["lat0","latitude_of_center",r],["longitude_of_center","Longitude_Of_Center"],["longitude_of_center","Longitude_of_center"],["longc","longitude_of_center",r],["x0","false_easting",t],["y0","false_northing",t],["long0","central_meridian",r],["lat0","latitude_of_origin",r],["lat0","standard_parallel_1",r],["lat1","standard_parallel_1",r],["lat2","standard_parallel_2",r],["azimuth","Azimuth"],["alpha","azimuth",r],["srsCode","name"]].forEach(function(t){return s=e,a=(i=t)[0],h=i[1],void(!(a in s)&&h in s&&(s[a]=s[h],3===i.length&&(s[a]=i[2](s[a]))));var s,i,a,h}),e.long0||!e.longc||"Albers_Conic_Equal_Area"!==e.projName&&"Lambert_Azimuthal_Equal_Area"!==e.projName||(e.long0=e.longc),e.lat_ts||!e.lat1||"Stereographic_South_Pole"!==e.projName&&"Polar Stereographic (variant B)"!==e.projName||(e.lat0=r(0<e.lat1?90:-90),e.lat_ts=e.lat1)}function l(t){var s=this;if(2===arguments.length){var i=arguments[1];"string"==typeof i?"+"===i.charAt(0)?l[t]=J(arguments[1]):l[t]=at(arguments[1]):l[t]=i}else if(1===arguments.length){if(Array.isArray(t))return t.map(function(t){Array.isArray(t)?l.apply(s,t):l(t)});if("string"==typeof t){if(t in l)return l[t]}else"EPSG"in t?l["EPSG:"+t.EPSG]=t:"ESRI"in t?l["ESRI:"+t.ESRI]=t:"IAU2000"in t?l["IAU2000:"+t.IAU2000]=t:console.log(t);return}}function E(t){if("string"!=typeof t)return t;if(t in l)return l[t];if(a=t,lt.some(function(t){return-1<a.indexOf(t)})){var s=at(t);if(function(t){var s=k(t,"authority");if(s){var i=k(s,"epsg");return i&&-1<Mt.indexOf(i)}}(s))return l["EPSG:3857"];var i=function(t){var s=k(t,"extension");if(s)return k(s,"proj4")}(s);return i?J(i):s}var a;return"+"===t[0]?J(t):void 0}function t(t){return t}function s(t,s){var i=mt.length;return t.names?((mt[i]=t).names.forEach(function(t){ft[t.toLowerCase()]=i}),this):(console.log(s),!0)}function q(t,s){if(!(this instanceof q))return new q(t);s=s||function(t){if(t)throw t};var i,a,h,e,n,r,o,l,M,c,u,f,m,p,d,y,_,x,g,b,v,w,C,P,S,N=E(t);"object"==typeof N&&(i=q.projections.get(N.projName))?(!N.datumCode||"none"===N.datumCode||(a=k(_t,N.datumCode))&&(N.datum_params=a.towgs84?a.towgs84.split(","):null,N.ellps=a.ellipse,N.datumName=a.datumName?a.datumName:N.datumCode),N.k0=N.k0||1,N.axis=N.axis||"enu",N.ellps=N.ellps||"wgs84",b=N.a,v=N.b,w=N.rf,C=N.ellps,P=N.sphere,b||(b=(S=(S=k(dt,C))||yt).a,v=S.b,w=S.rf),w&&!v&&(v=(1-1/w)*b),(0===w||Math.abs(b-v)<D)&&(P=!0,v=b),m=(h={a:b,b:v,rf:w,sphere:P}).a,p=h.b,d=N.R_A,x=((y=m*m)-(_=p*p))/y,g=0,d?(y=(m*=1-x*(R+x*(L+x*T)))*m,x=0):g=Math.sqrt(x),e={es:x,e:g,ep2:(y-_)/_},n=N.datum||(r=N.datumCode,o=N.datum_params,l=h.a,M=h.b,c=e.es,u=e.ep2,(f={}).datum_type=void 0===r||"none"===r?G:A,o&&(f.datum_params=o.map(parseFloat),0===f.datum_params[0]&&0===f.datum_params[1]&&0===f.datum_params[2]||(f.datum_type=I),3<f.datum_params.length&&(0===f.datum_params[3]&&0===f.datum_params[4]&&0===f.datum_params[5]&&0===f.datum_params[6]||(f.datum_type=O,f.datum_params[3]*=j,f.datum_params[4]*=j,f.datum_params[5]*=j,f.datum_params[6]=f.datum_params[6]/1e6+1))),f.a=l,f.b=M,f.es=c,f.ep2=u,f),ct(this,N),ct(this,i),this.a=h.a,this.b=h.b,this.rf=h.rf,this.sphere=h.sphere,this.es=e.es,this.e=e.e,this.ep2=e.ep2,this.datum=n,this.init(),s(null,this)):s(t)}function M(t,s,i){var a,h,e,n,r=t.x,o=t.y,l=t.z?t.z:0;if(o<-z&&-1.001*z<o)o=-z;else if(z<o&&o<1.001*z)o=z;else{if(o<-z)return{x:-1/0,y:-1/0,z:t.z};if(z<o)return{x:1/0,y:1/0,z:t.z}}return r>Math.PI&&(r-=2*Math.PI),h=Math.sin(o),n=Math.cos(o),e=h*h,{x:((a=i/Math.sqrt(1-s*e))+l)*n*Math.cos(r),y:(a+l)*n*Math.sin(r),z:(a*(1-s)+l)*h}}function c(t,s,i,a){var h,e,n,r,o,l,M,c,u,f,m,p,d,y=t.x,_=t.y,x=t.z?t.z:0,g=Math.sqrt(y*y+_*_),b=Math.sqrt(y*y+_*_+x*x);if(g/i<1e-12){if(p=0,b/i<1e-12)return d=-a,{x:t.x,y:t.y,z:t.z}}else p=Math.atan2(_,y);for(h=x/b,l=(e=g/b)*(1-s)*(n=1/Math.sqrt(1-s*(2-s)*e*e)),M=h*n,m=0;m++,r=s*(o=i/Math.sqrt(1-s*M*M))/(o+(d=g*l+x*M-o*(1-s*M*M))),f=(u=h*(n=1/Math.sqrt(1-r*(2-r)*e*e)))*l-(c=e*(1-r)*n)*M,l=c,M=u,1e-24<f*f&&m<30;);return{x:p,y:Math.atan(u/Math.abs(c)),z:d}}function u(t){return t===I||t===O}function i(t){if("function"==typeof Number.isFinite){if(Number.isFinite(t))return;throw new TypeError("coordinates must be finite numbers")}if("number"!=typeof t||t!=t||!isFinite(t))throw new TypeError("coordinates must be finite numbers")}function f(t,s,i){var a,h,e;if(Array.isArray(i)&&(i=bt(i)),vt(i),t.datum&&s.datum&&(e=s,((h=t).datum.datum_type===I||h.datum.datum_type===O)&&"WGS84"!==e.datumCode||(e.datum.datum_type===I||e.datum.datum_type===O)&&"WGS84"!==h.datumCode)&&(i=f(t,a=new q("WGS84"),i),t=a),"enu"!==t.axis&&(i=gt(t,!1,i)),"longlat"===t.projName)i={x:i.x*N,y:i.y*N,z:i.z||0};else if(t.to_meter&&(i={x:i.x*t.to_meter,y:i.y*t.to_meter,z:i.z||0}),!(i=t.inverse(i)))return;return t.from_greenwich&&(i.x+=t.from_greenwich),i=xt(t.datum,s.datum,i),s.from_greenwich&&(i={x:i.x-s.from_greenwich,y:i.y,z:i.z||0}),"longlat"===s.projName?i={x:i.x*B,y:i.y*B,z:i.z||0}:(i=s.forward(i),s.to_meter&&(i={x:i.x/s.to_meter,y:i.y/s.to_meter,z:i.z||0})),"enu"!==s.axis?gt(s,!0,i):i}function m(s,i,a){var t,h,e;return Array.isArray(a)?(t=f(s,i,a)||{x:NaN,y:NaN},2<a.length?void 0!==s.name&&"geocent"===s.name||void 0!==i.name&&"geocent"===i.name?"number"==typeof t.z?[t.x,t.y,t.z].concat(a.splice(3)):[t.x,t.y,a[2]].concat(a.splice(3)):[t.x,t.y].concat(a.splice(2)):[t.x,t.y]):(h=f(s,i,a),2===(e=Object.keys(a)).length||e.forEach(function(t){if(void 0!==s.name&&"geocent"===s.name||void 0!==i.name&&"geocent"===i.name){if("x"===t||"y"===t||"z"===t)return}else if("x"===t||"y"===t)return;h[t]=a[t]}),h)}function p(t){return t instanceof q?t:t.oProj?t.oProj:q(t)}function a(s,i,t){s=p(s);var a,h=!1;return void 0===i?(i=s,s=wt,h=!0):void 0===i.x&&!Array.isArray(i)||(t=i,i=s,s=wt,h=!0),i=p(i),t?m(s,i,t):(a={forward:function(t){return m(s,i,t)},inverse:function(t){return m(i,s,t)}},h&&(a.oProj=i),a)}function d(t,s){return s=s||5,i=function(t){var s,i,a,h,e,n,r=t.lat,o=t.lon,l=_(r),M=_(o);n=Math.floor((o+180)/6)+1,180===o&&(n=60),56<=r&&r<64&&3<=o&&o<12&&(n=32),72<=r&&r<84&&(0<=o&&o<9?n=31:9<=o&&o<21?n=33:21<=o&&o<33?n=35:33<=o&&o<42&&(n=37)),e=_(6*(n-1)-180+3),s=6378137/Math.sqrt(1-.00669438*Math.sin(l)*Math.sin(l)),i=Math.tan(l)*Math.tan(l),a=.006739496752268451*Math.cos(l)*Math.cos(l);var c=.9996*s*((h=Math.cos(l)*(M-e))+(1-i+a)*h*h*h/6+(5-18*i+i*i+72*a-.39089081163157013)*h*h*h*h*h/120)+5e5,u=.9996*(6378137*(.9983242984503243*l-.002514607064228144*Math.sin(2*l)+2639046602129982e-21*Math.sin(4*l)-3.418046101696858e-9*Math.sin(6*l))+s*Math.tan(l)*(h*h/2+(5-i+9*a+4*a*a)*h*h*h*h/24+(61-58*i+i*i+600*a-2.2240339282485886)*h*h*h*h*h*h/720));return r<0&&(u+=1e7),{northing:Math.round(u),easting:Math.round(c),zoneNumber:n,zoneLetter:function(t){var s="Z";return t<=84&&72<=t?s="X":t<72&&64<=t?s="W":t<64&&56<=t?s="V":t<56&&48<=t?s="U":t<48&&40<=t?s="T":t<40&&32<=t?s="S":t<32&&24<=t?s="R":t<24&&16<=t?s="Q":t<16&&8<=t?s="P":t<8&&0<=t?s="N":t<0&&-8<=t?s="M":t<-8&&-16<=t?s="L":t<-16&&-24<=t?s="K":t<-24&&-32<=t?s="J":t<-32&&-40<=t?s="H":t<-40&&-48<=t?s="G":t<-48&&-56<=t?s="F":t<-56&&-64<=t?s="E":t<-64&&-72<=t?s="D":t<-72&&-80<=t&&(s="C"),s}(r)}}({lat:t[1],lon:t[0]}),a=s,h="00000"+i.easting,e="00000"+i.northing,i.zoneNumber+i.zoneLetter+function(t,s,i){var a=b(i);return function(t,s,i){var a=i-1,h=Pt.charCodeAt(a),e=St.charCodeAt(a),n=h+t-1,r=e+s,o=!1;return It<n&&(n=n-It+Nt-1,o=!0),(n===kt||h<kt&&kt<n||(kt<n||h<kt)&&o)&&n++,(n===Et||h<Et&&Et<n||(Et<n||h<Et)&&o)&&++n===kt&&n++,It<n&&(n=n-It+Nt-1),o=qt<r&&(r=r-qt+Nt-1,!0),(r===kt||e<kt&&kt<r||(kt<r||e<kt)&&o)&&r++,(r===Et||e<Et&&Et<r||(Et<r||e<Et)&&o)&&++r===kt&&r++,qt<r&&(r=r-qt+Nt-1),String.fromCharCode(n)+String.fromCharCode(r)}(Math.floor(t/1e5),Math.floor(s/1e5)%20,a)}(i.easting,i.northing,i.zoneNumber)+h.substr(h.length-5,a)+e.substr(e.length-5,a);var i,a,h,e}function y(t){var s=g(v(t.toUpperCase()));return s.lat&&s.lon?[s.lon,s.lat]:[(s.left+s.right)/2,(s.top+s.bottom)/2]}function _(t){return t*(Math.PI/180)}function x(t){return t/Math.PI*180}function g(t){var s=t.northing,i=t.easting,a=t.zoneLetter,h=t.zoneNumber;if(h<0||60<h)return null;var e,n,r,o,l,M,c,u,f=(1-Math.sqrt(.99330562))/(1+Math.sqrt(.99330562)),m=i-5e5,p=s;a<"N"&&(p-=1e7),M=6*(h-1)-180+3,u=(c=p/.9996/6367449.145945056)+(3*f/2-27*f*f*f/32)*Math.sin(2*c)+(21*f*f/16-55*f*f*f*f/32)*Math.sin(4*c)+151*f*f*f/96*Math.sin(6*c),e=6378137/Math.sqrt(1-.00669438*Math.sin(u)*Math.sin(u)),n=Math.tan(u)*Math.tan(u),r=.006739496752268451*Math.cos(u)*Math.cos(u),o=6335439.32722994/Math.pow(1-.00669438*Math.sin(u)*Math.sin(u),1.5),l=m/(.9996*e);var d,y=x(y=u-e*Math.tan(u)/o*(l*l/2-(5+3*n+10*r-4*r*r-.06065547077041606)*l*l*l*l/24+(61+90*n+298*r+45*n*n-1.6983531815716497-3*r*r)*l*l*l*l*l*l/720)),_=M+x(_=(l-(1+2*n+r)*l*l*l/6+(5-2*r+28*n-3*r*r+.05391597401814761+24*n*n)*l*l*l*l*l/120)/Math.cos(u));return t.accuracy?{top:(d=g({northing:t.northing+t.accuracy,easting:t.easting+t.accuracy,zoneLetter:t.zoneLetter,zoneNumber:t.zoneNumber})).lat,right:d.lon,bottom:y,left:_}:{lat:y,lon:_}}function b(t){var s=t%Ct;return 0===s&&(s=Ct),s}function v(t){if(t&&0===t.length)throw"MGRSPoint coverting from nothing";for(var s,i=t.length,a=null,h="",e=0;!/[A-Z]/.test(s=t.charAt(e));){if(2<=e)throw"MGRSPoint bad conversion from: "+t;h+=s,e++}var n=parseInt(h,10);if(0===e||i<e+3)throw"MGRSPoint bad conversion from: "+t;var r=t.charAt(e++);if(r<="A"||"B"===r||"Y"===r||"Z"<=r||"I"===r||"O"===r)throw"MGRSPoint zone letter "+r+" not handled: "+t;a=t.substring(e,e+=2);for(var o=b(n),l=function(t,s){for(var i=Pt.charCodeAt(s-1),a=1e5,h=!1;i!==t.charCodeAt(0);){if(++i===kt&&i++,i===Et&&i++,It<i){if(h)throw"Bad character: "+t;i=Nt,h=!0}a+=1e5}return a}(a.charAt(0),o),M=function(t,s){if("V"<t)throw"MGRSPoint given invalid Northing "+t;for(var i=St.charCodeAt(s-1),a=0,h=!1;i!==t.charCodeAt(0);){if(++i===kt&&i++,i===Et&&i++,qt<i){if(h)throw"Bad character: "+t;i=Nt,h=!0}a+=1e5}return a}(a.charAt(1),o);M<w(r);)M+=2e6;var c=i-e;if(c%2!=0)throw"MGRSPoint has to have an even number \nof digits after the zone letter and two 100km letters - front \nhalf for easting meters, second half for \nnorthing meters"+t;var u,f,m,p=c/2,d=0,y=0;return 0<p&&(u=1e5/Math.pow(10,p),f=t.substring(e,e+p),d=parseFloat(f)*u,m=t.substring(e+p),y=parseFloat(m)*u),{easting:d+l,northing:y+M,zoneLetter:r,zoneNumber:n,accuracy:u}}function w(t){var s;switch(t){case"C":s=11e5;break;case"D":s=2e6;break;case"E":s=28e5;break;case"F":s=37e5;break;case"G":s=46e5;break;case"H":s=55e5;break;case"J":s=64e5;break;case"K":s=73e5;break;case"L":s=82e5;break;case"M":s=91e5;break;case"N":s=0;break;case"P":s=8e5;break;case"Q":s=17e5;break;case"R":s=26e5;break;case"S":s=35e5;break;case"T":s=44e5;break;case"U":s=53e5;break;case"V":s=62e5;break;case"W":s=7e6;break;case"X":s=79e5;break;default:s=-1}if(0<=s)return s;throw"Invalid zone letter: "+t}function C(t,s,i){if(!(this instanceof C))return new C(t,s,i);var a;Array.isArray(t)?(this.x=t[0],this.y=t[1],this.z=t[2]||0):"object"==typeof t?(this.x=t.x,this.y=t.y,this.z=t.z||0):"string"==typeof t&&void 0===s?(a=t.split(","),this.x=parseFloat(a[0],10),this.y=parseFloat(a[1],10),this.z=parseFloat(a[2],10)||0):(this.x=t,this.y=s,this.z=i||0),console.warn("proj4.Point will be removed in version 3, use proj4.toPoint")}function P(t,s,i,a){var h;return t<D?(a.value=Os,h=0):(h=Math.atan2(s,i),Math.abs(h)<=U?a.value=Os:U<h&&h<=z+U?(a.value=As,h-=z):z+U<h||h<=-(z+U)?(a.value=Gs,h=0<=h?h-Q:h+Q):(a.value=js,h+=z)),h}function S(t,s){var i=t+s;return i<-Q?i+=F:+Q<i&&(i-=F),i}var I=1,O=2,A=4,G=5,j=484813681109536e-20,z=Math.PI/2,R=.16666666666666666,L=.04722222222222222,T=.022156084656084655,D=1e-10,N=.017453292519943295,B=57.29577951308232,U=Math.PI/4,F=2*Math.PI,Q=3.14159265359,W={greenwich:0,lisbon:-9.131906111111,paris:2.337229166667,bogota:-74.080916666667,madrid:-3.687938888889,rome:12.452333333333,bern:7.439583333333,jakarta:106.807719444444,ferro:-17.666666666667,brussels:4.367975,stockholm:18.058277777778,athens:23.7163375,oslo:10.722916666667},X={ft:{to_meter:.3048},"us-ft":{to_meter:1200/3937}},H=/[\s_\-\/\(\)]/g,J=function(t){var s,i,a,h={},e=t.split("+").map(function(t){return t.trim()}).filter(function(t){return t}).reduce(function(t,s){var i=s.split("=");return i.push(!0),t[i[0].toLowerCase()]=i[1],t},{}),n={proj:"projName",datum:"datumCode",rf:function(t){h.rf=parseFloat(t)},lat_0:function(t){h.lat0=t*N},lat_1:function(t){h.lat1=t*N},lat_2:function(t){h.lat2=t*N},lat_ts:function(t){h.lat_ts=t*N},lon_0:function(t){h.long0=t*N},lon_1:function(t){h.long1=t*N},lon_2:function(t){h.long2=t*N},alpha:function(t){h.alpha=parseFloat(t)*N},lonc:function(t){h.longc=t*N},x_0:function(t){h.x0=parseFloat(t)},y_0:function(t){h.y0=parseFloat(t)},k_0:function(t){h.k0=parseFloat(t)},k:function(t){h.k0=parseFloat(t)},a:function(t){h.a=parseFloat(t)},b:function(t){h.b=parseFloat(t)},r_a:function(){h.R_A=!0},zone:function(t){h.zone=parseInt(t,10)},south:function(){h.utmSouth=!0},towgs84:function(t){h.datum_params=t.split(",").map(function(t){return parseFloat(t)})},to_meter:function(t){h.to_meter=parseFloat(t)},units:function(t){h.units=t;var s=k(X,t);s&&(h.to_meter=s.to_meter)},from_greenwich:function(t){h.from_greenwich=t*N},pm:function(t){var s=k(W,t);h.from_greenwich=(s||parseFloat(t))*N},nadgrids:function(t){"@null"===t?h.datumCode="none":h.nadgrids=t},axis:function(t){3===t.length&&-1!=="ewnsud".indexOf(t.substr(0,1))&&-1!=="ewnsud".indexOf(t.substr(1,1))&&-1!=="ewnsud".indexOf(t.substr(2,1))&&(h.axis=t)}};for(s in e)i=e[s],s in n?"function"==typeof(a=n[s])?a(i):h[a]=i:h[s]=i;return"string"==typeof h.datumCode&&"WGS84"!==h.datumCode&&(h.datumCode=h.datumCode.toLowerCase()),h},K=1,V=/\s/,Z=/[A-Za-z]/,Y=/[A-Za-z84]/,$=/[,\]]/,tt=/[\d\.E\-\+]/;e.prototype.readCharicter=function(){var t=this.text[this.place++];if(4!==this.state)for(;V.test(t);){if(this.place>=this.text.length)return;t=this.text[this.place++]}switch(this.state){case K:return this.neutral(t);case 2:return this.keyword(t);case 4:return this.quoted(t);case 5:return this.afterquote(t);case 3:return this.number(t);case-1:return}},e.prototype.afterquote=function(t){if('"'===t)return this.word+='"',void(this.state=4);if($.test(t))return this.word=this.word.trim(),void this.afterItem(t);throw new Error("havn't handled \""+t+'" in afterquote yet, index '+this.place)},e.prototype.afterItem=function(t){return","===t?(null!==this.word&&this.currentObject.push(this.word),this.word=null,void(this.state=K)):"]"===t?(this.level--,null!==this.word&&(this.currentObject.push(this.word),this.word=null),this.state=K,this.currentObject=this.stack.pop(),void(this.currentObject||(this.state=-1))):void 0},e.prototype.number=function(t){if(!tt.test(t)){if($.test(t))return this.word=parseFloat(this.word),void this.afterItem(t);throw new Error("havn't handled \""+t+'" in number yet, index '+this.place)}this.word+=t},e.prototype.quoted=function(t){'"'!==t?this.word+=t:this.state=5},e.prototype.keyword=function(t){if(Y.test(t))this.word+=t;else{if("["===t){var s=[];return s.push(this.word),this.level++,null===this.root?this.root=s:this.currentObject.push(s),this.stack.push(this.currentObject),this.currentObject=s,void(this.state=K)}if(!$.test(t))throw new Error("havn't handled \""+t+'" in keyword yet, index '+this.place);this.afterItem(t)}},e.prototype.neutral=function(t){if(Z.test(t))return this.word=t,void(this.state=2);if('"'===t)return this.word="",void(this.state=4);if(tt.test(t))return this.word=t,void(this.state=3);if(!$.test(t))throw new Error("havn't handled \""+t+'" in neutral yet, index '+this.place);this.afterItem(t)},e.prototype.output=function(){for(;this.place<this.text.length;)this.readCharicter();if(-1===this.state)return this.root;throw new Error('unable to parse string "'+this.text+'". State is '+this.state)};var st,it=.017453292519943295,at=function(t){var s=new e(t).output(),i=s.shift(),a=s.shift();s.unshift(["name",a]),s.unshift(["type",i]);var h={};return n(s,h),o(h),h};(st=l)("EPSG:4326","+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees"),st("EPSG:4269","+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees"),st("EPSG:3857","+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs"),st.WGS84=st["EPSG:4326"],st["EPSG:3785"]=st["EPSG:3857"],st.GOOGLE=st["EPSG:3857"],st["EPSG:900913"]=st["EPSG:3857"],st["EPSG:102113"]=st["EPSG:3857"];function ht(t,s,i){var a=t*s;return i/Math.sqrt(1-a*a)}function et(t){return t<0?-1:1}function nt(t){return Math.abs(t)<=Q?t:t-et(t)*F}function rt(t,s,i){var a=t*i,h=.5*t,a=Math.pow((1-a)/(1+a),h);return Math.tan(.5*(z-s))/a}function ot(t,s){for(var i,a,h=.5*t,e=z-2*Math.atan(s),n=0;n<=15;n++)if(i=t*Math.sin(e),e+=a=z-2*Math.atan(s*Math.pow((1-i)/(1+i),h))-e,Math.abs(a)<=1e-10)return e;return-9999}var lt=["PROJECTEDCRS","PROJCRS","GEOGCS","GEOCCS","PROJCS","LOCAL_CS","GEODCRS","GEODETICCRS","GEODETICDATUM","ENGCRS","ENGINEERINGCRS"],Mt=["3857","900913","3785","102113"],ct=function(t,s){var i,a;if(t=t||{},!s)return t;for(a in s)void 0!==(i=s[a])&&(t[a]=i);return t},ut=[{init:function(){var t=this.b/this.a;this.es=1-t*t,"x0"in this||(this.x0=0),"y0"in this||(this.y0=0),this.e=Math.sqrt(this.es),this.lat_ts?this.sphere?this.k0=Math.cos(this.lat_ts):this.k0=ht(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)):this.k0||(this.k?this.k0=this.k:this.k0=1)},forward:function(t){var s,i,a,h,e=t.x,n=t.y;return 90<n*B&&n*B<-90&&180<e*B&&e*B<-180||Math.abs(Math.abs(n)-z)<=D?null:(h=this.sphere?(a=this.x0+this.a*this.k0*nt(e-this.long0),this.y0+this.a*this.k0*Math.log(Math.tan(U+.5*n))):(s=Math.sin(n),i=rt(this.e,n,s),a=this.x0+this.a*this.k0*nt(e-this.long0),this.y0-this.a*this.k0*Math.log(i)),t.x=a,t.y=h,t)},inverse:function(t){var s,i,a=t.x-this.x0,h=t.y-this.y0;if(this.sphere)i=z-2*Math.atan(Math.exp(-h/(this.a*this.k0)));else{var e=Math.exp(-h/(this.a*this.k0));if(-9999===(i=ot(this.e,e)))return null}return s=nt(this.long0+a/(this.a*this.k0)),t.x=s,t.y=i,t},names:["Mercator","Popular Visualisation Pseudo Mercator","Mercator_1SP","Mercator_Auxiliary_Sphere","merc"]},{init:function(){},forward:t,inverse:t,names:["longlat","identity"]}],ft={},mt=[],pt={start:function(){ut.forEach(s)},add:s,get:function(t){if(!t)return!1;var s=t.toLowerCase();return void 0!==ft[s]&&mt[ft[s]]?mt[ft[s]]:void 0}},dt={MERIT:{a:6378137,rf:298.257,ellipseName:"MERIT 1983"},SGS85:{a:6378136,rf:298.257,ellipseName:"Soviet Geodetic System 85"},GRS80:{a:6378137,rf:298.257222101,ellipseName:"GRS 1980(IUGG, 1980)"},IAU76:{a:6378140,rf:298.257,ellipseName:"IAU 1976"},airy:{a:6377563.396,b:6356256.91,ellipseName:"Airy 1830"},APL4:{a:6378137,rf:298.25,ellipseName:"Appl. Physics. 1965"},NWL9D:{a:6378145,rf:298.25,ellipseName:"Naval Weapons Lab., 1965"},mod_airy:{a:6377340.189,b:6356034.446,ellipseName:"Modified Airy"},andrae:{a:6377104.43,rf:300,ellipseName:"Andrae 1876 (Den., Iclnd.)"},aust_SA:{a:6378160,rf:298.25,ellipseName:"Australian Natl & S. Amer. 1969"},GRS67:{a:6378160,rf:298.247167427,ellipseName:"GRS 67(IUGG 1967)"},bessel:{a:6377397.155,rf:299.1528128,ellipseName:"Bessel 1841"},bess_nam:{a:6377483.865,rf:299.1528128,ellipseName:"Bessel 1841 (Namibia)"},clrk66:{a:6378206.4,b:6356583.8,ellipseName:"Clarke 1866"},clrk80:{a:6378249.145,rf:293.4663,ellipseName:"Clarke 1880 mod."},clrk58:{a:6378293.645208759,rf:294.2606763692654,ellipseName:"Clarke 1858"},CPM:{a:6375738.7,rf:334.29,ellipseName:"Comm. des Poids et Mesures 1799"},delmbr:{a:6376428,rf:311.5,ellipseName:"Delambre 1810 (Belgium)"},engelis:{a:6378136.05,rf:298.2566,ellipseName:"Engelis 1985"},evrst30:{a:6377276.345,rf:300.8017,ellipseName:"Everest 1830"},evrst48:{a:6377304.063,rf:300.8017,ellipseName:"Everest 1948"},evrst56:{a:6377301.243,rf:300.8017,ellipseName:"Everest 1956"},evrst69:{a:6377295.664,rf:300.8017,ellipseName:"Everest 1969"},evrstSS:{a:6377298.556,rf:300.8017,ellipseName:"Everest (Sabah & Sarawak)"},fschr60:{a:6378166,rf:298.3,ellipseName:"Fischer (Mercury Datum) 1960"},fschr60m:{a:6378155,rf:298.3,ellipseName:"Fischer 1960"},fschr68:{a:6378150,rf:298.3,ellipseName:"Fischer 1968"},helmert:{a:6378200,rf:298.3,ellipseName:"Helmert 1906"},hough:{a:6378270,rf:297,ellipseName:"Hough"},intl:{a:6378388,rf:297,ellipseName:"International 1909 (Hayford)"},kaula:{a:6378163,rf:298.24,ellipseName:"Kaula 1961"},lerch:{a:6378139,rf:298.257,ellipseName:"Lerch 1979"},mprts:{a:6397300,rf:191,ellipseName:"Maupertius 1738"},new_intl:{a:6378157.5,b:6356772.2,ellipseName:"New International 1967"},plessis:{a:6376523,rf:6355863,ellipseName:"Plessis 1817 (France)"},krass:{a:6378245,rf:298.3,ellipseName:"Krassovsky, 1942"},SEasia:{a:6378155,b:6356773.3205,ellipseName:"Southeast Asia"},walbeck:{a:6376896,b:6355834.8467,ellipseName:"Walbeck"},WGS60:{a:6378165,rf:298.3,ellipseName:"WGS 60"},WGS66:{a:6378145,rf:298.25,ellipseName:"WGS 66"},WGS7:{a:6378135,rf:298.26,ellipseName:"WGS 72"}},yt=dt.WGS84={a:6378137,rf:298.257223563,ellipseName:"WGS 84"};dt.sphere={a:6370997,b:6370997,ellipseName:"Normal Sphere (r=6370997)"};var _t={wgs84:{towgs84:"0,0,0",ellipse:"WGS84",datumName:"WGS84"},ch1903:{towgs84:"674.374,15.056,405.346",ellipse:"bessel",datumName:"swiss"},ggrs87:{towgs84:"-199.87,74.79,246.62",ellipse:"GRS80",datumName:"Greek_Geodetic_Reference_System_1987"},nad83:{towgs84:"0,0,0",ellipse:"GRS80",datumName:"North_American_Datum_1983"},nad27:{nadgrids:"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat",ellipse:"clrk66",datumName:"North_American_Datum_1927"},potsdam:{towgs84:"606.0,23.0,413.0",ellipse:"bessel",datumName:"Potsdam Rauenberg 1950 DHDN"},carthage:{towgs84:"-263.0,6.0,431.0",ellipse:"clark80",datumName:"Carthage 1934 Tunisia"},hermannskogel:{towgs84:"653.0,-212.0,449.0",ellipse:"bessel",datumName:"Hermannskogel"},osni52:{towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"airy",datumName:"Irish National"},ire65:{towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"mod_airy",datumName:"Ireland 1965"},rassadiran:{towgs84:"-133.63,-157.5,-158.62",ellipse:"intl",datumName:"Rassadiran"},nzgd49:{towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993",ellipse:"intl",datumName:"New Zealand Geodetic Datum 1949"},osgb36:{towgs84:"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894",ellipse:"airy",datumName:"Airy 1830"},s_jtsk:{towgs84:"589,76,480",ellipse:"bessel",datumName:"S-JTSK (Ferro)"},beduaram:{towgs84:"-106,-87,188",ellipse:"clrk80",datumName:"Beduaram"},gunung_segara:{towgs84:"-403,684,41",ellipse:"bessel",datumName:"Gunung Segara Jakarta"},rnb72:{towgs84:"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1",ellipse:"intl",datumName:"Reseau National Belge 1972"}};q.projections=pt,q.projections.start();var xt=function(t,s,i){return h=s,((a=t).datum_type!==h.datum_type||a.a!==h.a||5e-11<Math.abs(a.es-h.es)||(a.datum_type===I?a.datum_params[0]!==h.datum_params[0]||a.datum_params[1]!==h.datum_params[1]||a.datum_params[2]!==h.datum_params[2]:a.datum_type===O&&(a.datum_params[0]!==h.datum_params[0]||a.datum_params[1]!==h.datum_params[1]||a.datum_params[2]!==h.datum_params[2]||a.datum_params[3]!==h.datum_params[3]||a.datum_params[4]!==h.datum_params[4]||a.datum_params[5]!==h.datum_params[5]||a.datum_params[6]!==h.datum_params[6])))&&t.datum_type!==G&&s.datum_type!==G&&(t.es!==s.es||t.a!==s.a||u(t.datum_type)||u(s.datum_type))?(i=M(i,t.es,t.a),u(t.datum_type)&&(i=function(t,s,i){if(s===I)return{x:t.x+i[0],y:t.y+i[1],z:t.z+i[2]};if(s===O){var a=i[0],h=i[1],e=i[2],n=i[3],r=i[4],o=i[5],l=i[6];return{x:l*(t.x-o*t.y+r*t.z)+a,y:l*(o*t.x+t.y-n*t.z)+h,z:l*(-r*t.x+n*t.y+t.z)+e}}}(i,t.datum_type,t.datum_params)),u(s.datum_type)&&(i=function(t,s,i){if(s===I)return{x:t.x-i[0],y:t.y-i[1],z:t.z-i[2]};if(s===O){var a=i[0],h=i[1],e=i[2],n=i[3],r=i[4],o=i[5],l=i[6],M=(t.x-a)/l,c=(t.y-h)/l,u=(t.z-e)/l;return{x:M+o*c-r*u,y:-o*M+c+n*u,z:r*M-n*c+u}}}(i,s.datum_type,s.datum_params)),c(i,s.es,s.a,s.b)):i;var a,h},gt=function(t,s,i){for(var a,h,e=i.x,n=i.y,r=i.z||0,o={},l=0;l<3;l++)if(!s||2!==l||void 0!==i.z)switch(h=0===l?(a=e,-1!=="ew".indexOf(t.axis[l])?"x":"y"):1===l?(a=n,-1!=="ns".indexOf(t.axis[l])?"y":"x"):(a=r,"z"),t.axis[l]){case"e":case"w":case"n":case"s":o[h]=a;break;case"u":void 0!==i[h]&&(o.z=a);break;case"d":void 0!==i[h]&&(o.z=-a);break;default:return null}return o},bt=function(t){var s={x:t[0],y:t[1]};return 2<t.length&&(s.z=t[2]),3<t.length&&(s.m=t[3]),s},vt=function(t){i(t.x),i(t.y)},wt=q("WGS84"),Ct=6,Pt="AJSAJS",St="AFAFAF",Nt=65,kt=73,Et=79,qt=86,It=90,Ot={forward:d,inverse:function(t){var s=g(v(t.toUpperCase()));return s.lat&&s.lon?[s.lon,s.lat,s.lon,s.lat]:[s.left,s.bottom,s.right,s.top]},toPoint:y};C.fromMGRS=function(t){return new C(y(t))},C.prototype.toMGRS=function(t){return d([this.x,this.y],t)};function At(t){var s=[];s[0]=1-t*(.25+t*(.046875+t*(.01953125+t*ts))),s[1]=t*(.75-t*(.046875+t*(.01953125+t*ts)));var i=t*t;return s[2]=i*(.46875-t*(.013020833333333334+.007120768229166667*t)),i*=t,s[3]=i*(.3645833333333333-.005696614583333333*t),s[4]=i*t*.3076171875,s}function Gt(t,s,i,a){return i*=s,s*=s,a[0]*t-i*(a[1]+s*(a[2]+s*(a[3]+s*a[4])))}function jt(t,s,i){for(var a=1/(1-s),h=t,e=20;e;--e){var n=Math.sin(h),r=1-s*n*n;if(h-=r=(Gt(h,n,Math.cos(h),i)-t)*(r*Math.sqrt(r))*a,Math.abs(r)<D)return h}return h}function zt(t){var s=Math.exp(t);return(s-1/s)/2}function Rt(t,s){t=Math.abs(t),s=Math.abs(s);var i=Math.max(t,s),a=Math.min(t,s)/(i||1);return i*Math.sqrt(1+Math.pow(a,2))}function Lt(t){var s,i,a,h=Math.abs(t);return s=h*(1+h/(Rt(1,h)+1)),h=0==(a=(i=1+s)-1)?s:s*Math.log(i)/a,t<0?-h:h}function Tt(t,s){for(var i,a=2*Math.cos(2*s),h=t.length-1,e=t[h],n=0;0<=--h;)i=a*e-n+t[h],n=e,e=i;return s+i*Math.sin(2*s)}function Dt(t,s,i){for(var a,h,e,n,r=Math.sin(s),o=Math.cos(s),l=zt(i),M=(e=i,((n=Math.exp(e))+1/n)/2),c=2*o*M,u=-2*r*l,f=t.length-1,m=t[f],p=0,d=0,y=0;0<=--f;)a=d,h=p,m=c*(d=m)-a-u*(p=y)+t[f],y=u*d-h+c*p;return[(c=r*M)*m-(u=o*l)*y,c*y+u*m]}function Bt(t,s){return Math.pow((1-t)/(1+t),s)}function Ut(t,s,i,a,h){return t*h-s*Math.sin(2*h)+i*Math.sin(4*h)-a*Math.sin(6*h)}function Ft(t){return 1-.25*t*(1+t/16*(3+1.25*t))}function Qt(t){return.375*t*(1+.25*t*(1+.46875*t))}function Wt(t){return.05859375*t*t*(1+.75*t)}function Xt(t){return t*t*t*(35/3072)}function Ht(t,s,i){var a=s*i;return t/Math.sqrt(1-a*a)}function Jt(t){return Math.abs(t)<z?t:t-et(t)*Math.PI}function Kt(t,s,i,a,h){for(var e,n=t/s,r=0;r<15;r++)if(n+=e=(t-(s*n-i*Math.sin(2*n)+a*Math.sin(4*n)-h*Math.sin(6*n)))/(s-2*i*Math.cos(2*n)+4*a*Math.cos(4*n)-6*h*Math.cos(6*n)),Math.abs(e)<=1e-10)return n;return NaN}function Vt(t,s){var i;return 1e-7<t?(1-t*t)*(s/(1-(i=t*s)*i)-.5/t*Math.log((1-i)/(1+i))):2*s}function Zt(t){return 1<Math.abs(t)&&(t=1<t?1:-1),Math.asin(t)}function Yt(t,s){return t[0]+s*(t[1]+s*(t[2]+s*t[3]))}var $t,ts=.01068115234375,ss={init:function(){this.x0=void 0!==this.x0?this.x0:0,this.y0=void 0!==this.y0?this.y0:0,this.long0=void 0!==this.long0?this.long0:0,this.lat0=void 0!==this.lat0?this.lat0:0,this.es&&(this.en=At(this.es),this.ml0=Gt(this.lat0,Math.sin(this.lat0),Math.cos(this.lat0),this.en))},forward:function(t){var s=t.x,i=t.y,a=nt(s-this.long0),h=Math.sin(i),e=Math.cos(i);if(this.es){var n=e*a,r=Math.pow(n,2),o=this.ep2*Math.pow(e,2),l=Math.pow(o,2),M=Math.abs(e)>D?Math.tan(i):0,c=Math.pow(M,2),u=Math.pow(c,2),f=1-this.es*Math.pow(h,2);n/=Math.sqrt(f);var m=Gt(i,h,e,this.en),p=this.a*(this.k0*n*(1+r/6*(1-c+o+r/20*(5-18*c+u+14*o-58*c*o+r/42*(61+179*u-u*c-479*c)))))+this.x0,d=this.a*(this.k0*(m-this.ml0+h*a*n/2*(1+r/12*(5-c+9*o+4*l+r/30*(61+u-58*c+270*o-330*c*o+r/56*(1385+543*u-u*c-3111*c))))))+this.y0}else{var y=e*Math.sin(a);if(Math.abs(Math.abs(y)-1)<D)return 93;if(p=.5*this.a*this.k0*Math.log((1+y)/(1-y))+this.x0,d=e*Math.cos(a)/Math.sqrt(1-Math.pow(y,2)),1<=(y=Math.abs(d))){if(D<y-1)return 93;d=0}else d=Math.acos(d);i<0&&(d=-d),d=this.a*this.k0*(d-this.lat0)+this.y0}return t.x=p,t.y=d,t},inverse:function(t){var s,i,a,h,e,n,r,o,l,M,c,u,f,m,p,d,y,_=(t.x-this.x0)*(1/this.a),x=(t.y-this.y0)*(1/this.a);return f=this.es?(l=this.ml0+x/this.k0,s=jt(l,this.es,this.en),Math.abs(s)<z?(i=Math.sin(s),a=Math.cos(s),h=Math.abs(a)>D?Math.tan(s):0,e=this.ep2*Math.pow(a,2),n=Math.pow(e,2),r=Math.pow(h,2),o=Math.pow(r,2),l=1-this.es*Math.pow(i,2),M=_*Math.sqrt(l)/this.k0,u=s-(l*=h)*(c=Math.pow(M,2))/(1-this.es)*.5*(1-c/12*(5+3*r-9*e*r+e-4*n-c/30*(61+90*r-252*e*r+45*o+46*e-c/56*(1385+3633*r+4095*o+1574*o*r)))),nt(this.long0+M*(1-c/6*(1+2*r+e-c/20*(5+28*r+24*o+8*e*r+6*e-c/42*(61+662*r+1320*o+720*o*r))))/a)):(u=z*et(x),0)):(p=.5*((m=Math.exp(_/this.k0))-1/m),d=this.lat0+x/this.k0,y=Math.cos(d),l=Math.sqrt((1-Math.pow(y,2))/(1+Math.pow(p,2))),u=Math.asin(l),x<0&&(u=-u),0==p&&0===y?0:nt(Math.atan2(p,y)+this.long0)),t.x=f,t.y=u,t},names:["Transverse_Mercator","Transverse Mercator","tmerc"]},is={init:function(){if(void 0===this.es||this.es<=0)throw new Error("incorrect elliptical usage");this.x0=void 0!==this.x0?this.x0:0,this.y0=void 0!==this.y0?this.y0:0,this.long0=void 0!==this.long0?this.long0:0,this.lat0=void 0!==this.lat0?this.lat0:0,this.cgb=[],this.cbg=[],this.utg=[],this.gtu=[];var t=this.es/(1+Math.sqrt(1-this.es)),s=t/(2-t),i=s;this.cgb[0]=s*(2+s*(-2/3+s*(s*(116/45+s*(26/45+-2854/675*s))-2))),this.cbg[0]=s*(s*(2/3+s*(4/3+s*(-82/45+s*(32/45+4642/4725*s))))-2),i*=s,this.cgb[1]=i*(7/3+s*(s*(-227/45+s*(2704/315+2323/945*s))-1.6)),this.cbg[1]=i*(5/3+s*(-16/15+s*(-13/9+s*(904/315+-1522/945*s)))),i*=s,this.cgb[2]=i*(56/15+s*(-136/35+s*(-1262/105+73814/2835*s))),this.cbg[2]=i*(-26/15+s*(34/21+s*(1.6+-12686/2835*s))),i*=s,this.cgb[3]=i*(4279/630+s*(-332/35+-399572/14175*s)),this.cbg[3]=i*(1237/630+s*(-24832/14175*s-2.4)),i*=s,this.cgb[4]=i*(4174/315+-144838/6237*s),this.cbg[4]=i*(-734/315+109598/31185*s),i*=s,this.cgb[5]=i*(601676/22275),this.cbg[5]=i*(444337/155925),i=Math.pow(s,2),this.Qn=this.k0/(1+s)*(1+i*(.25+i*(1/64+i/256))),this.utg[0]=s*(s*(2/3+s*(-37/96+s*(1/360+s*(81/512+-96199/604800*s))))-.5),this.gtu[0]=s*(.5+s*(-2/3+s*(5/16+s*(41/180+s*(-127/288+7891/37800*s))))),this.utg[1]=i*(-1/48+s*(-1/15+s*(437/1440+s*(-46/105+1118711/3870720*s)))),this.gtu[1]=i*(13/48+s*(s*(557/1440+s*(281/630+-1983433/1935360*s))-.6)),i*=s,this.utg[2]=i*(-17/480+s*(37/840+s*(209/4480+-5569/90720*s))),this.gtu[2]=i*(61/240+s*(-103/140+s*(15061/26880+167603/181440*s))),i*=s,this.utg[3]=i*(-4397/161280+s*(11/504+830251/7257600*s)),this.gtu[3]=i*(49561/161280+s*(-179/168+6601661/7257600*s)),i*=s,this.utg[4]=i*(-4583/161280+108847/3991680*s),this.gtu[4]=i*(34729/80640+-3418889/1995840*s),i*=s,this.utg[5]=-.03233083094085698*i,this.gtu[5]=.6650675310896665*i;var a=Tt(this.cbg,this.lat0);this.Zb=-this.Qn*(a+function(t,s){for(var i,a=2*Math.cos(s),h=t.length-1,e=t[h],n=0;0<=--h;)i=a*e-n+t[h],n=e,e=i;return Math.sin(s)*i}(this.gtu,2*a))},forward:function(t){var s=nt(t.x-this.long0),i=t.y,i=Tt(this.cbg,i),a=Math.sin(i),h=Math.cos(i),e=Math.sin(s),n=Math.cos(s);i=Math.atan2(a,n*h),s=Math.atan2(e*h,Rt(a,h*n)),s=Lt(Math.tan(s));var r,o,l=Dt(this.gtu,2*i,2*s);return i+=l[0],s+=l[1],o=Math.abs(s)<=2.623395162778?(r=this.a*(this.Qn*s)+this.x0,this.a*(this.Qn*i+this.Zb)+this.y0):r=1/0,t.x=r,t.y=o,t},inverse:function(t){var s,i,a,h,e,n,r,o=(t.x-this.x0)*(1/this.a),l=(t.y-this.y0)*(1/this.a);return l=(l-this.Zb)/this.Qn,o/=this.Qn,r=Math.abs(o)<=2.623395162778?(l+=(s=Dt(this.utg,2*l,2*o))[0],o+=s[1],o=Math.atan(zt(o)),i=Math.sin(l),a=Math.cos(l),h=Math.sin(o),e=Math.cos(o),l=Math.atan2(i*e,Rt(h,e*a)),o=Math.atan2(h,e*a),n=nt(o+this.long0),Tt(this.cgb,l)):n=1/0,t.x=n,t.y=r,t},names:["Extended_Transverse_Mercator","Extended Transverse Mercator","etmerc"]},as={init:function(){var t=function(t,s){if(void 0===t){if((t=Math.floor(30*(nt(s)+Math.PI)/Math.PI)+1)<0)return 0;if(60<t)return 60}return t}(this.zone,this.long0);if(void 0===t)throw new Error("unknown utm zone");this.lat0=0,this.long0=(6*Math.abs(t)-183)*N,this.x0=5e5,this.y0=this.utmSouth?1e7:0,this.k0=.9996,is.init.apply(this),this.forward=is.forward,this.inverse=is.inverse},names:["Universal Transverse Mercator System","utm"],dependsOn:"etmerc"},hs={init:function(){var t=Math.sin(this.lat0),s=Math.cos(this.lat0);s*=s,this.rc=Math.sqrt(1-this.es)/(1-this.es*t*t),this.C=Math.sqrt(1+this.es*s*s/(1-this.es)),this.phic0=Math.asin(t/this.C),this.ratexp=.5*this.C*this.e,this.K=Math.tan(.5*this.phic0+U)/(Math.pow(Math.tan(.5*this.lat0+U),this.C)*Bt(this.e*t,this.ratexp))},forward:function(t){var s=t.x,i=t.y;return t.y=2*Math.atan(this.K*Math.pow(Math.tan(.5*i+U),this.C)*Bt(this.e*Math.sin(i),this.ratexp))-z,t.x=this.C*s,t},inverse:function(t){for(var s=t.x/this.C,i=t.y,a=Math.pow(Math.tan(.5*i+U)/this.K,1/this.C),h=20;0<h&&(i=2*Math.atan(a*Bt(this.e*Math.sin(t.y),-.5*this.e))-z,!(Math.abs(i-t.y)<1e-14));--h)t.y=i;return h?(t.x=s,t.y=i,t):null},names:["gauss"]},es={init:function(){hs.init.apply(this),this.rc&&(this.sinc0=Math.sin(this.phic0),this.cosc0=Math.cos(this.phic0),this.R2=2*this.rc,this.title||(this.title="Oblique Stereographic Alternative"))},forward:function(t){var s,i,a,h;return t.x=nt(t.x-this.long0),hs.forward.apply(this,[t]),s=Math.sin(t.y),i=Math.cos(t.y),a=Math.cos(t.x),h=this.k0*this.R2/(1+this.sinc0*s+this.cosc0*i*a),t.x=h*i*Math.sin(t.x),t.y=h*(this.cosc0*s-this.sinc0*i*a),t.x=this.a*t.x+this.x0,t.y=this.a*t.y+this.y0,t},inverse:function(t){var s,i,a,h,e,n;return t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,t.x/=this.k0,t.y/=this.k0,n=(s=Math.sqrt(t.x*t.x+t.y*t.y))?(i=2*Math.atan2(s,this.R2),a=Math.sin(i),h=Math.cos(i),e=Math.asin(h*this.sinc0+t.y*a*this.cosc0/s),Math.atan2(t.x*a,s*this.cosc0*h-t.y*this.sinc0*a)):(e=this.phic0,0),t.x=n,t.y=e,hs.inverse.apply(this,[t]),t.x=nt(t.x+this.long0),t},names:["Stereographic_North_Pole","Oblique_Stereographic","Polar_Stereographic","sterea","Oblique Stereographic Alternative","Double_Stereographic"]},ns={init:function(){this.coslat0=Math.cos(this.lat0),this.sinlat0=Math.sin(this.lat0),this.sphere?1===this.k0&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=D&&(this.k0=.5*(1+et(this.lat0)*Math.sin(this.lat_ts))):(Math.abs(this.coslat0)<=D&&(0<this.lat0?this.con=1:this.con=-1),this.cons=Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e)),1===this.k0&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=D&&(this.k0=.5*this.cons*ht(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))/rt(this.e,this.con*this.lat_ts,this.con*Math.sin(this.lat_ts))),this.ms1=ht(this.e,this.sinlat0,this.coslat0),this.X0=2*Math.atan(this.ssfn_(this.lat0,this.sinlat0,this.e))-z,this.cosX0=Math.cos(this.X0),this.sinX0=Math.sin(this.X0))},forward:function(t){var s,i,a,h,e,n,r=t.x,o=t.y,l=Math.sin(o),M=Math.cos(o),c=nt(r-this.long0);return Math.abs(Math.abs(r-this.long0)-Math.PI)<=D&&Math.abs(o+this.lat0)<=D?(t.x=NaN,t.y=NaN):this.sphere?(s=2*this.k0/(1+this.sinlat0*l+this.coslat0*M*Math.cos(c)),t.x=this.a*s*M*Math.sin(c)+this.x0,t.y=this.a*s*(this.coslat0*l-this.sinlat0*M*Math.cos(c))+this.y0):(i=2*Math.atan(this.ssfn_(o,l,this.e))-z,h=Math.cos(i),a=Math.sin(i),Math.abs(this.coslat0)<=D?(e=rt(this.e,o*this.con,this.con*l),n=2*this.a*this.k0*e/this.cons,t.x=this.x0+n*Math.sin(r-this.long0),t.y=this.y0-this.con*n*Math.cos(r-this.long0)):(Math.abs(this.sinlat0)<D?(s=2*this.a*this.k0/(1+h*Math.cos(c)),t.y=s*a):(s=2*this.a*this.k0*this.ms1/(this.cosX0*(1+this.sinX0*a+this.cosX0*h*Math.cos(c))),t.y=s*(this.cosX0*a-this.sinX0*h*Math.cos(c))+this.y0),t.x=s*h*Math.sin(c)+this.x0)),t},inverse:function(t){t.x-=this.x0,t.y-=this.y0;var s,i,a,h=Math.sqrt(t.x*t.x+t.y*t.y);if(this.sphere){var e=2*Math.atan(h/(2*this.a*this.k0)),n=this.long0,r=this.lat0;return h<=D||(r=Math.asin(Math.cos(e)*this.sinlat0+t.y*Math.sin(e)*this.coslat0/h),n=nt(Math.abs(this.coslat0)<D?0<this.lat0?this.long0+Math.atan2(t.x,-1*t.y):this.long0+Math.atan2(t.x,t.y):this.long0+Math.atan2(t.x*Math.sin(e),h*this.coslat0*Math.cos(e)-t.y*this.sinlat0*Math.sin(e)))),t.x=n,t.y=r,t}if(Math.abs(this.coslat0)<=D){if(h<=D)return r=this.lat0,n=this.long0,t.x=n,t.y=r,t;t.x*=this.con,t.y*=this.con,s=h*this.cons/(2*this.a*this.k0),r=this.con*ot(this.e,s),n=this.con*nt(this.con*this.long0+Math.atan2(t.x,-1*t.y))}else i=2*Math.atan(h*this.cosX0/(2*this.a*this.k0*this.ms1)),n=this.long0,h<=D?a=this.X0:(a=Math.asin(Math.cos(i)*this.sinX0+t.y*Math.sin(i)*this.cosX0/h),n=nt(this.long0+Math.atan2(t.x*Math.sin(i),h*this.cosX0*Math.cos(i)-t.y*this.sinX0*Math.sin(i)))),r=-1*ot(this.e,Math.tan(.5*(z+a)));return t.x=n,t.y=r,t},names:["stere","Stereographic_South_Pole","Polar Stereographic (variant B)"],ssfn_:function(t,s,i){return s*=i,Math.tan(.5*(z+t))*Math.pow((1-s)/(1+s),.5*i)}},rs={init:function(){var t=this.lat0;this.lambda0=this.long0;var s=Math.sin(t),i=this.a,a=1/this.rf,h=2*a-Math.pow(a,2),e=this.e=Math.sqrt(h);this.R=this.k0*i*Math.sqrt(1-h)/(1-h*Math.pow(s,2)),this.alpha=Math.sqrt(1+h/(1-h)*Math.pow(Math.cos(t),4)),this.b0=Math.asin(s/this.alpha);var n=Math.log(Math.tan(Math.PI/4+this.b0/2)),r=Math.log(Math.tan(Math.PI/4+t/2)),o=Math.log((1+e*s)/(1-e*s));this.K=n-this.alpha*r+this.alpha*e/2*o},forward:function(t){var s=Math.log(Math.tan(Math.PI/4-t.y/2)),i=this.e/2*Math.log((1+this.e*Math.sin(t.y))/(1-this.e*Math.sin(t.y))),a=-this.alpha*(s+i)+this.K,h=2*(Math.atan(Math.exp(a))-Math.PI/4),e=this.alpha*(t.x-this.lambda0),n=Math.atan(Math.sin(e)/(Math.sin(this.b0)*Math.tan(h)+Math.cos(this.b0)*Math.cos(e))),r=Math.asin(Math.cos(this.b0)*Math.sin(h)-Math.sin(this.b0)*Math.cos(h)*Math.cos(e));return t.y=this.R/2*Math.log((1+Math.sin(r))/(1-Math.sin(r)))+this.y0,t.x=this.R*n+this.x0,t},inverse:function(t){for(var s=t.x-this.x0,i=t.y-this.y0,a=s/this.R,h=2*(Math.atan(Math.exp(i/this.R))-Math.PI/4),e=Math.asin(Math.cos(this.b0)*Math.sin(h)+Math.sin(this.b0)*Math.cos(h)*Math.cos(a)),n=Math.atan(Math.sin(a)/(Math.cos(this.b0)*Math.cos(a)-Math.sin(this.b0)*Math.tan(h))),r=this.lambda0+n/this.alpha,o=0,l=e,M=-1e3,c=0;1e-7<Math.abs(l-M);){if(20<++c)return;o=1/this.alpha*(Math.log(Math.tan(Math.PI/4+e/2))-this.K)+this.e*Math.log(Math.tan(Math.PI/4+Math.asin(this.e*Math.sin(l))/2)),M=l,l=2*Math.atan(Math.exp(o))-Math.PI/2}return t.x=r,t.y=l,t},names:["somerc"]},os={init:function(){this.no_off=this.no_off||!1,this.no_rot=this.no_rot||!1,isNaN(this.k0)&&(this.k0=1);var t=Math.sin(this.lat0),s=Math.cos(this.lat0),i=this.e*t;this.bl=Math.sqrt(1+this.es/(1-this.es)*Math.pow(s,4)),this.al=this.a*this.bl*this.k0*Math.sqrt(1-this.es)/(1-i*i);var a,h,e,n,r,o,l,M,c,u,f=rt(this.e,this.lat0,t),m=this.bl/s*Math.sqrt((1-this.es)/(1-i*i));m*m<1&&(m=1),isNaN(this.longc)?(h=rt(this.e,this.lat1,Math.sin(this.lat1)),e=rt(this.e,this.lat2,Math.sin(this.lat2)),0<=this.lat0?this.el=(m+Math.sqrt(m*m-1))*Math.pow(f,this.bl):this.el=(m-Math.sqrt(m*m-1))*Math.pow(f,this.bl),n=Math.pow(h,this.bl),r=Math.pow(e,this.bl),o=.5*((a=this.el/n)-1/a),l=(this.el*this.el-r*n)/(this.el*this.el+r*n),M=(r-n)/(r+n),c=nt(this.long1-this.long2),this.long0=.5*(this.long1+this.long2)-Math.atan(l*Math.tan(.5*this.bl*c)/M)/this.bl,this.long0=nt(this.long0),u=nt(this.long1-this.long0),this.gamma0=Math.atan(Math.sin(this.bl*u)/o),this.alpha=Math.asin(m*Math.sin(this.gamma0))):(a=0<=this.lat0?m+Math.sqrt(m*m-1):m-Math.sqrt(m*m-1),this.el=a*Math.pow(f,this.bl),o=.5*(a-1/a),this.gamma0=Math.asin(Math.sin(this.alpha)/m),this.long0=this.longc-Math.asin(o*Math.tan(this.gamma0))/this.bl),this.no_off?this.uc=0:0<=this.lat0?this.uc=this.al/this.bl*Math.atan2(Math.sqrt(m*m-1),Math.cos(this.alpha)):this.uc=-1*this.al/this.bl*Math.atan2(Math.sqrt(m*m-1),Math.cos(this.alpha))},forward:function(t){var s,i,a,h,e,n,r,o,l,M=t.x,c=t.y,u=nt(M-this.long0);return l=Math.abs(Math.abs(c)-z)<=D?(s=0<c?-1:1,o=this.al/this.bl*Math.log(Math.tan(U+s*this.gamma0*.5)),-1*s*z*this.al/this.bl):(i=rt(this.e,c,Math.sin(c)),h=.5*((a=this.el/Math.pow(i,this.bl))-1/a),e=.5*(a+1/a),n=Math.sin(this.bl*u),r=(h*Math.sin(this.gamma0)-n*Math.cos(this.gamma0))/e,o=Math.abs(Math.abs(r)-1)<=D?Number.POSITIVE_INFINITY:.5*this.al*Math.log((1-r)/(1+r))/this.bl,Math.abs(Math.cos(this.bl*u))<=D?this.al*this.bl*u:this.al*Math.atan2(h*Math.cos(this.gamma0)+n*Math.sin(this.gamma0),Math.cos(this.bl*u))/this.bl),this.no_rot?(t.x=this.x0+l,t.y=this.y0+o):(l-=this.uc,t.x=this.x0+o*Math.cos(this.alpha)+l*Math.sin(this.alpha),t.y=this.y0+l*Math.cos(this.alpha)-o*Math.sin(this.alpha)),t},inverse:function(t){var s,i;this.no_rot?(i=t.y-this.y0,s=t.x-this.x0):(i=(t.x-this.x0)*Math.cos(this.alpha)-(t.y-this.y0)*Math.sin(this.alpha),s=(t.y-this.y0)*Math.cos(this.alpha)+(t.x-this.x0)*Math.sin(this.alpha),s+=this.uc);var a=Math.exp(-1*this.bl*i/this.al),h=.5*(a-1/a),e=.5*(a+1/a),n=Math.sin(this.bl*s/this.al),r=(n*Math.cos(this.gamma0)+h*Math.sin(this.gamma0))/e,o=Math.pow(this.el/Math.sqrt((1+r)/(1-r)),1/this.bl);return Math.abs(r-1)<D?(t.x=this.long0,t.y=z):Math.abs(1+r)<D?(t.x=this.long0,t.y=-1*z):(t.y=ot(this.e,o),t.x=nt(this.long0-Math.atan2(h*Math.cos(this.gamma0)-n*Math.sin(this.gamma0),Math.cos(this.bl*s/this.al))/this.bl)),t},names:["Hotine_Oblique_Mercator","Hotine Oblique Mercator","Hotine_Oblique_Mercator_Azimuth_Natural_Origin","Hotine_Oblique_Mercator_Azimuth_Center","omerc"]},ls={init:function(){var t,s,i,a,h,e,n,r,o,l;this.lat2||(this.lat2=this.lat1),this.k0||(this.k0=1),this.x0=this.x0||0,this.y0=this.y0||0,Math.abs(this.lat1+this.lat2)<D||(t=this.b/this.a,this.e=Math.sqrt(1-t*t),s=Math.sin(this.lat1),i=Math.cos(this.lat1),a=ht(this.e,s,i),h=rt(this.e,this.lat1,s),e=Math.sin(this.lat2),n=Math.cos(this.lat2),r=ht(this.e,e,n),o=rt(this.e,this.lat2,e),l=rt(this.e,this.lat0,Math.sin(this.lat0)),Math.abs(this.lat1-this.lat2)>D?this.ns=Math.log(a/r)/Math.log(h/o):this.ns=s,isNaN(this.ns)&&(this.ns=s),this.f0=a/(this.ns*Math.pow(h,this.ns)),this.rh=this.a*this.f0*Math.pow(l,this.ns),this.title||(this.title="Lambert Conformal Conic"))},forward:function(t){var s=t.x,i=t.y;Math.abs(2*Math.abs(i)-Math.PI)<=D&&(i=et(i)*(z-2*D));var a,h,e=Math.abs(Math.abs(i)-z);if(D<e)a=rt(this.e,i,Math.sin(i)),h=this.a*this.f0*Math.pow(a,this.ns);else{if((e=i*this.ns)<=0)return null;h=0}var n=this.ns*nt(s-this.long0);return t.x=this.k0*(h*Math.sin(n))+this.x0,t.y=this.k0*(this.rh-h*Math.cos(n))+this.y0,t},inverse:function(t){var s,i,a,h,e=(t.x-this.x0)/this.k0,n=this.rh-(t.y-this.y0)/this.k0,r=0<this.ns?(s=Math.sqrt(e*e+n*n),1):(s=-Math.sqrt(e*e+n*n),-1),o=0;if(0!==s&&(o=Math.atan2(r*e,r*n)),0!==s||0<this.ns){if(r=1/this.ns,i=Math.pow(s/(this.a*this.f0),r),-9999===(a=ot(this.e,i)))return null}else a=-z;return h=nt(o/this.ns+this.long0),t.x=h,t.y=a,t},names:["Lambert Tangential Conformal Conic Projection","Lambert_Conformal_Conic","Lambert_Conformal_Conic_2SP","lcc"]},Ms={init:function(){this.a=6377397.155,this.es=.006674372230614,this.e=Math.sqrt(this.es),this.lat0||(this.lat0=.863937979737193),this.long0||(this.long0=.4334234309119251),this.k0||(this.k0=.9999),this.s45=.785398163397448,this.s90=2*this.s45,this.fi0=this.lat0,this.e2=this.es,this.e=Math.sqrt(this.e2),this.alfa=Math.sqrt(1+this.e2*Math.pow(Math.cos(this.fi0),4)/(1-this.e2)),this.uq=1.04216856380474,this.u0=Math.asin(Math.sin(this.fi0)/this.alfa),this.g=Math.pow((1+this.e*Math.sin(this.fi0))/(1-this.e*Math.sin(this.fi0)),this.alfa*this.e/2),this.k=Math.tan(this.u0/2+this.s45)/Math.pow(Math.tan(this.fi0/2+this.s45),this.alfa)*this.g,this.k1=this.k0,this.n0=this.a*Math.sqrt(1-this.e2)/(1-this.e2*Math.pow(Math.sin(this.fi0),2)),this.s0=1.37008346281555,this.n=Math.sin(this.s0),this.ro0=this.k1*this.n0/Math.tan(this.s0),this.ad=this.s90-this.uq},forward:function(t){var s=t.x,i=t.y,a=nt(s-this.long0),h=Math.pow((1+this.e*Math.sin(i))/(1-this.e*Math.sin(i)),this.alfa*this.e/2),e=2*(Math.atan(this.k*Math.pow(Math.tan(i/2+this.s45),this.alfa)/h)-this.s45),n=-a*this.alfa,r=Math.asin(Math.cos(this.ad)*Math.sin(e)+Math.sin(this.ad)*Math.cos(e)*Math.cos(n)),o=Math.asin(Math.cos(e)*Math.sin(n)/Math.cos(r)),l=this.n*o,M=this.ro0*Math.pow(Math.tan(this.s0/2+this.s45),this.n)/Math.pow(Math.tan(r/2+this.s45),this.n);return t.y=M*Math.cos(l),t.x=M*Math.sin(l),this.czech||(t.y*=-1,t.x*=-1),t},inverse:function(t){var s,i,a,h,e,n,r,o=t.x;t.x=t.y,t.y=o,this.czech||(t.y*=-1,t.x*=-1),e=Math.sqrt(t.x*t.x+t.y*t.y),h=Math.atan2(t.y,t.x)/Math.sin(this.s0),a=2*(Math.atan(Math.pow(this.ro0/e,1/this.n)*Math.tan(this.s0/2+this.s45))-this.s45),s=Math.asin(Math.cos(this.ad)*Math.sin(a)-Math.sin(this.ad)*Math.cos(a)*Math.cos(h)),i=Math.asin(Math.cos(a)*Math.sin(h)/Math.cos(s)),t.x=this.long0-i/this.alfa,n=s;for(var l=r=0;t.y=2*(Math.atan(Math.pow(this.k,-1/this.alfa)*Math.pow(Math.tan(s/2+this.s45),1/this.alfa)*Math.pow((1+this.e*Math.sin(n))/(1-this.e*Math.sin(n)),this.e/2))-this.s45),Math.abs(n-t.y)<1e-10&&(r=1),n=t.y,l+=1,0===r&&l<15;);return 15<=l?null:t},names:["Krovak","krovak"]},cs={init:function(){this.sphere||(this.e0=Ft(this.es),this.e1=Qt(this.es),this.e2=Wt(this.es),this.e3=Xt(this.es),this.ml0=this.a*Ut(this.e0,this.e1,this.e2,this.e3,this.lat0))},forward:function(t){var s,i,a,h,e,n,r,o,l,M=t.x,c=t.y,M=nt(M-this.long0);return l=this.sphere?(o=this.a*Math.asin(Math.cos(c)*Math.sin(M)),this.a*(Math.atan2(Math.tan(c),Math.cos(M))-this.lat0)):(s=Math.sin(c),i=Math.cos(c),a=Ht(this.a,this.e,s),h=Math.tan(c)*Math.tan(c),o=a*(e=M*Math.cos(c))*(1-(n=e*e)*h*(1/6-(8-h+8*(r=this.es*i*i/(1-this.es)))*n/120)),this.a*Ut(this.e0,this.e1,this.e2,this.e3,c)-this.ml0+a*s/i*n*(.5+(5-h+6*r)*n/24)),t.x=o+this.x0,t.y=l+this.y0,t},inverse:function(t){t.x-=this.x0,t.y-=this.y0;var s=t.x/this.a,i=t.y/this.a;if(this.sphere)var a=i+this.lat0,h=Math.asin(Math.sin(a)*Math.cos(s)),e=Math.atan2(Math.tan(s),Math.cos(a));else{var n=this.ml0/this.a+i,r=Kt(n,this.e0,this.e1,this.e2,this.e3);if(Math.abs(Math.abs(r)-z)<=D)return t.x=this.long0,t.y=z,i<0&&(t.y*=-1),t;var o=Ht(this.a,this.e,Math.sin(r)),l=o*o*o/this.a/this.a*(1-this.es),M=Math.pow(Math.tan(r),2),c=s*this.a/o,u=c*c;h=r-o*Math.tan(r)/l*c*c*(.5-(1+3*M)*c*c/24),e=c*(1-u*(M/3+(1+3*M)*M*u/15))/Math.cos(r)}return t.x=nt(e+this.long0),t.y=Jt(h),t},names:["Cassini","Cassini_Soldner","cass"]},us={init:function(){var t,s,i,a,h=Math.abs(this.lat0);if(Math.abs(h-z)<D?this.mode=this.lat0<0?this.S_POLE:this.N_POLE:Math.abs(h)<D?this.mode=this.EQUIT:this.mode=this.OBLIQ,0<this.es)switch(this.qp=Vt(this.e,1),this.mmf=.5/(1-this.es),this.apa=(s=this.es,(a=[])[0]=.3333333333333333*s,i=s*s,a[0]+=.17222222222222222*i,a[1]=.06388888888888888*i,i*=s,a[0]+=.10257936507936508*i,a[1]+=.0664021164021164*i,a[2]=.016415012942191543*i,a),this.mode){case this.N_POLE:case this.S_POLE:this.dd=1;break;case this.EQUIT:this.rq=Math.sqrt(.5*this.qp),this.dd=1/this.rq,this.xmf=1,this.ymf=.5*this.qp;break;case this.OBLIQ:this.rq=Math.sqrt(.5*this.qp),t=Math.sin(this.lat0),this.sinb1=Vt(this.e,t)/this.qp,this.cosb1=Math.sqrt(1-this.sinb1*this.sinb1),this.dd=Math.cos(this.lat0)/(Math.sqrt(1-this.es*t*t)*this.rq*this.cosb1),this.ymf=(this.xmf=this.rq)/this.dd,this.xmf*=this.dd}else this.mode===this.OBLIQ&&(this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0))},forward:function(t){var s,i,a,h,e,n,r,o,l,M,c=t.x,u=t.y,c=nt(c-this.long0);if(this.sphere){if(e=Math.sin(u),M=Math.cos(u),a=Math.cos(c),this.mode===this.OBLIQ||this.mode===this.EQUIT){if((i=this.mode===this.EQUIT?1+M*a:1+this.sinph0*e+this.cosph0*M*a)<=D)return null;s=(i=Math.sqrt(2/i))*M*Math.sin(c),i*=this.mode===this.EQUIT?e:this.cosph0*e-this.sinph0*M*a}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(a=-a),Math.abs(u+this.lat0)<D)return null;i=U-.5*u,s=(i=2*(this.mode===this.S_POLE?Math.cos(i):Math.sin(i)))*Math.sin(c),i*=a}}else{switch(l=o=r=0,a=Math.cos(c),h=Math.sin(c),e=Math.sin(u),n=Vt(this.e,e),this.mode!==this.OBLIQ&&this.mode!==this.EQUIT||(r=n/this.qp,o=Math.sqrt(1-r*r)),this.mode){case this.OBLIQ:l=1+this.sinb1*r+this.cosb1*o*a;break;case this.EQUIT:l=1+o*a;break;case this.N_POLE:l=z+u,n=this.qp-n;break;case this.S_POLE:l=u-z,n=this.qp+n}if(Math.abs(l)<D)return null;switch(this.mode){case this.OBLIQ:case this.EQUIT:l=Math.sqrt(2/l),i=this.mode===this.OBLIQ?this.ymf*l*(this.cosb1*r-this.sinb1*o*a):(l=Math.sqrt(2/(1+o*a)))*r*this.ymf,s=this.xmf*l*o*h;break;case this.N_POLE:case this.S_POLE:0<=n?(s=(l=Math.sqrt(n))*h,i=a*(this.mode===this.S_POLE?l:-l)):s=i=0}}return t.x=this.a*s+this.x0,t.y=this.a*i+this.y0,t},inverse:function(t){t.x-=this.x0,t.y-=this.y0;var s,i,a,h,e,n,r,o,l,M,c=t.x/this.a,u=t.y/this.a;if(this.sphere){var f=0,m=0,p=Math.sqrt(c*c+u*u);if(1<(i=.5*p))return null;switch(i=2*Math.asin(i),this.mode!==this.OBLIQ&&this.mode!==this.EQUIT||(m=Math.sin(i),f=Math.cos(i)),this.mode){case this.EQUIT:i=Math.abs(p)<=D?0:Math.asin(u*m/p),c*=m,u=f*p;break;case this.OBLIQ:i=Math.abs(p)<=D?this.lat0:Math.asin(f*this.sinph0+u*m*this.cosph0/p),c*=m*this.cosph0,u=(f-Math.sin(i)*this.sinph0)*p;break;case this.N_POLE:u=-u,i=z-i;break;case this.S_POLE:i-=z}s=0!==u||this.mode!==this.EQUIT&&this.mode!==this.OBLIQ?Math.atan2(c,u):0}else{if(r=0,this.mode===this.OBLIQ||this.mode===this.EQUIT){if(c/=this.dd,u*=this.dd,(n=Math.sqrt(c*c+u*u))<D)return t.x=this.long0,t.y=this.lat0,t;h=2*Math.asin(.5*n/this.rq),a=Math.cos(h),c*=h=Math.sin(h),u=this.mode===this.OBLIQ?(r=a*this.sinb1+u*h*this.cosb1/n,e=this.qp*r,n*this.cosb1*a-u*this.sinb1*h):(r=u*h/n,e=this.qp*r,n*a)}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(u=-u),!(e=c*c+u*u))return t.x=this.long0,t.y=this.lat0,t;r=1-e/this.qp,this.mode===this.S_POLE&&(r=-r)}s=Math.atan2(c,u),o=Math.asin(r),l=this.apa,M=o+o,i=o+l[0]*Math.sin(M)+l[1]*Math.sin(M+M)+l[2]*Math.sin(M+M+M)}return t.x=nt(this.long0+s),t.y=i,t},names:["Lambert Azimuthal Equal Area","Lambert_Azimuthal_Equal_Area","laea"],S_POLE:1,N_POLE:2,EQUIT:3,OBLIQ:4},fs={init:function(){Math.abs(this.lat1+this.lat2)<D||(this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e3=Math.sqrt(this.es),this.sin_po=Math.sin(this.lat1),this.cos_po=Math.cos(this.lat1),this.t1=this.sin_po,this.con=this.sin_po,this.ms1=ht(this.e3,this.sin_po,this.cos_po),this.qs1=Vt(this.e3,this.sin_po,this.cos_po),this.sin_po=Math.sin(this.lat2),this.cos_po=Math.cos(this.lat2),this.t2=this.sin_po,this.ms2=ht(this.e3,this.sin_po,this.cos_po),this.qs2=Vt(this.e3,this.sin_po,this.cos_po),this.sin_po=Math.sin(this.lat0),this.cos_po=Math.cos(this.lat0),this.t3=this.sin_po,this.qs0=Vt(this.e3,this.sin_po,this.cos_po),Math.abs(this.lat1-this.lat2)>D?this.ns0=(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1):this.ns0=this.con,this.c=this.ms1*this.ms1+this.ns0*this.qs1,this.rh=this.a*Math.sqrt(this.c-this.ns0*this.qs0)/this.ns0)},forward:function(t){var s=t.x,i=t.y;this.sin_phi=Math.sin(i),this.cos_phi=Math.cos(i);var a=Vt(this.e3,this.sin_phi,this.cos_phi),h=this.a*Math.sqrt(this.c-this.ns0*a)/this.ns0,e=this.ns0*nt(s-this.long0),n=h*Math.sin(e)+this.x0,r=this.rh-h*Math.cos(e)+this.y0;return t.x=n,t.y=r,t},inverse:function(t){var s,i,a,h,e,n;return t.x-=this.x0,t.y=this.rh-t.y+this.y0,a=0<=this.ns0?(s=Math.sqrt(t.x*t.x+t.y*t.y),1):(s=-Math.sqrt(t.x*t.x+t.y*t.y),-1),(h=0)!==s&&(h=Math.atan2(a*t.x,a*t.y)),a=s*this.ns0/this.a,n=this.sphere?Math.asin((this.c-a*a)/(2*this.ns0)):(i=(this.c-a*a)/this.ns0,this.phi1z(this.e3,i)),e=nt(h/this.ns0+this.long0),t.x=e,t.y=n,t},names:["Albers_Conic_Equal_Area","Albers","aea"],phi1z:function(t,s){var i,a,h,e,n=Zt(.5*s);if(t<D)return n;for(var r=t*t,o=1;o<=25;o++)if(n+=e=.5*(h=1-(a=t*(i=Math.sin(n)))*a)*h/Math.cos(n)*(s/(1-r)-i/h+.5/t*Math.log((1-a)/(1+a))),Math.abs(e)<=1e-7)return n;return null}},ms={init:function(){this.sin_p14=Math.sin(this.lat0),this.cos_p14=Math.cos(this.lat0),this.infinity_dist=1e3*this.a,this.rc=1},forward:function(t){var s,i,a=t.x,h=t.y,e=nt(a-this.long0),n=Math.sin(h),r=Math.cos(h),o=Math.cos(e),l=0<(s=this.sin_p14*n+this.cos_p14*r*o)||Math.abs(s)<=D?(i=this.x0+this.a*r*Math.sin(e)/s,this.y0+this.a*(this.cos_p14*n-this.sin_p14*r*o)/s):(i=this.x0+this.infinity_dist*r*Math.sin(e),this.y0+this.infinity_dist*(this.cos_p14*n-this.sin_p14*r*o));return t.x=i,t.y=l,t},inverse:function(t){var s,i,a,h,e,n;return t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,t.x/=this.k0,t.y/=this.k0,e=(s=Math.sqrt(t.x*t.x+t.y*t.y))?(h=Math.atan2(s,this.rc),i=Math.sin(h),a=Math.cos(h),n=Zt(a*this.sin_p14+t.y*i*this.cos_p14/s),e=Math.atan2(t.x*i,s*this.cos_p14*a-t.y*this.sin_p14*i),nt(this.long0+e)):(n=this.phic0,0),t.x=e,t.y=n,t},names:["gnom"]},ps={init:function(){this.sphere||(this.k0=ht(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)))},forward:function(t){var s,i,a,h=t.x,e=t.y,n=nt(h-this.long0);return a=this.sphere?(i=this.x0+this.a*n*Math.cos(this.lat_ts),this.y0+this.a*Math.sin(e)/Math.cos(this.lat_ts)):(s=Vt(this.e,Math.sin(e)),i=this.x0+this.a*this.k0*n,this.y0+this.a*s*.5/this.k0),t.x=i,t.y=a,t},inverse:function(t){var s,i;return t.x-=this.x0,t.y-=this.y0,this.sphere?(s=nt(this.long0+t.x/this.a/Math.cos(this.lat_ts)),i=Math.asin(t.y/this.a*Math.cos(this.lat_ts))):(i=function(t,s){var i=1-(1-t*t)/(2*t)*Math.log((1-t)/(1+t));if(Math.abs(Math.abs(s)-i)<1e-6)return s<0?-1*z:z;for(var a,h,e,n,r=Math.asin(.5*s),o=0;o<30;o++)if(h=Math.sin(r),e=Math.cos(r),n=t*h,r+=a=Math.pow(1-n*n,2)/(2*e)*(s/(1-t*t)-h/(1-n*n)+.5/t*Math.log((1-n)/(1+n))),Math.abs(a)<=1e-10)return r;return NaN}(this.e,2*t.y*this.k0/this.a),s=nt(this.long0+t.x/(this.a*this.k0))),t.x=s,t.y=i,t},names:["cea"]},ds={init:function(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Equidistant Cylindrical (Plate Carre)",this.rc=Math.cos(this.lat_ts)},forward:function(t){var s=t.x,i=t.y,a=nt(s-this.long0),h=Jt(i-this.lat0);return t.x=this.x0+this.a*a*this.rc,t.y=this.y0+this.a*h,t},inverse:function(t){var s=t.x,i=t.y;return t.x=nt(this.long0+(s-this.x0)/(this.a*this.rc)),t.y=Jt(this.lat0+(i-this.y0)/this.a),t},names:["Equirectangular","Equidistant_Cylindrical","eqc"]},ys={init:function(){this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=Ft(this.es),this.e1=Qt(this.es),this.e2=Wt(this.es),this.e3=Xt(this.es),this.ml0=this.a*Ut(this.e0,this.e1,this.e2,this.e3,this.lat0)},forward:function(t){var s,i,a,h=t.x,e=t.y,n=nt(h-this.long0),r=n*Math.sin(e);return a=this.sphere?Math.abs(e)<=D?(i=this.a*n,-1*this.a*this.lat0):(i=this.a*Math.sin(r)/Math.tan(e),this.a*(Jt(e-this.lat0)+(1-Math.cos(r))/Math.tan(e))):Math.abs(e)<=D?(i=this.a*n,-1*this.ml0):(i=(s=Ht(this.a,this.e,Math.sin(e))/Math.tan(e))*Math.sin(r),this.a*Ut(this.e0,this.e1,this.e2,this.e3,e)-this.ml0+s*(1-Math.cos(r))),t.x=i+this.x0,t.y=a+this.y0,t},inverse:function(t){var s,i,a,h,e,n,r,o,l=t.x-this.x0,M=t.y-this.y0;if(this.sphere)if(Math.abs(M+this.a*this.lat0)<=D)s=nt(l/this.a+this.long0),i=0;else{for(var c,u=this.lat0+M/this.a,f=l*l/this.a/this.a+u*u,m=u,p=20;p;--p)if(m+=a=-1*(u*(m*(c=Math.tan(m))+1)-m-.5*(m*m+f)*c)/((m-u)/c-1),Math.abs(a)<=D){i=m;break}s=nt(this.long0+Math.asin(l*Math.tan(m)/this.a)/Math.sin(i))}else if(Math.abs(M+this.ml0)<=D)i=0,s=nt(this.long0+l/this.a);else{for(u=(this.ml0+M)/this.a,f=l*l/this.a/this.a+u*u,m=u,p=20;p;--p)if(o=this.e*Math.sin(m),h=Math.sqrt(1-o*o)*Math.tan(m),e=this.a*Ut(this.e0,this.e1,this.e2,this.e3,m),n=this.e0-2*this.e1*Math.cos(2*m)+4*this.e2*Math.cos(4*m)-6*this.e3*Math.cos(6*m),m-=a=(u*(h*(r=e/this.a)+1)-r-.5*h*(r*r+f))/(this.es*Math.sin(2*m)*(r*r+f-2*u*r)/(4*h)+(u-r)*(h*n-2/Math.sin(2*m))-n),Math.abs(a)<=D){i=m;break}h=Math.sqrt(1-this.es*Math.pow(Math.sin(i),2))*Math.tan(i),s=nt(this.long0+Math.asin(l*h/this.a)/Math.sin(i))}return t.x=s,t.y=i,t},names:["Polyconic","poly"]},_s={init:function(){this.A=[],this.A[1]=.6399175073,this.A[2]=-.1358797613,this.A[3]=.063294409,this.A[4]=-.02526853,this.A[5]=.0117879,this.A[6]=-.0055161,this.A[7]=.0026906,this.A[8]=-.001333,this.A[9]=67e-5,this.A[10]=-34e-5,this.B_re=[],this.B_im=[],this.B_re[1]=.7557853228,this.B_im[1]=0,this.B_re[2]=.249204646,this.B_im[2]=.003371507,this.B_re[3]=-.001541739,this.B_im[3]=.04105856,this.B_re[4]=-.10162907,this.B_im[4]=.01727609,this.B_re[5]=-.26623489,this.B_im[5]=-.36249218,this.B_re[6]=-.6870983,this.B_im[6]=-1.1651967,this.C_re=[],this.C_im=[],this.C_re[1]=1.3231270439,this.C_im[1]=0,this.C_re[2]=-.577245789,this.C_im[2]=-.007809598,this.C_re[3]=.508307513,this.C_im[3]=-.112208952,this.C_re[4]=-.15094762,this.C_im[4]=.18200602,this.C_re[5]=1.01418179,this.C_im[5]=1.64497696,this.C_re[6]=1.9660549,this.C_im[6]=2.5127645,this.D=[],this.D[1]=1.5627014243,this.D[2]=.5185406398,this.D[3]=-.03333098,this.D[4]=-.1052906,this.D[5]=-.0368594,this.D[6]=.007317,this.D[7]=.0122,this.D[8]=.00394,this.D[9]=-.0013},forward:function(t){for(var s=t.x,i=t.y-this.lat0,a=s-this.long0,h=i/j*1e-5,e=a,n=1,r=0,o=1;o<=10;o++)n*=h,r+=this.A[o]*n;var l,M=r,c=e,u=1,f=0,m=0,p=0;for(o=1;o<=6;o++)l=f*M+u*c,u=u*M-f*c,f=l,m=m+this.B_re[o]*u-this.B_im[o]*f,p=p+this.B_im[o]*u+this.B_re[o]*f;return t.x=p*this.a+this.x0,t.y=m*this.a+this.y0,t},inverse:function(t){var s,i=t.x,a=t.y,h=i-this.x0,e=(a-this.y0)/this.a,n=h/this.a,r=1,o=0,l=0,M=0;for(y=1;y<=6;y++)s=o*e+r*n,r=r*e-o*n,o=s,l=l+this.C_re[y]*r-this.C_im[y]*o,M=M+this.C_im[y]*r+this.C_re[y]*o;for(var c=0;c<this.iterations;c++){for(var u,f=l,m=M,p=e,d=n,y=2;y<=6;y++)u=m*l+f*M,f=f*l-m*M,m=u,p+=(y-1)*(this.B_re[y]*f-this.B_im[y]*m),d+=(y-1)*(this.B_im[y]*f+this.B_re[y]*m);f=1,m=0;var _=this.B_re[1],x=this.B_im[1];for(y=2;y<=6;y++)u=m*l+f*M,f=f*l-m*M,m=u,_+=y*(this.B_re[y]*f-this.B_im[y]*m),x+=y*(this.B_im[y]*f+this.B_re[y]*m);var g=_*_+x*x,l=(p*_+d*x)/g,M=(d*_-p*x)/g}var b=l,v=M,w=1,C=0;for(y=1;y<=9;y++)w*=b,C+=this.D[y]*w;var P=this.lat0+C*j*1e5,S=this.long0+v;return t.x=S,t.y=P,t},names:["New_Zealand_Map_Grid","nzmg"]},xs={init:function(){},forward:function(t){var s=t.x,i=t.y,a=nt(s-this.long0),h=this.x0+this.a*a,e=this.y0+this.a*Math.log(Math.tan(Math.PI/4+i/2.5))*1.25;return t.x=h,t.y=e,t},inverse:function(t){t.x-=this.x0,t.y-=this.y0;var s=nt(this.long0+t.x/this.a),i=2.5*(Math.atan(Math.exp(.8*t.y/this.a))-Math.PI/4);return t.x=s,t.y=i,t},names:["Miller_Cylindrical","mill"]},gs={init:function(){this.sphere?(this.n=1,this.m=0,this.es=0,this.C_y=Math.sqrt((this.m+1)/this.n),this.C_x=this.C_y/(this.m+1)):this.en=At(this.es)},forward:function(t){var s=t.x,i=t.y,s=nt(s-this.long0);if(this.sphere){if(this.m)for(var a=this.n*Math.sin(i),h=20;h;--h){var e=(this.m*i+Math.sin(i)-a)/(this.m+Math.cos(i));if(i-=e,Math.abs(e)<D)break}else i=1!==this.n?Math.asin(this.n*Math.sin(i)):i;l=this.a*this.C_x*s*(this.m+Math.cos(i)),o=this.a*this.C_y*i}else var n=Math.sin(i),r=Math.cos(i),o=this.a*Gt(i,n,r,this.en),l=this.a*s*r/Math.sqrt(1-this.es*n*n);return t.x=l,t.y=o,t},inverse:function(t){var s,i,a,h;return t.x-=this.x0,a=t.x/this.a,t.y-=this.y0,s=t.y/this.a,this.sphere?(s/=this.C_y,a/=this.C_x*(this.m+Math.cos(s)),this.m?s=Zt((this.m*s+Math.sin(s))/this.n):1!==this.n&&(s=Zt(Math.sin(s)/this.n)),a=nt(a+this.long0),s=Jt(s)):(s=jt(t.y/this.a,this.es,this.en),(h=Math.abs(s))<z?(h=Math.sin(s),i=this.long0+t.x*Math.sqrt(1-this.es*h*h)/(this.a*Math.cos(s)),a=nt(i)):h-D<z&&(a=this.long0)),t.x=a,t.y=s,t},names:["Sinusoidal","sinu"]},bs={init:function(){},forward:function(t){for(var s=t.x,i=t.y,a=nt(s-this.long0),h=i,e=Math.PI*Math.sin(i);;){var n=-(h+Math.sin(h)-e)/(1+Math.cos(h));if(h+=n,Math.abs(n)<D)break}h/=2,Math.PI/2-Math.abs(i)<D&&(a=0);var r=.900316316158*this.a*a*Math.cos(h)+this.x0,o=1.4142135623731*this.a*Math.sin(h)+this.y0;return t.x=r,t.y=o,t},inverse:function(t){var s,i;t.x-=this.x0,t.y-=this.y0,i=t.y/(1.4142135623731*this.a),.999999999999<Math.abs(i)&&(i=.999999999999),s=Math.asin(i);var a=nt(this.long0+t.x/(.900316316158*this.a*Math.cos(s)));a<-Math.PI&&(a=-Math.PI),a>Math.PI&&(a=Math.PI),i=(2*s+Math.sin(2*s))/Math.PI,1<Math.abs(i)&&(i=1);var h=Math.asin(i);return t.x=a,t.y=h,t},names:["Mollweide","moll"]},vs={init:function(){Math.abs(this.lat1+this.lat2)<D||(this.lat2=this.lat2||this.lat1,this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=Ft(this.es),this.e1=Qt(this.es),this.e2=Wt(this.es),this.e3=Xt(this.es),this.sinphi=Math.sin(this.lat1),this.cosphi=Math.cos(this.lat1),this.ms1=ht(this.e,this.sinphi,this.cosphi),this.ml1=Ut(this.e0,this.e1,this.e2,this.e3,this.lat1),Math.abs(this.lat1-this.lat2)<D?this.ns=this.sinphi:(this.sinphi=Math.sin(this.lat2),this.cosphi=Math.cos(this.lat2),this.ms2=ht(this.e,this.sinphi,this.cosphi),this.ml2=Ut(this.e0,this.e1,this.e2,this.e3,this.lat2),this.ns=(this.ms1-this.ms2)/(this.ml2-this.ml1)),this.g=this.ml1+this.ms1/this.ns,this.ml0=Ut(this.e0,this.e1,this.e2,this.e3,this.lat0),this.rh=this.a*(this.g-this.ml0))},forward:function(t){var s,i,a=t.x,h=t.y;i=this.sphere?this.a*(this.g-h):(s=Ut(this.e0,this.e1,this.e2,this.e3,h),this.a*(this.g-s));var e=this.ns*nt(a-this.long0),n=this.x0+i*Math.sin(e),r=this.y0+this.rh-i*Math.cos(e);return t.x=n,t.y=r,t},inverse:function(t){var s,i;t.x-=this.x0,t.y=this.rh-t.y+this.y0,s=0<=this.ns?(i=Math.sqrt(t.x*t.x+t.y*t.y),1):(i=-Math.sqrt(t.x*t.x+t.y*t.y),-1);var a=0;if(0!==i&&(a=Math.atan2(s*t.x,s*t.y)),this.sphere)return n=nt(this.long0+a/this.ns),e=Jt(this.g-i/this.a),t.x=n,t.y=e,t;var h=this.g-i/this.a,e=Kt(h,this.e0,this.e1,this.e2,this.e3),n=nt(this.long0+a/this.ns);return t.x=n,t.y=e,t},names:["Equidistant_Conic","eqdc"]},ws={init:function(){this.R=this.a},forward:function(t){var s,i=t.x,a=t.y,h=nt(i-this.long0);Math.abs(a)<=D&&(s=this.x0+this.R*h,d=this.y0);var e=Zt(2*Math.abs(a/Math.PI));(Math.abs(h)<=D||Math.abs(Math.abs(a)-z)<=D)&&(s=this.x0,d=0<=a?this.y0+Math.PI*this.R*Math.tan(.5*e):this.y0+Math.PI*this.R*-Math.tan(.5*e));var n=.5*Math.abs(Math.PI/h-h/Math.PI),r=n*n,o=Math.sin(e),l=Math.cos(e),M=l/(o+l-1),c=M*M,u=M*(2/o-1),f=u*u,m=Math.PI*this.R*(n*(M-f)+Math.sqrt(r*(M-f)*(M-f)-(f+r)*(c-f)))/(f+r);h<0&&(m=-m),s=this.x0+m;var p=r+M,m=Math.PI*this.R*(u*p-n*Math.sqrt((f+r)*(1+r)-p*p))/(f+r),d=0<=a?this.y0+m:this.y0-m;return t.x=s,t.y=d,t},inverse:function(t){var s,i,a,h,e,n,r,o,l,M,c,u;return t.x-=this.x0,t.y-=this.y0,c=Math.PI*this.R,e=(a=t.x/c)*a+(h=t.y/c)*h,c=3*(h*h/(o=-2*(n=-Math.abs(h)*(1+e))+1+2*h*h+e*e)+(2*(r=n-2*h*h+a*a)*r*r/o/o/o-9*n*r/o/o)/27)/(l=(n-r*r/3/o)/o)/(M=2*Math.sqrt(-l/3)),1<Math.abs(c)&&(c=0<=c?1:-1),u=Math.acos(c)/3,i=0<=t.y?(-M*Math.cos(u+Math.PI/3)-r/3/o)*Math.PI:-(-M*Math.cos(u+Math.PI/3)-r/3/o)*Math.PI,s=Math.abs(a)<D?this.long0:nt(this.long0+Math.PI*(e-1+Math.sqrt(1+2*(a*a-h*h)+e*e))/2/a),t.x=s,t.y=i,t},names:["Van_der_Grinten_I","VanDerGrinten","vandg"]},Cs={init:function(){this.sin_p12=Math.sin(this.lat0),this.cos_p12=Math.cos(this.lat0)},forward:function(t){var s,i,a,h,e,n,r,o,l,M,c,u,f,m,p,d,y,_,x,g,b,v,w=t.x,C=t.y,P=Math.sin(t.y),S=Math.cos(t.y),N=nt(w-this.long0);return this.sphere?Math.abs(this.sin_p12-1)<=D?(t.x=this.x0+this.a*(z-C)*Math.sin(N),t.y=this.y0-this.a*(z-C)*Math.cos(N)):Math.abs(this.sin_p12+1)<=D?(t.x=this.x0+this.a*(z+C)*Math.sin(N),t.y=this.y0+this.a*(z+C)*Math.cos(N)):(_=this.sin_p12*P+this.cos_p12*S*Math.cos(N),y=(d=Math.acos(_))?d/Math.sin(d):1,t.x=this.x0+this.a*y*S*Math.sin(N),t.y=this.y0+this.a*y*(this.cos_p12*P-this.sin_p12*S*Math.cos(N))):(s=Ft(this.es),i=Qt(this.es),a=Wt(this.es),h=Xt(this.es),Math.abs(this.sin_p12-1)<=D?(e=this.a*Ut(s,i,a,h,z),n=this.a*Ut(s,i,a,h,C),t.x=this.x0+(e-n)*Math.sin(N),t.y=this.y0-(e-n)*Math.cos(N)):Math.abs(this.sin_p12+1)<=D?(e=this.a*Ut(s,i,a,h,z),n=this.a*Ut(s,i,a,h,C),t.x=this.x0+(e+n)*Math.sin(N),t.y=this.y0+(e+n)*Math.cos(N)):(r=P/S,o=Ht(this.a,this.e,this.sin_p12),l=Ht(this.a,this.e,P),M=Math.atan((1-this.es)*r+this.es*o*this.sin_p12/(l*S)),x=0===(c=Math.atan2(Math.sin(N),this.cos_p12*Math.tan(M)-this.sin_p12*Math.cos(N)))?Math.asin(this.cos_p12*Math.sin(M)-this.sin_p12*Math.cos(M)):Math.abs(Math.abs(c)-Math.PI)<=D?-Math.asin(this.cos_p12*Math.sin(M)-this.sin_p12*Math.cos(M)):Math.asin(Math.sin(N)*Math.cos(M)/Math.sin(c)),u=this.e*this.sin_p12/Math.sqrt(1-this.es),d=o*x*(1-(g=x*x)*(p=(f=this.e*this.cos_p12*Math.cos(c)/Math.sqrt(1-this.es))*f)*(1-p)/6+(b=g*x)/8*(m=u*f)*(1-2*p)+(v=b*x)/120*(p*(4-7*p)-3*u*u*(1-7*p))-v*x/48*m),t.x=this.x0+d*Math.sin(c),t.y=this.y0+d*Math.cos(c))),t},inverse:function(t){var s,i,a,h,e,n,r,o,l,M,c,u,f,m,p,d,y,_,x,g,b,v,w;if(t.x-=this.x0,t.y-=this.y0,this.sphere){if((s=Math.sqrt(t.x*t.x+t.y*t.y))>2*z*this.a)return;return i=s/this.a,a=Math.sin(i),h=Math.cos(i),e=this.long0,Math.abs(s)<=D?n=this.lat0:(n=Zt(h*this.sin_p12+t.y*a*this.cos_p12/s),r=Math.abs(this.lat0)-z,e=nt(Math.abs(r)<=D?0<=this.lat0?this.long0+Math.atan2(t.x,-t.y):this.long0-Math.atan2(-t.x,t.y):this.long0+Math.atan2(t.x*a,s*this.cos_p12*h-t.y*this.sin_p12*a))),t.x=e,t.y=n,t}return o=Ft(this.es),l=Qt(this.es),M=Wt(this.es),c=Xt(this.es),Math.abs(this.sin_p12-1)<=D?(u=this.a*Ut(o,l,M,c,z),s=Math.sqrt(t.x*t.x+t.y*t.y),n=Kt((u-s)/this.a,o,l,M,c),e=nt(this.long0+Math.atan2(t.x,-1*t.y))):Math.abs(this.sin_p12+1)<=D?(u=this.a*Ut(o,l,M,c,z),s=Math.sqrt(t.x*t.x+t.y*t.y),n=Kt((s-u)/this.a,o,l,M,c),e=nt(this.long0+Math.atan2(t.x,t.y))):(s=Math.sqrt(t.x*t.x+t.y*t.y),p=Math.atan2(t.x,t.y),f=Ht(this.a,this.e,this.sin_p12),d=Math.cos(p),_=-(y=this.e*this.cos_p12*d)*y/(1-this.es),x=3*this.es*(1-_)*this.sin_p12*this.cos_p12*d/(1-this.es),v=1-_*(b=(g=s/f)-_*(1+_)*Math.pow(g,3)/6-x*(1+3*_)*Math.pow(g,4)/24)*b/2-g*b*b*b/6,m=Math.asin(this.sin_p12*Math.cos(b)+this.cos_p12*Math.sin(b)*d),e=nt(this.long0+Math.asin(Math.sin(p)*Math.sin(b)/Math.cos(m))),w=Math.sin(m),n=Math.atan2((w-this.es*v*this.sin_p12)*Math.tan(m),w*(1-this.es))),t.x=e,t.y=n,t},names:["Azimuthal_Equidistant","aeqd"]},Ps={init:function(){this.sin_p14=Math.sin(this.lat0),this.cos_p14=Math.cos(this.lat0)},forward:function(t){var s,i,a,h=t.x,e=t.y,n=nt(h-this.long0),r=Math.sin(e),o=Math.cos(e),l=Math.cos(n);return(0<(s=this.sin_p14*r+this.cos_p14*o*l)||Math.abs(s)<=D)&&(i=this.a*o*Math.sin(n),a=this.y0+this.a*(this.cos_p14*r-this.sin_p14*o*l)),t.x=i,t.y=a,t},inverse:function(t){var s,i,a,h,e,n,r;return t.x-=this.x0,t.y-=this.y0,s=Math.sqrt(t.x*t.x+t.y*t.y),i=Zt(s/this.a),a=Math.sin(i),h=Math.cos(i),n=this.long0,Math.abs(s)<=D?r=this.lat0:(r=Zt(h*this.sin_p14+t.y*a*this.cos_p14/s),e=Math.abs(this.lat0)-z,n=Math.abs(e)<=D?nt(0<=this.lat0?this.long0+Math.atan2(t.x,-t.y):this.long0-Math.atan2(-t.x,t.y)):nt(this.long0+Math.atan2(t.x*a,s*this.cos_p14*h-t.y*this.sin_p14*a))),t.x=n,t.y=r,t},names:["ortho"]},Ss=1,Ns=2,ks=3,Es=4,qs=5,Is=6,Os=1,As=2,Gs=3,js=4,zs={init:function(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Quadrilateralized Spherical Cube",this.lat0>=z-U/2?this.face=qs:this.lat0<=-(z-U/2)?this.face=Is:Math.abs(this.long0)<=U?this.face=Ss:Math.abs(this.long0)<=z+U?this.face=0<this.long0?Ns:Es:this.face=ks,0!==this.es&&(this.one_minus_f=1-(this.a-this.b)/this.a,this.one_minus_f_squared=this.one_minus_f*this.one_minus_f)},forward:function(t){var s,i,a,h,e,n,r,o,l,M,c,u,f={x:0,y:0},m={value:0};return t.x-=this.long0,s=0!==this.es?Math.atan(this.one_minus_f_squared*Math.tan(t.y)):t.y,i=t.x,this.face===qs?(h=z-s,a=U<=i&&i<=z+U?(m.value=Os,i-z):z+U<i||i<=-(z+U)?(m.value=As,0<i?i-Q:i+Q):-(z+U)<i&&i<=-U?(m.value=Gs,i+z):(m.value=js,i)):this.face===Is?(h=z+s,a=U<=i&&i<=z+U?(m.value=Os,z-i):i<U&&-U<=i?(m.value=As,-i):i<-U&&-(z+U)<=i?(m.value=Gs,-i-z):(m.value=js,0<i?Q-i:-i-Q)):(this.face===Ns?i=S(i,+z):this.face===ks?i=S(i,+Q):this.face===Es&&(i=S(i,-z)),M=Math.sin(s),c=Math.cos(s),u=Math.sin(i),r=c*Math.cos(i),o=c*u,l=M,this.face===Ss?a=P(h=Math.acos(r),l,o,m):this.face===Ns?a=P(h=Math.acos(o),l,-r,m):this.face===ks?a=P(h=Math.acos(-r),l,-o,m):this.face===Es?a=P(h=Math.acos(-o),l,r,m):(h=a=0,m.value=Os)),n=Math.atan(12/Q*(a+Math.acos(Math.sin(a)*Math.cos(U))-z)),e=Math.sqrt((1-Math.cos(h))/(Math.cos(n)*Math.cos(n))/(1-Math.cos(Math.atan(1/Math.cos(a))))),m.value===As?n+=z:m.value===Gs?n+=Q:m.value===js&&(n+=1.5*Q),f.x=e*Math.cos(n),f.y=e*Math.sin(n),f.x=f.x*this.a+this.x0,f.y=f.y*this.a+this.y0,t.x=f.x,t.y=f.y,t},inverse:function(t){var s,i,a,h,e,n,r,o,l,M,c,u,f,m,p,d={lam:0,phi:0},y={value:0};return t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,i=Math.atan(Math.sqrt(t.x*t.x+t.y*t.y)),s=Math.atan2(t.y,t.x),0<=t.x&&t.x>=Math.abs(t.y)?y.value=Os:0<=t.y&&t.y>=Math.abs(t.x)?(y.value=As,s-=z):t.x<0&&-t.x>=Math.abs(t.y)?(y.value=Gs,s=s<0?s+Q:s-Q):(y.value=js,s+=z),c=Q/12*Math.tan(s),e=Math.sin(c)/(Math.cos(c)-1/Math.sqrt(2)),n=Math.atan(e),(r=1-(a=Math.cos(s))*a*(h=Math.tan(i))*h*(1-Math.cos(Math.atan(1/Math.cos(n)))))<-1?r=-1:1<r&&(r=1),this.face===qs?(o=Math.acos(r),d.phi=z-o,y.value===Os?d.lam=n+z:y.value===As?d.lam=n<0?n+Q:n-Q:y.value===Gs?d.lam=n-z:d.lam=n):this.face===Is?(o=Math.acos(r),d.phi=o-z,y.value===Os?d.lam=z-n:y.value===As?d.lam=-n:y.value===Gs?d.lam=-n-z:d.lam=n<0?-n-Q:Q-n):(c=(l=r)*l,u=1<=(c+=(M=1<=c?0:Math.sqrt(1-c)*Math.sin(n))*M)?0:Math.sqrt(1-c),y.value===As?(c=u,u=-M,M=c):y.value===Gs?(u=-u,M=-M):y.value===js&&(c=u,u=M,M=-c),this.face===Ns?(c=l,l=-u,u=c):this.face===ks?(l=-l,u=-u):this.face===Es&&(c=l,l=u,u=-c),d.phi=Math.acos(-M)-z,d.lam=Math.atan2(u,l),this.face===Ns?d.lam=S(d.lam,-z):this.face===ks?d.lam=S(d.lam,-Q):this.face===Es&&(d.lam=S(d.lam,+z))),0!==this.es&&(f=d.phi<0?1:0,m=Math.tan(d.phi),p=this.b/Math.sqrt(m*m+this.one_minus_f_squared),d.phi=Math.atan(Math.sqrt(this.a*this.a-p*p)/(this.one_minus_f*p)),f&&(d.phi=-d.phi)),d.lam+=this.long0,t.x=d.lam,t.y=d.phi,t},names:["Quadrilateralized Spherical Cube","Quadrilateralized_Spherical_Cube","qsc"]},Rs=[[1,22199e-21,-715515e-10,31103e-10],[.9986,-482243e-9,-24897e-9,-13309e-10],[.9954,-83103e-8,-448605e-10,-9.86701e-7],[.99,-.00135364,-59661e-9,36777e-10],[.9822,-.00167442,-449547e-11,-572411e-11],[.973,-.00214868,-903571e-10,1.8736e-8],[.96,-.00305085,-900761e-10,164917e-11],[.9427,-.00382792,-653386e-10,-26154e-10],[.9216,-.00467746,-10457e-8,481243e-11],[.8962,-.00536223,-323831e-10,-543432e-11],[.8679,-.00609363,-113898e-9,332484e-11],[.835,-.00698325,-640253e-10,9.34959e-7],[.7986,-.00755338,-500009e-10,9.35324e-7],[.7597,-.00798324,-35971e-9,-227626e-11],[.7186,-.00851367,-701149e-10,-86303e-10],[.6732,-.00986209,-199569e-9,191974e-10],[.6213,-.010418,883923e-10,624051e-11],[.5722,-.00906601,182e-6,624051e-11],[.5322,-.00677797,275608e-9,624051e-11]],Ls=[[-520417e-23,.0124,121431e-23,-845284e-16],[.062,.0124,-1.26793e-9,4.22642e-10],[.124,.0124,5.07171e-9,-1.60604e-9],[.186,.0123999,-1.90189e-8,6.00152e-9],[.248,.0124002,7.10039e-8,-2.24e-8],[.31,.0123992,-2.64997e-7,8.35986e-8],[.372,.0124029,9.88983e-7,-3.11994e-7],[.434,.0123893,-369093e-11,-4.35621e-7],[.4958,.0123198,-102252e-10,-3.45523e-7],[.5571,.0121916,-154081e-10,-5.82288e-7],[.6176,.0119938,-241424e-10,-5.25327e-7],[.6769,.011713,-320223e-10,-5.16405e-7],[.7346,.0113541,-397684e-10,-6.09052e-7],[.7903,.0109107,-489042e-10,-104739e-11],[.8435,.0103431,-64615e-9,-1.40374e-9],[.8936,.00969686,-64636e-9,-8547e-9],[.9394,.00840947,-192841e-9,-42106e-10],[.9761,.00616527,-256e-6,-42106e-10],[1,.00328947,-319159e-9,-42106e-10]],Ts=B/5,Ds=1/Ts,Bs={init:function(){this.x0=this.x0||0,this.y0=this.y0||0,this.long0=this.long0||0,this.es=0,this.title=this.title||"Robinson"},forward:function(t){var s=nt(t.x-this.long0),i=Math.abs(t.y),a=Math.floor(i*Ts);a<0?a=0:18<=a&&(a=17);var h={x:Yt(Rs[a],i=B*(i-Ds*a))*s,y:Yt(Ls[a],i)};return t.y<0&&(h.y=-h.y),h.x=h.x*this.a*.8487+this.x0,h.y=h.y*this.a*1.3523+this.y0,h},inverse:function(t){var a={x:(t.x-this.x0)/(.8487*this.a),y:Math.abs(t.y-this.y0)/(1.3523*this.a)};if(1<=a.y)a.x/=Rs[18][0],a.y=t.y<0?-z:z;else{var s=Math.floor(18*a.y);for(s<0?s=0:18<=s&&(s=17);;)if(Ls[s][0]>a.y)--s;else{if(!(Ls[s+1][0]<=a.y))break;++s}var h=Ls[s],i=function(t,s,i,a){for(var h=s;a;--a){var e=t(h);if(h-=e,Math.abs(e)<i)break}return h}(function(t){return(Yt(h,t)-a.y)/(i=t,(s=h)[1]+i*(2*s[2]+3*i*s[3]));var s,i},i=5*(a.y-h[0])/(Ls[s+1][0]-h[0]),D,100);a.x/=Yt(Rs[s],i),a.y=(5*s+i)*N,t.y<0&&(a.y=-a.y)}return a.x=nt(a.x+this.long0),a},names:["Robinson","robin"]},Us={init:function(){this.name="geocent"},forward:function(t){return M(t,this.es,this.a)},inverse:function(t){return c(t,this.es,this.a,this.b)},names:["Geocentric","geocentric","geocent","Geocent"]};return a.defaultDatum="WGS84",a.Proj=q,a.WGS84=new a.Proj("WGS84"),a.Point=C,a.toPoint=bt,a.defs=l,a.transform=f,a.mgrs=Ot,a.version="2.6.2",($t=a).Proj.projections.add(ss),$t.Proj.projections.add(is),$t.Proj.projections.add(as),$t.Proj.projections.add(es),$t.Proj.projections.add(ns),$t.Proj.projections.add(rs),$t.Proj.projections.add(os),$t.Proj.projections.add(ls),$t.Proj.projections.add(Ms),$t.Proj.projections.add(cs),$t.Proj.projections.add(us),$t.Proj.projections.add(fs),$t.Proj.projections.add(ms),$t.Proj.projections.add(ps),$t.Proj.projections.add(ds),$t.Proj.projections.add(ys),$t.Proj.projections.add(_s),$t.Proj.projections.add(xs),$t.Proj.projections.add(gs),$t.Proj.projections.add(bs),$t.Proj.projections.add(vs),$t.Proj.projections.add(ws),$t.Proj.projections.add(Cs),$t.Proj.projections.add(Ps),$t.Proj.projections.add(zs),$t.Proj.projections.add(Bs),$t.Proj.projections.add(Us),a});</script> <script>(function (factory) { var L, proj4; if (typeof define === 'function' && define.amd) { // AMD define(['leaflet', 'proj4'], factory); } else if (typeof module === 'object' && typeof module.exports === "object") { // Node/CommonJS L = require('leaflet'); proj4 = require('proj4'); module.exports = factory(L, proj4); } else { // Browser globals if (typeof window.L === 'undefined' || typeof window.proj4 === 'undefined') throw 'Leaflet and proj4 must be loaded first'; factory(window.L, window.proj4); } }(function (L, proj4) { if (proj4.__esModule && proj4.default) { // If proj4 was bundled as an ES6 module, unwrap it to get // to the actual main proj4 object. // See discussion in https://github.com/kartena/Proj4Leaflet/pull/147 proj4 = proj4.default; } L.Proj = {}; L.Proj._isProj4Obj = function(a) { return (typeof a.inverse !== 'undefined' && typeof a.forward !== 'undefined'); }; L.Proj.Projection = L.Class.extend({ initialize: function(code, def, bounds) { var isP4 = L.Proj._isProj4Obj(code); this._proj = isP4 ? code : this._projFromCodeDef(code, def); this.bounds = isP4 ? def : bounds; }, project: function (latlng) { var point = this._proj.forward([latlng.lng, latlng.lat]); return new L.Point(point[0], point[1]); }, unproject: function (point, unbounded) { var point2 = this._proj.inverse([point.x, point.y]); return new L.LatLng(point2[1], point2[0], unbounded); }, _projFromCodeDef: function(code, def) { if (def) { proj4.defs(code, def); } else if (proj4.defs[code] === undefined) { var urn = code.split(':'); if (urn.length > 3) { code = urn[urn.length - 3] + ':' + urn[urn.length - 1]; } if (proj4.defs[code] === undefined) { throw 'No projection definition for code ' + code; } } return proj4(code); } }); L.Proj.CRS = L.Class.extend({ includes: L.CRS, options: { transformation: new L.Transformation(1, 0, -1, 0) }, initialize: function(a, b, c) { var code, proj, def, options; if (L.Proj._isProj4Obj(a)) { proj = a; code = proj.srsCode; options = b || {}; this.projection = new L.Proj.Projection(proj, options.bounds); } else { code = a; def = b; options = c || {}; this.projection = new L.Proj.Projection(code, def, options.bounds); } L.Util.setOptions(this, options); this.code = code; this.transformation = this.options.transformation; if (this.options.origin) { this.transformation = new L.Transformation(1, -this.options.origin[0], -1, this.options.origin[1]); } if (this.options.scales) { this._scales = this.options.scales; } else if (this.options.resolutions) { this._scales = []; for (var i = this.options.resolutions.length - 1; i >= 0; i--) { if (this.options.resolutions[i]) { this._scales[i] = 1 / this.options.resolutions[i]; } } } this.infinite = !this.options.bounds; }, scale: function(zoom) { var iZoom = Math.floor(zoom), baseScale, nextScale, scaleDiff, zDiff; if (zoom === iZoom) { return this._scales[zoom]; } else { // Non-integer zoom, interpolate baseScale = this._scales[iZoom]; nextScale = this._scales[iZoom + 1]; scaleDiff = nextScale - baseScale; zDiff = (zoom - iZoom); return baseScale + scaleDiff * zDiff; } }, zoom: function(scale) { // Find closest number in this._scales, down var downScale = this._closestElement(this._scales, scale), downZoom = this._scales.indexOf(downScale), nextScale, nextZoom, scaleDiff; // Check if scale is downScale => return array index if (scale === downScale) { return downZoom; } if (downScale === undefined) { return -Infinity; } // Interpolate nextZoom = downZoom + 1; nextScale = this._scales[nextZoom]; if (nextScale === undefined) { return Infinity; } scaleDiff = nextScale - downScale; return (scale - downScale) / scaleDiff + downZoom; }, distance: L.CRS.Earth.distance, R: L.CRS.Earth.R, /* Get the closest lowest element in an array */ _closestElement: function(array, element) { var low; for (var i = array.length; i--;) { if (array[i] <= element && (low === undefined || low < array[i])) { low = array[i]; } } return low; } }); L.Proj.GeoJSON = L.GeoJSON.extend({ initialize: function(geojson, options) { this._callLevel = 0; L.GeoJSON.prototype.initialize.call(this, geojson, options); }, addData: function(geojson) { var crs; if (geojson) { if (geojson.crs && geojson.crs.type === 'name') { crs = new L.Proj.CRS(geojson.crs.properties.name); } else if (geojson.crs && geojson.crs.type) { crs = new L.Proj.CRS(geojson.crs.type + ':' + geojson.crs.properties.code); } if (crs !== undefined) { this.options.coordsToLatLng = function(coords) { var point = L.point(coords[0], coords[1]); return crs.projection.unproject(point); }; } } // Base class' addData might call us recursively, but // CRS shouldn't be cleared in that case, since CRS applies // to the whole GeoJSON, inluding sub-features. this._callLevel++; try { L.GeoJSON.prototype.addData.call(this, geojson); } finally { this._callLevel--; if (this._callLevel === 0) { delete this.options.coordsToLatLng; } } } }); L.Proj.geoJson = function(geojson, options) { return new L.Proj.GeoJSON(geojson, options); }; L.Proj.ImageOverlay = L.ImageOverlay.extend({ initialize: function (url, bounds, options) { L.ImageOverlay.prototype.initialize.call(this, url, null, options); this._projectedBounds = bounds; }, // Danger ahead: Overriding internal methods in Leaflet. // Decided to do this rather than making a copy of L.ImageOverlay // and doing very tiny modifications to it. // Future will tell if this was wise or not. _animateZoom: function (event) { var scale = this._map.getZoomScale(event.zoom); var northWest = L.point(this._projectedBounds.min.x, this._projectedBounds.max.y); var offset = this._projectedToNewLayerPoint(northWest, event.zoom, event.center); L.DomUtil.setTransform(this._image, offset, scale); }, _reset: function () { var zoom = this._map.getZoom(); var pixelOrigin = this._map.getPixelOrigin(); var bounds = L.bounds( this._transform(this._projectedBounds.min, zoom)._subtract(pixelOrigin), this._transform(this._projectedBounds.max, zoom)._subtract(pixelOrigin) ); var size = bounds.getSize(); L.DomUtil.setPosition(this._image, bounds.min); this._image.style.width = size.x + 'px'; this._image.style.height = size.y + 'px'; }, _projectedToNewLayerPoint: function (point, zoom, center) { var viewHalf = this._map.getSize()._divideBy(2); var newTopLeft = this._map.project(center, zoom)._subtract(viewHalf)._round(); var topLeft = newTopLeft.add(this._map._getMapPanePos()); return this._transform(point, zoom)._subtract(topLeft); }, _transform: function (point, zoom) { var crs = this._map.options.crs; var transformation = crs.transformation; var scale = crs.scale(zoom); return transformation.transform(point, scale); } }); L.Proj.imageOverlay = function (url, bounds, options) { return new L.Proj.ImageOverlay(url, bounds, options); }; return L.Proj; })); </script> <style type="text/css">.leaflet-tooltip.leaflet-tooltip-text-only, .leaflet-tooltip.leaflet-tooltip-text-only:before, .leaflet-tooltip.leaflet-tooltip-text-only:after { background: none; border: none; box-shadow: none; } .leaflet-tooltip.leaflet-tooltip-text-only.leaflet-tooltip-left { margin-left: 5px; } .leaflet-tooltip.leaflet-tooltip-text-only.leaflet-tooltip-right { margin-left: -5px; } .leaflet-tooltip:after { border-right: 6px solid transparent; } .leaflet-popup-pane .leaflet-popup-tip-container { pointer-events: all; cursor: pointer; } .leaflet-map-pane { z-index: auto; } .leaflet-container .leaflet-right-pane img, .leaflet-container .leaflet-left-pane img { max-width: none !important; max-height: none !important; } </style> <script>(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = undefined; var _util = require("./util"); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } var ClusterLayerStore = /*#__PURE__*/function () { function ClusterLayerStore(group) { _classCallCheck(this, ClusterLayerStore); this._layers = {}; this._group = group; } _createClass(ClusterLayerStore, [{ key: "add", value: function add(layer, id) { if (typeof id !== "undefined" && id !== null) { if (this._layers[id]) { this._group.removeLayer(this._layers[id]); } this._layers[id] = layer; } this._group.addLayer(layer); } }, { key: "remove", value: function remove(id) { if (typeof id === "undefined" || id === null) { return; } id = (0, _util.asArray)(id); for (var i = 0; i < id.length; i++) { if (this._layers[id[i]]) { this._group.removeLayer(this._layers[id[i]]); delete this._layers[id[i]]; } } } }, { key: "clear", value: function clear() { this._layers = {}; this._group.clearLayers(); } }]); return ClusterLayerStore; }(); exports["default"] = ClusterLayerStore; },{"./util":17}],2:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } var ControlStore = /*#__PURE__*/function () { function ControlStore(map) { _classCallCheck(this, ControlStore); this._controlsNoId = []; this._controlsById = {}; this._map = map; } _createClass(ControlStore, [{ key: "add", value: function add(control, id, html) { if (typeof id !== "undefined" && id !== null) { if (this._controlsById[id]) { this._map.removeControl(this._controlsById[id]); } this._controlsById[id] = control; } else { this._controlsNoId.push(control); } this._map.addControl(control); } }, { key: "get", value: function get(id) { var control = null; if (this._controlsById[id]) { control = this._controlsById[id]; } return control; } }, { key: "remove", value: function remove(id) { if (this._controlsById[id]) { var control = this._controlsById[id]; this._map.removeControl(control); delete this._controlsById[id]; } } }, { key: "clear", value: function clear() { for (var i = 0; i < this._controlsNoId.length; i++) { var control = this._controlsNoId[i]; this._map.removeControl(control); } this._controlsNoId = []; for (var key in this._controlsById) { var _control = this._controlsById[key]; this._map.removeControl(_control); } this._controlsById = {}; } }]); return ControlStore; }(); exports["default"] = ControlStore; },{}],3:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getCRS = getCRS; var _leaflet = require("./global/leaflet"); var _leaflet2 = _interopRequireDefault(_leaflet); var _proj4leaflet = require("./global/proj4leaflet"); var _proj4leaflet2 = _interopRequireDefault(_proj4leaflet); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } // Helper function to instanciate a ICRS instance. function getCRS(crsOptions) { var crs = _leaflet2["default"].CRS.EPSG3857; // Default Spherical Mercator switch (crsOptions.crsClass) { case "L.CRS.EPSG3857": crs = _leaflet2["default"].CRS.EPSG3857; break; case "L.CRS.EPSG4326": crs = _leaflet2["default"].CRS.EPSG4326; break; case "L.CRS.EPSG3395": crs = _leaflet2["default"].CRS.EPSG3395; break; case "L.CRS.Simple": crs = _leaflet2["default"].CRS.Simple; break; case "L.Proj.CRS": if (crsOptions.options && crsOptions.options.bounds) { crsOptions.options.bounds = _leaflet2["default"].bounds(crsOptions.options.bounds); } if (crsOptions.options && crsOptions.options.transformation) { crsOptions.options.transformation = new _leaflet2["default"].Transformation(crsOptions.options.transformation[0], crsOptions.options.transformation[1], crsOptions.options.transformation[2], crsOptions.options.transformation[3]); } crs = new _proj4leaflet2["default"].CRS(crsOptions.code, crsOptions.proj4def, crsOptions.options); break; case "L.Proj.CRS.TMS": if (crsOptions.options && crsOptions.options.bounds) { crsOptions.options.bounds = _leaflet2["default"].bounds(crsOptions.options.bounds); } if (crsOptions.options && crsOptions.options.transformation) { crsOptions.options.transformation = _leaflet2["default"].Transformation(crsOptions.options.transformation[0], crsOptions.options.transformation[1], crsOptions.options.transformation[2], crsOptions.options.transformation[3]); } // L.Proj.CRS.TMS is deprecated as of Leaflet 1.x, fall back to L.Proj.CRS //crs = new Proj4Leaflet.CRS.TMS(crsOptions.code, crsOptions.proj4def, crsOptions.projectedBounds, crsOptions.options); crs = new _proj4leaflet2["default"].CRS(crsOptions.code, crsOptions.proj4def, crsOptions.options); break; } return crs; } },{"./global/leaflet":10,"./global/proj4leaflet":11}],4:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = undefined; var _util = require("./util"); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } var DataFrame = /*#__PURE__*/function () { function DataFrame() { _classCallCheck(this, DataFrame); this.columns = []; this.colnames = []; this.colstrict = []; this.effectiveLength = 0; this.colindices = {}; } _createClass(DataFrame, [{ key: "_updateCachedProperties", value: function _updateCachedProperties() { var _this = this; this.effectiveLength = 0; this.colindices = {}; this.columns.forEach(function (column, i) { _this.effectiveLength = Math.max(_this.effectiveLength, column.length); _this.colindices[_this.colnames[i]] = i; }); } }, { key: "_colIndex", value: function _colIndex(colname) { var index = this.colindices[colname]; if (typeof index === "undefined") return -1; return index; } }, { key: "col", value: function col(name, values, strict) { if (typeof name !== "string") throw new Error("Invalid column name \"" + name + "\""); var index = this._colIndex(name); if (arguments.length === 1) { if (index < 0) return null;else return (0, _util.recycle)(this.columns[index], this.effectiveLength); } if (index < 0) { index = this.colnames.length; this.colnames.push(name); } this.columns[index] = (0, _util.asArray)(values); this.colstrict[index] = !!strict; // TODO: Validate strictness (ensure lengths match up with other stricts) this._updateCachedProperties(); return this; } }, { key: "cbind", value: function cbind(obj, strict) { var _this2 = this; Object.keys(obj).forEach(function (name) { var coldata = obj[name]; _this2.col(name, coldata); }); return this; } }, { key: "get", value: function get(row, col, missingOK) { var _this3 = this; if (row > this.effectiveLength) throw new Error("Row argument was out of bounds: " + row + " > " + this.effectiveLength); var colIndex = -1; if (typeof col === "undefined") { var rowData = {}; this.colnames.forEach(function (name, i) { rowData[name] = _this3.columns[i][row % _this3.columns[i].length]; }); return rowData; } else if (typeof col === "string") { colIndex = this._colIndex(col); } else if (typeof col === "number") { colIndex = col; } if (colIndex < 0 || colIndex > this.columns.length) { if (missingOK) return void 0;else throw new Error("Unknown column index: " + col); } return this.columns[colIndex][row % this.columns[colIndex].length]; } }, { key: "nrow", value: function nrow() { return this.effectiveLength; } }]); return DataFrame; }(); exports["default"] = DataFrame; },{"./util":17}],5:[function(require,module,exports){ "use strict"; var _leaflet = require("./global/leaflet"); var _leaflet2 = _interopRequireDefault(_leaflet); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } // In RMarkdown's self-contained mode, we don't have a way to carry around the // images that Leaflet needs but doesn't load into the page. Instead, we'll use // the unpkg CDN. if (typeof _leaflet2["default"].Icon.Default.imagePath === "undefined") { _leaflet2["default"].Icon.Default.imagePath = "https://unpkg.com/leaflet@1.3.1/dist/images/"; } },{"./global/leaflet":10}],6:[function(require,module,exports){ "use strict"; var _leaflet = require("./global/leaflet"); var _leaflet2 = _interopRequireDefault(_leaflet); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } // add texxtsize, textOnly, and style _leaflet2["default"].Tooltip.prototype.options.textsize = "10px"; _leaflet2["default"].Tooltip.prototype.options.textOnly = false; _leaflet2["default"].Tooltip.prototype.options.style = null; // copy original layout to not completely stomp it. var initLayoutOriginal = _leaflet2["default"].Tooltip.prototype._initLayout; _leaflet2["default"].Tooltip.prototype._initLayout = function () { initLayoutOriginal.call(this); this._container.style.fontSize = this.options.textsize; if (this.options.textOnly) { _leaflet2["default"].DomUtil.addClass(this._container, "leaflet-tooltip-text-only"); } if (this.options.style) { for (var property in this.options.style) { this._container.style[property] = this.options.style[property]; } } }; },{"./global/leaflet":10}],7:[function(require,module,exports){ "use strict"; var _leaflet = require("./global/leaflet"); var _leaflet2 = _interopRequireDefault(_leaflet); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } var protocolRegex = /^\/\//; var upgrade_protocol = function upgrade_protocol(urlTemplate) { if (protocolRegex.test(urlTemplate)) { if (window.location.protocol === "file:") { // if in a local file, support http // http should auto upgrade if necessary urlTemplate = "http:" + urlTemplate; } } return urlTemplate; }; var originalLTileLayerInitialize = _leaflet2["default"].TileLayer.prototype.initialize; _leaflet2["default"].TileLayer.prototype.initialize = function (urlTemplate, options) { urlTemplate = upgrade_protocol(urlTemplate); originalLTileLayerInitialize.call(this, urlTemplate, options); }; var originalLTileLayerWMSInitialize = _leaflet2["default"].TileLayer.WMS.prototype.initialize; _leaflet2["default"].TileLayer.WMS.prototype.initialize = function (urlTemplate, options) { urlTemplate = upgrade_protocol(urlTemplate); originalLTileLayerWMSInitialize.call(this, urlTemplate, options); }; },{"./global/leaflet":10}],8:[function(require,module,exports){ (function (global){(function (){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = global.HTMLWidgets; }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) },{}],9:[function(require,module,exports){ (function (global){(function (){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = global.jQuery; }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) },{}],10:[function(require,module,exports){ (function (global){(function (){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = global.L; }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) },{}],11:[function(require,module,exports){ (function (global){(function (){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = global.L.Proj; }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) },{}],12:[function(require,module,exports){ (function (global){(function (){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = global.Shiny; }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) },{}],13:[function(require,module,exports){ "use strict"; var _jquery = require("./global/jquery"); var _jquery2 = _interopRequireDefault(_jquery); var _leaflet = require("./global/leaflet"); var _leaflet2 = _interopRequireDefault(_leaflet); var _shiny = require("./global/shiny"); var _shiny2 = _interopRequireDefault(_shiny); var _htmlwidgets = require("./global/htmlwidgets"); var _htmlwidgets2 = _interopRequireDefault(_htmlwidgets); var _util = require("./util"); var _crs_utils = require("./crs_utils"); var _controlStore = require("./control-store"); var _controlStore2 = _interopRequireDefault(_controlStore); var _layerManager = require("./layer-manager"); var _layerManager2 = _interopRequireDefault(_layerManager); var _methods = require("./methods"); var _methods2 = _interopRequireDefault(_methods); require("./fixup-default-icon"); require("./fixup-default-tooltip"); require("./fixup-url-protocol"); var _dataframe = require("./dataframe"); var _dataframe2 = _interopRequireDefault(_dataframe); var _clusterLayerStore = require("./cluster-layer-store"); var _clusterLayerStore2 = _interopRequireDefault(_clusterLayerStore); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } window.LeafletWidget = {}; window.LeafletWidget.utils = {}; var methods = window.LeafletWidget.methods = _jquery2["default"].extend({}, _methods2["default"]); window.LeafletWidget.DataFrame = _dataframe2["default"]; window.LeafletWidget.ClusterLayerStore = _clusterLayerStore2["default"]; window.LeafletWidget.utils.getCRS = _crs_utils.getCRS; // Send updated bounds back to app. Takes a leaflet event object as input. function updateBounds(map) { var id = map.getContainer().id; var bounds = map.getBounds(); _shiny2["default"].onInputChange(id + "_bounds", { north: bounds.getNorthEast().lat, east: bounds.getNorthEast().lng, south: bounds.getSouthWest().lat, west: bounds.getSouthWest().lng }); _shiny2["default"].onInputChange(id + "_center", { lng: map.getCenter().lng, lat: map.getCenter().lat }); _shiny2["default"].onInputChange(id + "_zoom", map.getZoom()); } function preventUnintendedZoomOnScroll(map) { // Prevent unwanted scroll capturing. Similar in purpose to // https://github.com/CliffCloud/Leaflet.Sleep but with a // different set of heuristics. // The basic idea is that when a mousewheel/DOMMouseScroll // event is seen, we disable scroll wheel zooming until the // user moves their mouse cursor or clicks on the map. This // is slightly trickier than just listening for mousemove, // because mousemove is fired when the page is scrolled, // even if the user did not physically move the mouse. We // handle this by examining the mousemove event's screenX // and screenY properties; if they change, we know it's a // "true" move. // lastScreen can never be null, but its x and y can. var lastScreen = { x: null, y: null }; (0, _jquery2["default"])(document).on("mousewheel DOMMouseScroll", "*", function (e) { // Disable zooming (until the mouse moves or click) map.scrollWheelZoom.disable(); // Any mousemove events at this screen position will be ignored. lastScreen = { x: e.originalEvent.screenX, y: e.originalEvent.screenY }; }); (0, _jquery2["default"])(document).on("mousemove", "*", function (e) { // Did the mouse really move? if (lastScreen.x !== null && e.screenX !== lastScreen.x || e.screenY !== lastScreen.y) { // It really moved. Enable zooming. map.scrollWheelZoom.enable(); lastScreen = { x: null, y: null }; } }); (0, _jquery2["default"])(document).on("mousedown", ".leaflet", function (e) { // Clicking always enables zooming. map.scrollWheelZoom.enable(); lastScreen = { x: null, y: null }; }); } _htmlwidgets2["default"].widget({ name: "leaflet", type: "output", factory: function factory(el, width, height) { var map = null; return { // we need to store our map in our returned object. getMap: function getMap() { return map; }, renderValue: function renderValue(data) { // Create an appropriate CRS Object if specified if (data && data.options && data.options.crs) { data.options.crs = (0, _crs_utils.getCRS)(data.options.crs); } // As per https://github.com/rstudio/leaflet/pull/294#discussion_r79584810 if (map) { map.remove(); map = function () { return; }(); // undefine map } if (data.options.mapFactory && typeof data.options.mapFactory === "function") { map = data.options.mapFactory(el, data.options); } else { map = _leaflet2["default"].map(el, data.options); } preventUnintendedZoomOnScroll(map); // Store some state in the map object map.leafletr = { // Has the map ever rendered successfully? hasRendered: false, // Data to be rendered when resize is called with area != 0 pendingRenderData: null }; // Check if the map is rendered statically (no output binding) if (_htmlwidgets2["default"].shinyMode && /\bshiny-bound-output\b/.test(el.className)) { map.id = el.id; // Store the map on the element so we can find it later by ID (0, _jquery2["default"])(el).data("leaflet-map", map); // When the map is clicked, send the coordinates back to the app map.on("click", function (e) { _shiny2["default"].onInputChange(map.id + "_click", { lat: e.latlng.lat, lng: e.latlng.lng, ".nonce": Math.random() // Force reactivity if lat/lng hasn't changed }); }); var groupTimerId = null; map.on("moveend", function (e) { updateBounds(e.target); }).on("layeradd layerremove", function (e) { // If the layer that's coming or going is a group we created, tell // the server. if (map.layerManager.getGroupNameFromLayerGroup(e.layer)) { // But to avoid chattiness, coalesce events if (groupTimerId) { clearTimeout(groupTimerId); groupTimerId = null; } groupTimerId = setTimeout(function () { groupTimerId = null; _shiny2["default"].onInputChange(map.id + "_groups", map.layerManager.getVisibleGroups()); }, 100); } }); } this.doRenderValue(data, map); }, doRenderValue: function doRenderValue(data, map) { // Leaflet does not behave well when you set up a bunch of layers when // the map is not visible (width/height == 0). Popups get misaligned // relative to their owning markers, and the fitBounds calculations // are off. Therefore we wait until the map is actually showing to // render the value (we rely on the resize() callback being invoked // at the appropriate time). if (el.offsetWidth === 0 || el.offsetHeight === 0) { map.leafletr.pendingRenderData = data; return; } map.leafletr.pendingRenderData = null; // Merge data options into defaults var options = _jquery2["default"].extend({ zoomToLimits: "always" }, data.options); if (!map.layerManager) { map.controls = new _controlStore2["default"](map); map.layerManager = new _layerManager2["default"](map); } else { map.controls.clear(); map.layerManager.clear(); } var explicitView = false; if (data.setView) { explicitView = true; map.setView.apply(map, data.setView); } if (data.fitBounds) { explicitView = true; methods.fitBounds.apply(map, data.fitBounds); } if (data.flyTo) { if (!explicitView && !map.leafletr.hasRendered) { // must be done to give a initial starting point map.fitWorld(); } explicitView = true; map.flyTo.apply(map, data.flyTo); } if (data.flyToBounds) { if (!explicitView && !map.leafletr.hasRendered) { // must be done to give a initial starting point map.fitWorld(); } explicitView = true; methods.flyToBounds.apply(map, data.flyToBounds); } if (data.options.center) { explicitView = true; } // Returns true if the zoomToLimits option says that the map should be // zoomed to map elements. function needsZoom() { return options.zoomToLimits === "always" || options.zoomToLimits === "first" && !map.leafletr.hasRendered; } if (!explicitView && needsZoom() && !map.getZoom()) { if (data.limits && !_jquery2["default"].isEmptyObject(data.limits)) { // Use the natural limits of what's being drawn on the map // If the size of the bounding box is 0, leaflet gets all weird var pad = 0.006; if (data.limits.lat[0] === data.limits.lat[1]) { data.limits.lat[0] = data.limits.lat[0] - pad; data.limits.lat[1] = data.limits.lat[1] + pad; } if (data.limits.lng[0] === data.limits.lng[1]) { data.limits.lng[0] = data.limits.lng[0] - pad; data.limits.lng[1] = data.limits.lng[1] + pad; } map.fitBounds([[data.limits.lat[0], data.limits.lng[0]], [data.limits.lat[1], data.limits.lng[1]]]); } else { map.fitWorld(); } } for (var i = 0; data.calls && i < data.calls.length; i++) { var call = data.calls[i]; if (methods[call.method]) methods[call.method].apply(map, call.args);else (0, _util.log)("Unknown method " + call.method); } map.leafletr.hasRendered = true; if (_htmlwidgets2["default"].shinyMode) { setTimeout(function () { updateBounds(map); }, 1); } }, resize: function resize(width, height) { if (map) { map.invalidateSize(); if (map.leafletr.pendingRenderData) { this.doRenderValue(map.leafletr.pendingRenderData, map); } } } }; } }); if (_htmlwidgets2["default"].shinyMode) { _shiny2["default"].addCustomMessageHandler("leaflet-calls", function (data) { var id = data.id; var el = document.getElementById(id); var map = el ? (0, _jquery2["default"])(el).data("leaflet-map") : null; if (!map) { (0, _util.log)("Couldn't find map with id " + id); return; } // If the map has not rendered, stash the proposed `leafletProxy()` calls // in `pendingRenderData.calls` to be run on display via `doRenderValue()`. // This is necessary if the map has not been rendered. // If new pendingRenderData is set via a new `leaflet()`, the previous calls will be discarded. if (!map.leafletr.hasRendered) { map.leafletr.pendingRenderData.calls = map.leafletr.pendingRenderData.calls.concat(data.calls); return; } for (var i = 0; i < data.calls.length; i++) { var call = data.calls[i]; var args = call.args; for (var _i = 0; _i < call.evals.length; _i++) { window.HTMLWidgets.evaluateStringMember(args, call.evals[_i]); } if (call.dependencies) { _shiny2["default"].renderDependencies(call.dependencies); } if (methods[call.method]) methods[call.method].apply(map, args);else (0, _util.log)("Unknown method " + call.method); } }); } },{"./cluster-layer-store":1,"./control-store":2,"./crs_utils":3,"./dataframe":4,"./fixup-default-icon":5,"./fixup-default-tooltip":6,"./fixup-url-protocol":7,"./global/htmlwidgets":8,"./global/jquery":9,"./global/leaflet":10,"./global/shiny":12,"./layer-manager":14,"./methods":15,"./util":17}],14:[function(require,module,exports){ (function (global){(function (){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = undefined; var _jquery = require("./global/jquery"); var _jquery2 = _interopRequireDefault(_jquery); var _leaflet = require("./global/leaflet"); var _leaflet2 = _interopRequireDefault(_leaflet); var _util = require("./util"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } var LayerManager = /*#__PURE__*/function () { function LayerManager(map) { _classCallCheck(this, LayerManager); this._map = map; // BEGIN layer indices // {<groupname>: {<stamp>: layer}} this._byGroup = {}; // {<categoryName>: {<stamp>: layer}} this._byCategory = {}; // {<categoryName_layerId>: layer} this._byLayerId = {}; // {<stamp>: { // "group": <groupname>, // "layerId": <layerId>, // "category": <category>, // "container": <container> // } // } this._byStamp = {}; // {<crosstalkGroupName>: {<key>: [<stamp>, <stamp>, ...], ...}} this._byCrosstalkGroup = {}; // END layer indices // {<categoryName>: L.layerGroup} this._categoryContainers = {}; // {<groupName>: L.layerGroup} this._groupContainers = {}; } _createClass(LayerManager, [{ key: "addLayer", value: function addLayer(layer, category, layerId, group, ctGroup, ctKey) { var _this = this; // Was a group provided? var hasId = typeof layerId === "string"; var grouped = typeof group === "string"; var stamp = _leaflet2["default"].Util.stamp(layer) + ""; // This will be the default layer group to add the layer to. // We may overwrite this let before using it (i.e. if a group is assigned). // This one liner creates the _categoryContainers[category] entry if it // doesn't already exist. var container = this._categoryContainers[category] = this._categoryContainers[category] || _leaflet2["default"].layerGroup().addTo(this._map); var oldLayer = null; if (hasId) { // First, remove any layer with the same category and layerId var prefixedLayerId = this._layerIdKey(category, layerId); oldLayer = this._byLayerId[prefixedLayerId]; if (oldLayer) { this._removeLayer(oldLayer); } // Update layerId index this._byLayerId[prefixedLayerId] = layer; } // Update group index if (grouped) { this._byGroup[group] = this._byGroup[group] || {}; this._byGroup[group][stamp] = layer; // Since a group is assigned, don't add the layer to the category's layer // group; instead, use the group's layer group. // This one liner creates the _groupContainers[group] entry if it doesn't // already exist. container = this.getLayerGroup(group, true); } // Update category index this._byCategory[category] = this._byCategory[category] || {}; this._byCategory[category][stamp] = layer; // Update stamp index var layerInfo = this._byStamp[stamp] = { layer: layer, group: group, ctGroup: ctGroup, ctKey: ctKey, layerId: layerId, category: category, container: container, hidden: false }; // Update crosstalk group index if (ctGroup) { if (layer.setStyle) { // Need to save this info so we know what to set opacity to later layer.options.origOpacity = typeof layer.options.opacity !== "undefined" ? layer.options.opacity : 0.5; layer.options.origFillOpacity = typeof layer.options.fillOpacity !== "undefined" ? layer.options.fillOpacity : 0.2; } var ctg = this._byCrosstalkGroup[ctGroup]; if (!ctg) { ctg = this._byCrosstalkGroup[ctGroup] = {}; var crosstalk = global.crosstalk; var handleFilter = function handleFilter(e) { if (!e.value) { var groupKeys = Object.keys(ctg); for (var i = 0; i < groupKeys.length; i++) { var key = groupKeys[i]; var _layerInfo = _this._byStamp[ctg[key]]; _this._setVisibility(_layerInfo, true); } } else { var selectedKeys = {}; for (var _i = 0; _i < e.value.length; _i++) { selectedKeys[e.value[_i]] = true; } var _groupKeys = Object.keys(ctg); for (var _i2 = 0; _i2 < _groupKeys.length; _i2++) { var _key = _groupKeys[_i2]; var _layerInfo2 = _this._byStamp[ctg[_key]]; _this._setVisibility(_layerInfo2, selectedKeys[_groupKeys[_i2]]); } } }; var filterHandle = new crosstalk.FilterHandle(ctGroup); filterHandle.on("change", handleFilter); var handleSelection = function handleSelection(e) { if (!e.value || !e.value.length) { var groupKeys = Object.keys(ctg); for (var i = 0; i < groupKeys.length; i++) { var key = groupKeys[i]; var _layerInfo3 = _this._byStamp[ctg[key]]; _this._setOpacity(_layerInfo3, 1.0); } } else { var selectedKeys = {}; for (var _i3 = 0; _i3 < e.value.length; _i3++) { selectedKeys[e.value[_i3]] = true; } var _groupKeys2 = Object.keys(ctg); for (var _i4 = 0; _i4 < _groupKeys2.length; _i4++) { var _key2 = _groupKeys2[_i4]; var _layerInfo4 = _this._byStamp[ctg[_key2]]; _this._setOpacity(_layerInfo4, selectedKeys[_groupKeys2[_i4]] ? 1.0 : 0.2); } } }; var selHandle = new crosstalk.SelectionHandle(ctGroup); selHandle.on("change", handleSelection); setTimeout(function () { handleFilter({ value: filterHandle.filteredKeys }); handleSelection({ value: selHandle.value }); }, 100); } if (!ctg[ctKey]) ctg[ctKey] = []; ctg[ctKey].push(stamp); } // Add to container if (!layerInfo.hidden) container.addLayer(layer); return oldLayer; } }, { key: "brush", value: function brush(bounds, extraInfo) { var _this2 = this; /* eslint-disable no-console */ // For each Crosstalk group... Object.keys(this._byCrosstalkGroup).forEach(function (ctGroupName) { var ctg = _this2._byCrosstalkGroup[ctGroupName]; var selection = []; // ...iterate over each Crosstalk key (each of which may have multiple // layers)... Object.keys(ctg).forEach(function (ctKey) { // ...and for each layer... ctg[ctKey].forEach(function (stamp) { var layerInfo = _this2._byStamp[stamp]; // ...if it's something with a point... if (layerInfo.layer.getLatLng) { // ... and it's inside the selection bounds... // TODO: Use pixel containment, not lat/lng containment if (bounds.contains(layerInfo.layer.getLatLng())) { // ...add the key to the selection. selection.push(ctKey); } } }); }); new global.crosstalk.SelectionHandle(ctGroupName).set(selection, extraInfo); }); } }, { key: "unbrush", value: function unbrush(extraInfo) { Object.keys(this._byCrosstalkGroup).forEach(function (ctGroupName) { new global.crosstalk.SelectionHandle(ctGroupName).clear(extraInfo); }); } }, { key: "_setVisibility", value: function _setVisibility(layerInfo, visible) { if (layerInfo.hidden ^ visible) { return; } else if (visible) { layerInfo.container.addLayer(layerInfo.layer); layerInfo.hidden = false; } else { layerInfo.container.removeLayer(layerInfo.layer); layerInfo.hidden = true; } } }, { key: "_setOpacity", value: function _setOpacity(layerInfo, opacity) { if (layerInfo.layer.setOpacity) { layerInfo.layer.setOpacity(opacity); } else if (layerInfo.layer.setStyle) { layerInfo.layer.setStyle({ opacity: opacity * layerInfo.layer.options.origOpacity, fillOpacity: opacity * layerInfo.layer.options.origFillOpacity }); } } }, { key: "getLayer", value: function getLayer(category, layerId) { return this._byLayerId[this._layerIdKey(category, layerId)]; } }, { key: "removeLayer", value: function removeLayer(category, layerIds) { var _this3 = this; // Find layer info _jquery2["default"].each((0, _util.asArray)(layerIds), function (i, layerId) { var layer = _this3._byLayerId[_this3._layerIdKey(category, layerId)]; if (layer) { _this3._removeLayer(layer); } }); } }, { key: "clearLayers", value: function clearLayers(category) { var _this4 = this; // Find all layers in _byCategory[category] var catTable = this._byCategory[category]; if (!catTable) { return false; } // Remove all layers. Make copy of keys to avoid mutating the collection // behind the iterator you're accessing. var stamps = []; _jquery2["default"].each(catTable, function (k, v) { stamps.push(k); }); _jquery2["default"].each(stamps, function (i, stamp) { _this4._removeLayer(stamp); }); } }, { key: "getLayerGroup", value: function getLayerGroup(group, ensureExists) { var g = this._groupContainers[group]; if (ensureExists && !g) { this._byGroup[group] = this._byGroup[group] || {}; g = this._groupContainers[group] = _leaflet2["default"].featureGroup(); g.groupname = group; g.addTo(this._map); } return g; } }, { key: "getGroupNameFromLayerGroup", value: function getGroupNameFromLayerGroup(layerGroup) { return layerGroup.groupname; } }, { key: "getVisibleGroups", value: function getVisibleGroups() { var _this5 = this; var result = []; _jquery2["default"].each(this._groupContainers, function (k, v) { if (_this5._map.hasLayer(v)) { result.push(k); } }); return result; } }, { key: "getAllGroupNames", value: function getAllGroupNames() { var result = []; _jquery2["default"].each(this._groupContainers, function (k, v) { result.push(k); }); return result; } }, { key: "clearGroup", value: function clearGroup(group) { var _this6 = this; // Find all layers in _byGroup[group] var groupTable = this._byGroup[group]; if (!groupTable) { return false; } // Remove all layers. Make copy of keys to avoid mutating the collection // behind the iterator you're accessing. var stamps = []; _jquery2["default"].each(groupTable, function (k, v) { stamps.push(k); }); _jquery2["default"].each(stamps, function (i, stamp) { _this6._removeLayer(stamp); }); } }, { key: "clear", value: function clear() { function clearLayerGroup(key, layerGroup) { layerGroup.clearLayers(); } // Clear all indices and layerGroups this._byGroup = {}; this._byCategory = {}; this._byLayerId = {}; this._byStamp = {}; this._byCrosstalkGroup = {}; _jquery2["default"].each(this._categoryContainers, clearLayerGroup); this._categoryContainers = {}; _jquery2["default"].each(this._groupContainers, clearLayerGroup); this._groupContainers = {}; } }, { key: "_removeLayer", value: function _removeLayer(layer) { var stamp; if (typeof layer === "string") { stamp = layer; } else { stamp = _leaflet2["default"].Util.stamp(layer); } var layerInfo = this._byStamp[stamp]; if (!layerInfo) { return false; } layerInfo.container.removeLayer(stamp); if (typeof layerInfo.group === "string") { delete this._byGroup[layerInfo.group][stamp]; } if (typeof layerInfo.layerId === "string") { delete this._byLayerId[this._layerIdKey(layerInfo.category, layerInfo.layerId)]; } delete this._byCategory[layerInfo.category][stamp]; delete this._byStamp[stamp]; if (layerInfo.ctGroup) { var ctGroup = this._byCrosstalkGroup[layerInfo.ctGroup]; var layersForKey = ctGroup[layerInfo.ctKey]; var idx = layersForKey ? layersForKey.indexOf(stamp) : -1; if (idx >= 0) { if (layersForKey.length === 1) { delete ctGroup[layerInfo.ctKey]; } else { layersForKey.splice(idx, 1); } } } } }, { key: "_layerIdKey", value: function _layerIdKey(category, layerId) { return category + "\n" + layerId; } }]); return LayerManager; }(); exports["default"] = LayerManager; }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) },{"./global/jquery":9,"./global/leaflet":10,"./util":17}],15:[function(require,module,exports){ (function (global){(function (){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _jquery = require("./global/jquery"); var _jquery2 = _interopRequireDefault(_jquery); var _leaflet = require("./global/leaflet"); var _leaflet2 = _interopRequireDefault(_leaflet); var _shiny = require("./global/shiny"); var _shiny2 = _interopRequireDefault(_shiny); var _htmlwidgets = require("./global/htmlwidgets"); var _htmlwidgets2 = _interopRequireDefault(_htmlwidgets); var _util = require("./util"); var _crs_utils = require("./crs_utils"); var _dataframe = require("./dataframe"); var _dataframe2 = _interopRequireDefault(_dataframe); var _clusterLayerStore = require("./cluster-layer-store"); var _clusterLayerStore2 = _interopRequireDefault(_clusterLayerStore); var _mipmapper = require("./mipmapper"); var _mipmapper2 = _interopRequireDefault(_mipmapper); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } var methods = {}; exports["default"] = methods; function mouseHandler(mapId, layerId, group, eventName, extraInfo) { return function (e) { if (!_htmlwidgets2["default"].shinyMode) return; var latLng = e.target.getLatLng ? e.target.getLatLng() : e.latlng; if (latLng) { // retrieve only lat, lon values to remove prototype // and extra parameters added by 3rd party modules // these objects are for json serialization, not javascript var latLngVal = _leaflet2["default"].latLng(latLng); // make sure it has consistent shape latLng = { lat: latLngVal.lat, lng: latLngVal.lng }; } var eventInfo = _jquery2["default"].extend({ id: layerId, ".nonce": Math.random() // force reactivity }, group !== null ? { group: group } : null, latLng, extraInfo); _shiny2["default"].onInputChange(mapId + "_" + eventName, eventInfo); }; } methods.mouseHandler = mouseHandler; methods.clearGroup = function (group) { var _this = this; _jquery2["default"].each((0, _util.asArray)(group), function (i, v) { _this.layerManager.clearGroup(v); }); }; methods.setView = function (center, zoom, options) { this.setView(center, zoom, options); }; methods.fitBounds = function (lat1, lng1, lat2, lng2, options) { this.fitBounds([[lat1, lng1], [lat2, lng2]], options); }; methods.flyTo = function (center, zoom, options) { this.flyTo(center, zoom, options); }; methods.flyToBounds = function (lat1, lng1, lat2, lng2, options) { this.flyToBounds([[lat1, lng1], [lat2, lng2]], options); }; methods.setMaxBounds = function (lat1, lng1, lat2, lng2) { this.setMaxBounds([[lat1, lng1], [lat2, lng2]]); }; methods.addPopups = function (lat, lng, popup, layerId, group, options) { var _this2 = this; var df = new _dataframe2["default"]().col("lat", lat).col("lng", lng).col("popup", popup).col("layerId", layerId).col("group", group).cbind(options); var _loop = function _loop(i) { if (_jquery2["default"].isNumeric(df.get(i, "lat")) && _jquery2["default"].isNumeric(df.get(i, "lng"))) { (function () { var popup = _leaflet2["default"].popup(df.get(i)).setLatLng([df.get(i, "lat"), df.get(i, "lng")]).setContent(df.get(i, "popup")); var thisId = df.get(i, "layerId"); var thisGroup = df.get(i, "group"); this.layerManager.addLayer(popup, "popup", thisId, thisGroup); }).call(_this2); } }; for (var i = 0; i < df.nrow(); i++) { _loop(i); } }; methods.removePopup = function (layerId) { this.layerManager.removeLayer("popup", layerId); }; methods.clearPopups = function () { this.layerManager.clearLayers("popup"); }; methods.addTiles = function (urlTemplate, layerId, group, options) { this.layerManager.addLayer(_leaflet2["default"].tileLayer(urlTemplate, options), "tile", layerId, group); }; methods.removeTiles = function (layerId) { this.layerManager.removeLayer("tile", layerId); }; methods.clearTiles = function () { this.layerManager.clearLayers("tile"); }; methods.addWMSTiles = function (baseUrl, layerId, group, options) { if (options && options.crs) { options.crs = (0, _crs_utils.getCRS)(options.crs); } this.layerManager.addLayer(_leaflet2["default"].tileLayer.wms(baseUrl, options), "tile", layerId, group); }; // Given: // {data: ["a", "b", "c"], index: [0, 1, 0, 2]} // returns: // ["a", "b", "a", "c"] function unpackStrings(iconset) { if (!iconset) { return iconset; } if (typeof iconset.index === "undefined") { return iconset; } iconset.data = (0, _util.asArray)(iconset.data); iconset.index = (0, _util.asArray)(iconset.index); return _jquery2["default"].map(iconset.index, function (e, i) { return iconset.data[e]; }); } function addMarkers(map, df, group, clusterOptions, clusterId, markerFunc) { (function () { var _this3 = this; var clusterGroup = this.layerManager.getLayer("cluster", clusterId), cluster = clusterOptions !== null; if (cluster && !clusterGroup) { clusterGroup = _leaflet2["default"].markerClusterGroup.layerSupport(clusterOptions); if (clusterOptions.freezeAtZoom) { var freezeAtZoom = clusterOptions.freezeAtZoom; delete clusterOptions.freezeAtZoom; clusterGroup.freezeAtZoom(freezeAtZoom); } clusterGroup.clusterLayerStore = new _clusterLayerStore2["default"](clusterGroup); } var extraInfo = cluster ? { clusterId: clusterId } : {}; var _loop2 = function _loop2(i) { if (_jquery2["default"].isNumeric(df.get(i, "lat")) && _jquery2["default"].isNumeric(df.get(i, "lng"))) { (function () { var marker = markerFunc(df, i); var thisId = df.get(i, "layerId"); var thisGroup = cluster ? null : df.get(i, "group"); if (cluster) { clusterGroup.clusterLayerStore.add(marker, thisId); } else { this.layerManager.addLayer(marker, "marker", thisId, thisGroup, df.get(i, "ctGroup", true), df.get(i, "ctKey", true)); } var popup = df.get(i, "popup"); var popupOptions = df.get(i, "popupOptions"); if (popup !== null) { if (popupOptions !== null) { marker.bindPopup(popup, popupOptions); } else { marker.bindPopup(popup); } } var label = df.get(i, "label"); var labelOptions = df.get(i, "labelOptions"); if (label !== null) { if (labelOptions !== null) { if (labelOptions.permanent) { marker.bindTooltip(label, labelOptions).openTooltip(); } else { marker.bindTooltip(label, labelOptions); } } else { marker.bindTooltip(label); } } marker.on("click", mouseHandler(this.id, thisId, thisGroup, "marker_click", extraInfo), this); marker.on("mouseover", mouseHandler(this.id, thisId, thisGroup, "marker_mouseover", extraInfo), this); marker.on("mouseout", mouseHandler(this.id, thisId, thisGroup, "marker_mouseout", extraInfo), this); marker.on("dragend", mouseHandler(this.id, thisId, thisGroup, "marker_dragend", extraInfo), this); }).call(_this3); } }; for (var i = 0; i < df.nrow(); i++) { _loop2(i); } if (cluster) { this.layerManager.addLayer(clusterGroup, "cluster", clusterId, group); } }).call(map); } methods.addGenericMarkers = addMarkers; methods.addMarkers = function (lat, lng, icon, layerId, group, options, popup, popupOptions, clusterOptions, clusterId, label, labelOptions, crosstalkOptions) { var icondf; var getIcon; if (icon) { // Unpack icons icon.iconUrl = unpackStrings(icon.iconUrl); icon.iconRetinaUrl = unpackStrings(icon.iconRetinaUrl); icon.shadowUrl = unpackStrings(icon.shadowUrl); icon.shadowRetinaUrl = unpackStrings(icon.shadowRetinaUrl); // This cbinds the icon URLs and any other icon options; they're all // present on the icon object. icondf = new _dataframe2["default"]().cbind(icon); // Constructs an icon from a specified row of the icon dataframe. getIcon = function getIcon(i) { var opts = icondf.get(i); if (!opts.iconUrl) { return new _leaflet2["default"].Icon.Default(); } // Composite options (like points or sizes) are passed from R with each // individual component as its own option. We need to combine them now // into their composite form. if (opts.iconWidth) { opts.iconSize = [opts.iconWidth, opts.iconHeight]; } if (opts.shadowWidth) { opts.shadowSize = [opts.shadowWidth, opts.shadowHeight]; } if (opts.iconAnchorX) { opts.iconAnchor = [opts.iconAnchorX, opts.iconAnchorY]; } if (opts.shadowAnchorX) { opts.shadowAnchor = [opts.shadowAnchorX, opts.shadowAnchorY]; } if (opts.popupAnchorX) { opts.popupAnchor = [opts.popupAnchorX, opts.popupAnchorY]; } return new _leaflet2["default"].Icon(opts); }; } if (!(_jquery2["default"].isEmptyObject(lat) || _jquery2["default"].isEmptyObject(lng)) || _jquery2["default"].isNumeric(lat) && _jquery2["default"].isNumeric(lng)) { var df = new _dataframe2["default"]().col("lat", lat).col("lng", lng).col("layerId", layerId).col("group", group).col("popup", popup).col("popupOptions", popupOptions).col("label", label).col("labelOptions", labelOptions).cbind(options).cbind(crosstalkOptions || {}); if (icon) icondf.effectiveLength = df.nrow(); addMarkers(this, df, group, clusterOptions, clusterId, function (df, i) { var options = df.get(i); if (icon) options.icon = getIcon(i); return _leaflet2["default"].marker([df.get(i, "lat"), df.get(i, "lng")], options); }); } }; methods.addAwesomeMarkers = function (lat, lng, icon, layerId, group, options, popup, popupOptions, clusterOptions, clusterId, label, labelOptions, crosstalkOptions) { var icondf; var getIcon; if (icon) { // This cbinds the icon URLs and any other icon options; they're all // present on the icon object. icondf = new _dataframe2["default"]().cbind(icon); // Constructs an icon from a specified row of the icon dataframe. getIcon = function getIcon(i) { var opts = icondf.get(i); if (!opts) { return new _leaflet2["default"].AwesomeMarkers.icon(); } if (opts.squareMarker) { opts.className = "awesome-marker awesome-marker-square"; } return new _leaflet2["default"].AwesomeMarkers.icon(opts); }; } if (!(_jquery2["default"].isEmptyObject(lat) || _jquery2["default"].isEmptyObject(lng)) || _jquery2["default"].isNumeric(lat) && _jquery2["default"].isNumeric(lng)) { var df = new _dataframe2["default"]().col("lat", lat).col("lng", lng).col("layerId", layerId).col("group", group).col("popup", popup).col("popupOptions", popupOptions).col("label", label).col("labelOptions", labelOptions).cbind(options).cbind(crosstalkOptions || {}); if (icon) icondf.effectiveLength = df.nrow(); addMarkers(this, df, group, clusterOptions, clusterId, function (df, i) { var options = df.get(i); if (icon) options.icon = getIcon(i); return _leaflet2["default"].marker([df.get(i, "lat"), df.get(i, "lng")], options); }); } }; function addLayers(map, category, df, layerFunc) { var _loop3 = function _loop3(i) { (function () { var layer = layerFunc(df, i); if (!_jquery2["default"].isEmptyObject(layer)) { var thisId = df.get(i, "layerId"); var thisGroup = df.get(i, "group"); this.layerManager.addLayer(layer, category, thisId, thisGroup, df.get(i, "ctGroup", true), df.get(i, "ctKey", true)); if (layer.bindPopup) { var popup = df.get(i, "popup"); var popupOptions = df.get(i, "popupOptions"); if (popup !== null) { if (popupOptions !== null) { layer.bindPopup(popup, popupOptions); } else { layer.bindPopup(popup); } } } if (layer.bindTooltip) { var label = df.get(i, "label"); var labelOptions = df.get(i, "labelOptions"); if (label !== null) { if (labelOptions !== null) { layer.bindTooltip(label, labelOptions); } else { layer.bindTooltip(label); } } } layer.on("click", mouseHandler(this.id, thisId, thisGroup, category + "_click"), this); layer.on("mouseover", mouseHandler(this.id, thisId, thisGroup, category + "_mouseover"), this); layer.on("mouseout", mouseHandler(this.id, thisId, thisGroup, category + "_mouseout"), this); var highlightStyle = df.get(i, "highlightOptions"); if (!_jquery2["default"].isEmptyObject(highlightStyle)) { var defaultStyle = {}; _jquery2["default"].each(highlightStyle, function (k, v) { if (k != "bringToFront" && k != "sendToBack") { if (df.get(i, k)) { defaultStyle[k] = df.get(i, k); } } }); layer.on("mouseover", function (e) { this.setStyle(highlightStyle); if (highlightStyle.bringToFront) { this.bringToFront(); } }); layer.on("mouseout", function (e) { this.setStyle(defaultStyle); if (highlightStyle.sendToBack) { this.bringToBack(); } }); } } }).call(map); }; for (var i = 0; i < df.nrow(); i++) { _loop3(i); } } methods.addGenericLayers = addLayers; methods.addCircles = function (lat, lng, radius, layerId, group, options, popup, popupOptions, label, labelOptions, highlightOptions, crosstalkOptions) { if (!(_jquery2["default"].isEmptyObject(lat) || _jquery2["default"].isEmptyObject(lng)) || _jquery2["default"].isNumeric(lat) && _jquery2["default"].isNumeric(lng)) { var df = new _dataframe2["default"]().col("lat", lat).col("lng", lng).col("radius", radius).col("layerId", layerId).col("group", group).col("popup", popup).col("popupOptions", popupOptions).col("label", label).col("labelOptions", labelOptions).col("highlightOptions", highlightOptions).cbind(options).cbind(crosstalkOptions || {}); addLayers(this, "shape", df, function (df, i) { if (_jquery2["default"].isNumeric(df.get(i, "lat")) && _jquery2["default"].isNumeric(df.get(i, "lng")) && _jquery2["default"].isNumeric(df.get(i, "radius"))) { return _leaflet2["default"].circle([df.get(i, "lat"), df.get(i, "lng")], df.get(i, "radius"), df.get(i)); } else { return null; } }); } }; methods.addCircleMarkers = function (lat, lng, radius, layerId, group, options, clusterOptions, clusterId, popup, popupOptions, label, labelOptions, crosstalkOptions) { if (!(_jquery2["default"].isEmptyObject(lat) || _jquery2["default"].isEmptyObject(lng)) || _jquery2["default"].isNumeric(lat) && _jquery2["default"].isNumeric(lng)) { var df = new _dataframe2["default"]().col("lat", lat).col("lng", lng).col("radius", radius).col("layerId", layerId).col("group", group).col("popup", popup).col("popupOptions", popupOptions).col("label", label).col("labelOptions", labelOptions).cbind(crosstalkOptions || {}).cbind(options); addMarkers(this, df, group, clusterOptions, clusterId, function (df, i) { return _leaflet2["default"].circleMarker([df.get(i, "lat"), df.get(i, "lng")], df.get(i)); }); } }; /* * @param lat Array of arrays of latitude coordinates for polylines * @param lng Array of arrays of longitude coordinates for polylines */ methods.addPolylines = function (polygons, layerId, group, options, popup, popupOptions, label, labelOptions, highlightOptions) { if (polygons.length > 0) { var df = new _dataframe2["default"]().col("shapes", polygons).col("layerId", layerId).col("group", group).col("popup", popup).col("popupOptions", popupOptions).col("label", label).col("labelOptions", labelOptions).col("highlightOptions", highlightOptions).cbind(options); addLayers(this, "shape", df, function (df, i) { var shapes = df.get(i, "shapes"); shapes = shapes.map(function (shape) { return _htmlwidgets2["default"].dataframeToD3(shape[0]); }); if (shapes.length > 1) { return _leaflet2["default"].polyline(shapes, df.get(i)); } else { return _leaflet2["default"].polyline(shapes[0], df.get(i)); } }); } }; methods.removeMarker = function (layerId) { this.layerManager.removeLayer("marker", layerId); }; methods.clearMarkers = function () { this.layerManager.clearLayers("marker"); }; methods.removeMarkerCluster = function (layerId) { this.layerManager.removeLayer("cluster", layerId); }; methods.removeMarkerFromCluster = function (layerId, clusterId) { var cluster = this.layerManager.getLayer("cluster", clusterId); if (!cluster) return; cluster.clusterLayerStore.remove(layerId); }; methods.clearMarkerClusters = function () { this.layerManager.clearLayers("cluster"); }; methods.removeShape = function (layerId) { this.layerManager.removeLayer("shape", layerId); }; methods.clearShapes = function () { this.layerManager.clearLayers("shape"); }; methods.addRectangles = function (lat1, lng1, lat2, lng2, layerId, group, options, popup, popupOptions, label, labelOptions, highlightOptions) { var df = new _dataframe2["default"]().col("lat1", lat1).col("lng1", lng1).col("lat2", lat2).col("lng2", lng2).col("layerId", layerId).col("group", group).col("popup", popup).col("popupOptions", popupOptions).col("label", label).col("labelOptions", labelOptions).col("highlightOptions", highlightOptions).cbind(options); addLayers(this, "shape", df, function (df, i) { if (_jquery2["default"].isNumeric(df.get(i, "lat1")) && _jquery2["default"].isNumeric(df.get(i, "lng1")) && _jquery2["default"].isNumeric(df.get(i, "lat2")) && _jquery2["default"].isNumeric(df.get(i, "lng2"))) { return _leaflet2["default"].rectangle([[df.get(i, "lat1"), df.get(i, "lng1")], [df.get(i, "lat2"), df.get(i, "lng2")]], df.get(i)); } else { return null; } }); }; /* * @param lat Array of arrays of latitude coordinates for polygons * @param lng Array of arrays of longitude coordinates for polygons */ methods.addPolygons = function (polygons, layerId, group, options, popup, popupOptions, label, labelOptions, highlightOptions) { if (polygons.length > 0) { var df = new _dataframe2["default"]().col("shapes", polygons).col("layerId", layerId).col("group", group).col("popup", popup).col("popupOptions", popupOptions).col("label", label).col("labelOptions", labelOptions).col("highlightOptions", highlightOptions).cbind(options); addLayers(this, "shape", df, function (df, i) { // This code used to use L.multiPolygon, but that caused // double-click on a multipolygon to fail to zoom in on the // map. Surprisingly, putting all the rings in a single // polygon seems to still work; complicated multipolygons // are still rendered correctly. var shapes = df.get(i, "shapes").map(function (polygon) { return polygon.map(_htmlwidgets2["default"].dataframeToD3); }).reduce(function (acc, val) { return acc.concat(val); }, []); return _leaflet2["default"].polygon(shapes, df.get(i)); }); } }; methods.addGeoJSON = function (data, layerId, group, style) { // This time, self is actually needed because the callbacks below need // to access both the inner and outer senses of "this" var self = this; if (typeof data === "string") { data = JSON.parse(data); } var globalStyle = _jquery2["default"].extend({}, style, data.style || {}); var gjlayer = _leaflet2["default"].geoJson(data, { style: function style(feature) { if (feature.style || feature.properties.style) { return _jquery2["default"].extend({}, globalStyle, feature.style, feature.properties.style); } else { return globalStyle; } }, onEachFeature: function onEachFeature(feature, layer) { var extraInfo = { featureId: feature.id, properties: feature.properties }; var popup = feature.properties ? feature.properties.popup : null; if (typeof popup !== "undefined" && popup !== null) layer.bindPopup(popup); layer.on("click", mouseHandler(self.id, layerId, group, "geojson_click", extraInfo), this); layer.on("mouseover", mouseHandler(self.id, layerId, group, "geojson_mouseover", extraInfo), this); layer.on("mouseout", mouseHandler(self.id, layerId, group, "geojson_mouseout", extraInfo), this); } }); this.layerManager.addLayer(gjlayer, "geojson", layerId, group); }; methods.removeGeoJSON = function (layerId) { this.layerManager.removeLayer("geojson", layerId); }; methods.clearGeoJSON = function () { this.layerManager.clearLayers("geojson"); }; methods.addTopoJSON = function (data, layerId, group, style) { // This time, self is actually needed because the callbacks below need // to access both the inner and outer senses of "this" var self = this; if (typeof data === "string") { data = JSON.parse(data); } var globalStyle = _jquery2["default"].extend({}, style, data.style || {}); var gjlayer = _leaflet2["default"].geoJson(null, { style: function style(feature) { if (feature.style || feature.properties.style) { return _jquery2["default"].extend({}, globalStyle, feature.style, feature.properties.style); } else { return globalStyle; } }, onEachFeature: function onEachFeature(feature, layer) { var extraInfo = { featureId: feature.id, properties: feature.properties }; var popup = feature.properties.popup; if (typeof popup !== "undefined" && popup !== null) layer.bindPopup(popup); layer.on("click", mouseHandler(self.id, layerId, group, "topojson_click", extraInfo), this); layer.on("mouseover", mouseHandler(self.id, layerId, group, "topojson_mouseover", extraInfo), this); layer.on("mouseout", mouseHandler(self.id, layerId, group, "topojson_mouseout", extraInfo), this); } }); global.omnivore.topojson.parse(data, null, gjlayer); this.layerManager.addLayer(gjlayer, "topojson", layerId, group); }; methods.removeTopoJSON = function (layerId) { this.layerManager.removeLayer("topojson", layerId); }; methods.clearTopoJSON = function () { this.layerManager.clearLayers("topojson"); }; methods.addControl = function (html, position, layerId, classes) { function onAdd(map) { var div = _leaflet2["default"].DomUtil.create("div", classes); if (typeof layerId !== "undefined" && layerId !== null) { div.setAttribute("id", layerId); } this._div = div; // It's possible for window.Shiny to be true but Shiny.initializeInputs to // not be, when a static leaflet widget is included as part of the shiny // UI directly (not through leafletOutput or uiOutput). In this case we // don't do the normal Shiny stuff as that will all happen when Shiny // itself loads and binds the entire doc. if (window.Shiny && _shiny2["default"].initializeInputs) { _shiny2["default"].renderHtml(html, this._div); _shiny2["default"].initializeInputs(this._div); _shiny2["default"].bindAll(this._div); } else { this._div.innerHTML = html; } return this._div; } function onRemove(map) { if (window.Shiny && _shiny2["default"].unbindAll) { _shiny2["default"].unbindAll(this._div); } } var Control = _leaflet2["default"].Control.extend({ options: { position: position }, onAdd: onAdd, onRemove: onRemove }); this.controls.add(new Control(), layerId, html); }; methods.addCustomControl = function (control, layerId) { this.controls.add(control, layerId); }; methods.removeControl = function (layerId) { this.controls.remove(layerId); }; methods.getControl = function (layerId) { this.controls.get(layerId); }; methods.clearControls = function () { this.controls.clear(); }; methods.addLegend = function (options) { var legend = _leaflet2["default"].control({ position: options.position }); var gradSpan; legend.onAdd = function (map) { var div = _leaflet2["default"].DomUtil.create("div", options.className), colors = options.colors, labels = options.labels, legendHTML = ""; if (options.type === "numeric") { // # Formatting constants. var singleBinHeight = 20; // The distance between tick marks, in px var vMargin = 8; // If 1st tick mark starts at top of gradient, how // many extra px are needed for the top half of the // 1st label? (ditto for last tick mark/label) var tickWidth = 4; // How wide should tick marks be, in px? var labelPadding = 6; // How much distance to reserve for tick mark? // (Must be >= tickWidth) // # Derived formatting parameters. // What's the height of a single bin, in percentage (of gradient height)? // It might not just be 1/(n-1), if the gradient extends past the tick // marks (which can be the case for pretty cut points). var singleBinPct = (options.extra.p_n - options.extra.p_1) / (labels.length - 1); // Each bin is `singleBinHeight` high. How tall is the gradient? var totalHeight = 1 / singleBinPct * singleBinHeight + 1; // How far should the first tick be shifted down, relative to the top // of the gradient? var tickOffset = singleBinHeight / singleBinPct * options.extra.p_1; gradSpan = (0, _jquery2["default"])("<span/>").css({ "background": "linear-gradient(" + colors + ")", "opacity": options.opacity, "height": totalHeight + "px", "width": "18px", "display": "block", "margin-top": vMargin + "px" }); var leftDiv = (0, _jquery2["default"])("<div/>").css("float", "left"), rightDiv = (0, _jquery2["default"])("<div/>").css("float", "left"); leftDiv.append(gradSpan); (0, _jquery2["default"])(div).append(leftDiv).append(rightDiv).append((0, _jquery2["default"])("<br>")); // Have to attach the div to the body at this early point, so that the // svg text getComputedTextLength() actually works, below. document.body.appendChild(div); var ns = "http://www.w3.org/2000/svg"; var svg = document.createElementNS(ns, "svg"); rightDiv.append(svg); var g = document.createElementNS(ns, "g"); (0, _jquery2["default"])(g).attr("transform", "translate(0, " + vMargin + ")"); svg.appendChild(g); // max label width needed to set width of svg, and right-justify text var maxLblWidth = 0; // Create tick marks and labels _jquery2["default"].each(labels, function (i, label) { var y = tickOffset + i * singleBinHeight + 0.5; var thisLabel = document.createElementNS(ns, "text"); (0, _jquery2["default"])(thisLabel).text(labels[i]).attr("y", y).attr("dx", labelPadding).attr("dy", "0.5ex"); g.appendChild(thisLabel); maxLblWidth = Math.max(maxLblWidth, thisLabel.getComputedTextLength()); var thisTick = document.createElementNS(ns, "line"); (0, _jquery2["default"])(thisTick).attr("x1", 0).attr("x2", tickWidth).attr("y1", y).attr("y2", y).attr("stroke-width", 1); g.appendChild(thisTick); }); // Now that we know the max label width, we can right-justify (0, _jquery2["default"])(svg).find("text").attr("dx", labelPadding + maxLblWidth).attr("text-anchor", "end"); // Final size for <svg> (0, _jquery2["default"])(svg).css({ width: maxLblWidth + labelPadding + "px", height: totalHeight + vMargin * 2 + "px" }); if (options.na_color && _jquery2["default"].inArray(options.na_label, labels) < 0) { (0, _jquery2["default"])(div).append("<div><i style=\"" + "background:" + options.na_color + ";opacity:" + options.opacity + ";margin-right:" + labelPadding + "px" + ";\"></i>" + options.na_label + "</div>"); } } else { if (options.na_color && _jquery2["default"].inArray(options.na_label, labels) < 0) { colors.push(options.na_color); labels.push(options.na_label); } for (var i = 0; i < colors.length; i++) { legendHTML += "<i style=\"background:" + colors[i] + ";opacity:" + options.opacity + "\"></i> " + labels[i] + "<br>"; } div.innerHTML = legendHTML; } if (options.title) (0, _jquery2["default"])(div).prepend("<div style=\"margin-bottom:3px\"><strong>" + options.title + "</strong></div>"); return div; }; if (options.group) { // Auto generate a layerID if not provided if (!options.layerId) { options.layerId = _leaflet2["default"].Util.stamp(legend); } var map = this; map.on("overlayadd", function (e) { if (e.name === options.group) { map.controls.add(legend, options.layerId); } }); map.on("overlayremove", function (e) { if (e.name === options.group) { map.controls.remove(options.layerId); } }); map.on("groupadd", function (e) { if (e.name === options.group) { map.controls.add(legend, options.layerId); } }); map.on("groupremove", function (e) { if (e.name === options.group) { map.controls.remove(options.layerId); } }); } this.controls.add(legend, options.layerId); }; methods.addLayersControl = function (baseGroups, overlayGroups, options) { var _this4 = this; // Only allow one layers control at a time methods.removeLayersControl.call(this); var firstLayer = true; var base = {}; _jquery2["default"].each((0, _util.asArray)(baseGroups), function (i, g) { var layer = _this4.layerManager.getLayerGroup(g, true); if (layer) { base[g] = layer; // Check if >1 base layers are visible; if so, hide all but the first one if (_this4.hasLayer(layer)) { if (firstLayer) { firstLayer = false; } else { _this4.removeLayer(layer); } } } }); var overlay = {}; _jquery2["default"].each((0, _util.asArray)(overlayGroups), function (i, g) { var layer = _this4.layerManager.getLayerGroup(g, true); if (layer) { overlay[g] = layer; } }); this.currentLayersControl = _leaflet2["default"].control.layers(base, overlay, options); this.addControl(this.currentLayersControl); }; methods.removeLayersControl = function () { if (this.currentLayersControl) { this.removeControl(this.currentLayersControl); this.currentLayersControl = null; } }; methods.addScaleBar = function (options) { // Only allow one scale bar at a time methods.removeScaleBar.call(this); var scaleBar = _leaflet2["default"].control.scale(options).addTo(this); this.currentScaleBar = scaleBar; }; methods.removeScaleBar = function () { if (this.currentScaleBar) { this.currentScaleBar.remove(); this.currentScaleBar = null; } }; methods.hideGroup = function (group) { var _this5 = this; _jquery2["default"].each((0, _util.asArray)(group), function (i, g) { var layer = _this5.layerManager.getLayerGroup(g, true); if (layer) { _this5.removeLayer(layer); } }); }; methods.showGroup = function (group) { var _this6 = this; _jquery2["default"].each((0, _util.asArray)(group), function (i, g) { var layer = _this6.layerManager.getLayerGroup(g, true); if (layer) { _this6.addLayer(layer); } }); }; function setupShowHideGroupsOnZoom(map) { if (map.leafletr._hasInitializedShowHideGroups) { return; } map.leafletr._hasInitializedShowHideGroups = true; function setVisibility(layer, visible, group) { if (visible !== map.hasLayer(layer)) { if (visible) { map.addLayer(layer); map.fire("groupadd", { "name": group, "layer": layer }); } else { map.removeLayer(layer); map.fire("groupremove", { "name": group, "layer": layer }); } } } function showHideGroupsOnZoom() { if (!map.layerManager) return; var zoom = map.getZoom(); map.layerManager.getAllGroupNames().forEach(function (group) { var layer = map.layerManager.getLayerGroup(group, false); if (layer && typeof layer.zoomLevels !== "undefined") { setVisibility(layer, layer.zoomLevels === true || layer.zoomLevels.indexOf(zoom) >= 0, group); } }); } map.showHideGroupsOnZoom = showHideGroupsOnZoom; map.on("zoomend", showHideGroupsOnZoom); } methods.setGroupOptions = function (group, options) { var _this7 = this; _jquery2["default"].each((0, _util.asArray)(group), function (i, g) { var layer = _this7.layerManager.getLayerGroup(g, true); // This slightly tortured check is because 0 is a valid value for zoomLevels if (typeof options.zoomLevels !== "undefined" && options.zoomLevels !== null) { layer.zoomLevels = (0, _util.asArray)(options.zoomLevels); } }); setupShowHideGroupsOnZoom(this); this.showHideGroupsOnZoom(); }; methods.addRasterImage = function (uri, bounds, opacity, attribution, layerId, group) { // uri is a data URI containing an image. We want to paint this image as a // layer at (top-left) bounds[0] to (bottom-right) bounds[1]. // We can't simply use ImageOverlay, as it uses bilinear scaling which looks // awful as you zoom in (and sometimes shifts positions or disappears). // Instead, we'll use a TileLayer.Canvas to draw pieces of the image. // First, some helper functions. // degree2tile converts latitude, longitude, and zoom to x and y tile // numbers. The tile numbers returned can be non-integral, as there's no // reason to expect that the lat/lng inputs are exactly on the border of two // tiles. // // We'll use this to convert the bounds we got from the server, into coords // in tile-space at a given zoom level. Note that once we do the conversion, // we don't to do any more trigonometry to convert between pixel coordinates // and tile coordinates; the source image pixel coords, destination canvas // pixel coords, and tile coords all can be scaled linearly. function degree2tile(lat, lng, zoom) { // See http://wiki.openstreetmap.org/wiki/Slippy_map_tilenames var latRad = lat * Math.PI / 180; var n = Math.pow(2, zoom); var x = (lng + 180) / 360 * n; var y = (1 - Math.log(Math.tan(latRad) + 1 / Math.cos(latRad)) / Math.PI) / 2 * n; return { x: x, y: y }; } // Given a range [from,to) and either one or two numbers, returns true if // there is any overlap between [x,x1) and the range--or if x1 is omitted, // then returns true if x is within [from,to). function overlap(from, to, x, /* optional */ x1) { if (arguments.length == 3) x1 = x; return x < to && x1 >= from; } function getCanvasSmoothingProperty(ctx) { var candidates = ["imageSmoothingEnabled", "mozImageSmoothingEnabled", "webkitImageSmoothingEnabled", "msImageSmoothingEnabled"]; for (var i = 0; i < candidates.length; i++) { if (typeof ctx[candidates[i]] !== "undefined") { return candidates[i]; } } return null; } // Our general strategy is to: // 1. Load the data URI in an Image() object, so we can get its pixel // dimensions and the underlying image data. (We could have done this // by not encoding as PNG at all but just send an array of RGBA values // from the server, but that would inflate the JSON too much.) // 2. Create a hidden canvas that we use just to extract the image data // from the Image (using Context2D.getImageData()). // 3. Create a TileLayer.Canvas and add it to the map. // We want to synchronously create and attach the TileLayer.Canvas (so an // immediate call to clearRasters() will be respected, for example), but // Image loads its data asynchronously. Fortunately we can resolve this // by putting TileLayer.Canvas into async mode, which will let us create // and attach the layer but have it wait until the image is loaded before // it actually draws anything. // These are the variables that we will populate once the image is loaded. var imgData = null; // 1d row-major array, four [0-255] integers per pixel var imgDataMipMapper = null; var w = null; // image width in pixels var h = null; // image height in pixels // We'll use this array to store callbacks that need to be invoked once // imgData, w, and h have been resolved. var imgDataCallbacks = []; // Consumers of imgData, w, and h can call this to be notified when data // is available. function getImageData(callback) { if (imgData != null) { // Must not invoke the callback immediately; it's too confusing and // fragile to have a function invoke the callback *either* immediately // or in the future. Better to be consistent here. setTimeout(function () { callback(imgData, w, h, imgDataMipMapper); }, 0); } else { imgDataCallbacks.push(callback); } } var img = new Image(); img.onload = function () { // Save size w = img.width; h = img.height; // Create a dummy canvas to extract the image data var imgDataCanvas = document.createElement("canvas"); imgDataCanvas.width = w; imgDataCanvas.height = h; imgDataCanvas.style.display = "none"; document.body.appendChild(imgDataCanvas); var imgDataCtx = imgDataCanvas.getContext("2d"); imgDataCtx.drawImage(img, 0, 0); // Save the image data. imgData = imgDataCtx.getImageData(0, 0, w, h).data; imgDataMipMapper = new _mipmapper2["default"](img); // Done with the canvas, remove it from the page so it can be gc'd. document.body.removeChild(imgDataCanvas); // Alert any getImageData callers who are waiting. for (var i = 0; i < imgDataCallbacks.length; i++) { imgDataCallbacks[i](imgData, w, h, imgDataMipMapper); } imgDataCallbacks = []; }; img.src = uri; var canvasTiles = _leaflet2["default"].gridLayer({ opacity: opacity, attribution: attribution, detectRetina: true, async: true }); // NOTE: The done() function MUST NOT be invoked until after the current // tick; done() looks in Leaflet's tile cache for the current tile, and // since it's still being constructed, it won't be found. canvasTiles.createTile = function (tilePoint, done) { var zoom = tilePoint.z; var canvas = _leaflet2["default"].DomUtil.create("canvas"); var error; // setup tile width and height according to the options var size = this.getTileSize(); canvas.width = size.x; canvas.height = size.y; getImageData(function (imgData, w, h, mipmapper) { try { // The Context2D we'll being drawing onto. It's always 256x256. var ctx = canvas.getContext("2d"); // Convert our image data's top-left and bottom-right locations into // x/y tile coordinates. This is essentially doing a spherical mercator // projection, then multiplying by 2^zoom. var topLeft = degree2tile(bounds[0][0], bounds[0][1], zoom); var bottomRight = degree2tile(bounds[1][0], bounds[1][1], zoom); // The size of the image in x/y tile coordinates. var extent = { x: bottomRight.x - topLeft.x, y: bottomRight.y - topLeft.y }; // Short circuit if tile is totally disjoint from image. if (!overlap(tilePoint.x, tilePoint.x + 1, topLeft.x, bottomRight.x)) return; if (!overlap(tilePoint.y, tilePoint.y + 1, topLeft.y, bottomRight.y)) return; // The linear resolution of the tile we're drawing is always 256px per tile unit. // If the linear resolution (in either direction) of the image is less than 256px // per tile unit, then use nearest neighbor; otherwise, use the canvas's built-in // scaling. var imgRes = { x: w / extent.x, y: h / extent.y }; // We can do the actual drawing in one of three ways: // - Call drawImage(). This is easy and fast, and results in smooth // interpolation (bilinear?). This is what we want when we are // reducing the image from its native size. // - Call drawImage() with imageSmoothingEnabled=false. This is easy // and fast and gives us nearest-neighbor interpolation, which is what // we want when enlarging the image. However, it's unsupported on many // browsers (including QtWebkit). // - Do a manual nearest-neighbor interpolation. This is what we'll fall // back to when enlarging, and imageSmoothingEnabled isn't supported. // In theory it's slower, but still pretty fast on my machine, and the // results look the same AFAICT. // Is imageSmoothingEnabled supported? If so, we can let canvas do // nearest-neighbor interpolation for us. var smoothingProperty = getCanvasSmoothingProperty(ctx); if (smoothingProperty || imgRes.x >= 256 && imgRes.y >= 256) { // Use built-in scaling // Turn off anti-aliasing if necessary if (smoothingProperty) { ctx[smoothingProperty] = imgRes.x >= 256 && imgRes.y >= 256; } // Don't necessarily draw with the full-size image; if we're // downscaling, use the mipmapper to get a pre-downscaled image // (see comments on Mipmapper class for why this matters). mipmapper.getBySize(extent.x * 256, extent.y * 256, function (mip) { // It's possible that the image will go off the edge of the canvas-- // that's OK, the canvas should clip appropriately. ctx.drawImage(mip, // Convert abs tile coords to rel tile coords, then *256 to convert // to rel pixel coords (topLeft.x - tilePoint.x) * 256, (topLeft.y - tilePoint.y) * 256, // Always draw the whole thing and let canvas clip; so we can just // convert from size in tile coords straight to pixels extent.x * 256, extent.y * 256); }); } else { // Use manual nearest-neighbor interpolation // Calculate the source image pixel coordinates that correspond with // the top-left and bottom-right of this tile. (If the source image // only partially overlaps the tile, we use max/min to limit the // sourceStart/End to only reflect the overlapping portion.) var sourceStart = { x: Math.max(0, Math.floor((tilePoint.x - topLeft.x) * imgRes.x)), y: Math.max(0, Math.floor((tilePoint.y - topLeft.y) * imgRes.y)) }; var sourceEnd = { x: Math.min(w, Math.ceil((tilePoint.x + 1 - topLeft.x) * imgRes.x)), y: Math.min(h, Math.ceil((tilePoint.y + 1 - topLeft.y) * imgRes.y)) }; // The size, in dest pixels, that each source pixel should occupy. // This might be greater or less than 1 (e.g. if x and y resolution // are very different). var pixelSize = { x: 256 / imgRes.x, y: 256 / imgRes.y }; // For each pixel in the source image that overlaps the tile... for (var row = sourceStart.y; row < sourceEnd.y; row++) { for (var col = sourceStart.x; col < sourceEnd.x; col++) { // ...extract the pixel data... var i = (row * w + col) * 4; var r = imgData[i]; var g = imgData[i + 1]; var b = imgData[i + 2]; var a = imgData[i + 3]; ctx.fillStyle = "rgba(" + [r, g, b, a / 255].join(",") + ")"; // ...calculate the corresponding pixel coord in the dest image // where it should be drawn... var pixelPos = { x: (col / imgRes.x + topLeft.x - tilePoint.x) * 256, y: (row / imgRes.y + topLeft.y - tilePoint.y) * 256 }; // ...and draw a rectangle there. ctx.fillRect(Math.round(pixelPos.x), Math.round(pixelPos.y), // Looks crazy, but this is necessary to prevent rounding from // causing overlap between this rect and its neighbors. The // minuend is the location of the next pixel, while the // subtrahend is the position of the current pixel (to turn an // absolute coordinate to a width/height). Yes, I had to look // up minuend and subtrahend. Math.round(pixelPos.x + pixelSize.x) - Math.round(pixelPos.x), Math.round(pixelPos.y + pixelSize.y) - Math.round(pixelPos.y)); } } } } catch (e) { error = e; } finally { done(error, canvas); } }); return canvas; }; this.layerManager.addLayer(canvasTiles, "image", layerId, group); }; methods.removeImage = function (layerId) { this.layerManager.removeLayer("image", layerId); }; methods.clearImages = function () { this.layerManager.clearLayers("image"); }; methods.addMeasure = function (options) { // if a measureControl already exists, then remove it and // replace with a new one methods.removeMeasure.call(this); this.measureControl = _leaflet2["default"].control.measure(options); this.addControl(this.measureControl); }; methods.removeMeasure = function () { if (this.measureControl) { this.removeControl(this.measureControl); this.measureControl = null; } }; methods.addSelect = function (ctGroup) { var _this8 = this; methods.removeSelect.call(this); this._selectButton = _leaflet2["default"].easyButton({ states: [{ stateName: "select-inactive", icon: "ion-qr-scanner", title: "Make a selection", onClick: function onClick(btn, map) { btn.state("select-active"); _this8._locationFilter = new _leaflet2["default"].LocationFilter2(); if (ctGroup) { var selectionHandle = new global.crosstalk.SelectionHandle(ctGroup); selectionHandle.on("change", function (e) { if (e.sender !== selectionHandle) { if (_this8._locationFilter) { _this8._locationFilter.disable(); btn.state("select-inactive"); } } }); var handler = function handler(e) { _this8.layerManager.brush(_this8._locationFilter.getBounds(), { sender: selectionHandle }); }; _this8._locationFilter.on("enabled", handler); _this8._locationFilter.on("change", handler); _this8._locationFilter.on("disabled", function () { selectionHandle.close(); _this8._locationFilter = null; }); } _this8._locationFilter.addTo(map); } }, { stateName: "select-active", icon: "ion-close-round", title: "Dismiss selection", onClick: function onClick(btn, map) { btn.state("select-inactive"); _this8._locationFilter.disable(); // If explicitly dismissed, clear the crosstalk selections _this8.layerManager.unbrush(); } }] }); this._selectButton.addTo(this); }; methods.removeSelect = function () { if (this._locationFilter) { this._locationFilter.disable(); } if (this._selectButton) { this.removeControl(this._selectButton); this._selectButton = null; } }; methods.createMapPane = function (name, zIndex) { this.createPane(name); this.getPane(name).style.zIndex = zIndex; }; }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) },{"./cluster-layer-store":1,"./crs_utils":3,"./dataframe":4,"./global/htmlwidgets":8,"./global/jquery":9,"./global/leaflet":10,"./global/shiny":12,"./mipmapper":16,"./util":17}],16:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } // This class simulates a mipmap, which shrinks images by powers of two. This // stepwise reduction results in "pixel-perfect downscaling" (where every // pixel of the original image has some contribution to the downscaled image) // as opposed to a single-step downscaling which will discard a lot of data // (and with sparse images at small scales can give very surprising results). var Mipmapper = /*#__PURE__*/function () { function Mipmapper(img) { _classCallCheck(this, Mipmapper); this._layers = [img]; } // The various functions on this class take a callback function BUT MAY OR MAY // NOT actually behave asynchronously. _createClass(Mipmapper, [{ key: "getBySize", value: function getBySize(desiredWidth, desiredHeight, callback) { var _this = this; var i = 0; var lastImg = this._layers[0]; var testNext = function testNext() { _this.getByIndex(i, function (img) { // If current image is invalid (i.e. too small to be rendered) or // it's smaller than what we wanted, return the last known good image. if (!img || img.width < desiredWidth || img.height < desiredHeight) { callback(lastImg); return; } else { lastImg = img; i++; testNext(); return; } }); }; testNext(); } }, { key: "getByIndex", value: function getByIndex(i, callback) { var _this2 = this; if (this._layers[i]) { callback(this._layers[i]); return; } this.getByIndex(i - 1, function (prevImg) { if (!prevImg) { // prevImg could not be calculated (too small, possibly) callback(null); return; } if (prevImg.width < 2 || prevImg.height < 2) { // Can't reduce this image any further callback(null); return; } // If reduce ever becomes truly asynchronous, we should stuff a promise or // something into this._layers[i] before calling this.reduce(), to prevent // redundant reduce operations from happening. _this2.reduce(prevImg, function (reducedImg) { _this2._layers[i] = reducedImg; callback(reducedImg); return; }); }); } }, { key: "reduce", value: function reduce(img, callback) { var imgDataCanvas = document.createElement("canvas"); imgDataCanvas.width = Math.ceil(img.width / 2); imgDataCanvas.height = Math.ceil(img.height / 2); imgDataCanvas.style.display = "none"; document.body.appendChild(imgDataCanvas); try { var imgDataCtx = imgDataCanvas.getContext("2d"); imgDataCtx.drawImage(img, 0, 0, img.width / 2, img.height / 2); callback(imgDataCanvas); } finally { document.body.removeChild(imgDataCanvas); } } }]); return Mipmapper; }(); exports["default"] = Mipmapper; },{}],17:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.log = log; exports.recycle = recycle; exports.asArray = asArray; function log(message) { /* eslint-disable no-console */ if (console && console.log) console.log(message); /* eslint-enable no-console */ } function recycle(values, length, inPlace) { if (length === 0 && !inPlace) return []; if (!(values instanceof Array)) { if (inPlace) { throw new Error("Can't do in-place recycling of a non-Array value"); } values = [values]; } if (typeof length === "undefined") length = values.length; var dest = inPlace ? values : []; var origLength = values.length; while (dest.length < length) { dest.push(values[dest.length % origLength]); } if (dest.length > length) { dest.splice(length, dest.length - length); } return dest; } function asArray(value) { if (value instanceof Array) return value;else return [value]; } },{}]},{},[13]); </script> <script>(function (root, factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. define(['leaflet'], factory); } else if (typeof modules === 'object' && module.exports) { // define a Common JS module that relies on 'leaflet' module.exports = factory(require('leaflet')); } else { // Assume Leaflet is loaded into global object L already factory(L); } }(this, function (L) { 'use strict'; L.TileLayer.Provider = L.TileLayer.extend({ initialize: function (arg, options) { var providers = L.TileLayer.Provider.providers; var parts = arg.split('.'); var providerName = parts[0]; var variantName = parts[1]; if (!providers[providerName]) { throw 'No such provider (' + providerName + ')'; } var provider = { url: providers[providerName].url, options: providers[providerName].options }; // overwrite values in provider from variant. if (variantName && 'variants' in providers[providerName]) { if (!(variantName in providers[providerName].variants)) { throw 'No such variant of ' + providerName + ' (' + variantName + ')'; } var variant = providers[providerName].variants[variantName]; var variantOptions; if (typeof variant === 'string') { variantOptions = { variant: variant }; } else { variantOptions = variant.options; } provider = { url: variant.url || provider.url, options: L.Util.extend({}, provider.options, variantOptions) }; } // replace attribution placeholders with their values from toplevel provider attribution, // recursively var attributionReplacer = function (attr) { if (attr.indexOf('{attribution.') === -1) { return attr; } return attr.replace(/\{attribution.(\w*)\}/g, function (match, attributionName) { return attributionReplacer(providers[attributionName].options.attribution); } ); }; provider.options.attribution = attributionReplacer(provider.options.attribution); // Compute final options combining provider options with any user overrides var layerOpts = L.Util.extend({}, provider.options, options); L.TileLayer.prototype.initialize.call(this, provider.url, layerOpts); } }); /** * Definition of providers. * see http://leafletjs.com/reference.html#tilelayer for options in the options map. */ L.TileLayer.Provider.providers = { OpenStreetMap: { url: '//{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', options: { maxZoom: 19, attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors' }, variants: { Mapnik: {}, DE: { url: '//{s}.tile.openstreetmap.de/tiles/osmde/{z}/{x}/{y}.png', options: { maxZoom: 18 } }, CH: { url: '//tile.osm.ch/switzerland/{z}/{x}/{y}.png', options: { maxZoom: 18, bounds: [[45, 5], [48, 11]] } }, France: { url: '//{s}.tile.openstreetmap.fr/osmfr/{z}/{x}/{y}.png', options: { maxZoom: 20, attribution: '© Openstreetmap France | {attribution.OpenStreetMap}' } }, HOT: { url: '//{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png', options: { attribution: '{attribution.OpenStreetMap}, ' + 'Tiles style by <a href="https://www.hotosm.org/" target="_blank">Humanitarian OpenStreetMap Team</a> ' + 'hosted by <a href="https://openstreetmap.fr/" target="_blank">OpenStreetMap France</a>' } }, BZH: { url: '//tile.openstreetmap.bzh/br/{z}/{x}/{y}.png', options: { attribution: '{attribution.OpenStreetMap}, Tiles courtesy of <a href="http://www.openstreetmap.bzh/" target="_blank">Breton OpenStreetMap Team</a>', bounds: [[46.2, -5.5], [50, 0.7]] } } } }, OpenSeaMap: { url: '//tiles.openseamap.org/seamark/{z}/{x}/{y}.png', options: { attribution: 'Map data: © <a href="http://www.openseamap.org">OpenSeaMap</a> contributors' } }, OpenPtMap: { url: 'http://openptmap.org/tiles/{z}/{x}/{y}.png', options: { maxZoom: 17, attribution: 'Map data: © <a href="http://www.openptmap.org">OpenPtMap</a> contributors' } }, OpenTopoMap: { url: 'https://{s}.tile.opentopomap.org/{z}/{x}/{y}.png', options: { maxZoom: 17, attribution: 'Map data: {attribution.OpenStreetMap}, <a href="http://viewfinderpanoramas.org">SRTM</a> | Map style: © <a href="https://opentopomap.org">OpenTopoMap</a> (<a href="https://creativecommons.org/licenses/by-sa/3.0/">CC-BY-SA</a>)' } }, OpenRailwayMap: { url: 'https://{s}.tiles.openrailwaymap.org/standard/{z}/{x}/{y}.png', options: { maxZoom: 19, attribution: 'Map data: {attribution.OpenStreetMap} | Map style: © <a href="https://www.OpenRailwayMap.org">OpenRailwayMap</a> (<a href="https://creativecommons.org/licenses/by-sa/3.0/">CC-BY-SA</a>)' } }, OpenFireMap: { url: 'http://openfiremap.org/hytiles/{z}/{x}/{y}.png', options: { maxZoom: 19, attribution: 'Map data: {attribution.OpenStreetMap} | Map style: © <a href="http://www.openfiremap.org">OpenFireMap</a> (<a href="https://creativecommons.org/licenses/by-sa/3.0/">CC-BY-SA</a>)' } }, SafeCast: { url: '//s3.amazonaws.com/te512.safecast.org/{z}/{x}/{y}.png', options: { maxZoom: 16, attribution: 'Map data: {attribution.OpenStreetMap} | Map style: © <a href="https://blog.safecast.org/about/">SafeCast</a> (<a href="https://creativecommons.org/licenses/by-sa/3.0/">CC-BY-SA</a>)' } }, Thunderforest: { url: 'https://{s}.tile.thunderforest.com/{variant}/{z}/{x}/{y}.png?apikey={apikey}', options: { attribution: '© <a href="http://www.thunderforest.com/">Thunderforest</a>, {attribution.OpenStreetMap}', variant: 'cycle', apikey: '<insert your api key here>', maxZoom: 22 }, variants: { OpenCycleMap: 'cycle', Transport: { options: { variant: 'transport' } }, TransportDark: { options: { variant: 'transport-dark' } }, SpinalMap: { options: { variant: 'spinal-map' } }, Landscape: 'landscape', Outdoors: 'outdoors', Pioneer: 'pioneer', MobileAtlas: 'mobile-atlas', Neighbourhood: 'neighbourhood' } }, OpenMapSurfer: { url: 'https://maps.heigit.org/openmapsurfer/tiles/{variant}/webmercator/{z}/{x}/{y}.png', options: { maxZoom: 19, variant: 'roads', attribution: 'Imagery from <a href="http://giscience.uni-hd.de/">GIScience Research Group @ University of Heidelberg</a> | Map data ' }, variants: { Roads: { options: { variant: 'roads', attribution: '{attribution.OpenMapSurfer}{attribution.OpenStreetMap}' } }, Hybrid: { options: { variant: 'hybrid', attribution: '{attribution.OpenMapSurfer}{attribution.OpenStreetMap}' } }, AdminBounds: { options: { variant: 'adminb', maxZoom: 18, attribution: '{attribution.OpenMapSurfer}{attribution.OpenStreetMap}' } }, ContourLines: { options: { variant: 'asterc', maxZoom: 18, minZoom: 13, attribution: '{attribution.OpenMapSurfer} <a href="https://lpdaac.usgs.gov/products/aster_policies">ASTER GDEM</a>' } }, Hillshade: { options: { variant: 'asterh', maxZoom: 18, attribution: '{attribution.OpenMapSurfer} <a href="https://lpdaac.usgs.gov/products/aster_policies">ASTER GDEM</a>, <a href="http://srtm.csi.cgiar.org/">SRTM</a>' } }, ElementsAtRisk: { options: { variant: 'elements_at_risk', attribution: '{attribution.OpenMapSurfer}{attribution.OpenStreetMap}' } } } }, Hydda: { url: '//{s}.tile.openstreetmap.se/hydda/{variant}/{z}/{x}/{y}.png', options: { maxZoom: 18, variant: 'full', attribution: 'Tiles courtesy of <a href="http://openstreetmap.se/" target="_blank">OpenStreetMap Sweden</a> — Map data {attribution.OpenStreetMap}' }, variants: { Full: 'full', Base: 'base', RoadsAndLabels: 'roads_and_labels' } }, MapBox: { url: 'https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}{r}.png?access_token={accessToken}', options: { attribution: '<a href="https://www.mapbox.com/about/maps/" target="_blank">© Mapbox</a> ' + '{attribution.OpenStreetMap} ' + '<a href="https://www.mapbox.com/map-feedback/" target="_blank">Improve this map</a>', subdomains: 'abcd', id: 'mapbox.streets', accessToken: '<insert your access token here>', } }, Stamen: { url: '//stamen-tiles-{s}.a.ssl.fastly.net/{variant}/{z}/{x}/{y}{r}.{ext}', options: { attribution: 'Map tiles by <a href="http://stamen.com">Stamen Design</a>, ' + '<a href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a> — ' + 'Map data {attribution.OpenStreetMap}', subdomains: 'abcd', minZoom: 0, maxZoom: 20, variant: 'toner', ext: 'png' }, variants: { Toner: 'toner', TonerBackground: 'toner-background', TonerHybrid: 'toner-hybrid', TonerLines: 'toner-lines', TonerLabels: 'toner-labels', TonerLite: 'toner-lite', Watercolor: { url: '//stamen-tiles-{s}.a.ssl.fastly.net/{variant}/{z}/{x}/{y}.{ext}', options: { variant: 'watercolor', ext: 'jpg', minZoom: 1, maxZoom: 16 } }, Terrain: { options: { variant: 'terrain', minZoom: 0, maxZoom: 18 } }, TerrainBackground: { options: { variant: 'terrain-background', minZoom: 0, maxZoom: 18 } }, TerrainLabels: { options: { variant: 'terrain-labels', minZoom: 0, maxZoom: 18 } }, TopOSMRelief: { url: '//stamen-tiles-{s}.a.ssl.fastly.net/{variant}/{z}/{x}/{y}.{ext}', options: { variant: 'toposm-color-relief', ext: 'jpg', bounds: [[22, -132], [51, -56]] } }, TopOSMFeatures: { options: { variant: 'toposm-features', bounds: [[22, -132], [51, -56]], opacity: 0.9 } } } }, TomTom: { url: 'https://{s}.api.tomtom.com/map/1/tile/{variant}/{style}/{z}/{x}/{y}.{ext}?key={apikey}', options: { variant: 'basic', maxZoom: 22, attribution: '<a href="https://tomtom.com" target="_blank">© 1992 - ' + new Date().getFullYear() + ' TomTom.</a> ', subdomains: 'abcd', style: 'main', ext: 'png', apikey: '<insert your API key here>', }, variants: { Basic: 'basic', Hybrid: 'hybrid', Labels: 'labels' } }, Esri: { url: '//server.arcgisonline.com/ArcGIS/rest/services/{variant}/MapServer/tile/{z}/{y}/{x}', options: { variant: 'World_Street_Map', attribution: 'Tiles © Esri' }, variants: { WorldStreetMap: { options: { attribution: '{attribution.Esri} — ' + 'Source: Esri, DeLorme, NAVTEQ, USGS, Intermap, iPC, NRCAN, Esri Japan, METI, Esri China (Hong Kong), Esri (Thailand), TomTom, 2012' } }, DeLorme: { options: { variant: 'Specialty/DeLorme_World_Base_Map', minZoom: 1, maxZoom: 11, attribution: '{attribution.Esri} — Copyright: ©2012 DeLorme' } }, WorldTopoMap: { options: { variant: 'World_Topo_Map', attribution: '{attribution.Esri} — ' + 'Esri, DeLorme, NAVTEQ, TomTom, Intermap, iPC, USGS, FAO, NPS, NRCAN, GeoBase, Kadaster NL, Ordnance Survey, Esri Japan, METI, Esri China (Hong Kong), and the GIS User Community' } }, WorldImagery: { options: { variant: 'World_Imagery', attribution: '{attribution.Esri} — ' + 'Source: Esri, i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community' } }, WorldTerrain: { options: { variant: 'World_Terrain_Base', maxZoom: 13, attribution: '{attribution.Esri} — ' + 'Source: USGS, Esri, TANA, DeLorme, and NPS' } }, WorldShadedRelief: { options: { variant: 'World_Shaded_Relief', maxZoom: 13, attribution: '{attribution.Esri} — Source: Esri' } }, WorldPhysical: { options: { variant: 'World_Physical_Map', maxZoom: 8, attribution: '{attribution.Esri} — Source: US National Park Service' } }, OceanBasemap: { options: { variant: 'Ocean_Basemap', maxZoom: 13, attribution: '{attribution.Esri} — Sources: GEBCO, NOAA, CHS, OSU, UNH, CSUMB, National Geographic, DeLorme, NAVTEQ, and Esri' } }, NatGeoWorldMap: { options: { variant: 'NatGeo_World_Map', maxZoom: 16, attribution: '{attribution.Esri} — National Geographic, Esri, DeLorme, NAVTEQ, UNEP-WCMC, USGS, NASA, ESA, METI, NRCAN, GEBCO, NOAA, iPC' } }, WorldGrayCanvas: { options: { variant: 'Canvas/World_Light_Gray_Base', maxZoom: 16, attribution: '{attribution.Esri} — Esri, DeLorme, NAVTEQ' } } } }, OpenWeatherMap: { url: 'http://{s}.tile.openweathermap.org/map/{variant}/{z}/{x}/{y}.png?appid={apiKey}', options: { maxZoom: 19, attribution: 'Map data © <a href="http://openweathermap.org">OpenWeatherMap</a>', apiKey:'<insert your api key here>', opacity: 0.5 }, variants: { Clouds: 'clouds', CloudsClassic: 'clouds_cls', Precipitation: 'precipitation', PrecipitationClassic: 'precipitation_cls', Rain: 'rain', RainClassic: 'rain_cls', Pressure: 'pressure', PressureContour: 'pressure_cntr', Wind: 'wind', Temperature: 'temp', Snow: 'snow' } }, HERE: { /* * HERE maps, formerly Nokia maps. * These basemaps are free, but you need an API key. Please sign up at * https://developer.here.com/plans */ url: 'https://{s}.{base}.maps.api.here.com/maptile/2.1/' + '{type}/{mapID}/{variant}/{z}/{x}/{y}/{size}/{format}?' + 'app_id={app_id}&app_code={app_code}&lg={language}', options: { attribution: 'Map © 1987-' + new Date().getFullYear() + ' <a href="http://developer.here.com">HERE</a>', subdomains: '1234', mapID: 'newest', 'app_id': '<insert your app_id here>', 'app_code': '<insert your app_code here>', base: 'base', variant: 'normal.day', maxZoom: 20, type: 'maptile', language: 'eng', format: 'png8', size: '256' }, variants: { normalDay: 'normal.day', normalDayCustom: 'normal.day.custom', normalDayGrey: 'normal.day.grey', normalDayMobile: 'normal.day.mobile', normalDayGreyMobile: 'normal.day.grey.mobile', normalDayTransit: 'normal.day.transit', normalDayTransitMobile: 'normal.day.transit.mobile', normalDayTraffic: { options: { variant: 'normal.traffic.day', base: 'traffic', type: 'traffictile' } }, normalNight: 'normal.night', normalNightMobile: 'normal.night.mobile', normalNightGrey: 'normal.night.grey', normalNightGreyMobile: 'normal.night.grey.mobile', normalNightTransit: 'normal.night.transit', normalNightTransitMobile: 'normal.night.transit.mobile', reducedDay: 'reduced.day', reducedNight: 'reduced.night', basicMap: { options: { type: 'basetile' } }, mapLabels: { options: { type: 'labeltile', format: 'png' } }, trafficFlow: { options: { base: 'traffic', type: 'flowtile' } }, carnavDayGrey: 'carnav.day.grey', hybridDay: { options: { base: 'aerial', variant: 'hybrid.day' } }, hybridDayMobile: { options: { base: 'aerial', variant: 'hybrid.day.mobile' } }, hybridDayTransit: { options: { base: 'aerial', variant: 'hybrid.day.transit' } }, hybridDayGrey: { options: { base: 'aerial', variant: 'hybrid.grey.day' } }, hybridDayTraffic: { options: { variant: 'hybrid.traffic.day', base: 'traffic', type: 'traffictile' } }, pedestrianDay: 'pedestrian.day', pedestrianNight: 'pedestrian.night', satelliteDay: { options: { base: 'aerial', variant: 'satellite.day' } }, terrainDay: { options: { base: 'aerial', variant: 'terrain.day' } }, terrainDayMobile: { options: { base: 'aerial', variant: 'terrain.day.mobile' } } } }, FreeMapSK: { url: 'http://t{s}.freemap.sk/T/{z}/{x}/{y}.jpeg', options: { minZoom: 8, maxZoom: 16, subdomains: '1234', bounds: [[47.204642, 15.996093], [49.830896, 22.576904]], attribution: '{attribution.OpenStreetMap}, vizualization CC-By-SA 2.0 <a href="http://freemap.sk">Freemap.sk</a>' } }, MtbMap: { url: 'http://tile.mtbmap.cz/mtbmap_tiles/{z}/{x}/{y}.png', options: { attribution: '{attribution.OpenStreetMap} & USGS' } }, CartoDB: { url: 'https://{s}.basemaps.cartocdn.com/{variant}/{z}/{x}/{y}{r}.png', options: { attribution: '{attribution.OpenStreetMap} © <a href="https://carto.com/attributions">CARTO</a>', subdomains: 'abcd', maxZoom: 19, variant: 'light_all' }, variants: { Positron: 'light_all', PositronNoLabels: 'light_nolabels', PositronOnlyLabels: 'light_only_labels', DarkMatter: 'dark_all', DarkMatterNoLabels: 'dark_nolabels', DarkMatterOnlyLabels: 'dark_only_labels', Voyager: 'rastertiles/voyager', VoyagerNoLabels: 'rastertiles/voyager_nolabels', VoyagerOnlyLabels: 'rastertiles/voyager_only_labels', VoyagerLabelsUnder: 'rastertiles/voyager_labels_under' } }, HikeBike: { url: 'https://tiles.wmflabs.org/{variant}/{z}/{x}/{y}.png', options: { maxZoom: 19, attribution: '{attribution.OpenStreetMap}', variant: 'hikebike' }, variants: { HikeBike: {}, HillShading: { options: { maxZoom: 15, variant: 'hillshading' } } } }, BasemapAT: { url: '//maps{s}.wien.gv.at/basemap/{variant}/normal/google3857/{z}/{y}/{x}.{format}', options: { maxZoom: 19, attribution: 'Datenquelle: <a href="https://www.basemap.at">basemap.at</a>', subdomains: ['', '1', '2', '3', '4'], format: 'png', bounds: [[46.358770, 8.782379], [49.037872, 17.189532]], variant: 'geolandbasemap' }, variants: { basemap: { options: { maxZoom: 20, // currently only in Vienna variant: 'geolandbasemap' } }, grau: 'bmapgrau', overlay: 'bmapoverlay', highdpi: { options: { variant: 'bmaphidpi', format: 'jpeg' } }, orthofoto: { options: { maxZoom: 20, // currently only in Vienna variant: 'bmaporthofoto30cm', format: 'jpeg' } } } }, nlmaps: { url: '//geodata.nationaalgeoregister.nl/tiles/service/wmts/{variant}/EPSG:3857/{z}/{x}/{y}.png', options: { minZoom: 6, maxZoom: 19, bounds: [[50.5, 3.25], [54, 7.6]], attribution: 'Kaartgegevens © <a href="kadaster.nl">Kadaster</a>' }, variants: { 'standaard': 'brtachtergrondkaart', 'pastel': 'brtachtergrondkaartpastel', 'grijs': 'brtachtergrondkaartgrijs', 'luchtfoto': { 'url': '//geodata.nationaalgeoregister.nl/luchtfoto/rgb/wmts/1.0.0/2016_ortho25/EPSG:3857/{z}/{x}/{y}.png', } } }, NASAGIBS: { url: 'https://map1.vis.earthdata.nasa.gov/wmts-webmerc/{variant}/default/{time}/{tilematrixset}{maxZoom}/{z}/{y}/{x}.{format}', options: { attribution: 'Imagery provided by services from the Global Imagery Browse Services (GIBS), operated by the NASA/GSFC/Earth Science Data and Information System ' + '(<a href="https://earthdata.nasa.gov">ESDIS</a>) with funding provided by NASA/HQ.', bounds: [[-85.0511287776, -179.999999975], [85.0511287776, 179.999999975]], minZoom: 1, maxZoom: 9, format: 'jpg', time: '', tilematrixset: 'GoogleMapsCompatible_Level' }, variants: { ModisTerraTrueColorCR: 'MODIS_Terra_CorrectedReflectance_TrueColor', ModisTerraBands367CR: 'MODIS_Terra_CorrectedReflectance_Bands367', ViirsEarthAtNight2012: { options: { variant: 'VIIRS_CityLights_2012', maxZoom: 8 } }, ModisTerraLSTDay: { options: { variant: 'MODIS_Terra_Land_Surface_Temp_Day', format: 'png', maxZoom: 7, opacity: 0.75 } }, ModisTerraSnowCover: { options: { variant: 'MODIS_Terra_Snow_Cover', format: 'png', maxZoom: 8, opacity: 0.75 } }, ModisTerraAOD: { options: { variant: 'MODIS_Terra_Aerosol', format: 'png', maxZoom: 6, opacity: 0.75 } }, ModisTerraChlorophyll: { options: { variant: 'MODIS_Terra_Chlorophyll_A', format: 'png', maxZoom: 7, opacity: 0.75 } } } }, NLS: { // NLS maps are copyright National library of Scotland. // http://maps.nls.uk/projects/api/index.html // Please contact NLS for anything other than non-commercial low volume usage // // Map sources: Ordnance Survey 1:1m to 1:63K, 1920s-1940s // z0-9 - 1:1m // z10-11 - quarter inch (1:253440) // z12-18 - one inch (1:63360) url: '//nls-{s}.tileserver.com/nls/{z}/{x}/{y}.jpg', options: { attribution: '<a href="http://geo.nls.uk/maps/">National Library of Scotland Historic Maps</a>', bounds: [[49.6, -12], [61.7, 3]], minZoom: 1, maxZoom: 18, subdomains: '0123', } }, JusticeMap: { // Justice Map (http://www.justicemap.org/) // Visualize race and income data for your community, county and country. // Includes tools for data journalists, bloggers and community activists. url: 'http://www.justicemap.org/tile/{size}/{variant}/{z}/{x}/{y}.png', options: { attribution: '<a href="http://www.justicemap.org/terms.php">Justice Map</a>', // one of 'county', 'tract', 'block' size: 'county', // Bounds for USA, including Alaska and Hawaii bounds: [[14, -180], [72, -56]] }, variants: { income: 'income', americanIndian: 'indian', asian: 'asian', black: 'black', hispanic: 'hispanic', multi: 'multi', nonWhite: 'nonwhite', white: 'white', plurality: 'plural' } }, Wikimedia: { url: 'https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}{r}.png', options: { attribution: '<a href="https://wikimediafoundation.org/wiki/Maps_Terms_of_Use">Wikimedia</a>', minZoom: 1, maxZoom: 19 } }, GeoportailFrance: { url: 'https://wxs.ign.fr/{apikey}/geoportail/wmts?REQUEST=GetTile&SERVICE=WMTS&VERSION=1.0.0&STYLE={style}&TILEMATRIXSET=PM&FORMAT={format}&LAYER={variant}&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}', options: { attribution: '<a target="_blank" href="https://www.geoportail.gouv.fr/">Geoportail France</a>', bounds: [[-75, -180], [81, 180]], minZoom: 2, maxZoom: 18, // Get your own geoportail apikey here : http://professionnels.ign.fr/ign/contrats/ // NB : 'choisirgeoportail' is a demonstration key that comes with no guarantee apikey: 'choisirgeoportail', format: 'image/jpeg', style : 'normal', variant: 'GEOGRAPHICALGRIDSYSTEMS.MAPS.SCAN-EXPRESS.STANDARD' }, variants: { parcels: { options : { variant: 'CADASTRALPARCELS.PARCELS', maxZoom: 20, style : 'bdparcellaire', format: 'image/png' } }, ignMaps: 'GEOGRAPHICALGRIDSYSTEMS.MAPS', maps: 'GEOGRAPHICALGRIDSYSTEMS.MAPS.SCAN-EXPRESS.STANDARD', orthos: { options: { maxZoom: 19, variant: 'ORTHOIMAGERY.ORTHOPHOTOS' } } } }, OneMapSG: { url: '//maps-{s}.onemap.sg/v3/{variant}/{z}/{x}/{y}.png', options: { variant: 'Default', minZoom: 11, maxZoom: 18, bounds: [[1.56073, 104.11475], [1.16, 103.502]], attribution: '<img src="https://docs.onemap.sg/maps/images/oneMap64-01.png" style="height:20px;width:20px;"/> New OneMap | Map data © contributors, <a href="http://SLA.gov.sg">Singapore Land Authority</a>' }, variants: { Default: 'Default', Night: 'Night', Original: 'Original', Grey: 'Grey', LandLot: 'LandLot' } } }; L.tileLayer.provider = function (provider, options) { return new L.TileLayer.Provider(provider, options); }; return L; })); </script> <script>LeafletWidget.methods.addProviderTiles = function(provider, layerId, group, options) { this.layerManager.addLayer(L.tileLayer.provider(provider, options), "tile", layerId, group); }; </script> </head> <body> <div id="htmlwidget_container"> <div id="htmlwidget-cfa05fda04ee51d799fd" style="width:100%;height:400px;" class="leaflet html-widget"></div> </div> <script type="application/json" data-for="htmlwidget-cfa05fda04ee51d799fd">{"x":{"options":{"crs":{"crsClass":"L.CRS.EPSG3857","code":null,"proj4def":null,"projectedBounds":null,"options":{}}},"calls":[{"method":"addProviderTiles","args":["OpenStreetMap",null,null,{"errorTileUrl":"","noWrap":false,"detectRetina":false}]},{"method":"addPolygons","args":[[[[{"lng":[43.5827458025927,44.9724800962181,45.1794958839793,45.5603511899704,45.3591748390582,45.8919071795551,45.6100122414029,46.0345341326807,46.4834989764325,46.505719842318,46.1436230812488,45.735379266143,45.739978468617,45.2981449725215,45.0019873390567,44.7939896990819,44.4000085792887,43.6564363950409,43.7526579119684,43.5827458025927],"lat":[41.0921432561826,41.2481285670556,40.9853539088514,40.8122895371059,40.5615038111935,40.21847565364,39.8999938014252,39.6280207382731,39.4641547714755,38.7706053736863,38.7412014837122,39.3197191432197,39.4739991318271,39.4717512070224,39.7400035670496,39.713002631177,40.0050003118423,40.2535639511662,40.7402009140588,41.0921432561826]}]],[[{"lng":[145.397978143495,146.364120721624,146.908583612251,147.689259474884,148.289067824496,148.359864536736,148.017301467073,147.914051955354,147.564564243764,146.870343052355,146.663327264594,146.04837772032,145.431929559511,145.295090366802,144.718071323831,144.74375451068,145.397978143495],"lat":[-40.7925485166059,-41.1376954078833,-41.0005461565807,-40.8082581520227,-40.8754375140021,-42.0624451637464,-42.4070236142686,-43.2115223121885,-42.9376888974739,-43.6345972633621,-43.5808537737786,-43.5497445615389,-42.6937761370563,-42.0336097145276,-41.1625517718157,-40.7039751116577,-40.7925485166059]}],[{"lng":[143.5618111513,143.922099237239,144.563713820575,144.894908075134,145.374723748963,145.271991001567,145.485259637636,145.637033319277,145.888904250268,146.160308872665,146.063673944279,146.38747846902,147.471081577748,148.177601760043,148.848413527623,148.717465448196,149.289420200802,149.678337030231,150.077382440389,150.482939081015,150.727265252891,150.899554478152,151.609175246384,152.073539666959,152.855197381806,153.136162144177,153.16194868389,153.092908970349,153.569469028944,153.5121081891,153.339095493787,153.069241164359,153.089601678682,152.891577590139,152.450002476205,151.709117466437,151.343971795862,151.010555454715,150.714139439089,150.328219842733,150.075212030232,149.946124302367,149.997283970336,149.423882277626,148.304622430616,147.381733026315,146.922122837511,146.317921991155,145.489652134381,144.876976353128,145.032212355733,144.485682407814,143.609973586196,142.745426873953,142.178329705982,141.606581659105,140.638578729413,139.992158237874,139.806588169514,139.574147577065,139.082808058834,138.120747918856,138.449461704665,138.207564325107,137.719170363516,136.829405552315,137.352371047109,137.503886346588,137.890116001538,137.810327590079,136.99683719294,136.372069126532,135.989043410384,135.208212518454,135.239218377829,134.613416782775,134.085903761939,134.273902622617,132.99077680881,132.288080682505,131.326330601121,129.53579389864,128.240937534702,127.102867466338,126.148713820501,125.088623488466,124.221647983905,124.028946567889,123.659666782731,122.811036411634,122.183064406423,121.299190708503,120.580268182458,119.893695103028,119.298899367349,119.007340936358,118.505717808101,118.02497195849,117.295507440257,116.625109084135,115.56434695848,115.02680870978,115.048616164207,115.545123325667,115.714673700017,115.679378696761,115.801645135564,115.689610630355,115.160909051577,114.997043084779,115.040037876446,114.641974318502,114.616497837382,114.173579136208,114.048883905088,113.477497593237,113.338953078263,113.77835778204,113.440962355607,113.936901076312,114.232852004047,114.216160516417,113.721255324358,113.625343866024,113.393523390763,113.502043898576,113.706992629045,113.843418410296,113.736551548316,114.149756300922,114.225307244933,114.647762078919,115.460167270979,115.947372674627,116.711615431792,117.166316359528,117.441545037914,118.229558953933,118.836085239743,118.987807244952,119.252493931151,119.805225050945,120.856220330897,121.399856398607,121.655137974129,122.241665480642,122.286623976736,122.312772251475,123.012574497572,123.433789097183,123.859344517107,123.503242222183,123.817073195492,124.2582865744,124.379726190286,124.92615278534,125.167275018414,125.670086704614,125.685796340031,126.125149367376,126.14282270722,126.582589146024,127.065867140817,127.804633416862,128.359689976109,128.985543247596,129.62147342338,129.409600050983,129.888640578329,130.339465773643,130.183506300986,130.617795037967,131.22349450086,131.73509118055,132.575298293183,132.557211541881,131.824698114144,132.357223748911,133.019560581596,133.550845981989,134.393068475482,134.678632440327,135.298491245668,135.882693312728,136.258380975489,136.492475213772,136.951620314685,136.685124953356,136.305406528875,135.961758254134,136.077616815333,135.783836297753,135.428664178611,135.500184360903,136.295174595281,137.06536014216,137.580470819245,138.303217401279,138.585164015863,139.108542922116,139.260574985918,140.215245396078,140.875463495039,141.071110467696,141.274095493739,141.398222284104,141.702183058845,141.563380161709,141.635520461188,141.519868605719,141.650920038011,141.842691278246,141.686990187751,141.928629185148,142.118488397388,142.143706496346,142.515260044525,142.797310011974,142.866763136974,143.115946893486,143.158631626559,143.5221236513,143.597157830988,143.5618111513],"lat":[-13.7636556942322,-14.548310642152,-14.1711760392859,-14.5944576961886,-14.9849764950183,-15.4282052547857,-16.2856722958048,-16.7849183081766,-16.9069263648177,-17.7616545549252,-18.2800725236773,-18.9582740210759,-19.4807227515467,-19.9559392229028,-20.3912098120973,-20.6334689266815,-21.2605107561111,-22.3425118954384,-22.1227837053333,-22.556142266533,-22.4024048804647,-23.4622368303387,-24.0762561988308,-24.4578866513062,-25.267501316023,-26.0711731910262,-26.6413192685024,-27.2602995744945,-28.1100668271021,-28.9950774065328,-29.4582015927325,-30.3502401669548,-30.9236418596655,-31.640445651986,-32.5500025367552,-33.0413420549863,-33.8160234514739,-34.3103602027779,-35.1734599749168,-35.6718791643719,-36.4202055803905,-37.1090524228412,-37.4252605120351,-37.7726811663335,-37.8090613746669,-38.2192172177676,-38.6065320777951,-39.0357565244114,-38.5937679990191,-38.4174480120391,-37.896187839511,-38.0853235816993,-38.8094654274053,-38.5382675107375,-38.3800342750598,-38.3085140927679,-38.0193327776626,-37.4029362932851,-36.6436027971883,-36.1383623186707,-35.7327540016118,-35.6122962379394,-35.1272612444479,-34.3847225888459,-35.076825046531,-35.2605347633286,-34.7073385556441,-34.1302678362408,-33.6404786109783,-32.9000070126681,-33.7527714983486,-34.0947661272562,-34.8901180966605,-34.4786703427526,-33.947953383115,-33.2227780087631,-32.8480721982148,-32.617233575167,-32.0112240536802,-31.9826469866228,-31.4958033180011,-31.5904228655275,-31.9484888648779,-32.282266941051,-32.2159660784206,-32.7287513160528,-32.9594865862361,-33.4838473447017,-33.8901791318127,-33.9144670549898,-34.0034021949642,-33.8210360654061,-33.9301766904066,-33.9760653622818,-34.509366143534,-34.4641492652785,-34.7468193499151,-35.0647327613747,-35.0254586728329,-35.0250969378068,-34.3864279111116,-34.1965170224389,-33.623425388322,-33.487257989233,-33.259571628555,-32.9003687476941,-32.205062351207,-31.6124370256838,-30.6015943336225,-30.0307247860942,-29.4610954729408,-28.8102308082247,-28.516398614213,-28.1180766741073,-27.3347653134271,-26.5431340471479,-26.1165450985785,-26.5490251604292,-25.6212781714932,-25.9112346330829,-26.2984461402459,-25.7862810198011,-24.9989388974021,-24.6839710425832,-24.3847644996133,-23.8063501929703,-23.5602153459641,-23.0599874813787,-22.4754753557254,-21.755881036061,-22.5174882951786,-21.8295199520769,-21.4951734351485,-21.0686878394437,-20.7016818173068,-20.6235987281138,-20.7468986955622,-20.3742082658732,-20.2633106421748,-20.0442025692573,-19.9529419898298,-19.976506442955,-19.6837077775892,-19.2397555477697,-18.7053178850071,-18.1976486141718,-17.7986032040139,-17.2549671363034,-16.4051998836959,-17.2685580379962,-17.0690353329173,-16.5965060360404,-16.111316013252,-16.3279436174196,-15.567059828354,-15.0751001929353,-14.68039560309,-14.510070082256,-14.2306556128538,-14.347340996969,-14.0959868303012,-13.9527914364204,-13.8179676245709,-14.276906019755,-14.8691696102523,-14.8759908993147,-14.9697836239246,-14.420669854391,-13.6187033016535,-13.3573755835535,-13.1075200334223,-12.5363921037325,-12.1836487769081,-12.3024528947472,-12.114040622611,-11.6030123836767,-11.2737818335451,-11.1285193823726,-11.3764112280768,-11.7865153947451,-12.0423654110222,-11.9411829565947,-12.2486060522991,-11.9622669409698,-12.0493417293816,-11.8572087541204,-12.3519589168827,-12.8872234025621,-13.2912297502199,-13.3245093726159,-13.7242782528258,-14.2239893530882,-14.7154322241839,-14.9977405737944,-15.5502649878591,-15.8707622209334,-16.2150822892941,-16.8076042619527,-16.8066224097392,-17.0626791317454,-17.3716008439862,-17.7108049455501,-17.3690686988039,-16.8320472144267,-16.3888701310916,-15.8405315080426,-15.0449211564769,-14.5613331030895,-14.2703947892863,-13.6980783016538,-12.9446875952706,-12.7415475399312,-12.4076144344611,-11.8774659155788,-11.3280420874516,-11.0427365047681,-10.6681857235166,-11.1573548315915,-11.7847067196149,-11.9056295711779,-12.3256556128462,-12.8343584123274,-13.4004220516526,-13.7636556942322]}]],[[{"lng":[16.979666782304,16.9037541032673,16.3405843441504,16.5342676123804,16.2022982113374,16.0116638526127,15.137091912505,14.6324715511748,13.8064754574215,12.3764852230408,12.1530880062431,11.1648279150933,11.0485559424365,10.4427014502466,9.93244835779666,9.47996951664902,9.63293175623298,9.59422610844635,9.89606814946319,10.4020837744652,10.5445040218616,11.4264140153547,12.1413574561128,12.6207597184845,12.9326269873659,13.0258512712205,12.8841028174439,13.243357374737,13.5959456722644,14.3388977393247,14.9014473812541,15.253415561594,16.0296472510502,16.4992826677188,16.9602881201946,16.879982944413,16.979666782304],"lat":[48.1234970159763,47.7148656276283,47.7129019232012,47.4961709661691,46.852385972677,46.6836107448117,46.658702704447,46.4318173284695,46.5093061386912,46.7675591090699,47.1153931748265,46.9415794948127,46.7513585475463,46.8935462509974,46.920728054383,47.1028099635634,47.34760122333,47.5250580918203,47.5801968450757,47.3024876979392,47.5663992376538,47.523766181013,47.7030834010658,47.6723876002844,47.467645575544,47.6375835231358,48.2891458196879,48.4161148138291,48.8771719427371,48.5553052842072,48.9644017604458,49.0390742051076,48.7338990342079,48.7858080104451,48.5969823268506,48.4700133327095,48.1234970159763]}]],[[{"lng":[3.31497114422854,4.04707116050753,4.97399132652691,5.60697594567,6.15665815595878,6.04307335778111,5.78241743330091,5.67405195478483,4.79922163251581,4.28602298342508,3.58818444175569,3.1232515804258,2.65842207196027,2.51357303224614,3.31497114422854],"lat":[51.3457809515361,51.2672586126686,51.4750237086981,51.0372984889698,50.8037210150106,50.1280516627942,50.0903278672212,49.5294835475575,49.9853730332364,49.9074966497726,50.3789924180036,50.7803632676146,50.7968480495157,51.1485061712618,51.3457809515361]}]],[[{"lng":[2.69170169435625,1.86524051271232,1.61895063640924,1.66447757325838,1.46304284018467,1.42506066245014,1.07779503744874,0.772335646171484,0.899563022474069,1.24346967937649,1.44717817547107,1.93598554851988,2.15447350424992,2.49016360841793,2.84864301922667,3.61118045412556,3.57221642417747,3.79711225751171,3.6000700211828,3.70543826662592,3.2203515967021,2.91230838381026,2.72379275880951,2.74906253420022,2.69170169435625],"lat":[6.25881724692863,6.14215770102973,6.83203807212624,9.12859039960938,9.33462433515709,9.825395412633,10.175606594275,10.4708082137424,10.9973393823643,11.1105107690835,11.5477192244889,11.6411502140726,11.9401500513133,12.2330520695437,12.2356358911583,11.660167141156,11.3279393579515,10.7347455916731,10.3321861841194,10.0632103540402,9.4441525333997,9.13760793704432,8.50684540448971,7.87073436119289,6.25881724692863]}]],[[{"lng":[-2.82749630371271,-3.51189897298627,-3.98044918457668,-4.33024695476038,-4.77988359213197,-4.9546532861431,-5.40434159994697,-5.47056494792901,-5.19784257650865,-5.22094194174312,-4.4271661035238,-4.28040503581488,-4.00639075358723,-3.52280270019986,-3.10370683431276,-2.96769446452058,-2.19182451009038,-2.00103512206877,-1.06636349120566,-0.515854458000348,-0.26625729003058,0.374892205414682,0.295646396495101,0.429927605805517,0.993045688490071,1.02410322429748,2.17710778159378,2.15447350424992,1.93598554851988,1.44717817547107,1.24346967937649,0.899563022474069,0.0238025244237008,-0.438701544588582,-0.761575893548183,-1.20335771321143,-2.94040930827046,-2.96389624674711,-2.82749630371271],"lat":[9.64246084231978,9.90032623945622,9.8623440617217,9.61083486575714,9.82198476810174,10.1527139347697,10.3707368026091,10.951269842976,11.3751457788501,11.7138589543072,12.5426455754043,13.2284435083497,13.4724854598481,13.3376616479986,13.5412667912286,13.7981503361515,14.2464175480674,14.5590082870009,14.9738150090078,15.1161577417557,14.9243089868721,14.9289081893461,14.4442349308807,13.9887330184439,13.3357496200038,12.8518256698066,12.6250178084775,11.9401500513133,11.6411502140726,11.5477192244889,11.1105107690835,10.9973393823643,11.0186817489008,11.0983409692787,10.9369296330151,11.0098192407627,10.9626903345126,10.3953347843801,9.64246084231978]}]],[[{"lng":[92.6727209818256,92.652257114638,92.3032344909387,92.3685535013556,92.0828861836461,92.0252152852084,91.8348909850774,91.4170870299977,90.4960063008273,90.586956821661,90.2729708190556,89.8474670755643,89.7020495950949,89.4188627461355,89.0319612975662,88.8763118835031,88.5297697285538,88.6999402200909,88.0844222350624,88.306372511756,88.9315539896231,88.2097892598025,88.5630493509498,89.3550940286873,89.8324809101996,89.9206925801219,90.8722107279121,91.7995959818221,92.3762016133348,91.9150928079944,91.4677299336437,91.1589632506997,91.7064750508321,91.8699276061713,92.1460347839068,92.6727209818256],"lat":[22.0412389185413,21.3240475529785,21.4754853378098,20.6708832870253,21.1921951359858,21.7015697290868,22.1829356958856,22.7650190292212,22.8050165878151,22.3927936874229,21.8363677027201,22.0391460230334,21.8571157902853,21.9661789006373,22.055708319583,22.8791464299378,23.6311418726492,24.2337149113886,24.5016572128219,24.8660794133442,25.2386923283848,25.7680657007827,26.4465255803427,26.0144072535181,25.9650820988955,25.2697498641922,25.1326006128895,25.1474317489573,24.976692816665,24.1304137232371,24.0726394719348,23.5035269231044,22.9852639836492,23.6243464218028,23.6274986841726,22.0412389185413]}]],[[{"lng":[22.657149692483,22.9448323910518,23.3323022803763,24.1006791521242,25.5692716814269,26.0651587256997,27.2423995297409,27.9701070492751,28.558081495892,28.0390950863847,27.673897739378,27.9967204119054,27.1357393734905,26.1170418637208,26.1061381365072,25.1972013689254,24.492644891058,23.6920736019923,22.9523771501665,22.8813737321974,22.3805257504246,22.5450118344096,22.4365946794613,22.6048014665713,22.9860185075885,22.5001566911803,22.4104464047216,22.657149692483],"lat":[44.2349230006613,43.8237853053471,43.8970108099047,43.7410513372479,43.6884447291747,43.9434937607513,44.1759860296324,43.8124681666752,43.7074616562581,43.2931716985742,42.5778923610062,42.0073587102878,42.1414848903013,41.8269046087246,41.3288988307278,41.2344859889305,41.583896185872,41.3090809189439,41.3379938828111,41.9992971868503,42.3202595078151,42.461362006188,42.5803211533239,42.8985187851611,43.211161200527,43.642814439461,44.0080634629,44.2349230006613]}]],[[{"lng":[-57.625133429583,-56.2908996242391,-55.1622863429846,-54.4907252671355,-53.6487353175879,-53.6283489650487,-54.1300496079544,-54.6252906968236,-54.4289460923306,-54.2934763250774,-54.2929595607545,-54.6528342352351,-55.0279017808096,-55.4007472397954,-55.5176393296396,-55.6106827459811,-55.7979581366069,-56.4733174302294,-56.8815095689029,-57.9371557277613,-57.8706739976178,-58.166392381408,-57.8538016424745,-57.9499973211858,-57.6760088771743,-57.498371141171,-57.734558274961,-58.2808040025023,-58.388058437724,-58.2412198553667,-60.158389655179,-60.5429656642952,-60.2511488511429,-60.2643263413774,-60.45919816755,-60.5033040025111,-61.0841212632557,-61.7132043117608,-62.1270808579864,-62.8030602687964,-63.1964987860506,-64.3163529120316,-65.402281460213,-65.321898769783,-65.4448370022054,-65.3384352281164,-66.6469083319628,-67.1738012356107,-68.0481923082054,-68.2712536281933,-68.7861575995495,-69.529678107365,-70.0937522040469,-70.5486856757284,-70.4818938869912,-71.3024122789215,-72.1848907131698,-72.5630330064656,-73.2267134263902,-73.0153826565326,-73.5710593329671,-73.9872354804297,-73.7234014553635,-73.7244866604416,-73.1200274319236,-73.2197112698146,-72.9645072089412,-72.8919276597873,-71.7484057278165,-70.9288433498836,-70.7947688463023,-69.8936352199966,-69.4441019354896,-69.4204858059322,-69.5770653957766,-70.0206558905701,-70.0155657619893,-69.4523960028725,-69.2524340481191,-69.2186376614002,-69.8045967271577,-69.8169732326916,-67.8685650295588,-67.5378100246747,-67.2599975246736,-67.0650481838525,-66.8763258531226,-66.325765143485,-65.5482673814376,-65.3547133042884,-64.6110119289599,-64.1993057928905,-64.0830854966661,-63.3687880113117,-63.4228673977051,-64.2699991522658,-64.4088278876179,-64.3684944322141,-64.816064012294,-64.6286594305875,-63.8883428615742,-63.0931975978991,-62.8045330471167,-62.0854296535591,-60.9668932766015,-60.6011791652719,-60.7335741848037,-60.2136834377313,-59.9809586249049,-60.1110023667674,-59.7674057684587,-59.5380399237312,-59.8154131740579,-59.9745249090846,-59.7185457017267,-59.6460436672213,-59.0308615790026,-58.5400129868783,-58.429477098206,-58.113449876525,-57.6609710353774,-57.3358229233969,-56.7827042303608,-56.5393857489146,-55.9956980047718,-55.9056001450709,-56.0733418442903,-55.9733221095894,-55.569755011606,-55.0975874497551,-54.5247541977997,-54.0880625067173,-53.7785206772889,-53.5548392401135,-53.4184651352953,-52.939657151895,-52.5564247300184,-52.249337531124,-51.6577974106789,-51.3171463690109,-51.0697712876297,-50.5088752915337,-49.9740758937451,-49.9471007960887,-50.6992512680969,-50.3882108221321,-48.6205667791563,-48.5844966294166,-47.8249564275906,-46.5665836248512,-44.9057030909904,-44.4176191879937,-44.5815885076558,-43.4187912664402,-41.4726568263282,-39.978665330554,-38.5003834701966,-37.2232521225352,-36.4529373845764,-35.5977957830105,-35.2353889633476,-34.8960298324868,-34.729993455533,-35.1282120427742,-35.6369665186877,-37.046518724097,-37.6836116196074,-38.4238765121884,-38.6738870916165,-38.9532757228025,-38.8822981430497,-39.1610924952643,-39.2673392400564,-39.5835214910342,-39.7608233302276,-40.7747407700103,-40.9447562322506,-41.7541641912382,-41.9882842677366,-43.0747037420248,-44.6478118556378,-45.3521357895599,-46.4720932684055,-47.6489723374207,-48.4954581365777,-48.6410048081277,-48.4747358872287,-48.6615203517476,-48.8884574041574,-49.5873294744727,-50.6968741522115,-51.5762261623062,-52.256081305538,-52.7120999822977,-53.3736616684982,-53.6505439927181,-53.2095889959715,-53.7879516261822,-54.5724515448051,-55.6015101792493,-55.9732445949409,-56.9760257635647,-57.625133429583],"lat":[-30.2162948544543,-28.8527605120009,-27.8819153785335,-27.4747567685058,-26.9234725888161,-26.1248650041775,-25.5476392554773,-25.7392554664155,-25.1621847470122,-24.570799655864,-24.0210140927107,-23.839578138934,-24.0012736955752,-23.9569353166688,-23.5719975725266,-22.6556193986948,-22.3569296200478,-22.0863001441353,-22.2821538225215,-22.0901758765572,-20.732687676682,-20.1767009416537,-19.9699952124862,-19.4000041643068,-18.961839694904,-18.1741875139113,-17.5524683570078,-17.271710300366,-16.8771090633853,-16.2995732560913,-16.2582837866901,-15.0939104142896,-15.0772189266593,-14.6459790991836,-14.3540072567346,-13.7759546851177,-13.4793836401946,-13.4892021623301,-13.1987806128497,-13.0006531714427,-12.6270325659724,-12.4619780412322,-11.5662704403172,-10.8958720841947,-10.5114511043754,-9.76198780684639,-9.93133147546686,-10.3068124324996,-10.7120590145325,-11.0145211727368,-11.0363803035963,-10.9517343075022,-11.123971856331,-11.0091468237785,-9.49011809655885,-10.0794361304154,-10.0535979142694,-9.52019378015272,-9.46221282312123,-9.03283334720806,-8.42444670983583,-7.52382984785307,-7.34099863040441,-6.91859547285064,-6.62993092206824,-6.08918873456608,-5.74125131594489,-5.27456145591698,-4.59398284263301,-4.40159148521037,-4.2512647436733,-4.29818694419433,-1.55628712321982,-1.12261850342641,-0.549991957200163,-0.185156345219539,0.541414292804205,0.706158758950693,0.602650865070075,0.985676581217433,1.08908112223347,1.71480520263962,1.69245514567339,2.03716278727633,1.71999868408496,1.13011220947322,1.25336050048934,0.724452215982012,0.78925446207603,1.0952822941085,1.32873057698704,1.49285492594602,1.91636912679408,2.20089956299313,2.41106761312417,2.49700552002557,3.12678620036662,3.79721039470525,4.05644521729742,4.14848094320925,4.02053009685457,3.77057119385879,4.00696503337795,4.16212352133431,4.53646759685664,4.91809804933213,5.2002772078619,5.2444863956876,5.01406118409814,4.57496653891408,4.42350291586661,3.95880259848194,3.60649852133209,2.75523265218806,2.24963043864436,1.78689382568679,1.31769765869272,1.26808828369252,1.46394196207872,1.50719513590703,1.68258494710564,1.94853770589576,1.86371084228865,1.89952260986692,1.8176671411166,2.02199575439866,2.2207949894255,2.51036387777302,2.42150625244713,2.52374807373661,2.31184886312379,2.10555654541463,2.37670278565008,2.33489655192595,2.05338918701598,2.12485769287564,2.50470530843705,3.24109446859624,4.15623240805303,4.20349050538395,3.65039765056403,1.90156382894246,1.73648346598607,1.04618968343122,0.222984117021682,-0.0784445125368194,-0.235489190271821,-1.237805271005,-0.5816179337628,-0.941027520352776,-1.55173959717813,-2.13775033936798,-2.69130828207852,-2.38311003988979,-2.91201832439712,-2.87305429444904,-3.7006523576034,-4.82094573325892,-5.10940357831215,-5.14950448977065,-5.46493743248025,-6.73819304771971,-7.34322071699297,-8.99640146244229,-9.64928150801781,-11.0407211239088,-12.1711947567258,-13.0381185848543,-13.0576522762606,-13.7933696428,-15.6670537248388,-17.2084066708085,-17.8677462704205,-18.2622958309689,-19.5991134579274,-20.9045118140524,-21.9373169898378,-22.3706755510375,-22.9700704891909,-22.9676933733055,-23.3519593238278,-23.7968417294286,-24.0889686011745,-24.8851990699277,-25.8770248349057,-26.6236976050909,-27.1759119605619,-28.1861345354357,-28.6741150855679,-29.2244690894763,-30.984465020473,-31.7776982561532,-32.2453699683947,-33.1965780575912,-33.7683777809008,-33.2020040829818,-32.7276661109747,-32.0472425269876,-31.4945114071937,-30.8538786760714,-30.8830758603163,-30.1096863746361,-30.2162948544543]}]],[[{"lng":[114.204016554828,114.599961379049,115.45071048387,115.405700311344,115.347460972151,114.869557326315,114.659595981914,114.204016554828],"lat":[4.52587392823681,4.90001129802997,5.44772980389153,4.95522756593384,4.31663605388701,4.34831370688192,4.00763682699775,4.52587392823681]}]],[[{"lng":[91.6966565286967,92.1037117858597,92.0334835143751,91.2175126484864,90.3732747741341,89.7445276224389,88.8356425312894,88.8142484883206,89.4758101745211,90.0158288919712,90.7305139505678,91.2588537943199,91.6966565286967],"lat":[27.7717418482517,27.4526140406332,26.8383104517636,26.808648179628,26.8757241887429,26.71940298106,27.0989663762438,27.2993159042394,28.0427588974064,28.2964385035272,28.0649539250758,28.0406143254663,27.7717418482517]}]],[[{"lng":[-63.6645,-62.9393,-62.01208,-62.50391,-62.87433,-64.1427999999999,-64.39261,-64.01486,-63.6645],"lat":[46.55001,46.41587,46.4431400000001,46.03339,45.96818,46.39265,46.72747,47.03601,46.55001]}],[{"lng":[-61.806305,-62.29318,-63.58926,-64.51912,-64.17322,-62.85829,-61.835585,-61.806305],"lat":[49.10506,49.08717,49.4006900000001,49.87304,49.95718,49.70641,49.28855,49.10506]}],[{"lng":[-123.510001587551,-124.0128907884,-125.655012777338,-125.954994466793,-126.850004435872,-127.029993449544,-128.059336304366,-128.444584107102,-128.358413656255,-127.30858109603,-126.695000977212,-125.755006673823,-125.415001587559,-124.920768189119,-123.922508708321,-123.510001587551],"lat":[48.5100108913034,48.3708462591414,48.8250045843385,49.1799958359676,49.5300003118804,49.8149958359701,49.9949590114266,50.5391376816761,50.7706480983437,50.552573554072,50.4009032252954,50.2950182155294,49.9500005153326,49.4752749700834,49.0624836289358,48.5100108913034]}],[{"lng":[-56.1340358140171,-56.7958817205953,-56.1431050278843,-55.4714922756029,-55.8224010890809,-54.9351425848457,-54.4737753973438,-53.4765494451913,-53.7860137599712,-53.0861339992263,-52.9586482407622,-52.6480987209042,-53.0691582912183,-53.521456264853,-54.1789355129025,-53.9618686590605,-54.2404821437621,-55.4007730780115,-55.9974808416858,-55.2912190415528,-56.2507987127805,-57.3252292547771,-59.2660151841468,-59.4194941880537,-58.7965864732074,-59.2316245184565,-58.3918049790652,-57.358689744686,-56.738650071832,-55.8709769354353,-55.4069742498866,-55.6002182684421,-56.1340358140171],"lat":[50.6870097926793,49.812308661491,50.1501174993828,49.9358153346685,49.5871286077791,49.3130109726868,49.5566911891592,49.2491389023741,48.5167805039336,48.6878036566035,48.1571642116145,47.5355484075755,46.6554987656449,46.6182917343948,46.807065741557,47.6252070176019,47.7522793646076,46.8849938014531,46.9197203639533,47.389562486351,47.6325450709874,47.572807115258,47.6033478867425,47.8994538437749,48.2515253769795,48.5231883815378,49.1255805527642,50.7182740342159,51.2874382594785,51.6320942246492,51.5882726100657,51.3170746933979,50.6870097926793]}],[{"lng":[-133.180004041712,-132.710007884431,-131.749989584003,-132.049480347351,-131.179042521827,-131.577829549823,-132.180428426779,-132.549992432314,-133.054611178756,-133.239664482793,-133.180004041712],"lat":[54.1699754909353,54.0400093154235,54.1200043809092,52.9846214870245,52.1804328476983,52.1823707139093,52.6397071396924,53.1000149603321,53.4114688177554,53.8510802272624,54.1699754909353]}],[{"lng":[-79.26582,-79.65752,-80.09956,-80.36215,-80.315395,-79.92939,-79.52002,-79.26582],"lat":[62.158675,61.63308,61.7181,62.01649,62.085565,62.3856,62.36371,62.158675]}],[{"lng":[-81.89825,-83.06857,-83.77462,-83.99367,-83.25048,-81.87699,-81.89825],"lat":[62.7108,62.15922,62.18231,62.4528,62.91409,62.90458,62.7108]}],[{"lng":[-85.1613079495499,-84.975763719406,-84.4640120104195,-83.8826263089198,-82.7875768704388,-81.6420137193925,-81.5534403144443,-80.8173612128789,-80.1034513007666,-80.9910198635957,-82.547178107417,-83.1087975735651,-84.1004166328139,-85.523404710619,-85.8667687649824,-87.2219832018367,-86.3527597724713,-86.2248864407651,-85.8838478258549,-85.1613079495499],"lat":[65.6572846543928,65.217518215589,65.3717723659802,65.1096178249635,64.7666930202747,64.455135809987,63.9796092800372,64.057485663501,63.7259813503486,63.411246039475,63.6517223171452,64.1018757188397,63.569711819098,63.0523790554241,63.6372529161036,63.5412381049052,64.0358332383707,64.8229169786083,65.7387783881171,65.6572846543928]}],[{"lng":[-75.86588,-76.98687,-77.2363999999999,-76.81166,-75.89521,-75.1145,-75.1033299999999,-75.21597,-75.86588],"lat":[67.14886,67.09873,67.58809,68.14856,68.28721,68.01036,67.58202,67.44425,67.14886]}],[{"lng":[-95.6476812038005,-96.2695212038006,-97.6174012038006,-98.4318012038005,-99.7974012038005,-98.9174012038006,-98.2182612038005,-97.1574012038006,-96.5574012038005,-96.2574012038005,-95.6476812038005],"lat":[69.1076903583218,68.7570403583217,69.0600303583218,68.9507003583218,69.4000303583218,69.7100303583218,70.1435403583218,69.8600303583218,69.6800303583218,69.4900303583218,69.1076903583218]}],[{"lng":[-90.5470999999999,-90.55151,-89.21515,-88.01966,-88.31749,-87.35017,-86.30607,-85.57664,-85.52197,-84.10081,-82.6225799999999,-81.28043,-81.2202,-81.96436,-81.25928,-81.38653,-83.34456,-84.73542,-85.7694299999999,-86.0676,-87.0314299999999,-87.32324,-88.48296,-89.91444,-90.70398,-90.7700400000001,-91.93342,-93.15698,-94.24153,-94.62931,-94.6846,-93.21502,-92.76462,-92.2970299999999,-90.89769,-89.03953,-88.03978,-87.32421,-86.07121,-85.0118099999999,-83.36055,-82.27285,-82.4362,-82.12502,-81.40075,-79.91289,-79.14301,-78.60191,-79.12421,-79.82958,-78.22874,-77.0956,-76.54137,-76.62319,-77.30226,-78.51688,-77.33676,-77.77272,-78.10687,-77.41067,-75.69621,-74.6682,-73.83988,-72.90853,-71.67708,-71.37369,-69.59042,-69.62033,-69.2879,-68.37455,-67.6497599999999,-66.20178,-65.24517,-64.58352,-63.80475,-62.50236,-61.39655,-61.79866,-60.46853,-59.56962,-57.97508,-57.3332,-56.93689,-56.15811,-55.75632,-55.68338,-56.40916,-57.12691,-58.77482,-60.03309,-61.72366,-63.86251,-65.36331,-66.39905,-67.23631,-68.5111399999999,-69.95362,-71.10458,-70.25522,-68.65,-66.55243,-65.05626,-64.17099,-65.11545,-64.7985399999999,-64.47219,-63.17329,-61.52072,-60.51815,-60.4486,-59.80287,-61.03988,-63.25471,-64.24656,-65.36406,-66.1234,-66.1617299999999,-64.42549,-66.0260500000001,-67.13741,-67.79134,-67.79046,-68.23444,-68.905,-69.237216,-69.99997,-70.305,-70.66,-71.08482,-71.405,-71.50506,-73.34783,-74.867,-75.31821,-76.375,-76.5000000000001,-76.8200341458056,-77.7378850979577,-78.7202799140424,-79.1716735501119,-79.01,-78.92,-78.9393621487437,-80.2474476793479,-81.2777465481672,-82.4392777167916,-82.6900892809202,-83.0298101468069,-83.1419996813126,-83.12,-82.9,-82.43,-82.1376423815039,-82.3377631254311,-82.5509246487582,-83.5928507148431,-83.4695507473946,-83.6161309475906,-83.8907653470058,-84.0918512641615,-84.1421195136734,-84.3367,-84.6049,-84.5437487454459,-84.7792382473999,-84.8760798815149,-85.6523632474034,-86.4619908312283,-87.4397926233002,-88.3781141832867,-89.2729174466367,-89.6,-90.83,-91.64,-92.61,-93.63087,-94.3291400000001,-94.64,-94.81758,-95.1560899999999,-95.159069509172,-97.2287200000048,-100.65,-104.04826,-107.05,-110.05,-113,-116.04818,-117.03121,-120,-122.84,-122.97421,-124.91024,-125.62461,-127.43561,-127.99276,-127.85032,-129.12979,-129.30523,-130.51497,-130.53611,-129.98,-130.00778,-131.70781,-132.73042,-133.35556,-134.27111,-134.945,-135.47583,-136.47972,-137.4525,-138.34089,-139.039,-140.013,-140.99778,-140.9925,-140.986,-139.12052,-137.54636,-136.50358,-135.62576,-134.41464,-132.92925,-131.43136,-129.79471,-129.10773,-128.36156,-128.13817,-127.44712,-125.75632,-124.42483,-124.28968,-123.06108,-122.6835,-121.47226,-119.94288,-117.60268,-116.22643,-115.2469,-113.89794,-115.30489,-113.49727,-110.798,-109.94619,-108.8802,-107.79239,-108.81299,-108.16721,-106.95,-106.15,-105.34282,-104.33791,-103.22115,-101.45433,-99.90195,-98.4432,-98.5586,-97.66948,-96.11991,-96.1258799999999,-95.48943,-94.6849999999999,-94.23282,-95.30408,-96.47131,-96.39115,-95.2088,-93.88997,-92.87818,-91.51964,-92.40692,-90.5470999999999],"lat":[69.49766,68.47499,69.25873,68.61508,67.8733800000001,67.19872,67.92146,68.78456,69.88211,69.80539,69.65826,69.16202,68.66567,68.13253,67.59716,67.1107800000001,66.41154,66.2573,66.55833,66.05625,65.2129700000001,64.77563,64.09897,64.03273,63.61017,62.96021,62.83508,62.02469,60.89865,60.11021,58.94882,58.78212,57.8457100000001,57.08709,57.28468,56.8517200000001,56.47162,55.99914,55.72383,55.3026,55.24489,55.14832,54.28227,53.27703,52.15788,51.20842,51.53393,52.56208,54.14145,54.66772,55.13645,55.83741,56.53423,57.20263,58.05209,58.8045800000001,59.85261,60.75788,62.31964,62.55053,62.2784,62.18111,62.4438,62.10507,61.5253500000001,61.13717,61.06141,60.22125,58.9573600000001,58.80106,58.2120600000001,58.76731,59.87071,60.33558,59.4426,58.16708,56.96745,56.33945,55.77548,55.20407,54.94549,54.6265,53.78032,53.64749,53.27036,52.14664,51.7707000000001,51.41972,51.0643,50.24277,50.08046,50.29099,50.2982,50.22897,49.51156,49.0683600000001,47.74488,46.8217100000001,46.98606,48.3,49.1331,49.23278,48.74248,48.07085,46.99297,46.23849,45.73902,45.88377,47.00793,46.28264,45.9204,45.26525,44.67014,44.26553,43.5452300000001,43.61867,44.46512,45.29204,45.2593100000001,45.1375300000001,45.7028100000001,47.06636,47.35486,47.185,47.447781,46.69307,45.915,45.46,45.30524,45.2550000000001,45.0082,45.00738,45.00048,44.81645,44.09631,44.0184588937587,43.6287842880938,43.6290555893633,43.6250894231849,43.4663394231842,43.2700000000001,42.9650000000001,42.863611355148,42.3661998561226,42.2090259873069,41.6751050888672,41.6751050888672,41.8327957220058,41.9756810572928,42.08,42.4300000000001,42.98,43.5710875514399,44.44,45.3475165879054,45.8168936224124,45.9946863877126,46.1169269882991,46.1169269882991,46.2754186061382,46.5122258571157,46.40877,46.4396,46.5386841904491,46.637101955749,46.9000833196824,47.2202188177305,47.553338019392,47.94,48.3029175888937,48.0198082545827,48.01,48.27,48.14,48.45,48.60926,48.67074,48.84,49.38905,49.38425,49,49.0007,49,48.99986,49,49,49,49,49,49,49,49.0025377777778,49.98456,50.41656,50.83061,51.71583,52.3296100000001,52.75538,53.56159,54.28757,54.80278,55.285,55.91583,56.55212,57.69289,58.41028,58.8611100000001,59.27056,59.78778,59.46389,58.905,59.56211,60.0000000000001,60.27682,60.3063900000001,66.00003,69.712,69.47102,68.99002,68.89804,69.31512,69.62743,69.50534,69.94451,70.19369,69.77927,70.01286,70.48384,70.37721,69.48058,70.1584,69.39969,69.56372,69.8555300000001,69.79778,69.37786,69.0112800000001,68.84151,68.9059100000001,68.3989,67.9026100000001,67.68815,67.80612,67.98104,67.38144,67.88736,68.31164,68.65392,68.7,68.8,68.56122,68.018,68.09775,67.6468900000001,67.80566,67.78165,68.4039400000001,68.57864,68.23939,67.29338,68.0907,68.06383,69.06903,69.68571,70.08976,71.19482,71.92053,71.76015,71.31869,70.19129,69.69997,69.49766]}],[{"lng":[-114.16717,-114.66634,-112.44102,-111.05039,-109.92035,-109.00654,-108.18835,-107.68599,-108.39639,-107.51645,-106.52259,-105.40246,-104.77484,-104.46476,-102.78537,-100.98078,-101.08929,-102.73116,-102.09329,-102.43024,-104.24,-105.96,-107.12254,-109,-111.5341488752,-113.3132,-113.85496,-115.22,-116.10794,-117.34,-116.67473,-115.13112,-113.72141,-112.4161,-114.35,-116.48684,-117.9048,-118.43238,-116.11311,-117.65568,-119.40199,-118.56267,-117.86642,-115.18909,-114.16717],"lat":[73.1214500000001,72.6527700000001,72.9554000000001,72.4504000000001,72.9611300000001,72.63335,71.65089,72.0654800000001,73.0895300000001,73.23598,73.07601,72.6725900000001,71.6984000000001,70.9929700000001,70.49776,70.02432,69.5844700000001,69.50402,69.1196200000001,68.75282,68.9100000000001,69.1800000000001,69.1192200000001,68.78,68.6300591568179,68.53554,69.0074400000001,69.2800000000001,69.16821,69.9600000000001,70.06655,70.2373000000001,70.1923700000001,70.36638,70.6000000000001,70.52045,70.5405600000001,70.9092000000001,71.30918,71.2952000000001,71.55859,72.3078500000001,72.7059400000001,73.3145900000001,73.1214500000001]}],[{"lng":[-104.5,-105.38,-106.94,-106.6,-105.26,-104.5],"lat":[73.42,72.7600000000001,73.46,73.6,73.6400000000001,73.42]}],[{"lng":[-76.34,-76.2514038085938,-77.3144378662109,-78.3916702270508,-79.4862518310547,-79.7758331298828,-80.8760986328125,-80.8338851928711,-80.3530578613281,-78.0644378662109,-76.34],"lat":[73.102684989953,72.8263854980469,72.8555450439453,72.8766555786133,72.7422027587891,72.8029022216797,73.3331832885742,73.6931838989258,73.7597198486328,73.6519317626953,73.102684989953]}],[{"lng":[-86.5621785143341,-85.7743713040445,-84.8501124742882,-82.315590176101,-80.6000876533076,-80.7489416165244,-78.7706385973108,-77.8246239895596,-75.6058446926757,-74.228616095665,-74.0991407945577,-72.2422257147977,-71.2000154283352,-68.7860542466849,-67.9149704657569,-66.9690333726542,-68.8051228502005,-66.4498660956339,-64.8623144191952,-63.4249344549968,-61.8519813706806,-62.1631768459423,-63.9184443833842,-65.1488602362536,-66.7212190415985,-68.015016038674,-68.1412874009792,-67.0896461656234,-65.7320804510998,-65.3201676093013,-64.6694062974497,-65.0138038804589,-66.2750447251905,-68.7831862046927,-67.369680752213,-66.3282972886672,-66.1655682033802,-68.8773665025446,-71.0234370591938,-72.235378587519,-71.8862784491713,-73.3783062405184,-74.8344189114226,-74.8185025702767,-77.70997982452,-78.5559488593542,-77.8972810533619,-76.0182742987972,-73.9597952948827,-74.2938834296496,-73.9449124823826,-72.6511671617394,-72.9260599433161,-73.3116178046457,-74.8433072577768,-76.8691009182668,-76.2286490546574,-77.2873699612371,-78.1686339993266,-78.9572421943167,-79.4924550035637,-81.3054709540918,-84.9447061835985,-87.0600034248179,-88.6817132230015,-89.513419562523,-88.4677211168808,-89.8881512112875,-90.205160285182,-89.4365767077049,-88.4082415433128,-85.8261510892009,-86.5621785143341],"lat":[73.1574470079385,72.5341258816338,73.3402782253871,73.7509508328106,72.7165436876242,72.0619066433508,72.3521731635342,72.749616604291,72.2436784939374,71.7671442735579,71.3308401557177,71.5569245469945,70.9200125189972,70.5250237087743,70.1219475368976,69.1860873480919,68.7201984727644,68.067163397892,67.8475385606516,66.9284732123407,66.8621206732778,66.1602513698896,64.9986685248329,65.4260326198867,66.3880410834322,66.2627257351244,65.6897891303044,65.108455105237,64.6484056667586,64.3827371283461,63.3929267442275,62.674185085696,62.9450987819861,63.7456700710518,62.8839655625849,62.2800747748221,61.9308971218259,62.3301492377128,62.9107081162958,63.3978360052952,63.6799893256089,64.1939631211838,64.6790756293238,64.389093329518,64.2295423448168,64.5729063991801,65.3091922064748,65.3269688991832,65.4547647162409,65.8117713487294,66.3105781114267,67.2845755072639,67.7269257676824,68.0694371609129,68.5546271837013,68.8947356228303,69.1477692735474,69.7695401068833,69.8264875352689,70.1668801947754,69.8718077663889,69.7431851264143,69.9666340196444,70.2600011257654,70.4107412787608,70.762037665481,71.2181855333213,71.22255219185,72.2350743679608,73.1294642198524,73.5378889024712,73.8038158230452,73.1574470079385]}],[{"lng":[-100.35642,-99.16387,-97.38,-97.1199999999999,-98.05359,-96.54,-96.72,-98.3596599999999,-99.32286,-100.01482,-102.5,-102.48,-100.43836,-101.54,-100.35642],"lat":[73.84389,73.63339,73.76,73.47,72.99052,72.56,71.66,71.27285,71.35639,71.73827,72.51,72.83,72.70588,73.36,73.84389]}],[{"lng":[-93.1962955391002,-94.2690465970473,-95.4098555163227,-96.0337450833825,-96.018267991911,-95.495793423224,-94.5036575996523,-92.4200121732118,-90.5097928535426,-92.0039652168299,-93.1962955391002],"lat":[72.7719924994734,72.024596259236,72.0618808051346,72.9402768012318,73.4374299180958,73.8624168972642,74.1349067247392,74.1000251329422,73.856732489712,72.9662442084585,72.7719924994734]}],[{"lng":[-120.46,-123.09219,-123.62,-125.928948737473,-125.5,-124.80729,-123.94,-124.91775,-121.53788,-120.10978,-117.55564,-116.58442,-115.51081,-116.76794,-119.22,-120.46,-120.46],"lat":[71.3836017930876,70.90164,71.3400000000001,71.8686884630114,72.292260811795,73.02256,73.6800000000001,74.2927500000001,74.44893,74.24135,74.18577,73.8960700000001,73.47519,73.22292,72.52,71.8200000000001,71.3836017930876]}],[{"lng":[-93.6127559069405,-94.1569087389738,-95.6086805895656,-96.8209321764846,-96.2885874092298,-94.8508198717891,-93.9777465482179,-93.6127559069405],"lat":[74.9799972602245,74.5923465033869,74.6668639187518,74.9276231960966,75.3778282742234,75.6472175157609,75.296489569796,74.9799972602245]}],[{"lng":[-98.5,-97.735585,-97.704415,-98.16,-99.80874,-100.88366,-100.86292,-102.50209,-102.56552,-101.48973,-99.98349,-98.57699,-98.5],"lat":[76.72,76.25656,75.74344,75,74.89744,75.05736,75.64075,75.5638,76.3366,76.30537,76.64634,76.58859,76.72]}],[{"lng":[-108.21141,-107.81943,-106.92893,-105.881,-105.70498,-106.31347,-109.7,-112.22307,-113.74381,-113.87135,-111.79421,-116.31221,-117.7104,-116.34602,-115.40487,-112.59056,-110.81422,-109.0671,-110.49726,-109.5811,-108.54859,-108.21141],"lat":[76.20168,75.84552,76.01282,75.9694000000001,75.47951,75.00527,74.85,74.41696,74.39427,74.72029,75.1625,75.04343,75.2222000000001,76.19903,76.47887,76.14134,75.54919,75.47321,76.42982,76.79417,76.67832,76.20168]}],[{"lng":[-94.6840858629995,-93.5739210680731,-91.6050231595366,-90.7418458727492,-90.969661424508,-89.8222379218993,-89.1870828925998,-87.8382763333496,-86.3791922675887,-84.7896252102906,-82.7534445869101,-81.1285308499244,-80.0575109524592,-79.8339328681483,-80.4577707587758,-81.9488425361255,-83.2288936022114,-86.0974523587333,-88.1503503079602,-89.7647220527584,-92.4224409655294,-92.7682854886428,-92.8899059720417,-93.893824022176,-95.9624574450358,-97.1213789538295,-96.7451228503124,-94.6840858629995],"lat":[77.0978783230584,76.7762958849061,76.7785179714946,76.4495974799568,76.0740131700595,75.8477737494856,75.6101655138076,75.5661888699272,75.4824213731822,75.6992040066465,75.7843150906313,75.713983466282,75.3368488634159,74.9231273464872,74.6573037787778,74.4424590115243,74.564027818491,74.4100320502612,74.392307033985,74.5155553250011,74.837757880341,75.3868199734422,75.8826553412827,76.3192436795005,76.4413809272225,76.7510777859476,77.1613886583451,77.0978783230584]}],[{"lng":[-116.198586595507,-116.335813361458,-117.106050584769,-118.040412157038,-119.899317586886,-121.499995077126,-122.854924486159,-122.854925293603,-121.157535360328,-119.103938971821,-117.570130784966,-116.198586595507],"lat":[77.6452867703262,76.8769615750106,76.5300318468191,76.4811717800871,76.053213406062,75.9000186225328,76.1165428738357,76.1165428738357,76.8645075548284,77.5122199571746,77.4983189968881,77.6452867703262]}],[{"lng":[-93.840003017944,-94.2956082832453,-96.1696541003101,-96.4363044909361,-94.4225772773864,-93.7206562975659,-93.840003017944],"lat":[77.5199972602345,77.4913426785287,77.5551113959769,77.8346292182436,77.820004787905,77.6343313666803,77.5199972602345]}],[{"lng":[-110.186938035913,-112.051191169058,-113.534278937619,-112.724586758254,-111.264443325631,-109.854451870547,-110.186938035913],"lat":[77.6970148790503,77.4092288276169,77.7322065294412,78.0510501166819,78.1529560411616,77.9963247748848,77.6970148790503]}],[{"lng":[-109.663145718203,-110.881314256619,-112.542091437615,-112.525890876092,-111.500010342233,-110.963660651476,-109.663145718203],"lat":[78.6019725613457,78.40691986766,78.4079017198735,78.5505545112152,78.8499935981306,78.8044408230652,78.6019725613457]}],[{"lng":[-95.8302949694493,-97.309842902398,-98.124289313534,-98.5528678047467,-98.6319844225855,-97.3372314115126,-96.7543987699088,-95.5592779202946,-95.8302949694493],"lat":[78.0569412299633,77.8505972358218,78.0828569607576,78.4581053738451,78.8719302436384,78.8319843614768,78.765812689927,78.4183145209803,78.0569412299633]}],[{"lng":[-100.060191820052,-99.6709390938136,-101.303940192453,-102.949808722733,-105.176132778732,-104.210429450277,-105.419580451259,-105.492289191493,-103.529282396238,-100.825158047269,-100.060191820052],"lat":[78.3247543403159,77.9075446642074,78.0189848904448,78.3432286648602,78.3803323432458,78.6774201524918,78.9183356798364,79.3015939399292,79.1653490261916,78.8004617377787,78.3247543403159]}],[{"lng":[-87.02,-85.81435,-87.18756,-89.03535,-90.80436,-92.87669,-93.95116,-93.93574,-93.1452399999999,-94.974,-96.07614,-96.7097199999999,-96.01644,-95.32345,-94.29843,-94.73542,-92.40984,-91.13289,-89.45,-87.81,-87.02],"lat":[79.66,79.3369,79.0393,78.28723,78.21533,78.34333,78.75099,79.11373,79.3801,79.37248,79.70502,80.15777,80.6023300000001,80.90729,80.97727,81.20646,81.25739,80.7234500000001,80.5093220338983,80.32,79.66]}],[{"lng":[-68.5000000000001,-65.82735,-63.68,-61.85,-61.89388,-64.334,-66.7534199999999,-67.6575499999999,-65.48031,-67.84,-69.4697,-71.18,-73.2428,-73.88,-76.90773,-75.52924,-76.2204599999999,-75.39345,-76.34354,-77.88851,-78.36269,-79.75951,-79.61965,-77.91089,-77.88911,-80.56125,-83.17439,-86.11184,-87.5999999999999,-89.49068,-89.6161,-87.7673899999999,-88.26,-87.65,-84.97634,-86.3399999999999,-87.96192,-87.15198,-85.37868,-85.09495,-86.50734,-86.9317899999999,-84.19844,-83.4086956521738,-81.84823,-84.1,-87.59895,-89.36663,-90.2,-91.36786,-91.5870200000001,-90.1,-88.93227,-86.97024,-85.4999999999999,-84.260005,-83.18,-82.4199999999999,-81.1,-79.30664,-76.25,-75.71878,-72.83153,-70.6657649999999,-68.5000000000001],"lat":[83.1063215167657,83.0280100000001,82.9,82.6286000000001,82.36165,81.92775,81.72527,81.50141,81.5065700000001,80.9,80.61683,79.8,79.63415,79.4301622048021,79.32309,79.19766,79.01907,78.52581,78.18296,77.89991,77.50859,77.20968,76.98336,77.022045,76.777955,76.1781200000001,76.45403,76.2990100000001,76.42,76.47239,76.95213,77.17833,77.9,77.9702222222222,77.53873,78.18,78.3718100000001,78.75867,78.9969,79.34543,79.73624,80.25145,80.2083600000001,80.1,80.46442,80.58,80.51627,80.85569,81.2600000000001,81.5531,81.8942900000001,82.085,82.11751,82.27961,82.652273458057,82.6,82.32,82.8600000000001,83.02,83.13056,83.1720588235294,83.06404,83.23324,83.1697807583828,83.1063215167657]}]],[[{"lng":[9.59422610844635,9.63293175623298,9.47996951664902,9.93244835779666,10.4427014502466,10.3633781266786,9.92283654139038,9.18288170740306,8.96630577966781,8.48995242680132,8.31662967289438,7.75599205895983,7.27385094567666,6.84359297041451,6.50009972497043,6.02260949059354,6.037388950229,6.76871382002361,6.73657107913806,7.19220218265551,7.46675906742223,8.31730146651415,8.52261193200977,9.59422610844635],"lat":[47.5250580918203,47.34760122333,47.1028099635634,46.920728054383,46.8935462509974,46.4835712754099,46.3148994004092,46.440214748717,46.0369318711112,46.0051508652517,46.1636424830909,45.8244900579593,45.7769477402508,45.9911465521006,46.4296727565294,46.2729898138205,46.7257787135619,47.2877082383037,47.5418012558828,47.449765529971,47.6205819769118,47.6135798203363,47.8308275416913,47.5250580918203]}]],[[{"lng":[-68.6340102275832,-68.6333499999999,-67.5624399999999,-66.95992,-67.2910299999999,-68.1486299999999,-68.6399908108118,-69.2321,-69.95809,-71.0056799999999,-72.2639,-73.2851999999999,-74.66253,-73.8380999999999,-72.4341799999999,-71.10773,-70.5917799999998,-70.2674799999999,-69.3456499999999,-68.6340102275832],"lat":[-52.6363704588744,-54.8694999999999,-54.87001,-54.89681,-55.3012399999999,-55.61183,-55.5800179990869,-55.4990599999999,-55.19843,-55.05383,-54.4951399999999,-53.9575199999999,-52.8374899999999,-53.04743,-53.7154,-54.0743299999999,-53.6158299999999,-52.93123,-52.5182999999999,-52.6363704588744]}],[{"lng":[-68.2199130927112,-67.8281798977227,-67.1066735500636,-66.9852339341776,-67.3284429592441,-68.4176529608761,-68.3860011460974,-68.5947997707727,-68.2955415513704,-69.0012349107483,-69.6561303371832,-70.0135503811299,-69.9190083482519,-70.5350689358195,-70.0743993801536,-69.8147769843192,-69.8173091295015,-70.3880494859491,-70.3647692532017,-71.1218806627098,-71.1186250474754,-70.8146642727347,-71.4135166083491,-71.6807612779465,-71.9157340155776,-71.7468037584155,-72.1488980780785,-71.9154239569839,-71.4640561591305,-71.7936226060719,-71.3298007880362,-71.2227788967597,-71.6593155585453,-71.5520094468912,-71.9172584703302,-72.4473553127803,-72.331160854772,-72.6482474433149,-73.41543575712,-73.3280509101145,-72.9757468329646,-72.3099735175324,-72.329403856074,-71.9148038397963,-69.4983621893961,-68.5715453762413,-69.4612843492266,-69.9427795071061,-70.8451016913545,-71.0063321601052,-71.4297946845209,-72.5579428778849,-73.7027567206629,-73.7027567206629,-74.9467634752252,-75.2600260077785,-74.9766324530898,-75.4797541978835,-75.608015102832,-75.1827697415021,-74.1265809801047,-75.6443953111655,-74.6921536933231,-74.3517093573843,-73.2403560045152,-72.7178039211798,-73.3888999091382,-73.7013356187749,-74.3319431220326,-74.0179571194272,-73.67709937203,-73.2175925360907,-73.5055594550371,-73.5880608791911,-73.1667170884993,-72.5531369696817,-71.8617321438326,-71.4384504869299,-71.6687206692224,-71.3700825670077,-71.4898943752765,-70.9051238674616,-70.724953986276,-70.403965827095,-70.0912458970807,-70.164419725206,-70.3725723944777,-69.8584435696058,-69.590423753524,-69.1002469550194,-68.9668184068418,-68.4422251044309,-68.7571671210337,-68.2199130927112],"lat":[-21.4943466122318,-22.8729187964822,-22.7359245744764,-22.9863485653628,-24.0253032365909,-24.5185547828169,-26.1850163713652,-26.5069088681113,-26.8993396949358,-27.5212138811361,-28.4591411272337,-29.3679228655186,-30.3363392066683,-31.3650102678703,-33.091209812148,-33.2738860002999,-34.1935714657983,-35.1696875953594,-36.0050887997899,-36.6581238746623,-37.5768274879472,-38.5529952939407,-38.9160222307911,-39.8081641578781,-40.8323393694707,-42.051386407236,-42.2548881976014,-43.4085645485174,-43.7876111793783,-44.2071721331561,-44.4075216611517,-44.7842428525594,-44.9736886533414,-45.5607329241771,-46.8848381487918,-47.7385328102535,-48.2442383766618,-48.8786182594768,-49.318436374713,-50.3787850889099,-50.7414502907343,-50.6770097796664,-51.4259563128724,-52.0090223058659,-52.1427609126373,-52.2994438553463,-52.2919507726639,-52.5379305903733,-52.8992005285257,-53.8332520422014,-53.8564547603004,-53.5314100011845,-52.8350692686073,-52.8350700760515,-52.262753588419,-51.6293547503732,-51.0433956846157,-50.3783716774516,-48.6737728818718,-47.7119194476232,-46.9392534319951,-46.647643324572,-45.763976332381,-44.1030441220879,-44.4549606259956,-42.383355808279,-42.1175322405696,-43.3657764625797,-43.2249581845844,-41.7948129209068,-39.9422128232431,-39.2586886533185,-38.2828825823511,-37.156284681956,-37.1237802060444,-35.508840020491,-33.9090927060315,-32.4188994280308,-30.9206446265925,-30.095682061485,-28.8614421526259,-27.6403797340012,-25.7059241675872,-23.6289966773445,-21.3933191871012,-19.7564681942562,-18.3479753557089,-18.092693780187,-17.5800118954193,-18.2601254208127,-18.9816834449041,-19.4050684546714,-20.3726579729045,-21.4943466122318]}]],[[{"lng":[110.339187860152,109.475209588664,108.655207961056,108.62621748254,109.119055617308,110.211598748823,110.786550734502,111.010051304165,110.570646600387,110.339187860152],"lat":[18.6783950871476,18.1977009139686,18.5076819930714,19.367887885002,19.8210385197694,20.1012539738721,20.0775344914501,19.6959298771907,19.2558792180093,18.6783950871476]}],[{"lng":[127.657407261262,129.39781782442,130.582293328982,130.987281528854,132.5066719911,133.373595819228,135.026311476787,134.500813836811,134.112362095273,133.769643996313,133.097126906466,131.88345421766,131.025212030156,131.288555129116,131.144687941615,130.63386640841,130.640015903852,129.994267205933,129.596668735879,128.052215203972,128.208433058791,127.343782993683,126.86908328665,126.182045119329,125.079941847841,124.265624627785,122.867570428561,122.131387974131,121.054554478033,121.585994907722,121.376757033373,122.168595005381,121.640358514494,120.768628778162,119.639602085449,119.023463983233,118.042748651198,117.532702264477,118.05969852099,118.878149855628,118.911636183754,119.702802362142,120.823457472824,121.711258579598,122.357937453298,122.519994744966,121.104163853033,120.637008905115,119.664561802246,119.151208123859,120.227524855634,120.620369093917,121.22901411345,121.90814578663,121.89191938689,121.264257440273,121.503519321785,122.092113885589,121.938428175953,121.684438511238,121.125661248866,120.395473260582,119.58549686084,118.656871372555,117.281606479971,115.890735304835,114.763827345846,114.152546828266,113.806779819801,113.241077915502,111.843592157032,110.785465529424,110.444039341272,109.889861281374,109.627655063925,109.864488153118,108.522812941524,108.050180291783,107.043420037873,106.567273390735,106.725403273548,105.811247186305,105.329209425887,104.476858351665,103.504514601661,102.7069922221,102.170435825614,101.652017856862,101.803119744883,101.27002566936,101.180005324308,101.150032993578,100.416537713627,99.9834892110216,99.2408988789872,99.5319922220874,98.8987492207828,98.6602624857558,97.604719679762,97.7246090026792,98.6718380065892,98.7120939473446,98.6826900573705,98.2462309102334,97.9119877461694,97.32711388549,96.2488334492878,96.5865906107475,96.117678664131,95.4048022806647,94.5659904317029,93.4133476094327,92.5031189310436,91.6966565286967,91.2588537943199,90.7305139505678,90.0158288919712,89.4758101745212,88.8142484883206,88.7303259622786,88.12044070837,86.9545170430007,85.8233199401315,85.0116382181231,84.2345797057502,83.8989929544468,83.3371151061372,82.3275126484509,81.5258044778748,81.1112561380293,79.7213668151071,78.738894484374,78.458446486326,79.1761287779956,79.2088916360686,78.8110864602857,78.9122689147132,77.8374507994746,76.1928483417857,75.8968974140502,75.158027785141,74.9800024758954,74.8299857929522,74.8648157083168,74.2575142760227,73.9288521666464,73.6753792662549,73.9600130553185,73.8222436868283,74.7768624205561,75.4678279967307,76.5263680357974,76.9044844908771,78.1871968932261,78.5436609231753,80.1194303730514,80.2599902688853,80.1801501809944,80.8662064961012,79.9661063984414,81.9470707539181,82.458925815769,83.1804838398606,85.1642903991132,85.7204838398707,85.7682328633084,86.5987764831034,87.3599703307627,87.7512642760767,88.0138322285517,88.8542977233468,90.2808256367639,90.970809360725,90.5857682637183,90.9455395853343,92.1338908223183,93.4807336771413,94.6889286641254,95.3068754414715,95.7624548685567,96.3493957865278,97.451757440178,99.51581749878,100.845865513108,101.83304039918,103.312278273535,104.522281935649,104.964993931093,106.129315627062,107.744772576938,109.243595819131,110.412103306115,111.12968224492,111.829587843881,111.667737257943,111.348376906379,111.8733061056,112.436062453259,113.463906691544,114.460331658996,115.9850964702,116.717868280099,117.421701287914,118.874325799639,119.663269891439,119.772823927898,118.866574334795,118.064142694167,117.295507440257,116.308952671373,115.742837355616,115.485282017073,116.191802199368,116.678800897286,117.879244419426,119.288460728026,119.279365675942,120.182049595217,120.738191359542,120.725789015792,120.177088657717,121.00308475147,122.245747918793,123.571506789241,125.06821129771,125.946348911646,126.564399041857,126.939156528838,127.287455682485,127.657407261262],"lat":[49.7602704941729,49.4406000840154,48.7296874049761,47.7901323512614,47.7889696315349,48.1834416774349,48.4782298854439,47.5784398463778,47.2124673528867,46.1169269882991,45.1440664739722,45.3211616074364,44.9679531927216,44.1115196803483,42.9299897324269,42.9030146347706,42.3950094671253,42.9853868678438,42.4249817978546,41.994284572918,41.4667715520825,41.503151760416,41.8165693222662,41.1073361272764,40.5698237167925,39.9284933538341,39.6377875839763,39.1704517685446,38.8974710149629,39.3608535833241,39.7502613388595,40.4224425318961,40.9463898789033,40.5933881699176,39.8980559352142,39.2523330755111,39.2042739934797,38.7376358098841,38.0614755315611,37.8973253443859,37.4484638534987,37.1563886581851,37.870427761378,37.4811233587072,37.4544841578607,36.9306143255018,36.6513290471804,36.1114395208111,35.6097905543377,34.9098591171605,34.3603319361686,33.3767227239251,32.4603187118772,31.6921743840747,30.9493515080951,30.6762674016487,30.1429149439643,29.8325204534032,29.0180223658348,28.2255126002067,28.1356731226672,27.0532068954494,25.7407805445326,24.5473908554002,23.6245014510997,22.7828732365781,22.6680740422417,22.2237600773962,22.5483397486214,22.0513674992705,21.5504936792815,21.3971438664553,20.3410326197064,20.2824573837034,21.0082270370267,21.3950509709475,21.7152123072118,21.5523798690601,21.8118989120299,22.2182048609247,22.7942678898984,22.9768924016179,23.352063300057,22.8191500920469,22.7037566187392,22.7087950708877,22.4647531193893,22.3181987574096,21.1743667668451,21.2016519230952,21.4365729842941,21.849984442629,21.5588394230967,21.7429367131365,22.1183143173046,22.9490388046126,23.1427220728426,24.06328603769,23.8974046900331,25.083637193293,25.9187025009135,26.7435358749402,27.5088121607507,27.7472213811292,28.3359451360144,28.2615827499463,28.4110309921345,28.8309795191544,29.4528020289225,29.0317166203922,29.27743805594,28.6406293808072,27.8968763290464,27.7717418482516,28.0406143254664,28.0649539250757,28.2964385035272,28.0427588974064,27.2993159042394,28.0868647323676,27.8765416529396,27.9742617864035,28.2035759546987,28.6427739527474,28.8398937037247,29.3202261418776,29.4637315943522,30.1152680526882,30.4227169866087,30.1834809433134,30.8827147486547,31.515906073527,32.6181643743127,32.4837798121378,32.9943946396137,33.5061980250324,34.3219363469758,35.4940095077878,35.8984034286879,36.6668061386519,37.1330309107892,37.4199901393059,37.9900070257015,38.3788463404816,38.6065068629435,38.5058153346227,39.4312368841056,39.6600084498617,39.8939734970631,40.3664252792916,40.5620722519487,40.4279460719351,41.0664859075497,41.1853158636048,41.5822425400387,42.1239407415382,42.3499992945991,42.9200678574269,43.180362046881,44.9175169948046,45.3170274928532,45.5396495631665,47.3300312363507,47.0009557155161,47.4529694687731,48.4557506373969,48.5491816269806,49.2149807806292,49.2971979844055,48.5994627956006,48.069081732773,47.6935490993079,46.8881460638229,45.7197160914875,45.2860733099103,45.1150759954564,44.97547211362,44.3523318548285,44.2413308782655,43.3194491643946,42.7256352809287,42.7488896754601,42.5246914739617,42.6638044296914,42.5148729518263,41.9074681666676,41.9083466660166,41.5974095729163,42.1343277044289,42.4815158147819,42.5194463160842,42.871233628911,43.4068340114002,43.7431183945395,44.0731757675877,44.4574417181101,45.1020793727351,45.0116456162243,44.8088931341271,45.3398167994939,45.727235012386,46.3882024196153,46.6727328558142,46.8054120957237,46.692679958679,47.0480587835501,47.7470600449462,48.0667304551037,47.6977090521074,47.8534101426028,47.7265445013263,48.1353825954035,49.1345980901991,49.8885313991214,49.510983384797,50.142882798862,50.5829076198273,51.643566392618,51.9641153021246,52.5162263047308,52.7538862168412,53.2514010687312,53.4317259792137,53.4588044297346,53.1610448268688,52.792798570357,51.7842554795327,51.3538941514059,50.7397972682654,49.7602704941729]}]],[[{"lng":[-2.8561250472024,-3.31108435710007,-4.00881954590494,-4.64991736491791,-5.83449622234453,-6.52876909018585,-7.51894120933044,-7.71215938966975,-7.63536821128403,-7.53971513511176,-7.57015255373169,-7.99369259279588,-8.31134762209402,-8.60288021486862,-8.38545162600057,-8.48544552248535,-8.4392984684487,-8.28070349774494,-8.2217923649322,-8.29904863120856,-8.20349890790088,-7.83210038901919,-8.07911373537435,-8.30961646161225,-8.22933712404682,-8.02994361004862,-7.89958980959237,-7.62275916180481,-6.85050655763506,-6.66646094402755,-6.49396501303727,-6.20522294760643,-6.05045203289227,-5.81692623536529,-5.40434159994697,-4.9546532861431,-4.77988359213197,-4.33024695476038,-3.98044918457668,-3.51189897298627,-2.82749630371271,-2.56218950032624,-2.98358496745033,-3.24437008301126,-2.81070146321784,-2.8561250472024],"lat":[4.99447581625951,4.98429555909802,5.17981334067431,5.16826365805709,4.99370066977514,4.70508779542502,4.33828847901731,4.36456594483772,5.18815908448946,5.31334524171652,5.7073521997259,6.12618968345154,6.19303314862108,6.46756419517166,6.91180064536874,7.39520783124307,7.68604279218174,7.68717967369216,8.12332876223557,8.3164435897103,8.45545319257545,8.57570425051863,9.37622386315203,9.78953196862244,10.1290202905639,10.2065349390017,10.2973821069708,10.1472362329468,10.1389938419962,10.4308106551484,10.4113028019583,10.5240607772191,10.0963607853554,10.2225546330122,10.3707368026091,10.1527139347697,9.82198476810174,9.61083486575714,9.8623440617217,9.90032623945622,9.64246084231978,8.21962779381148,7.37970490155551,6.2504715031135,5.38905121502411,4.99447581625951]}]],[[{"lng":[13.0758223812468,12.9513338558556,12.3593803239522,11.7516654801998,11.2764490088437,9.64915815597263,9.79519575362946,9.404366896206,8.94811567550107,8.74492394372942,8.48881554529089,8.5002877132597,8.75753299320863,9.23316287602304,9.5227059261544,10.1182768083183,10.4973751156114,11.0587878760304,11.7457743669185,11.8393087093668,12.0639461605396,12.2188721045506,12.7536715023392,12.955467970439,13.1675997249971,13.3086763851539,13.5729496598946,14.4153788591167,14.468192172919,14.5771777686225,14.1813362972668,14.2135307145846,14.4957873877628,14.8933858578165,14.9601518083376,14.923564894275,15.4678727556053,14.9093538753947,14.6272005550811,14.171466098699,13.954218377344,14.5444665869818,14.9799955583377,15.1208655127653,15.4360917497458,15.2794604834691,14.7765454444046,14.5365600928411,14.4594071794293,14.5589359880235,14.4783724300805,14.9509534033897,15.0362195166713,15.4053959489644,15.8627323747475,15.9073808122477,16.0128524105554,15.9409188168051,15.1463419938852,14.3378125342466,13.0758223812468],"lat":[2.26709707275901,2.32161570882694,2.19281220133945,2.32675751383999,2.26105093018087,2.28386607503774,3.07340444580912,3.7345268823352,3.90412893311714,4.35221527751996,4.49561737712992,4.77198293702685,5.47966583904791,6.44449066815334,6.45348236737212,7.03876963950988,7.05535777427556,6.64442678469059,6.98138296144975,7.39704234458944,7.7998084578723,8.30582408287432,8.717762762889,9.4177717147147,9.64062632897341,10.1603620467489,10.7985659855536,11.5723688826921,11.9047516951934,12.0853608260535,12.4836569279431,12.8020354272933,12.8593962671373,12.2190477563926,11.5555740421972,10.8913251815175,9.98233673750343,9.99212942142273,9.92091929772454,10.0213782820999,9.54949494062669,8.96586131432227,8.79610423424347,8.38215017336942,7.69281240481197,7.42192454673797,6.40849803306205,6.22695872642069,5.4517605656103,5.03059764243153,4.73260549562045,4.21038930909492,3.85136729574712,3.33530060466434,3.01353729899898,2.55738943115861,2.26763967529808,1.7276726342803,1.96401479736718,2.22787466064949,2.26709707275901]}]],[[{"lng":[30.8338598975938,30.77334679538,31.1741492042358,30.8526701189481,30.4685075212903,30.0861535987627,29.8757788429025,29.8195032081366,29.5878377621722,29.5794661801409,29.2918868344366,29.2548348324833,29.1174788754516,29.0249263852168,29.2763839047491,29.3399975929003,29.5199866065729,29.4199927100882,29.62003217949,30.1999967791017,30.7400154965518,30.3460860531908,29.0029122250605,28.7348665707625,28.4498710466728,28.6736816749289,28.4960697771418,28.3722530453704,28.6424174333924,29.3415478858691,29.6160014177712,29.6996138852195,28.9342859229768,28.523561639121,28.15510867688,27.3887988624238,27.1644197934125,26.5530875993996,25.7523096046047,25.4181181169732,24.783169793403,24.314516228948,24.257155389104,23.9122152035557,23.4567908057674,22.8373454118847,22.4027982927424,22.1552681820643,22.2087532894864,21.8751819190423,21.8018013851879,21.949130893652,21.7464559262033,21.7281107927397,20.5147481625265,20.6018229509383,20.0916215349206,20.0377230160402,19.4175024756732,19.1666133968961,19.0167517432497,18.4641756527527,18.1342216325691,17.4729700049622,17.0899959652472,16.8601908708452,16.5731799658961,16.326528354567,13.3755973649719,13.024869419007,12.7351713395787,12.3224316748635,12.1823368669203,12.4366882666609,12.4680041846297,12.6316117692658,12.9955172054652,13.258240187237,13.6002348161447,14.1449560889333,14.2090348649752,14.5826037940132,15.1709916520884,15.7535400733148,16.0062895036543,15.9728031755292,16.4070919125101,16.8653068376421,17.5237162614729,17.63864464689,17.6635526872547,17.8265401547033,17.7741919287916,17.8988354834796,18.0942757504074,18.3937923519711,18.4530652198099,18.5429822119978,18.9323124528848,19.4677836442931,20.2906791521089,20.9275911801063,21.65912275563,22.4051237321955,22.7041235694363,22.8414795264681,23.2972139828501,24.4105310401463,24.8050289242624,25.1288334490033,25.2787984555143,25.6504553565575,26.4027608578625,27.0440653826047,27.3742261085175,27.9799772478428,28.4289937680269,28.6966776872988,29.1590784034465,29.715995314256,29.9535001970695,30.8338598975938],"lat":[3.50916596111034,2.33988332764213,2.20446523682126,1.84939647054381,1.58380544677972,1.06231273030629,0.597379868976304,-0.205310153813372,-0.587405694179481,-1.34131316488563,-1.62005584066799,-2.21510995850891,-2.29221119548838,-2.83925790773016,-3.29390715903406,-4.49998341229409,-5.41997893638631,-5.93999887453943,-6.52001515058343,-7.07998097089816,-8.34000741947091,-8.23825652428822,-8.40703175215347,-8.52655934004458,-9.16491830814608,-9.60592498132493,-10.789883721564,-11.7936467424014,-11.9715686987823,-12.3607439103724,-12.1788945451373,-13.2572266577718,-13.2489584286051,-12.6986044246967,-12.2724805640179,-12.1327474911007,-11.6087484676611,-11.9244397925321,-11.7849651017764,-11.33093596766,-11.238693536019,-11.2628264298993,-10.9519926896637,-10.9268262671375,-10.8678634578925,-11.0176217586743,-10.9930754533357,-11.0848011206538,-9.89479623783651,-9.52370777754857,-8.90870655684298,-8.30590097415828,-7.92008473066715,-7.2908724910813,-7.29960580813863,-6.93931772219968,-6.94309010175699,-7.11636117923165,-7.1554285620443,-7.73818368899975,-7.98824594486013,-7.84701425540644,-7.98767750410492,-8.0685511206417,-7.54568897871253,-7.22229786542999,-6.62264454511509,-5.87747039146627,-5.86424122479955,-5.98438892987816,-5.9656820613885,-6.10009246177966,-5.78993051516384,-5.68430388755925,-5.248361504745,-4.99127125409294,-4.78110320396188,-4.88295745200917,-4.50013844159097,-4.51000864015872,-4.7930921362536,-4.97023894615014,-4.3435071753143,-3.8551648901561,-3.53513274497253,-2.71239226645361,-1.74092701579868,-1.22581633871329,-0.743830254726987,-0.424831638189247,-0.0580839982138173,0.288923244626105,0.855658677571085,1.74183197672828,2.36572154378806,2.90044342692822,3.50438589112335,4.20178518311832,4.70950613038598,5.03152781821278,4.69167776124529,4.32278554932974,4.22434194581372,4.02916006104732,4.63305084881016,4.71012624757348,4.60969310141422,5.10878408448913,4.89724660890235,4.92724477784779,5.17040822999719,5.25608775473712,5.15087453859087,5.12785268800484,5.23394440350006,4.40841339763737,4.28715464926449,4.45507721599694,4.38926727947323,4.60080475506003,4.17369904216768,3.50916596111034]}]],[[{"lng":[-75.3732232327139,-75.8014658271166,-76.292314419241,-76.5763797675494,-77.4249843004304,-77.6686128404704,-77.8550614081795,-78.8552587551887,-78.990935228171,-78.6178313870237,-78.6621180894979,-78.4276104397573,-77.9315425279715,-77.510431281225,-77.1276897854553,-77.496271938777,-77.3076012844794,-77.5332205878657,-77.3188150702867,-77.4766607327223,-77.8815714179453,-77.7534138658614,-77.431107957657,-77.2425664944401,-77.4747228665113,-77.3533607652739,-76.8366739570036,-76.0863838365579,-75.6746001858401,-75.6647041490562,-75.4804259915034,-74.906895107712,-74.2767526923449,-74.1972226630477,-73.4147639635003,-72.6278352525596,-72.2381949530789,-71.7540901353686,-71.3998223537917,-71.1374611070459,-71.3315836249503,-71.9739216783383,-72.2275754462429,-72.6146577623252,-72.9052860175347,-73.0276041327696,-73.3049515448801,-72.7887298245004,-72.6604947577681,-72.439862230098,-72.360900641556,-72.4796789211788,-72.4444872707881,-72.1983524237819,-71.9601757473486,-70.6742335679815,-70.0933129543724,-69.3894799465571,-68.9853185696024,-68.2650524563182,-67.695087246355,-67.3414395819656,-67.5215319485028,-67.7446966213552,-67.8230122544935,-67.6218359035813,-67.3375638495437,-67.3031731838534,-67.8099381171237,-67.4470920477863,-67.1812943182931,-66.8763258531226,-67.0650481838525,-67.2599975246736,-67.5378100246747,-67.8685650295588,-69.8169732326916,-69.8045967271577,-69.2186376614002,-69.2524340481191,-69.4523960028725,-70.0155657619893,-70.0206558905701,-69.5770653957766,-69.4204858059322,-69.4441019354896,-69.8936352199966,-70.394043952095,-70.6926820543097,-70.0477085028749,-70.813475714792,-71.4136457994298,-71.7747607082854,-72.3257865058137,-73.0703922187072,-73.6595035468346,-74.1223951890891,-74.441600511356,-75.1066245185201,-75.3732232327139],"lat":[-0.15203175212045,0.0848013370732019,0.416047268064119,0.256935533037435,0.395686753741117,0.825893052570962,0.809925034992773,1.38092377360182,1.69136994059525,1.76640412028306,2.26735545492048,2.62955556885422,2.69660573975293,3.32501699463825,3.84963613526536,4.08760610596943,4.66798411703945,5.5828119979025,5.84535411216136,6.6911164412663,7.22377126711478,7.70983978925214,7.63806122479873,7.93527822512544,8.52428620038822,8.67050466555807,8.63874949791472,9.33682058352949,9.4432481958346,9.77400320071874,10.6189903833393,11.0830447453203,11.1020358341876,11.3104727238369,11.2270152856855,11.7319715438255,11.9555496281363,12.4373031681773,12.3760407576953,12.1129818791135,11.7762840845158,11.6086715763771,11.1087020939532,10.8219754093818,10.4503443465548,9.73677033125244,9.15199982343761,9.08502716718733,8.62528778730268,8.40527537682003,8.00263845461789,7.63250600832735,7.42378489830048,7.34043081301368,6.99161489504354,7.08778473553872,6.96037649172311,6.09986054119884,6.20680491782686,6.15326813397247,6.26731802004065,6.09546804445402,5.55687042889197,5.22112864829167,4.5039372827289,3.83948171631999,3.54234223064172,3.31845408773718,2.82065501546957,2.60028086996087,2.25063812907406,1.25336050048934,1.13011220947322,1.71999868408496,2.03716278727633,1.69245514567339,1.71480520263962,1.08908112223347,0.985676581217433,0.602650865070075,0.706158758950693,0.541414292804205,-0.185156345219539,-0.549991957200163,-1.12261850342641,-1.55628712321982,-4.29818694419433,-3.76659148520783,-3.74287200278586,-2.7251563452297,-2.25686451580074,-2.34280242270213,-2.16978972738894,-2.43421803142645,-2.30895435955095,-1.26049122478113,-1.00283253337385,-0.530820000819887,-0.0572054988648603,-0.15203175212045]}]],[[{"lng":[-82.2681512112571,-81.4044571601468,-80.6187686835812,-79.6795236884603,-79.2814859687321,-78.3474344550565,-77.9932958645603,-77.1464224921611,-76.5238248359086,-76.1946201239932,-75.5982224189127,-75.6710603502281,-74.9338960435845,-74.1780248684513,-74.2966481187773,-74.9615946112929,-75.6346801418946,-76.323656175426,-77.7554809231531,-77.0851084052467,-77.4926545885166,-78.1372922431416,-78.4828267076612,-78.719866502584,-79.2849999661279,-80.2174753486186,-80.5175345527214,-81.8209433662032,-82.1699918281186,-81.7950017971927,-82.7758979967409,-83.4944587877594,-83.9088004218756,-84.0521508450533,-84.5470301988964,-84.9749110582731,-84.4470621406278,-84.2303570218118,-83.7782399156902,-83.2675475735657,-82.5104361640575,-82.2681512112571],"lat":[23.1886107447177,23.1172714299388,23.105980129483,22.7653032495988,22.3992015650271,22.5121662460171,22.2771935083859,21.6578514673678,21.2068195663244,21.220565497314,21.0166244572741,20.735091254148,20.6939051376114,20.2846277938597,20.0503785262807,19.9234353703557,19.8737743189232,19.9528909367621,19.8554808618919,20.4133537866988,20.6731053736139,20.7399488387834,21.0286133895659,21.5981135116384,21.5591753199065,21.827324327069,22.0370789657418,22.1920565861851,22.3871092798708,22.636964830002,22.6881503361871,22.1685179712761,22.1545653345573,21.9105750594913,21.8012277287616,21.8960281438011,22.2049498560419,22.5657547063038,22.7881183944557,22.9830418970606,23.0787466496652,23.1886107447177]}]],[[{"lng":[9.92190636560923,9.9395797054529,10.9501123389205,10.9394669938685,11.9562524756433,12.5184403825467,13.6474670752595,14.1196863135426,14.3533154639342,14.0745211117194,14.4375997250022,14.6850264828157,14.6070984229196,15.0169958838588,14.5707182145861,14.3070133806007,14.0562276546883,13.3381319515604,12.9668367855433,12.2401111182227,12.4151908708275,12.5210242041613,13.0313289730435,13.5959456722646,13.2433573747371,12.8841028174439,13.0258512712205,12.9326269873661,12.6207597184845,12.1413574561129,11.4264140153549,10.5445040218616,10.4020837744653,9.89606814946319,9.59422610844638,8.5226119320098,8.3173014665141,7.46675906742229,7.59367638513106,8.09927859867486,6.65822960778371,6.18632042809418,6.24275109215699,6.04307335778111,6.15665815595878,5.98865807457781,6.58939659997083,6.84286950036238,7.0920532568739,6.90513960127413,7.10042483890527,7.93623945479396,8.12170617028949,8.80073449060467,8.57211795414537,8.52622928227021,9.28204878097114,9.92190636560923],"lat":[54.983104153048,54.5966419541533,54.3636070827332,54.0086933457526,54.1964855007012,54.470370591848,54.0755109727059,53.757029120491,53.2481712917131,52.9812625189253,52.6248501654083,52.0899474147552,51.74518809672,51.1066740993217,51.0023393825244,51.1172677679414,50.9269176295944,50.7332343613643,50.4840764430692,50.2663377956072,49.9691207952806,49.5474152695627,49.3070681829732,48.8771719427372,48.416114813829,48.2891458196879,47.637583523136,47.467645575544,47.6723876002844,47.7030834010658,47.5237661810131,47.5663992376538,47.3024876979392,47.5801968450757,47.5250580918202,47.8308275416913,47.6135798203363,47.6205819769119,48.3330191107037,49.0177835150034,49.2019583196916,49.4638028021145,49.9022256536787,50.1280516627942,50.8037210150106,51.8516157090251,51.8520291204834,52.2284402532975,53.1440432806449,53.4821621771306,53.6939321966627,53.7482958034338,53.5277924668443,54.0207856309089,54.3956464707541,54.9627436387252,54.8308653835163,54.983104153048]}]],[[{"lng":[12.6900061377556,12.0899910824147,11.0435433285042,10.9039136084516,12.3709041683533,12.6900061377556],"lat":[55.6099909531808,54.8000145534379,55.3648637966043,55.7799547389887,56.1114073757088,55.6099909531808]}],[{"lng":[10.9121818376184,10.66780398931,10.369992710012,9.64998497888931,9.92190636560917,9.28204878097114,8.52622928227024,8.12031090661759,8.08997684086225,8.25658165857126,8.54343753422339,9.42446902836761,9.77555870935856,10.5800057308462,10.5461059912627,10.2500000342302,10.369992710012,10.9121818376184],"lat":[56.4586213242779,56.0813833685472,56.1900072292247,55.4699994981021,54.9831041530481,54.8308653835162,54.962743638725,55.5177226833236,56.5400117051376,56.8099693874303,57.1100027533169,57.1720661484995,57.4479407822897,57.7300165879549,57.2157327337862,56.8900161810505,56.6099815944608,56.4586213242779]}]],[[{"lng":[-80.3025605943872,-79.7702933417809,-79.9865592109224,-80.3687839423692,-80.9677654690644,-80.764806281238,-80.9336590237517,-80.5833703274613,-80.3993247138538,-80.0208982001804,-80.0906097073421,-79.5427620103998,-78.8552587551887,-77.8550614081795,-77.6686128404704,-77.4249843004304,-76.5763797675494,-76.292314419241,-75.8014658271166,-75.3732232327139,-75.2337227037419,-75.544995693652,-76.6353942532267,-77.8379048326586,-78.4506839667756,-78.6398972236123,-79.2052890693177,-79.6249792141762,-80.0289080471856,-80.4422419908722,-80.4692946031769,-80.1840148587097,-80.3025605943872],"lat":[-3.40485645916471,-2.65751189535964,-2.22079436606101,-2.68515878663579,-2.2469426408007,-1.96504770264853,-1.05745452230636,-0.906662692878683,-0.283703301600141,0.360340074053468,0.768428859862397,0.982937730305963,1.38092377360182,0.809925034992773,0.825893052570962,0.395686753741117,0.256935533037435,0.416047268064119,0.0848013370732019,-0.15203175212045,-0.911416924649529,-1.56160979574588,-2.60867766684382,-3.0030205216631,-3.87309661216138,-4.54778411216407,-4.95912851320739,-4.45419809328349,-4.34609099692889,-4.42572437909067,-4.059286797709,-3.82116179770804,-3.40485645916471]}]],[[{"lng":[34.9226,34.64174,34.42655,34.15451,33.92136,33.58811,33.13676,32.42323,32.32046,32.73482,33.34876,34.10455,34.47387,34.79507,35.69241,35.49372,35.52598,36.69069,36.86623,32.9,29.02,25,25,25,24.70007,24.95762,24.80287,25.16482,26.49533,27.45762,28.45048,28.91353,29.68342,30.09503,30.97693,31.68796,31.96041,32.19247,32.99392,33.7734,34.26544,34.9226],"lat":[29.50133,29.09942,28.34399,27.8233,27.6487,27.97136,28.41765,29.85108,29.76043,28.70523,27.69989,26.14227,25.59856,25.03375,23.92671,23.75237,23.10244,22.20485,22,22,22,22,25.682499996361,29.2386545295335,30.04419,30.6616,31.08929,31.56915,31.58568,31.32126,31.02577,30.87005,31.18686,31.4734,31.55586,31.4296,30.9336,31.26034,31.02407,30.96746,31.21936,29.50133]}]],[[{"lng":[-9.03481767418025,-8.98443315269567,-9.39288367353065,-7.97818966310831,-6.75449174643676,-5.4118863590616,-4.34784277995578,-3.51753170410609,-1.90135128417776,-1.50277096191053,0.338046909190581,0.701590610363894,1.82679324708715,2.98599897625846,3.03948408368055,2.09184166831218,0.810524529635188,0.721331007499401,0.106691521819869,-0.278711310212941,0.111290724293838,-0.467123582349103,-0.683389451490598,-1.43838212727485,-2.14645260253812,-3.41578080892339,-4.36890092611472,-4.99521928549221,-5.37715979656146,-5.8664322575009,-6.23669389487218,-6.5201908024254,-7.45372555177809,-7.53710547528102,-7.16650794109986,-7.0292811751488,-7.37409216961632,-7.09803666831313,-7.49863237143973,-7.06659155926353,-7.02641313315659,-6.86401994467939,-6.85112667482255,-6.38908769370092,-6.66860551596766,-7.25130896649082,-7.4225129866738,-8.01317460776991,-8.26385698081779,-8.67194576662672,-9.03481767418025],"lat":[41.8805705836597,42.5927751735063,43.0266246608127,43.748337714201,43.5679094508539,43.5742398138097,43.403449205085,43.4559007838613,43.4228020289783,43.0340143906304,42.5795460068395,42.7957343613326,42.3433847112657,42.4730150416699,41.8921202662769,41.2260885686831,41.0147319606093,40.6783183863892,40.123933620762,39.3099781357327,38.738514309233,38.2923658310412,37.6423538274578,37.4430636663242,36.6741441920373,36.6588996445112,36.6778390569462,36.3247081568796,35.9468500839615,36.0298165960061,36.3676771103303,36.9429133163873,37.0977875839661,37.4289043238762,37.8038943548022,38.0757640650898,38.3730585800649,39.0300727402238,39.6295710312418,39.7118915878828,40.1845242376242,40.3308718938748,41.1110826686175,41.3818154973947,41.8833869492196,41.918346055665,41.7920746933598,41.7908861354171,42.2804686549503,42.134689439455,41.8805705836597]}]],[[{"lng":[37.9060700000001,38.51295,39.0994,39.3406100000001,40.0262500000001,40.8966,41.1552,41.59856,42.00975,42.3515600000001,42.0000000000001,41.6617600000001,41.7395900000002,41.7555700000002,42.3141400000001,42.5549300000001,42.776851841001,42.5587599999999,42.9281200000001,43.2969900000001,43.67875,46.9483400000001,47.7894200000001,44.9636000000001,43.66087,42.7696700000001,42.1286100000001,41.8550830926441,41.1718000000001,40.7684800000001,39.8549400000001,39.5593842587659,38.8925100000001,38.67114,38.4369700000001,38.1209150000001,36.8550932380082,36.1590786328557,35.8174476623536,35.8174476623536,35.2980071182331,34.70702,34.25032,34.0751000000002,33.5682900000001,32.9541800000002,33.2948000000001,33.8255000000001,33.9749800000001,33.9616200000001,34.2574500000001,34.7311500000001,34.8316300000001,35.2604900000001,35.8636300000002,36.2702200000001,36.4295100000001,37.5937700000001,37.9060700000001],"lat":[14.9594300000002,14.5054700000001,14.74064,14.53155,14.51959,14.1186400000001,13.77333,13.4520900000001,12.8658199999999,12.5422300000001,12.1000000000001,11.6312,11.3551100000001,11.0509100000001,11.0342000000001,11.1051100000002,10.9268785669344,10.5725800000001,10.0219400000001,9.54048000000017,9.18358000000012,7.99688000000009,8.00299999999999,5.00162000000012,4.95755000000008,4.25259000000023,4.23413000000016,3.91891192048377,3.91909000000004,4.25702000000013,3.83879000000013,3.42206000000022,3.50074000000006,3.61607000000009,3.5885100000001,3.59860500000008,4.44786412767286,4.44786412767286,4.77696566346202,5.33823208279085,5.50600000000003,6.59422000000012,6.82607000000007,7.22595000000007,7.71334000000002,7.7849700000001,8.35458000000006,8.37916000000007,8.68456000000015,9.5835800000001,10.63009,10.9101700000001,11.3189600000001,12.08286,12.5782800000001,13.5633300000001,14.42211,14.2131,14.9594300000002]}]],[[{"lng":[28.5919295590432,28.4459436378187,29.9774263852206,29.0545886573523,30.21765,29.544429559047,30.4446846860037,30.0358724301427,31.5160921567111,31.1399910824909,30.2111072120444,28.0699975928953,26.255172967237,24.4966239763445,22.8696948584995,22.2907637875336,21.3222440935193,21.5448661638327,21.0592110531537,21.5360294939108,22.442744174904,24.7305115088975,25.3980676612439,25.2940430030404,23.9033785336338,23.5658797543356,23.5394730974344,21.9785347836261,20.6455928890895,21.2449361508107,22.3562378272474,23.6620495948308,24.7356791521267,25.6892126807764,26.1796220232262,27.7322921078679,29.015572950972,28.5919295590432],"lat":[69.0647769232867,68.364612942164,67.6982970241927,66.9442862006219,65.80598,64.9486715765905,64.2044534369391,63.5528136257386,62.8676874864129,62.3576927761244,61.7800277777497,60.5035165472758,60.4239606797625,60.0573163926517,59.8463731960362,60.3919212917415,60.7201699896595,61.7053294948718,62.6073932969587,63.1897350124559,63.8178103705313,64.9023436550408,65.1114265000937,65.5343464219705,66.0069273952796,66.3960509304374,67.9360086127353,68.6168456081807,69.1062472602009,69.3704430202931,68.8417414415149,68.8912474636505,68.6495567898215,69.092113755969,69.8252989773261,70.1641930202963,69.766491197378,69.0647769232867]}]],[[{"lng":[-52.5564247300184,-52.939657151895,-53.4184651352953,-53.5548392401135,-53.7785206772889,-54.0880625067173,-54.5247541977998,-54.2712296209758,-54.1842840236448,-54.0115038722768,-54.3995422023565,-54.4786329819792,-53.9580446030709,-53.6184529282648,-52.8821412827541,-51.8233428615259,-51.6577974106789,-52.249337531124,-52.5564247300184],"lat":[2.50470530843705,2.12485769287562,2.05338918701604,2.33489655192597,2.37670278565005,2.10555654541463,2.31184886312379,2.73874787028694,3.19417226807523,3.62256989177486,4.21261139568348,4.89675568279564,5.75654816326781,5.6465290389184,5.4098509790216,4.56576813396615,4.15623240805303,3.24109446859629,2.50470530843705]}],[{"lng":[9.56001631026913,9.22975223149177,8.77572309737536,8.54421268070783,8.74600914880759,9.3900008480289,9.56001631026913],"lat":[42.1524919703796,41.3800068222644,41.5836119654944,42.2565166285831,42.628121853194,43.0099848496147,42.1524919703796]}],[{"lng":[3.58818444175571,4.28602298342514,4.79922163251575,5.67405195478489,5.89775923017638,6.18632042809421,6.65822960778354,8.09927859867477,7.59367638513106,7.46675906742223,7.19220218265554,6.73657107913809,6.76871382002363,6.03738895022897,6.02260949059357,6.50009972497045,6.84359297041456,6.80235517744566,7.09665245934784,6.74995527510171,7.00756229007666,7.54959638838616,7.43518476729184,6.52924523278307,4.5569625179314,3.10041059735272,2.98599897625849,1.82679324708718,0.701590610363922,0.338046909190581,-1.50277096191047,-1.90135128417774,-1.38422522623296,-1.19379757323736,-2.22572424967379,-2.96327612955957,-4.49155493815948,-4.59234981934475,-3.29581397135775,-1.61651078938493,-1.93349402506325,-0.98946895995536,1.33876102052275,1.6390010921385,2.51357303224617,2.65842207196033,3.12325158042572,3.58818444175571],"lat":[50.3789924180036,49.9074966497726,49.9853730332363,49.5294835475574,49.4426671413072,49.4638028021145,49.2019583196916,49.0177835150034,48.3330191107037,47.6205819769119,47.449765529971,47.5418012558829,47.2877082383037,46.7257787135619,46.2729898138205,46.4296727565294,45.9911465521007,45.7085798203287,45.3330988632959,45.0285179713676,44.2547667506614,44.1279011093848,43.6938449163492,43.1288923203184,43.3996509873116,43.0752005071671,42.4730150416699,42.3433847112657,42.7957343613326,42.5795460068396,43.0340143906305,43.4228020289783,44.0226103785902,46.0149177109549,47.0643626979382,47.570326646508,47.9549543320564,48.6841604681269,48.9016924098596,48.6444212916946,49.7763418646158,49.3473758001609,50.1271731634453,50.9466063502975,51.1485061712619,50.7968480495157,50.7803632676145,50.3789924180036]}]],[[{"lng":[-5.6619486149219,-6.19788489422098,-6.953730231138,-7.57216793459108,-7.36603064617879,-7.57216793459108,-6.73384701173615,-5.6619486149219],"lat":[54.5546031764839,53.8675650091633,54.0737022975756,54.059956366586,54.5958409694527,55.1316222194549,55.1728600124238,54.5546031764839]}],[{"lng":[-3.00500484863528,-4.07382849772802,-3.05500179687766,-1.95928056477692,-2.2199881656893,-3.11900305827112,-2.08500932454302,-2.00567567967386,-1.11499101399221,-0.4304849918542,0.184981316742039,0.469976840831777,1.68153079591474,1.55998782716438,1.05056155763091,1.4498653499503,0.550333693045502,-0.78751746255864,-2.48999752441438,-2.95627397298404,-3.61744808594233,-4.54250790039924,-5.24502315919113,-5.7765669417453,-4.30998979330184,-3.41485063314212,-3.42271946710832,-4.98436723471087,-5.26729570150889,-4.22234656413485,-4.77001339356411,-4.57999915202691,-3.09383067378866,-3.09207963704711,-2.94500851074434,-3.61470082543303,-3.63000545898933,-4.844169073903,-5.08252661784923,-4.71911210775664,-5.04798092286211,-5.58639767091114,-5.64499874513018,-6.14998084148635,-5.78682471355529,-5.00999874512758,-4.21149451335356,-3.00500484863528],"lat":[58.6350001084663,57.5530248073553,57.6900190293609,57.6847997096995,56.8700174017535,55.9737930365155,55.9099984808513,55.8049028503502,54.6249864772654,54.4643761257022,53.325014146531,52.929999498092,52.739520168664,52.099998480836,51.8067605657957,51.289427802122,50.7657388372759,50.7749889186562,50.5000186224312,50.696879991247,50.2283556178727,50.3418370631857,49.9599999049811,50.1596776393568,51.2100011256892,51.4260086126692,51.4268481674061,51.593466091511,51.9914004583746,52.3013556992614,52.8400049912556,53.4950037705552,53.4045474006697,53.4044408229636,53.9849997015467,54.6009367732926,54.615012925833,54.7909711777868,55.0616006536994,55.5084726019435,55.7839855007075,55.3111461452368,56.2750149603448,56.7850096706335,57.8188483750646,58.6300133327501,58.5508450384792,58.6350001084663]}]],[[{"lng":[41.5540841001107,41.7031706072727,41.4534700864384,40.8754691912538,40.3213944842203,39.9550085792709,40.0769649594798,40.9221846860456,42.3943945656088,43.7560168800674,43.9311999855368,44.537622918482,45.4702791684857,45.7764103533828,46.4049507993488,46.145431756379,46.6379081561206,46.5016374041669,45.9626005389304,45.2174263852816,44.9724800962181,43.5827458025927,42.6195487811045,41.5540841001107],"lat":[41.5356562363276,41.9629428167329,42.6451233994179,43.0136280380913,43.1286339381568,43.4349976669992,43.5531041530023,43.3821585149808,43.2203079290426,42.7408281520225,42.5549738632848,42.7119927028036,42.50278066667,42.0924439560564,41.8606751572273,41.7228024358726,41.1816726751282,41.0644446884741,41.1238725856098,41.411451931314,41.2481285670556,41.0921432561826,41.5831727158199,41.5356562363276]}]],[[{"lng":[1.06012169760493,-0.507637905265938,-1.06362464029419,-1.96470659016759,-2.8561250472024,-2.81070146321784,-3.24437008301126,-2.98358496745033,-2.56218950032624,-2.82749630371271,-2.96389624674711,-2.94040930827046,-1.20335771321143,-0.761575893548183,-0.438701544588582,0.0238025244237008,-0.0497847151599444,0.367579990245389,0.365900506195885,0.461191847342121,0.712029249686879,0.490957472342245,0.570384148774849,0.836931186536333,1.06012169760493],"lat":[5.92883738852888,5.34347260174268,5.00054779705381,4.71046214438337,4.99447581625951,5.38905121502411,6.2504715031135,7.37970490155551,8.21962779381148,9.64246084231978,10.3953347843801,10.9626903345126,11.0098192407627,10.9369296330151,11.0983409692787,11.0186817489008,10.7069178328839,10.1912128768272,9.46500397382948,8.67722260175601,8.31246450442383,7.41174428957648,6.91435862876719,6.27997874595215,5.92883738852888]}]],[[{"lng":[23.699980096133,24.2466650733487,25.0250154965289,25.7692077979642,25.7450232276516,26.2900028826017,26.1649975928877,24.7249821306423,24.7350073585069,23.5149784685281,23.699980096133],"lat":[35.7050043808355,35.3680223658602,35.424995632462,35.3540180527091,35.1799976669662,35.2999903427479,35.0049954290098,34.9199876978896,35.0849905461976,35.279991563451,35.7050043808355]}],[{"lng":[26.6041955909363,26.2946020850758,26.0569421729655,25.4476770362442,24.9258484229609,23.7148112322008,24.4079988949641,23.8999678891026,23.3429993018608,22.813987664489,22.6262988624048,22.8497477556348,23.3500272966526,22.9730993995155,23.530016310325,24.0250248552489,24.0400110206136,23.1150028825892,23.4099719581111,22.7749719581086,23.1542252946986,22.4900281104511,21.6700264828437,21.2950106137016,21.1200342139613,20.7300321794546,20.2177120297129,20.1500159034105,20.6150004411728,20.6749967790636,20.9999898617473,21.0200403174764,21.674160597427,22.0553776384443,22.597308383889,22.7617700000001,22.9523771501666,23.6920736019925,24.492644891058,25.1972013689255,26.1061381365072,26.1170418637209,26.6041955909363],"lat":[41.5621145696611,40.9362612981743,40.8241234401008,40.8525454778615,40.9470616725232,40.6871292180951,40.1249929876241,39.9620055201756,39.9609978297458,40.4760051539666,40.2565611842392,39.6593108180258,39.1900112981673,38.9709032252497,38.5100011256385,38.2199929876165,37.6550145533694,37.9200112981622,37.4099907496574,37.3050100774566,36.4225058049921,36.4100001083775,36.8449864771942,37.6449893255047,38.3103233912627,38.7699852564988,39.3402346868396,39.624997666984,40.1100068222594,40.4349999049431,40.580003973954,40.8427269557259,40.931274522458,41.1498658310527,41.1304871689432,41.3048000000001,41.3379938828112,41.3090809189439,41.583896185872,41.2344859889307,41.3288988307278,41.8269046087247,41.5621145696611]}]],[[{"lng":[120.71560875863,120.295014276207,118.967808465655,119.900309686362,120.425755649905,120.775501743657,120.71560875863],"lat":[-10.2395813940879,-10.2586499976035,-9.55796925215803,-9.36134042728752,-9.6659213192158,-9.96967538822746,-10.2395813940879]}],[{"lng":[124.435950148619,123.579981724137,123.459989048355,123.550009393407,123.980008986508,124.968682489116,125.070019972841,125.088520135601,124.435950148619],"lat":[-10.1400009090614,-10.359987481328,-10.2399948055462,-9.90001555749798,-9.29002695072469,-8.89279021569705,-9.08998748132284,-9.39317310957932,-10.1400009090614]}],[{"lng":[117.900018345208,118.26061648974,118.878459914222,119.126506789223,117.970401645989,117.277730747549,116.740140822417,117.083737420725,117.632024367342,117.900018345208],"lat":[-8.09568124759492,-8.36238331465333,-8.28068287519983,-8.70582488366507,-8.90663949955126,-9.04089487064556,-9.03293670007264,-8.45715789147654,-8.44930307376819,-8.09568124759492]}],[{"lng":[122.903537225436,122.756982863456,121.25449059457,119.92439090381,119.920928582846,120.715091994308,121.341668735847,122.00736453663,122.903537225436],"lat":[-8.09423430749074,-8.64980763106064,-8.93366627363994,-8.81041798262387,-8.44485890059107,-8.23696461348086,-8.53673959720602,-8.46062021244016,-8.09423430749074]}],[{"lng":[108.623478631629,110.539227329553,110.759575636846,112.614811232556,112.978768345188,114.478935174621,115.705526971501,114.564511346497,113.464733514461,112.559672479301,111.522061395312,110.586149530074,109.427667270955,108.693655226681,108.277763299596,106.454102004016,106.280624220812,105.365486281356,106.051645949327,107.26500857954,108.072091099075,108.486846144649,108.623478631629],"lat":[-6.77767384199068,-6.87735767988168,-6.46518645592175,-6.94603565839759,-7.59421314863458,-7.77652760176028,-8.37080657311687,-8.75181690840483,-8.34894744225743,-8.37618092207516,-8.30212859460096,-8.12260466881902,-7.74066415774976,-7.64160043704622,-7.76665740319258,-7.35489959069095,-6.9248999975902,-6.85141611087117,-5.8959188777945,-5.95498503990406,-6.34576222089524,-6.42198495852577,-6.77767384199068]}],[{"lng":[134.724624465067,134.210133905169,134.112775506731,134.290335728086,134.499625278868,134.727001580952,134.724624465067],"lat":[-6.21440073000929,-6.89523772545471,-6.14246713625901,-5.78305754966904,-5.4450420060479,-5.73758228925216,-6.21440073000929]}],[{"lng":[127.249215122589,126.874922723499,126.183802118027,125.989033644719,127.000651483265,127.249215122589],"lat":[-3.45906503663889,-3.79098276124958,-3.60737639731656,-3.17727345135133,-3.12931772218441,-3.45906503663889]}],[{"lng":[130.471344028852,130.834836053593,129.990546502808,129.155248651242,128.590683628454,127.898891229362,128.135879347853,129.370997756061,130.471344028852],"lat":[-3.09376433676762,-3.85847218182276,-3.44630095786282,-3.36263681398225,-3.42867929445126,-3.39343596762819,-2.84365040447491,-2.80215422934455,-3.09376433676762]}],[{"lng":[134.143367954648,134.422627394753,135.457602980695,136.293314243719,137.440737746328,138.329727411045,139.184920689043,139.92668419816,141.000210402592,141.017056919519,141.033851760014,140.143415155193,139.127766554928,138.881476678625,137.614473911693,138.039099155835,138.668621454015,138.407913853102,137.927839797111,135.989250116113,135.1645976096,133.662880487198,133.367704705947,132.983955519747,132.756940952689,132.753788690319,131.989804315316,133.066844517143,133.780030959204,133.696211786026,132.232373488494,131.836221958545,130.942839797083,130.51955814018,131.867537876514,132.380116408417,133.985548130428,134.143367954648],"lat":[-1.15186736410359,-2.76918466554238,-3.36775278077911,-2.30704233155609,-1.70351327881937,-1.70268645590265,-2.05129566814364,-2.40905160890028,-2.60015105551562,-5.85902190513802,-9.11789275476042,-8.29716765710096,-8.09604298262094,-8.3809351538461,-8.41168263105976,-7.59788217532736,-7.32022470462307,-6.23284921633748,-5.393365573756,-4.54654387778905,-4.46293141034077,-3.53885344809753,-4.02481861737031,-4.11297861086028,-3.74628264731713,-3.31178720460707,-2.82055103924046,-2.46041798259844,-2.47984832114021,-2.21454151775369,-2.21252613689433,-1.6171619604596,-1.4325220678808,-0.937720228686075,-0.695461114101818,-0.369537855636977,-0.780210463060442,-1.15186736410359]}],[{"lng":[125.240500522972,124.437035353697,123.685504998877,122.723083123873,121.056724888189,120.183083123863,120.040869582195,120.935905389491,121.475820754076,123.340564813328,123.258399285984,122.822715285332,122.388529901215,121.508273553555,122.454572381684,122.271896193533,123.170962762547,123.162332798354,122.628515252779,122.236394484548,122.719569126477,121.738233677254,121.489463332201,121.619171177254,120.898181593918,120.972388950689,120.30545291553,120.390047235192,120.430716587405,119.79654341032,119.366905552245,119.6536063986,119.498835483886,119.078344354327,118.767768996253,119.180973748859,119.323393996255,119.825998976726,120.035701938966,120.885779250168,121.666816847827,122.927566766452,124.077522414243,125.065989211122,125.240500522972],"lat":[1.41983612711761,0.427881171058971,0.235593166500877,0.431136786293337,0.381217352699451,0.23724681233422,-0.519657891444851,-1.40890593832337,-0.955962009285116,-0.615672702643081,-1.07621306722834,-0.930950616055881,-1.51685800538112,-1.90448292400242,-3.18605844484088,-3.5295000138527,-4.68369312909171,-5.34060393638596,-5.63459115969449,-5.28293303794828,-4.46417164471579,-4.8513314754465,-4.57455250409122,-4.18847787843868,-3.60210540122283,-2.62764291749491,-2.93160369223573,-4.09757903403722,-5.52824106203778,-5.67340016034565,-5.37987802492781,-4.45941741294496,-3.49441171632651,-3.48702198650876,-2.80199920004769,-2.1471037736128,-1.35314706788047,0.154254462073496,0.566477362465804,1.30922272379684,1.01394358968108,0.875192368977466,0.917101955566139,1.64325918213156,1.41983612711761]}],[{"lng":[128.688248732621,128.635952183141,128.120169712436,127.968034295769,128.379998814,128.100015903842,127.696474644075,127.399490187694,127.600511509309,127.932377557488,128.004156121941,128.594559360875,128.688248732621],"lat":[1.13238597249411,0.258485826006179,0.356412665199286,-0.252077325037533,-0.780003757331286,-0.899996433112975,-0.266598402511505,1.01172150309257,1.81069082275718,2.17459625895656,1.62853139892833,1.54081065511286,1.13238597249411]}],[{"lng":[117.875627069166,118.996747267738,117.811858351718,117.478338657706,117.521643507967,116.56004845588,116.533796828275,116.148083937649,116.000857782049,114.864803094545,114.468651564595,113.755671828264,113.256994256648,112.068126255341,111.70329064336,111.048240187628,110.223846063276,110.070935500124,109.571947869914,109.091873813923,108.952657505328,109.069136183714,109.663260125774,109.830226678509,110.514060907027,111.159137811327,111.79754845586,112.380251906384,112.859809198052,113.80584964402,114.621355422018,115.134037306785,115.519078403792,115.865517205877,117.015214471506,117.88203494677,117.313232456534,118.048329705885,117.875627069166],"lat":[1.82764069254891,0.902219143066048,0.784241848143722,0.102474676917026,-0.803723239753211,-1.48766082113623,-2.4835173478329,-4.01272633221402,-3.65703744874901,-4.10698414471442,-3.49570362713382,-3.43916961020652,-3.11877572999686,-3.47839202231607,-2.99444223390263,-3.04942595786119,-2.93403248455348,-1.59287403728241,-1.31490650798449,-0.459506524257051,0.415375474444346,1.34193390543764,2.00646698649498,1.33813568766419,0.773131415200993,0.976478176269509,0.904441229654651,1.41012095784676,1.49779002522995,1.21754873291104,1.43068817789889,2.82148183838622,3.1692383894944,4.30655914959016,4.30609406169947,4.13755137777949,3.23442820883058,2.28769013102736,1.82764069254891]}],[{"lng":[105.817655063909,104.710384149192,103.868213332131,102.584260695407,102.156173130301,101.399113397225,100.9025028829,100.141980828861,99.2637398620602,98.9700110209133,98.6013513529431,97.6995976094499,97.1769421732499,96.4240165547573,95.3808760925135,95.2930261576173,95.9368628275418,97.4848820332771,98.3691691426557,99.1425586283358,99.6939978373224,100.641433546962,101.658012323007,102.498271112073,103.076840448013,103.838396030698,103.437645298275,104.010788608824,104.369991489685,104.539490187602,104.887892694114,105.622111444117,106.108593377713,105.857445916774,105.817655063909],"lat":[-5.85235564537241,-5.87328460045065,-5.03731495526497,-4.2202588842982,-3.61414600994677,-2.79977711345917,-2.05026213949786,-0.650347588710957,0.183141587724663,1.04288239176454,1.82350657796562,2.45318390544212,3.30879059489861,3.86885976807791,4.97078217205367,5.47982086834482,5.43951325115711,5.24632090903401,4.26837026612637,3.59034963624092,3.17432851807516,2.0993812117558,2.08369741455519,1.39870046631022,0.561361395668854,0.104541734208667,-0.711945896002845,-1.05921152100423,-1.08484303142102,-1.78237151449672,-2.34042530681666,-2.42884368246807,-3.06177662517895,-4.30552499757972,-5.85235564537241]}]],[[{"lng":[77.8374507994746,78.9122689147132,78.8110864602857,79.2088916360686,79.1761287779955,78.458446486326,78.738894484374,79.7213668151071,81.1112561380293,80.4767212259174,80.0884245136763,81.057202589852,81.999987420585,83.3042488951995,84.6750179381738,85.2517785989834,86.0243929381792,87.2274719583663,88.0602376647498,88.1748043151409,88.0431327656612,88.1204407083699,88.7303259622786,88.8142484883206,88.8356425312894,89.7445276224389,90.3732747741341,91.2175126484864,92.0334835143751,92.1037117858597,91.6966565286967,92.5031189310436,93.4133476094327,94.5659904317029,95.4048022806646,96.117678664131,96.5865906107475,96.2488334492878,97.32711388549,97.4025614766361,97.0519885599681,97.1339990580153,96.419365675851,95.124767694075,95.1551534362626,94.6032491393854,94.5526579121716,94.1067419779251,93.3251876159428,93.2863269388593,93.0602942240146,93.1661275573484,92.6727209818256,92.1460347839068,91.8699276061713,91.7064750508321,91.1589632506997,91.4677299336437,91.9150928079944,92.3762016133348,91.7995959818221,90.8722107279121,89.9206925801219,89.8324809101996,89.3550940286873,88.5630493509498,88.2097892598025,88.9315539896231,88.306372511756,88.0844222350624,88.6999402200909,88.5297697285538,88.8763118835031,89.0319612975662,88.8887659036854,88.2084973489952,86.9757043802403,87.0331685729489,86.4993510273738,85.0602657409097,83.9410058939,83.1892171569178,82.1927921894659,82.1912418964972,81.6927193541775,80.7919991393301,80.3248958678439,80.0250692076864,80.2332735533904,80.2862935729219,79.8625468281285,79.8579993020868,79.340511509116,78.8853454934892,79.1897196796883,78.2779407083305,77.9411653990844,77.5398979023379,76.5929789570217,76.1300614765511,75.7464673196485,75.3961011087096,74.8648157083168,74.6167171568835,74.4438594908672,73.5341992532334,73.1199092955494,72.8209094583086,72.8244751321368,72.6305334817454,71.175273471974,70.4704586119451,69.1641300800388,69.6449276060824,69.3495967955344,68.1766451353734,68.8425993183188,71.0432401874682,70.8446993346028,70.2828731627256,70.168926629522,69.5143929381131,70.6164962096019,71.7776656432003,72.8237516620847,73.4506384622174,74.4213802428203,74.405928989565,75.2586417988132,74.4515592792787,74.1042936542773,73.749948358052,74.240202671205,75.7570609882683,76.871721632804,77.8374507994746],"lat":[35.4940095077878,34.3219363469758,33.5061980250324,32.9943946396137,32.4837798121377,32.6181643743127,31.5159060735271,30.8827147486547,30.1834809433134,29.7298652206553,28.7944701197401,28.416095282499,27.92547923432,27.3645057235756,27.2349012313875,26.7261984319063,26.6309846054086,26.3978980575561,26.4146153834025,26.810405178326,27.4458185897868,27.8765416529396,28.0868647323675,27.2993159042394,27.0989663762438,26.71940298106,26.8757241887429,26.808648179628,26.8383104517636,27.4526140406332,27.7717418482517,27.8968763290464,28.6406293808072,29.27743805594,29.0317166203921,29.4528020289225,28.8309795191543,28.4110309921344,28.2615827499463,27.8825361190854,27.6990589462332,27.08377350515,27.2645893417392,26.5735720891323,26.0013072779321,25.1624954289704,24.6752383488903,23.8507408716735,24.0785564234322,23.043658352139,22.7031106633356,22.2784595809771,22.0412389185413,23.6274986841726,23.6243464218028,22.9852639836492,23.5035269231044,24.0726394719348,24.1304137232371,24.976692816665,25.1474317489573,25.1326006128895,25.2697498641922,25.9650820988955,26.0144072535181,26.4465255803427,25.7680657007827,25.2386923283848,24.8660794133442,24.5016572128219,24.2337149113886,23.6311418726492,22.8791464299378,22.055708319583,21.6905884872247,21.7031716984878,21.4955616317552,20.7433078068824,20.1516384953566,19.4785788029711,18.3020097925497,17.671221421779,17.0166360539378,16.5566641301078,16.3102192245079,15.9519723576445,15.8991848820583,15.1364149032141,13.83577077886,13.0062606877108,12.0562153182409,10.3572750919971,10.3088542749396,9.54613597252772,9.21654368737015,8.93304677981693,8.25295909263974,7.96553477623233,8.89927623131419,10.2996300317755,11.3082506372483,11.7812450220158,12.7419357365379,13.9925829126497,14.6172217879777,15.990652167215,17.9285700545925,19.2082335474362,20.4195032821415,21.356009426351,20.7574413111142,20.8773306340314,22.0892980005727,22.4507746444543,22.8431796330627,23.6919650334567,24.3591336125609,24.3565239527302,25.2151020370435,25.7222287053398,26.4918716496788,26.9409656845114,27.9891962753359,27.9131802434345,28.9615917017721,29.9764134791199,30.9798147649312,31.6926394719653,32.2711054550405,32.7648996038055,33.4414732935869,34.3176988795279,34.7488870305713,34.5049225937213,34.6535440129927,35.4940095077878]}]],[[{"lng":[-6.19788489422099,-6.03298539877761,-6.78885657391085,-8.56161658368356,-9.97708574059027,-9.16628251793078,-9.68852454267245,-8.32798743329201,-7.57216793459106,-7.36603064617879,-7.57216793459106,-6.95373023113807,-6.19788489422099],"lat":[53.8675650091634,53.1531641709444,52.2601179062923,51.6693012558994,51.8204548203531,52.8646288112427,53.8813626165853,54.6645189479686,55.1316222194549,54.5958409694527,54.059956366586,54.0737022975756,53.8675650091634]}]],[[{"lng":[15.5203760108138,15.1602429541717,15.309897902089,15.0999882341195,14.335228712632,13.8267326188799,12.4310038591088,12.5709436377551,13.7411564470046,14.7612492204462,15.5203760108138],"lat":[38.2311550969915,37.4440455185378,37.1342194687318,36.6199872909954,36.9966309677548,37.1045313583802,37.6129499374838,38.1263811305197,38.0349655217954,38.1438736028505,38.2311550969915]}],[{"lng":[9.21001183435627,9.80997521326498,9.66951867029567,9.21481774255949,8.80693566247973,8.42830244307711,8.38825320805094,8.15999840661766,8.70999067550011,9.21001183435627],"lat":[41.2099913600242,40.5000088567661,39.1773764104718,39.2404733343001,38.9066177434785,39.1718470322166,40.3783108587188,40.9500072291638,40.8999844427052,41.2099913600242]}],[{"lng":[12.3764852230408,13.8064754574216,13.6981099789055,13.9376302425783,13.1416064795543,12.3285811703063,12.3838749528586,12.2614534847592,12.5892370947865,13.5269059587225,14.029820997787,15.142569614328,15.9261910336019,16.1698970882904,15.8893457373778,16.7850016618606,17.5191687354312,18.3766874528826,18.4802470231954,18.2933850440281,17.7383801612133,16.8695959815223,16.4487431169373,17.1714896989715,17.0528406104293,16.6350883317818,16.1009607276131,15.6840869483145,15.6879626807363,15.8919812354247,16.1093323096443,15.7188135108146,15.4136125016988,14.9984957210982,14.7032682634148,14.0606718278653,13.6279850602854,12.8880819027304,12.1066825700449,11.1919063656142,10.5119478695178,10.200028924204,9.70248823409781,8.88894616052687,8.42856082523858,7.8507666357832,7.43518476729184,7.54959638838616,7.00756229007666,6.74995527510171,7.09665245934784,6.80235517744566,6.84359297041456,7.27385094567668,7.75599205895983,8.31662967289438,8.4899524268013,8.96630577966783,9.18288170740311,9.92283654139035,10.3633781266787,10.4427014502466,11.0485559424365,11.1648279150933,12.1530880062431,12.3764852230408],"lat":[46.7675591090699,46.5093061386912,46.0167780625174,45.5910159368647,45.7366917994954,45.3817780625149,44.8853742539191,44.600482082694,44.0913658717545,43.5877273626379,42.7610077988325,41.9551396754569,41.9613150091157,41.7402949082034,41.5410822617182,41.1796056178366,40.8771434596322,40.3556249049427,40.1688662786398,39.8107744410732,40.2776710068303,40.4422346054639,39.7954007024665,39.4246998154207,38.9028712021373,38.8435724960824,37.9858987493342,37.908849188787,38.2145928004419,38.7509424911992,38.9645470240777,39.5440723740149,40.0483568385352,40.1729487167909,40.6045502792926,40.7863479680954,41.1882872584617,41.2530895045556,41.7045348170574,42.3554253199897,42.9314625107472,43.9200068222746,44.0362787949313,44.3663361679795,44.2312281357524,43.7671479355552,43.6938449163492,44.1279011093848,44.2547667506614,45.0285179713676,45.3330988632959,45.7085798203287,45.9911465521007,45.7769477402508,45.8244900579593,46.1636424830909,46.0051508652517,46.0369318711112,46.440214748717,46.3148994004092,46.4835712754098,46.8935462509974,46.7513585475464,46.9415794948127,47.1153931748264,46.7675591090699]}]],[[{"lng":[134.638428176004,134.766379022359,134.203415968971,133.792950067277,133.280268182509,133.014858026258,132.363114862193,132.37117638563,132.924372593315,133.492968377822,133.904106073136,134.638428176004],"lat":[34.1492337102564,33.8063347437837,33.2011778834296,33.5219851750976,33.2895704208649,32.7045673691048,32.9893820256814,33.4636424830401,34.060298570282,33.9446208765967,34.3649311386426,34.1492337102564]}],[{"lng":[140.976387567305,140.599769728762,140.774074334883,140.253279250245,138.975527785396,137.217598911691,135.792983026269,135.120982700745,135.079434849183,133.340316196832,132.156770868051,130.986144647343,132.00003624891,131.332790155157,130.686317987186,130.202419875205,130.447676222862,129.814691603719,129.408463169473,130.353935174685,130.878450962447,131.884229364144,132.617672967663,134.608300815978,135.677537876529,136.723830601142,137.390611607005,138.857602166906,139.426404657143,140.054790073812,139.8833793479,140.305782505454,141.368973423427,141.914263136971,141.884600864835,140.959489373946,140.976387567305],"lat":[37.1420742864402,36.3439834661245,35.8428771021902,35.1381139185937,34.6676000025761,34.6062859156619,33.4648052027666,33.8490711532891,34.5965449081748,34.3759382187208,33.9049333765965,33.8857614202163,33.1499923772446,31.4503545191648,31.0295791692282,31.4182376164954,32.3194745956657,32.6103095566044,33.2960558131176,33.6041507024417,34.23274282484,34.7497138534879,35.4333930527094,35.7316177434658,35.5271341008868,37.3049842392404,36.8273906519988,37.8274846461435,38.2159622258976,39.4388074814364,40.5633124863237,41.1950051946596,41.3785598821603,39.9916161158787,39.1808645696515,38.1740009628766,37.1420742864402]}],[{"lng":[143.91016198138,144.61342654844,145.320825230083,145.543137241803,144.0596619,143.183849725517,141.611490920172,141.067286411707,139.955106235921,139.81754357316,140.312087030193,141.38054894426,141.671952345954,141.967644891528,143.14287031471,143.91016198138],"lat":[44.1740998398537,43.9608828802175,44.3847329778754,43.2620883245506,42.9883582627006,41.9952147486992,42.6787905950561,41.584593817708,41.569555975911,42.5637588567744,43.3332726100327,43.3888247747465,44.7721253525515,45.5514834661614,44.510358384777,44.1740998398537]}]],[[{"lng":[40.993,41.58513,40.88477,40.63785,40.26304,40.12119,39.80006,39.60489,39.20222,37.7669,37.69869,34.07262,33.9037111971045,33.8935689696669,34.18,34.6721,35.03599,34.59607,34.47913,34.005,34.6201962678539,35.298007118233,35.8174476623535,35.8174476623535,36.1590786328556,36.8550932380081,38.120915,38.43697,38.67114,38.89251,39.5593842587659,39.85494,40.76848,41.1718,41.855083092644,40.98105,40.993],"lat":[-0.85829,-1.68325,-2.08255,-2.49979,-2.57309,-3.27768,-3.68116,-4.34653,-4.67677,-3.67712,-3.09699,-1.05982,-0.95,0.109813537861896,0.515,1.17694,1.90584,3.05374,3.5556,4.24988494736205,4.84712274208199,5.506,5.3382320827908,4.77696566346189,4.44786412767277,4.44786412767277,3.598605,3.58851,3.61607,3.50074,3.42206,3.83879,4.25702,3.91909,3.91891192048373,2.78452,-0.85829]}]],[[{"lng":[128.349716424677,129.21291954968,129.460449660358,129.468304478066,129.09137658093,128.185850457879,127.386519403188,126.485747511909,126.373919712429,126.559231398628,126.117397902532,126.860143263863,126.174758742376,126.237338901882,126.683719924019,127.073308547067,127.780035435091,128.205745884311,128.349716424677],"lat":[38.6122429469279,37.4323924830559,36.7841891546028,35.632140611304,35.0824842392314,34.8903771021864,34.4756737330441,34.3900458847365,34.9345604517959,35.6845405136479,36.7254847275193,36.8939240585746,37.749685777328,37.8403779160003,37.8047728541512,38.2561148137884,38.3045356308459,38.3703972438019,38.6122429469279]}]],[[{"lng":[-7.71215938966975,-7.97410722495725,-9.00479366701867,-9.91342037600668,-10.7653838769866,-11.4387794661821,-11.1998018050483,-11.1467042708684,-10.6955948551765,-10.2300935530913,-10.0165665348613,-9.75534216962583,-9.33727983238458,-9.40334815106975,-9.20878638349085,-8.926064622422,-8.72212358238212,-8.4392984684487,-8.48544552248535,-8.38545162600057,-8.60288021486862,-8.31134762209402,-7.99369259279588,-7.57015255373169,-7.53971513511176,-7.63536821128403,-7.71215938966975],"lat":[4.36456594483772,4.35575511313196,4.8324185245922,5.59356069581921,6.14071076092556,6.78591685630575,7.10584564862474,7.39670644777954,7.93946401614109,8.40620555260129,8.42850393313523,8.54105520266693,7.92853445071135,7.52690521893891,7.31392080324795,7.30903738039638,7.71167430259851,7.68604279218174,7.39520783124307,6.91180064536874,6.46756419517166,6.19303314862108,6.12618968345154,5.7073521997259,5.31334524171652,5.18815908448946,4.36456594483772]}]],[[{"lng":[81.7879590188914,81.6373222187606,81.2180196471443,80.3483569681044,79.8724687031285,79.6951668639351,80.1478007343796,80.8388179869866,81.3043192890718,81.7879590188914],"lat":[7.52305532473316,6.48177521405192,6.19714142498829,5.96836985923215,6.76346344647493,8.20084341067339,9.82407766360956,9.26842682539119,8.56420624433369,7.52305532473316]}]],[[{"lng":[-97.1400083076707,-97.5280724759666,-97.7029455228422,-97.7760418363191,-97.8723667061111,-97.6990439522042,-97.3889595202368,-97.1893334622933,-96.5255755277203,-96.2921272448418,-95.90088497596,-94.8390634834427,-94.4257295397562,-93.5486512926824,-92.7861138577835,-92.0373481920904,-91.4079034085593,-90.7718698799109,-90.5335898506131,-90.4514759997012,-90.2786183336849,-89.6013211738515,-88.5438663398629,-87.6584165107577,-87.0518902249481,-86.811982388033,-86.8459079658326,-87.3832911852359,-87.6210544502107,-87.4367504544418,-87.5865604316559,-87.8371911282715,-88.0906640286632,-88.3000310940936,-88.4901228502793,-88.8483438789266,-89.0298573473518,-89.1509093899955,-89.1430804105033,-90.0679335192309,-91.001519945016,-91.0022692532842,-91.4539212715151,-91.0816700915006,-90.7118218655876,-90.6008467272409,-90.438866950222,-90.4644726224226,-91.747960171256,-92.2292486234063,-92.087215949252,-92.2032295397473,-92.2277500068698,-93.3594638740618,-93.8751688301185,-94.6916564603301,-95.250227016973,-96.0533821276533,-96.5574340482283,-97.2635924954967,-98.0130299548096,-98.9476757474565,-99.6973974271471,-100.829498867581,-101.666088629954,-101.9185280017,-102.478132086989,-103.500989549558,-103.917527432047,-104.992009650475,-105.493038499761,-105.731396043708,-105.397772996831,-105.500660773524,-105.270752326258,-105.265817226974,-105.603160976975,-105.693413865973,-106.028716396899,-106.909980434988,-107.915448778091,-108.401904873471,-109.260198737407,-109.444089321717,-109.291643846456,-109.801457689232,-110.391731737086,-110.641018846462,-111.178918830188,-111.759606899852,-112.22823462609,-112.271823696729,-112.809594489374,-113.163810594519,-113.148669399857,-113.871881069782,-114.205736660604,-114.776451178835,-114.936699795372,-114.771231859173,-114.673899298952,-114.330974494263,-113.588875088335,-113.424053107541,-113.271969367306,-113.140039435664,-112.962298346797,-112.761587083775,-112.457910529412,-112.244951951937,-111.616489020619,-111.284674648873,-110.987819383572,-110.710006883571,-110.655048997829,-110.172856208113,-109.771847093529,-109.409104377056,-109.433392300233,-109.854219326602,-110.031391974714,-110.295070970484,-110.949501309028,-111.670568407013,-112.182035895621,-112.148988817171,-112.30071082238,-112.777296719192,-113.464670783322,-113.596729906044,-113.848936733844,-114.46574662968,-115.055142178185,-114.982252570437,-114.570365566855,-114.199328782999,-114.162018398885,-114.931842210737,-115.518653937627,-115.88736528203,-116.258350389453,-116.721526252085,-117.12776,-115.99135,-114.72139,-114.815,-113.30498,-111.02361,-109.035,-108.24194,-108.24,-106.50759,-106.1429,-105.63159,-105.03737,-104.70575,-104.45697,-103.94,-103.11,-102.48,-101.6624,-100.9576,-100.45584,-100.11,-99.5199999999999,-99.3,-99.0199999999999,-98.24,-97.5299999999999,-97.1400083076707],"lat":[25.8699974634784,24.9921440699203,24.2723430445267,22.9325798609277,22.4442117375534,21.8986894800643,21.4110189885258,20.6354332544731,19.8909308944441,19.3203714055095,18.8280241968487,18.5627173934622,18.1443708358433,18.4238369816779,18.5248385685923,18.7045692001034,18.8760832788802,19.2841203882568,19.8674181177513,20.7075218775204,20.9998554549956,21.2617257756345,21.4936754419766,21.458845526612,21.5435431991383,21.3315147974448,20.8498646102684,20.2554047713987,19.6465530461359,19.4724034693123,19.0401301131907,18.2598159855834,18.5166478540741,18.49998220466,18.4868305526417,17.8831981470403,18.0015113387726,17.9554676376004,17.8083189966494,17.8193260767275,17.8175949162457,17.2546577010743,17.2521772323242,16.9184766707995,16.6874830184548,16.4707778996388,16.4101097681281,16.0695620793247,16.0665648462518,15.2514466414959,15.0645846623285,14.8301028508041,14.538828640191,15.6154295923437,15.9401642928659,16.2009752466429,16.1283181828406,15.7520879175396,15.6535151229428,15.9170649276313,16.1073117131139,16.5660434025688,16.7061640487282,17.1710710718421,17.6490263941096,17.916090196194,17.9757506372751,18.2922946232788,18.7485716822,19.3161339380617,19.9467672795354,20.4341018742641,20.5317186548634,20.8168950464661,21.0762848983551,21.4221035832524,21.8711459416526,22.2690803085162,22.7737523462786,23.7677743596289,24.5489153101529,25.1723139511059,25.5806094426441,25.8248839380877,26.4429340682984,26.6761756454479,27.1621149765045,27.8598760035255,27.9412405461691,28.467952582304,28.9544086776835,29.2668443873201,30.0211135930523,30.7868808049694,31.1709658879789,31.5676083440352,31.5240451116131,31.7995321721612,31.3934846054276,30.9136172551653,30.162681179316,29.7504324407074,29.061611436473,28.8261736109512,28.7547826197399,28.411289374296,28.4251903345825,27.7802167831475,27.5258137069748,27.1717267929108,26.6628172877005,25.7325898300144,25.2946062281246,24.8260043401019,24.2985946721311,24.2655475936804,23.8111825627542,23.3646723495362,23.1855876734287,22.8182715926981,22.8230775009012,23.4309732121667,24.000964260346,24.4844231226525,24.7384127873672,25.4701252304041,26.0120042994166,26.3219595403032,26.7681855331434,26.6394595403045,26.9000637883524,27.1420903589914,27.7227267522229,27.7982001815851,27.7414852971449,28.1150025497506,28.5661119654423,29.2794792750155,29.5563615992354,30.1807937688342,30.8364643417536,31.635743720012,32.53534,32.6123900000001,32.7208299999999,32.52528,32.0391400000001,31.3347199999999,31.3419400000001,31.3422200000001,31.7548537181664,31.75452,31.39995,31.0838300000001,30.64402,30.12173,29.57196,29.27,28.97,29.76,29.7793000000001,29.3807100000001,28.6961200000001,28.1100000000001,27.54,26.84,26.3700000000001,26.0600000000001,25.8400000000001,25.8699974634784]}]],[[{"lng":[-12.1707502913803,-11.8342075260795,-11.6660782536179,-11.3490950179395,-10.6507913883794,-10.0868464827782,-9.70025509280271,-9.55023840985939,-5.53774430990845,-5.31527726889193,-5.48852250815044,-5.97112870932425,-6.45378658693033,-4.92333736817423,-1.55005489745761,1.82322757325903,2.06099083823392,2.68358849448643,3.1466610042539,3.1581331722227,4.26741946780004,4.2702099951438,3.72342166506348,3.63825890464648,2.74999270998148,1.38552819174686,1.01578331869851,0.374892205414682,-0.26625729003058,-0.515854458000348,-1.06636349120566,-2.00103512206877,-2.19182451009038,-2.96769446452058,-3.10370683431276,-3.52280270019986,-4.00639075358723,-4.28040503581488,-4.4271661035238,-5.22094194174312,-5.19784257650865,-5.47056494792901,-5.40434159994697,-5.81692623536529,-6.05045203289227,-6.20522294760643,-6.49396501303727,-6.66646094402755,-6.85050655763506,-7.62275916180481,-7.89958980959237,-8.02994361004862,-8.33537716310974,-8.28235714357828,-8.40731075686003,-8.62032101076713,-8.58130530438677,-8.37630489748491,-8.78609900555946,-8.90526485842453,-9.12747351727958,-9.32761633954601,-9.56791174970321,-9.89099280439201,-10.1652137923488,-10.5932238428063,-10.8708296370782,-11.0365559554383,-11.2975736149445,-11.4561685856483,-11.5139428369506,-11.4678991357785,-11.5533977930054,-11.9277160303116,-12.1248874577213,-12.1707502913803],"lat":[14.6168342147355,14.7990969914289,15.3882083195563,15.4112560083585,15.1327458765214,15.3304857446863,15.2641073674074,15.4864968937754,15.5016897648693,16.2018537459918,16.325102037008,20.6408334416476,24.9565906845034,24.974574082941,22.7926659204974,20.610809434486,20.1422333846795,19.8562301701601,19.6935785995214,19.05736420336,19.155265204337,16.8522274846012,16.1842837590126,15.5681198185805,15.4095248478767,15.3235611027592,14.9681822778879,14.9289081893461,14.9243089868721,15.1161577417557,14.9738150090078,14.5590082870009,14.2464175480674,13.7981503361515,13.5412667912286,13.3376616479986,13.4724854598481,13.2284435083497,12.5426455754043,11.7138589543072,11.3751457788501,10.951269842976,10.3707368026091,10.2225546330122,10.0963607853554,10.5240607772191,10.4113028019583,10.4308106551484,10.1389938419962,10.1472362329468,10.2973821069708,10.2065349390017,10.4948119165419,10.7925973576238,10.9092569035228,10.8108908146552,11.1362456323648,11.3936459416106,11.8125609399847,12.0883580591264,12.3080604110153,12.3342862004035,12.1942430688925,12.060478623905,11.8440835636827,11.923975328006,12.1778874780721,12.2112446151165,12.0779710962358,12.0768342147253,12.4429875757294,12.754518947801,13.1412136906411,13.4220751001474,13.9947274845898,14.6168342147355]}]],[[{"lng":[99.5433093607593,98.9596757344549,98.2537239929156,97.7977828308044,97.3758964375735,97.8591227559349,98.4937610209114,98.9033484232568,98.5373759297657,98.1920740091914,98.4308191263799,99.0977551615388,99.2120117533361,99.1963537943517,99.5872860046397,99.038120558674,98.553550653073,98.4571741068487,98.7645455261208,98.4283386576299,98.5095740091927,98.1036039571077,97.7777323750752,97.5970715677828,97.1645398294998,96.505768670643,95.3693522481124,94.8084045755841,94.1888041524045,94.5334859557913,94.3248165221968,93.5409883971936,93.6632548359962,93.0782776224522,92.3685535013556,92.3032344909387,92.652257114638,92.6727209818256,93.1661275573484,93.0602942240146,93.2863269388593,93.3251876159428,94.1067419779251,94.5526579121716,94.6032491393854,95.1551534362626,95.124767694075,96.419365675851,97.1339990580153,97.0519885599681,97.4025614766361,97.32711388549,97.9119877461694,98.2462309102333,98.6826900573705,98.7120939473445,98.6718380065892,97.7246090026791,97.604719679762,98.6602624857558,98.8987492207828,99.5319922220874,99.2408988789873,99.9834892110215,100.416537713627,101.150032993578,101.180005324308,100.32910119019,100.115987583418,99.5433093607593],"lat":[20.1865976018021,19.7529806584409,19.70820302986,18.6270803898818,18.4454377303758,17.5679460718437,16.8378355982079,16.1778242049761,15.3084974227461,15.1237025008704,14.6220276961808,13.8275025496933,13.2692937280765,12.8047484399887,11.8927627629017,10.9605457625724,9.93295990644854,10.6752660181051,11.4412916121837,12.0329867619257,13.1223776310707,13.6404597030129,14.8372858748926,16.1005679386998,16.9287344426093,16.4272405054328,15.7143899601826,15.8034542912376,16.037936102762,17.2772403019857,18.2135139022499,19.36649262133,19.726961574782,19.855144965082,20.6708832870253,21.4754853378098,21.3240475529785,22.0412389185413,22.2784595809771,22.7031106633356,23.043658352139,24.0785564234322,23.8507408716735,24.6752383488903,25.1624954289704,26.0013072779321,26.5735720891323,27.2645893417392,27.08377350515,27.6990589462332,27.8825361190854,28.2615827499463,28.3359451360143,27.7472213811292,27.5088121607506,26.7435358749403,25.9187025009135,25.083637193293,23.897404690033,24.06328603769,23.1427220728425,22.9490388046126,22.1183143173046,21.7429367131364,21.5588394230966,21.849984442629,21.436572984294,20.7861217310362,20.4178496363082,20.1865976018021]}]],[[{"lng":[101.075515578213,101.154218784594,101.814281854258,102.141186964936,102.371147088635,102.961705356867,103.381214634212,103.438575474056,103.332122023535,103.429428745541,103.502447544369,103.85467410687,104.247931756612,104.228811476664,103.519707472754,102.573615350355,101.390638462329,101.273539666756,100.695435418707,100.557407668055,100.196706170658,100.306260207117,100.085756870527,100.259596388757,101.075515578213],"lat":[6.20486705161589,5.69138418214771,5.81080841717423,6.22163605389466,6.12820506431096,5.52449514406108,4.85500112550375,4.18160553630838,3.72669790284297,3.38286876058902,2.7910185815502,2.51545400635376,1.63114105875906,1.29304800048953,1.22633372640068,1.96711538330474,2.76081370687562,3.27029165284118,3.93913971599487,4.76728038168828,5.31249258058368,6.04056183514388,6.46448944745029,6.64282481528957,6.20486705161589]}],[{"lng":[118.618320754065,117.88203494677,117.015214471506,115.865517205877,115.519078403792,115.134037306785,114.621355422018,113.80584964402,112.859809198052,112.380251906384,111.79754845586,111.159137811327,110.514060907027,109.830226678509,109.663260125774,110.396135288537,111.168852980598,111.370081007942,111.796928338673,112.995614862115,113.712935418759,114.204016554828,114.659595981914,114.869557326315,115.347460972151,115.405700311344,115.45071048387,116.220741001451,116.72510298062,117.1296260926,117.643393182446,117.689075148592,118.347691278152,119.18190392464,119.110693800942,118.439727004064,118.618320754065],"lat":[4.47820241944754,4.13755137777949,4.30609406169947,4.30655914959016,3.1692383894944,2.82148183838622,1.43068817789889,1.21754873291104,1.49779002522995,1.41012095784676,0.904441229654651,0.976478176269509,0.773131415200993,1.33813568766419,2.00646698649498,1.6637747257514,1.85063670491878,2.69730337158887,2.88589651123807,3.10239492432487,3.89350942628113,4.52587392823682,4.00763682699781,4.34831370688195,4.31663605388701,4.95522756593382,5.44772980389156,6.14319122967562,6.924771429874,6.92805288332457,6.42216644940331,5.98749013918018,5.70869578696546,5.40783559816225,5.01612824138986,4.96651886638962,4.47820241944754]}]],[[{"lng":[8.5002877132597,7.46210818851594,7.08259646976444,6.6980721370806,5.89817264163469,5.36280480309088,5.03357425295937,4.32560713056068,3.57418012860455,2.69170169435625,2.74906253420022,2.72379275880951,2.91230838381026,3.2203515967021,3.70543826662592,3.6000700211828,3.79711225751171,3.57221642417747,3.61118045412556,3.68063357912581,3.96728274904885,4.10794599774732,4.36834354006606,5.44305830244016,6.44542605960564,6.82044192874775,7.33074669763002,7.80467125817879,9.01493330245447,9.52492801274295,10.1148144873547,10.7010319352737,10.9895931331915,11.5278031755114,12.3020711605405,13.0839872575489,13.3187016130186,13.9953528174483,14.1813362972668,14.5771777686225,14.468192172919,14.4153788591167,13.5729496598946,13.3086763851539,13.1675997249971,12.955467970439,12.7536715023392,12.2188721045506,12.0639461605396,11.8393087093668,11.7457743669185,11.0587878760304,10.4973751156114,10.1182768083183,9.5227059261544,9.23316287602304,8.75753299320863,8.5002877132597],"lat":[4.77198293702685,4.41210826254624,4.46468903240323,4.24059418376952,4.26245331462898,4.88797068930596,5.61180247641823,6.27065114992347,6.25830048260572,6.25881724692863,7.87073436119289,8.50684540448971,9.13760793704432,9.4441525333997,10.0632103540402,10.3321861841194,10.7347455916731,11.3279393579515,11.660167141156,12.5529033472142,12.9561087101716,13.5312157251478,13.7474815942893,13.8659239771023,13.4927684595227,13.1150912541175,13.0980380314612,13.3435269230637,12.8266592472804,12.8511021997545,13.2772518986494,13.2469178328941,13.3873226994311,13.3289800073736,13.0371890324375,13.5961471623226,13.5563563094578,12.4615652531383,12.4836569279431,12.0853608260535,11.9047516951934,11.5723688826921,10.7985659855536,10.1603620467489,9.64062632897341,9.4177717147147,8.717762762889,8.30582408287432,7.7998084578723,7.39704234458944,6.98138296144975,6.64442678469059,7.05535777427556,7.03876963950988,6.45348236737212,6.44449066815334,5.47966583904791,4.77198293702685]}]],[[{"lng":[6.07418257002092,6.90513960127413,7.0920532568739,6.84286950036238,6.58939659997083,5.98865807457781,6.15665815595878,5.60697594567,4.97399132652691,4.04707116050753,3.31497114422854,3.83028852704314,4.70599734866119,6.07418257002092],"lat":[53.5104033473781,53.4821621771306,53.1440432806449,52.2284402532975,51.8520291204834,51.8516157090251,50.8037210150106,51.0372984889698,51.4750237086981,51.2672586126686,51.3457551133199,51.620544542032,53.0917984075978,53.5104033473781]}]],[[{"lng":[28.1655473162029,31.2934184099655,30.0054350115228,31.1010787289751,29.3995805193329,28.5919295590432,29.015572950972,27.7322921078679,26.1796220232263,25.6892126807764,24.7356791521267,23.6620495948308,22.3562378272474,21.2449361508107,20.6455928890896,20.0252689958579,19.8785596045813,17.9938684424644,17.7291817562653,16.7688786149855,16.1087121924568,15.1084114925831,13.5556897315091,13.9199052263022,13.5719161312488,12.5799353369739,11.9305692887942,11.9920642432215,12.6311466813752,12.3003658382749,11.4682719255112,11.0273686051969,10.3565568376161,8.38200035974364,7.0487484066133,5.66583540205042,5.30823449059073,4.99207807782901,5.91290042483789,8.55341108565577,10.5277091813668,12.3583467953064,14.7611458675816,16.435927361729,19.1840283545785,21.3784163754206,23.0237423031616,24.5465434099385,26.3700496762218,28.1655473162029],"lat":[71.1854743516805,70.4537877468599,70.1862588568849,69.5580801459449,69.1569160020631,69.0647769232867,69.766491197378,70.1641930202963,69.8252989773262,69.092113755969,68.6495567898214,68.8912474636505,68.841741441515,69.3704430202931,69.1062472602009,69.0651386583127,68.4071943223726,68.5673912624773,68.0105518663162,68.0139366726314,67.3024555528369,66.1938668890954,64.7870276963815,64.4454206407161,64.0491140814697,64.0662189805583,63.128317572677,61.8003624538566,61.2935716823701,60.1179328477301,59.432393296946,58.8561494004594,59.4698070339254,58.3132884792333,58.0788841823573,58.5881554225937,59.6632319199938,61.9709980332843,62.6144729681827,63.4540082871965,64.4860383164975,65.8797258571932,67.8106415879951,68.5632054714617,69.8174441596178,70.2551693793461,70.2020718451663,71.0304967312372,70.9862617051954,71.1854743516805]}],[{"lng":[24.72412,22.49032,20.72601,21.41611,20.8119,22.88426,23.28134,24.72412],"lat":[77.85385,77.44493,77.67704,77.93504,78.25463,78.4549400000001,78.07954,77.85385]}],[{"lng":[18.2518300000001,21.54383,19.02737,18.4717200000001,17.5944100000001,17.1182,15.91315,13.76259,14.66956,13.1706,11.22231,10.44453,13.1707700000001,13.71852,15.1428200000001,15.52255,16.99085,18.2518300000001],"lat":[79.70175,78.95611,78.5626,77.82669,77.63796,76.80941,76.77045,77.38035,77.73565,78.02493,78.8693,79.65239,80.01046,79.66039,79.67431,80.01608,80.05086,79.70175]}],[{"lng":[25.4476253598119,27.4075057309135,25.9246505062982,23.0244657732136,20.0751884294519,19.8972664730709,18.4622636247579,17.3680151709775,20.4559920590107,21.9079447771154,22.9192525570674,25.4476253598119],"lat":[80.4073403998945,80.0564057482005,79.5178339708546,79.4000117052291,79.5668232286673,79.8423619656475,79.8598802761944,80.318896186027,80.5981556261322,80.3576793484621,80.6571442735935,80.4073403998945]}]],[[{"lng":[88.1204407083699,88.0431327656612,88.1748043151409,88.0602376647498,87.2274719583663,86.0243929381792,85.2517785989834,84.6750179381738,83.3042488951995,81.999987420585,81.057202589852,80.0884245136763,80.4767212259174,81.1112561380293,81.5258044778747,82.3275126484509,83.3371151061372,83.8989929544467,84.2345797057501,85.011638218123,85.8233199401315,86.9545170430006,88.1204407083699],"lat":[27.8765416529396,27.4458185897868,26.810405178326,26.4146153834025,26.3978980575561,26.6309846054086,26.7261984319063,27.2349012313875,27.3645057235756,27.92547923432,28.416095282499,28.7944701197401,29.7298652206553,30.1834809433134,30.4227169866086,30.1152680526881,29.4637315943522,29.3202261418777,28.8398937037247,28.6427739527473,28.2035759546987,27.9742617864035,27.8765416529396]}]],[[{"lng":[173.020374790741,173.247234328502,173.958405389703,174.247586704808,174.24851688059,173.876446568088,173.222739699596,172.711246372771,173.08011274647,172.308583612353,171.452925246464,171.185137974327,170.616697219117,169.831422154009,169.332331170934,168.411353794629,167.763744745147,166.676886021184,166.509144321965,167.046424188503,168.303763462597,168.949408807652,169.667814569373,170.524919875366,171.125089960004,171.569713983443,171.948708937872,172.097227004279,172.798579543344,173.020374790741],"lat":[-40.9190524228564,-41.3319987933008,-40.9267005348356,-41.3491553688217,-41.7700082334068,-42.2331840960388,-42.9700383440886,-43.3722876930485,-43.8533436012536,-43.8656942685713,-44.2425188128437,-44.8971041806849,-45.9089287249597,-46.3557748349876,-46.6412354469679,-46.6199447568636,-46.2901974424092,-46.2199174944923,-45.8527047666262,-45.1109412575087,-44.1239730771661,-43.9358191871914,-43.5553256162263,-43.0316883278128,-42.5127535947378,-41.7674244117921,-41.5144165992912,-40.9561044248097,-40.4939620908235,-40.9190524228564]}],[{"lng":[174.612008905331,175.336615838927,175.357596470438,175.808886753642,175.958490025128,176.763195428777,177.438813104561,178.010354445709,178.517093540763,178.274731073314,177.970460239979,177.206992629299,176.939980503647,177.03294640534,176.885823602605,176.508017206119,176.01244022044,175.239567499083,175.067898391009,174.650972935278,175.227630243224,174.90015669179,173.824046665744,173.852261997775,174.57480187408,174.743473749081,174.697016636451,174.292028436579,174.319003534236,173.840996535536,173.05417117746,172.636005487354,173.007042271209,173.551298456108,174.329390497126,174.612008905331],"lat":[-36.1563973935405,-37.2090979957583,-36.5261939430211,-36.7989421526577,-37.5553817685461,-37.8812533505787,-37.9612484677665,-37.5798247210201,-37.6953732236248,-38.5828125953731,-39.166342868813,-39.1457756487608,-39.4497364235016,-39.8799427223315,-40.0659778785822,-40.6048080380896,-41.2896241188215,-41.6883077939532,-41.4258948707751,-41.2818209775455,-40.4592355283234,-39.9089332008472,-39.5088542620435,-39.1466024716775,-38.7976832008428,-38.0278077125584,-37.381128838858,-36.7110922177614,-36.5348239072139,-36.1219808896341,-35.2371253395003,-34.5291065406694,-34.4506617164503,-35.006183363588,-35.2654957008286,-36.1563973935405]}]],[[{"lng":[75.1580277851409,75.8968974140501,76.1928483417857,77.8374507994746,76.871721632804,75.7570609882683,74.240202671205,73.749948358052,74.1042936542773,74.4515592792787,75.2586417988132,74.405928989565,74.4213802428203,73.4506384622174,72.8237516620847,71.7776656432003,70.6164962096019,69.5143929381131,70.168926629522,70.2828731627256,70.8446993346028,71.0432401874682,68.8425993183188,68.1766451353734,67.4436666197455,67.1454419289891,66.3728275897933,64.5304077492911,62.9057007180346,61.4973629087842,61.8741874530565,63.3166317076196,63.2338977395203,62.7554256529299,62.727830438086,61.7718681171186,61.3693087095649,60.8742484882088,62.5498568052728,63.5502608580112,64.1480021503313,64.3504187356185,65.0468620136161,66.3464726093244,66.381457553986,66.9388912291185,67.6833935891475,67.7926892434448,68.5569320006093,68.9266768736577,69.3177641132426,69.2625220071226,69.6871472512649,70.3235941913716,69.9305432473596,70.8818030129884,71.1567733092135,71.1150187519216,71.6130762063507,71.4987679381211,71.2623482603857,71.8462919452839,72.9200248554445,74.0675517109178,74.575892775373,75.1580277851409],"lat":[37.1330309107891,36.6668061386518,35.8984034286878,35.4940095077878,34.6535440129927,34.5049225937213,34.7488870305713,34.3176988795279,33.4414732935869,32.7648996038055,32.2711054550405,31.6926394719653,30.9798147649312,29.9764134791199,28.9615917017721,27.9131802434345,27.9891962753359,26.9409656845114,26.4918716496788,25.7222287053398,25.2151020370435,24.3565239527302,24.3591336125609,23.6919650334567,23.944843654877,24.6636111516246,25.4251408960939,25.2370386825514,25.2184093287102,25.0782370061185,26.2399748804721,26.7565324976617,27.2170470240307,27.378923448185,28.2596448837354,28.6993338078908,29.3032762720859,29.8292389999526,29.3185724960443,29.4683307968262,29.340819200146,29.5600306259281,29.4721806910319,29.8879434270362,30.7388992375865,31.3049112004794,31.3031542017814,31.5829304062096,31.713310044882,31.6201891138921,31.9014122584244,32.5019440780883,33.1054989690412,33.3585326197584,34.0201201441751,33.9888559026385,34.3489114446322,34.7331257187222,35.1532034368229,35.650563259416,36.0743875188578,36.5099423284299,36.7200070256963,36.8361756454885,37.0208413762835,37.1330309107891]}]],[[{"lng":[126.376813592637,126.478512811388,126.537423944201,126.196772902533,125.831420526229,125.363852166852,125.683160841984,125.396511672061,124.219787632342,123.938719517107,124.243662144061,123.610212437028,123.296071405125,122.825505812675,122.085499302256,121.919928013193,122.312358840017,122.94239790252,123.487687616064,123.84115441294,124.60146976125,124.764612257996,125.471390822452,125.412117954613,126.222714471543,126.306636997585,126.376813592637],"lat":[8.41470632571335,7.75035411216898,7.18938060142457,6.27429433840004,7.29371531822186,6.78648529706099,6.04965688722726,5.58100332277229,6.16135549562618,6.88513560630612,7.36061045982366,7.83352732994275,7.41887563723279,7.45737457929022,6.89942413983485,7.19211945233607,8.03496206301651,8.31623688398118,8.69300975182119,8.24032420494439,8.51415761965902,8.96040945071546,8.98699697512964,9.76033478437755,9.28607432701885,8.78248749433457,8.41470632571335]}],[{"lng":[123.982437778826,123.623183221533,123.309920688979,122.995883009942,122.380054966319,122.586088901867,122.837081333509,122.947410516452,123.498849725438,123.337774285985,124.077935825701,123.982437778826],"lat":[10.2787785913458,9.9500906437533,9.31826874433668,9.0221886255204,9.7133609074242,9.98104482669611,10.2611569279342,10.881868394408,10.9406244979239,10.2673839380254,11.2327255314537,10.2787785913458]}],[{"lng":[118.50458092659,117.174274530101,117.664477166821,118.386913690262,118.987342157061,119.511496209798,119.68967654834,119.029458449379,118.50458092659],"lat":[9.31638255455809,8.36749990481466,9.06688873945293,9.68449961998923,10.3762920190805,11.3696680770272,10.5542914901099,10.0036532658239,9.31638255455809]}],[{"lng":[121.883547804859,122.483821242361,123.120216506036,123.100837843926,122.637713657727,122.00261030486,121.967366978037,122.038370396006,121.883547804859],"lat":[11.891755072472,11.5821874048275,11.5836601831479,11.1659337427165,10.7413084985742,10.4410167505261,10.9056912296946,11.41584096928,11.891755072472]}],[{"lng":[125.502551711124,125.783464797062,125.011883986512,125.032761265158,125.27744917206,124.801819289246,124.760168084819,124.459101190286,124.302521600442,124.891012811382,124.877990350444,124.266761509296,125.227116327008,125.502551711124],"lat":[12.1626946069783,11.0461219344478,11.3114545760504,10.9758161483147,10.3587220321013,10.1346788598999,10.8379951033923,10.8899299178456,11.4953709985772,11.4155825871186,11.794189968305,12.5577609318497,12.5357209334772,12.1626946069783]}],[{"lng":[121.527393833504,121.262190382982,120.833896112147,120.323436313968,121.180128208502,121.527393833504],"lat":[13.0695901554845,12.2055602075644,12.7044961613424,13.4664134790539,13.4296973739104,13.0695901554845]}],[{"lng":[121.321308221524,121.937601353036,122.246006300954,122.336956821788,122.174279412933,122.515653924653,122.252310825694,121.662786086108,121.505069614753,121.728828566577,122.258925409027,122.701275669446,123.95029503794,123.855107049659,124.181288690285,124.077419061378,123.298035109552,122.92865197153,122.671355015149,122.034649692881,121.126384718919,120.628637323083,120.679383579594,120.991819289231,120.693336216313,120.564145135583,120.070428501466,119.920928582846,119.883773228028,120.286487664879,120.390047235192,120.715867140792,121.321308221524],"lat":[18.504064642811,18.2185523543984,18.4789498967171,18.2248827173542,17.8102827010764,17.093504746972,16.2624443628541,15.9310175643501,15.1248135441646,14.3283763696822,14.218202216036,14.3365412459844,13.7821306421411,13.2377711043785,12.9975273706535,12.5366769474746,13.027525539599,13.5529198267104,13.1858362899251,13.7844819198103,13.6366873234556,13.8576557479357,14.2710155298383,14.5253927677951,14.7566706405173,14.3962792017138,14.9708694523671,15.4063467472907,16.36370433193,16.0346288110953,17.5990811222995,18.5052273625375,18.504064642811]}]],[[{"lng":[155.880025669578,155.599991082989,155.166994256815,154.729191522438,154.51411421124,154.652503696917,154.759990676084,155.062917922179,155.547746209942,156.019965448225,155.880025669578],"lat":[-6.81999684003776,-6.91999073652249,-6.5359314917293,-5.90082813886221,-5.13911752688001,-5.04243092206184,-5.33998381919849,-5.56679168052749,-6.20065479901966,-6.54001392988039,-6.81999684003776]}],[{"lng":[151.982795851854,151.459106887009,151.301390415654,150.754447056277,150.241196730754,149.709963006793,148.89006473205,148.318936802361,148.401825799757,149.298411900021,149.845561965127,149.99625044169,150.139755894165,150.236907586874,150.807467075808,151.089672072554,151.647880894171,151.537861769822,152.136791620084,152.338743117481,152.318692661752,151.982795851854],"lat":[-5.47806324628235,-5.56028045005874,-5.8407284481067,-6.08376270917539,-6.31775359459299,-6.31651336021805,-6.02604013430543,-5.74714242922613,-5.43775562909472,-5.58374155031922,-5.50550343182934,-5.02610116945768,-5.00134815838979,-5.53222014732428,-5.45584238039689,-5.11369272219237,-4.75707366294617,-4.16780730552189,-4.14879037843852,-4.31296640382976,-4.86766122805075,-5.47806324628235]}],[{"lng":[147.191873814075,148.084635858349,148.734105259394,149.306835158484,149.266630894161,150.038728469034,149.738798456012,150.801627638959,150.690574985964,150.028393182576,149.782310012002,148.923137648717,147.913018426708,147.135443150012,146.567880894151,146.048481073185,144.744167922138,143.89708784401,143.286375767184,143.413913202081,142.628431431244,142.0682589052,141.033851760014,141.017056919519,141.000210402592,142.735246616791,144.583970982033,145.27317955951,145.829786411726,145.981921828393,147.648073358348,147.891107619416,146.970905389595,147.191873814075],"lat":[-7.38802418378998,-8.04410816816761,-9.10466358809376,-9.07143564213007,-9.51440601973603,-9.6843181291117,-9.87293710697701,-10.2936866186974,-10.5827129045059,-10.6524760880999,-10.3932671037239,-10.2809225399214,-10.1304407690875,-9.49244353601202,-8.94255461999416,-8.06741423913131,-7.63012826907747,-7.91533049889628,-8.24549122480906,-8.98306894291095,-9.3268205705165,-9.15959563562004,-9.11789275476042,-5.85902190513802,-2.60015105551562,-3.28915292726322,-3.8614177384634,-4.37373788820503,-4.87649789797268,-5.46560922610001,-6.0836593563108,-6.61401458092232,-6.72165658938626,-7.38802418378998]}],[{"lng":[153.140037876599,152.827292108368,152.638673130503,152.406025832325,151.953236932584,151.38427941305,150.662049595339,150.939965448205,151.479984165655,151.820015090135,152.239989455371,152.640016717743,153.019993524385,153.140037876599],"lat":[-4.49998341229411,-4.766427097191,-4.17612721112093,-3.78974252687456,-3.46206226971182,-3.03542164471011,-2.74148609783396,-2.50000212973403,-2.77998503989139,-2.99997161215791,-3.24000864015366,-3.65998300538965,-3.98001515057329,-4.49998341229411]}]],[[{"lng":[-9.03481767418025,-8.67194576662672,-8.26385698081779,-8.01317460776991,-7.4225129866738,-7.25130896649082,-6.66860551596766,-6.38908769370092,-6.85112667482255,-6.86401994467939,-7.02641313315659,-7.06659155926353,-7.49863237143973,-7.09803666831313,-7.37409216961632,-7.0292811751488,-7.16650794109986,-7.53710547528102,-7.45372555177809,-7.85561316571199,-8.38281612795369,-8.89885698082033,-8.74610144696555,-8.83999752443988,-9.28746375165522,-9.52657060386971,-9.44698889814023,-9.04830522300843,-8.97735348147168,-8.7686840478771,-8.79085323733031,-8.99078935386757,-9.03481767418025],"lat":[41.8805705836597,42.134689439455,42.2804686549503,41.7908861354171,41.7920746933598,41.918346055665,41.8833869492196,41.3818154973947,41.1110826686175,40.3308718938748,40.1845242376242,39.7118915878828,39.6295710312418,39.0300727402238,38.3730585800649,38.0757640650898,37.8038943548022,37.4289043238762,37.0977875839661,36.8382685409963,36.9788801132625,36.8688093124808,37.6513455266766,38.2662433945176,38.3584858261586,38.7374291041549,39.3920661484284,39.7550930852788,40.1593061386658,40.7606389430302,41.1843340113913,41.5434593776036,41.8805705836597]}]],[[{"lng":[22.7105314470405,23.1422363624068,23.7609582862374,24.4020561052504,24.8663171729606,25.207743361113,25.9459411964024,26.1974503923669,26.6193367855978,26.9241760596876,27.2338729184127,27.5511662126848,28.128030226359,28.1600179379477,28.0544429867754,28.233553501099,28.6797794939394,29.1497249692017,29.6032890154274,29.6265434099588,29.1416117693318,28.8378577003202,28.558081495892,27.9701070492751,27.2423995297409,26.0651587256997,25.5692716814269,24.1006791521242,23.3323022803763,22.9448323910518,22.657149692483,22.4740084164406,22.7057255388374,22.4590222510759,22.1450879249028,21.5620227393536,21.4835262387022,20.8743127784134,20.76217492034,20.2201924984628,21.0219523454712,21.6265149268539,22.0997676937828,22.7105314470405],"lat":[47.8821939153894,48.0963410508069,47.9855984564055,47.9818777532804,47.7375257431883,47.8910564235275,47.9871487493742,48.2208812526303,48.2207262233335,48.123264472031,47.8267709417564,47.4051170924708,46.8104763860883,46.3715626084172,45.9445860866056,45.4882831894684,45.3040308701317,45.4649254420725,45.2933080104311,45.0353909368624,44.820210272799,44.9138738063281,43.7074616562581,43.8124681666752,44.1759860296324,43.9434937607513,43.6884447291747,43.7410513372479,43.8970108099047,43.8237853053471,44.2349230006613,44.4092276067818,44.578002834647,44.7025171982543,44.4784223496206,44.7689472519655,45.1811701523578,45.4163754339342,45.7345730657714,46.1274689804866,46.3160879583519,46.9942377793182,47.6724392767167,47.8821939153894]}]],[[{"lng":[30.4191048520192,30.8161348813177,30.7583089535831,30.469696079233,29.9383590024079,29.6321761410786,29.0249263852168,29.1174788754516,29.2548348324833,29.2918868344366,29.5794661801409,29.821518588996,30.4191048520192],"lat":[-1.13465911215042,-1.69891407634539,-2.28725025798837,-2.41385751710346,-2.34848683025424,-2.9178577612461,-2.83925790773016,-2.29221119548838,-2.21510995850891,-1.62005584066799,-1.34131316488563,-1.44332244222979,-1.13465911215042]}]],[[{"lng":[-16.7137288070235,-17.1261067367126,-17.6250426904907,-17.1851728988222,-16.7007063460859,-16.4630981104079,-16.1206900700419,-15.6236661442587,-15.1357372705588,-14.577347581429,-14.0995214502422,-13.4357376774531,-12.8306583317475,-12.1707502913803,-12.1248874577213,-11.9277160303116,-11.5533977930054,-11.4678991357785,-11.5139428369506,-11.6583009505579,-12.2035648258856,-12.2785990055734,-12.4990506657306,-13.2178181624782,-13.7004760400843,-15.548476935274,-15.8165742660043,-16.1477168441306,-16.6774519515546,-16.8415246240813,-15.9312959456922,-15.691000535535,-15.5118125065629,-15.1411632959495,-14.7121972314946,-14.2777017887846,-13.8449633447724,-14.0469923568175,-14.3767138330558,-14.6870308089685,-15.0817353988138,-15.3987703109245,-15.6245963200399,-16.7137288070235],"lat":[13.5949586043799,14.3735157332892,14.7295405135641,14.9194772404529,15.6215274113541,16.1350361190385,16.4556625431934,16.3693370630498,16.5872824162408,16.5982636581028,16.3043022730105,16.0393830428662,15.3036915145429,14.6168342147355,13.9947274845898,13.4220751001474,13.1412136906411,12.754518947801,12.4429875757294,12.3865827498828,12.4656476912894,12.3544400089973,12.3320899520311,12.575873521368,12.5861829696102,12.6281700708473,12.5155671248833,12.5477615422012,12.3848515894011,13.1513939478026,13.1302841252113,13.2703530949385,13.2785696476729,13.5095116235852,13.2982066919438,13.2805850285322,13.505041612192,13.7940678980004,13.6256802433774,13.6303569604998,13.876491807506,13.8603687606309,13.6235873478696,13.5949586043799]}]],[[{"lng":[49.72862,50.25878,50.73202,51.1112,51.13387,51.04153,51.04531,50.83418,50.55239,50.07092,49.4527,48.59455,47.74079,46.56476,45.56399,44.06815,43.13597,42.04157,41.81095,41.58513,40.993,40.98105,41.855083092644,42.12861,42.76967,43.66087,44.9636,47.78942,48.486735874227,48.9381295102964,48.938232863161,48.9384912453225,48.9420052427184,48.9482047585097,49.26776,49.72862],"lat":[11.5789,11.67957,12.0219,12.02464,11.74815,11.16651,10.6409,10.27972,9.19874,8.08173,6.80466,5.33911,4.2194,2.85529,2.04576,1.05283,0.2922,-0.91916,-1.44647,-1.68325,-0.85829,2.78452,3.91891192048373,4.23413,4.25259,4.95755,5.00162,8.003,8.83762624758999,9.45174896894662,9.97350006758151,10.9823273787835,11.3942660587981,11.410617281698,11.43033,11.5789]}]],[[{"lng":[22.1831734555019,21.2135168799772,21.369631381931,19.7788757666902,17.8477791683752,17.1195548845181,17.8313460629064,18.7877217953321,17.8692248877763,16.8291850114701,16.4477095882915,15.8797855974038,14.6666813493521,14.1007210628915,12.9429105973921,12.625100538797,11.7879423356687,11.0273686051969,11.4682719255111,12.3003658382749,12.6311466813752,11.9920642432216,11.9305692887942,12.5799353369739,13.5719161312487,13.9199052263022,13.5556897315091,15.108411492583,16.1087121924568,16.7688786149855,17.7291817562653,17.9938684424643,19.8785596045813,20.0252689958579,20.6455928890895,21.9785347836261,23.5394730974344,23.5658797543356,23.9033785336338,22.1831734555019],"lat":[65.7237405463202,65.0260053575153,64.4135879584243,63.609554348395,62.7494001328968,61.341165676511,60.6365833604274,60.0819143744226,58.9537661810587,58.7198269720734,57.0411180690719,56.1043018662687,56.2008851182222,55.4077810736227,55.3617373724506,56.307080186582,57.4418171250631,58.8561494004594,59.432393296946,60.11793284773,61.2935716823701,61.8003624538566,63.128317572677,64.0662189805583,64.0491140814697,64.4454206407161,64.7870276963815,66.1938668890955,67.3024555528369,68.0139366726314,68.0105518663163,68.5673912624774,68.4071943223726,69.0651386583127,69.1062472602009,68.6168456081807,67.9360086127353,66.3960509304374,66.0069273952796,65.7237405463202]}]],[[{"lng":[1.86524051271232,1.06012169760493,0.836931186536333,0.570384148774849,0.490957472342245,0.712029249686879,0.461191847342121,0.365900506195885,0.367579990245389,-0.0497847151599444,0.0238025244237008,0.899563022474069,0.772335646171484,1.07779503744874,1.42506066245014,1.46304284018467,1.66447757325838,1.61895063640924,1.86524051271232],"lat":[6.14215770102973,5.92883738852888,6.27997874595215,6.91435862876719,7.41174428957648,8.31246450442383,8.67722260175601,9.46500397382948,10.1912128768272,10.7069178328839,11.0186817489008,10.9973393823643,10.4708082137424,10.175606594275,9.825395412633,9.33462433515709,9.12859039960938,6.83203807212624,6.14215770102973]}]],[[{"lng":[102.584932489027,101.68715783082,100.831809523525,100.978467238369,100.097797479251,100.018732537845,99.4789205261236,99.1537724141432,99.2223987162268,99.8738318216981,100.279646844486,100.459274123133,101.017327915453,101.623079054778,102.141186964936,101.814281854258,101.154218784594,101.075515578213,100.259596388757,100.085756870527,99.6906905456558,99.5196415547696,98.9882528015123,98.503786248776,98.339661899817,98.1500093933058,98.2591500183063,98.553550653073,99.038120558674,99.5872860046397,99.1963537943517,99.2120117533361,99.0977551615388,98.4308191263799,98.1920740091914,98.5373759297657,98.9033484232568,98.4937610209114,97.8591227559349,97.3758964375735,97.7977828308044,98.2537239929156,98.9596757344549,99.5433093607593,100.115987583418,100.548881056727,100.606293573003,101.282014601652,101.035931431078,101.059547560635,102.113591750092,102.413004998792,102.998705682388,103.200192091894,103.956476678485,104.716947056092,104.779320509869,105.58903852745,105.544338413518,105.218776890079,104.281418084737,102.988422072362,102.348099399833,102.584932489027],"lat":[12.1865949569133,12.6457400578266,12.6270848657692,13.4127216659026,13.4068563908374,12.3070010441534,10.8463666854235,9.96306142825856,9.23925547936243,9.20786204674512,8.29515289960605,7.42957265871718,6.85686859784248,6.74062246340192,6.22163605389463,5.81080841717424,5.69138418214771,6.20486705161592,6.64282481528954,6.46448944745029,6.8482127954336,7.34345388430276,7.90799306887533,8.38230520266629,7.79451162356239,8.35000743248388,8.9739228377598,9.93295990644854,10.9605457625724,11.8927627629017,12.8047484399887,13.2692937280765,13.8275025496933,14.6220276961808,15.1237025008704,15.3084974227461,16.1778242049761,16.8378355982079,17.5679460718437,18.4454377303758,18.6270803898818,19.70820302986,19.7529806584409,20.1865976018021,20.4178496363082,20.1092379826611,19.5083444279712,19.4625849471768,18.4089283309616,17.5124972599945,18.1091016708042,17.9327816838243,17.9616946476916,18.3096320663128,18.2409540877969,17.4288589543301,16.4418649357714,15.5703160669529,14.7239336206604,14.2732117782107,14.4167430689014,14.2257211369345,13.3942473413582,12.1865949569133]}]],[[{"lng":[33.9037111971046,34.07262,37.6986899999999,37.7669,39.2022200000001,38.74054,38.7997700000001,39.44,39.4700000000001,39.19469,39.25203,39.1865200000001,39.5357400000001,39.9496,40.31659,39.521,38.4275565935878,37.82764,37.47129,36.7751509946229,36.5140816586844,35.3123979021692,34.5599890479995,34.28,33.9408377240965,33.7397200000001,32.7593754412214,32.1918648617919,31.5563480974666,31.1577513369501,30.7400000000001,30.2,29.62,29.4199927100883,29.5199866065731,29.3399975929004,29.7535124040999,30.11632,30.50554,30.7522400000001,30.74301,30.52766,30.46967,30.7583089535831,30.8161348813179,30.4191048520193,30.7698600000001,31.8661700000001,33.9037111971046],"lat":[-0.949999999999989,-1.05981999999995,-3.09698999999995,-3.67711999999995,-4.67676999999992,-5.90894999999995,-6.47566,-6.83999999999986,-7.09999999999997,-7.70389999999998,-8.00780999999995,-8.48550999999992,-9.11236999999988,-10.0984,-10.3170999999999,-10.89688,-11.2852023250816,-11.2687899999999,-11.56876,-11.5945374487808,-11.7209380021667,-11.4391464168792,-11.5200200334158,-10.16,-9.69367384198029,-9.41714999999999,-9.230599053589,-8.93035898197326,-8.76204884199865,-8.59457874731731,-8.33999999999992,-7.07999999999998,-6.51999999999998,-5.9399988745393,-5.41997893638626,-4.49998341229411,-4.4523894181533,-4.09012000000001,-3.56857999999994,-3.35930999999999,-3.03430999999995,-2.80761999999999,-2.41382999999996,-2.28725025798838,-1.69891407634537,-1.13465911215042,-1.01454999999999,-1.02735999999993,-0.949999999999989]}]],[[{"lng":[31.8661700000001,30.7698600000001,30.4191048520193,29.8215185889961,29.579466180141,29.5878377621722,29.8195000000001,29.8757788429024,30.0861535987628,30.4685075212903,30.8526701189481,31.174149204236,30.7733200000001,30.83385,31.2455600000001,31.88145,32.6864200000001,33.3900000000001,34.0050000000001,34.47913,34.59607,35.03599,34.6721,34.18,33.893568969667,33.9037111971046,31.8661700000001],"lat":[-1.02735999999993,-1.01454999999999,-1.13465911215042,-1.44332244222977,-1.34131316488561,-0.587405694179381,-0.205299999999909,0.597379868976361,1.06231273030642,1.58380544677971,1.84939647054375,2.20446523682131,2.33989000000014,3.50916999999998,3.78190000000001,3.55826999999999,3.79232000000007,3.78999999999996,4.24988494736215,3.55560000000008,3.05374000000012,1.90583999999996,1.17693999999995,0.514999999999986,0.109813537861839,-0.949999999999989,-1.02735999999993]}]],[[{"lng":[-155.54211,-155.68817,-155.93665,-155.90806,-156.07347,-156.02368,-155.85008,-155.91907,-155.86108,-155.78505,-155.40214,-155.22452,-155.06226,-154.80741,-154.83147,-155.22217,-155.54211],"lat":[19.08348,18.91619,19.0593900000001,19.33888,19.70294,19.81422,19.97729,20.17395,20.26721,20.2487,20.07975,19.99302,19.8591,19.50871,19.45328,19.23972,19.08348]}],[{"lng":[-156.07926,-156.41445,-156.58673,-156.70167,-156.71055,-156.61258,-156.25711,-155.99566,-156.07926],"lat":[20.64397,20.57241,20.783,20.8643,20.9267600000001,21.01249,20.9174500000001,20.76404,20.64397]}],[{"lng":[-156.75824,-156.78933,-157.32521,-157.25027,-156.75824],"lat":[21.1768400000001,21.06873,21.09777,21.21958,21.1768400000001]}],[{"lng":[-157.65283,-157.70703,-157.7786,-158.12667,-158.2538,-158.29265,-158.0252,-157.94161,-157.65283],"lat":[21.32217,21.26442,21.27729,21.31244,21.53919,21.57912,21.71696,21.65272,21.32217]}],[{"lng":[-159.34512,-159.46372,-159.80051,-159.74877,-159.5962,-159.36569,-159.34512],"lat":[21.982,21.88299,22.06533,22.1382,22.23618,22.21494,21.982]}],[{"lng":[-94.81758,-94.6399999999999,-94.32914,-93.63087,-92.61,-91.6399999999999,-90.8299999999999,-89.6,-89.2729174466367,-88.3781141832865,-87.4397926233002,-86.4619908312281,-85.6523632474032,-84.8760798815149,-84.7792382473998,-84.5437487454457,-84.6049000000001,-84.3367,-84.1421195136733,-84.0918512641615,-83.8907653470057,-83.6161309475905,-83.4695507473946,-83.5928507148431,-82.5509246487582,-82.3377631254311,-82.137642381504,-82.4299999999999,-82.8999999999999,-83.1199999999999,-83.1419996813126,-83.0298101468069,-82.6900892809202,-82.4392777167916,-81.2777465481671,-80.2474476793479,-78.9393621487437,-78.9199999999999,-79.0099999999999,-79.1716735501119,-78.7202799140424,-77.7378850979576,-76.8200341458056,-76.5,-76.3749999999999,-75.3182099999999,-74.867,-73.3478299999999,-71.5050599999999,-71.4049999999999,-71.08482,-70.6599999999998,-70.3049999999999,-69.9999699999999,-69.237216,-68.905,-68.23444,-67.79046,-67.79134,-67.13741,-66.96466,-68.0325199999999,-69.0599999999999,-70.1161699999999,-70.645475633411,-70.8148899999999,-70.825,-70.4949999999999,-70.08,-70.185,-69.8849699999999,-69.9650299999999,-70.64,-71.12039,-71.8599999999998,-72.295,-72.87643,-73.71,-72.2412599999999,-71.9449999999998,-73.3449999999999,-73.982,-73.9523249999999,-74.25671,-73.9624399999999,-74.17838,-74.9060399999999,-74.9804099999999,-75.2000199999999,-75.52805,-75.32,-75.0718347647898,-75.0567299999999,-75.3774699999999,-75.94023,-76.0312699999999,-75.7220499999998,-76.2328699999999,-76.3500000000001,-76.5427249999999,-76.32933,-76.9899979316135,-76.3016199999999,-76.25874,-75.9717999999999,-75.8680399999998,-75.72749,-76.36318,-77.3976349999999,-78.05496,-78.5543499999998,-79.06067,-79.20357,-80.3013249999999,-80.8649799999999,-81.33629,-81.49042,-81.31371,-80.9799999999999,-80.5355849999999,-80.5299999999998,-80.0565392849776,-80.0880149999999,-80.1315599999999,-80.38103,-80.6799999999999,-81.17213,-81.33,-81.7099999999998,-82.2399999999999,-82.7051499999999,-82.85526,-82.6499999999999,-82.9299999999999,-83.70959,-84.0999999999999,-85.10882,-85.28784,-85.7731,-86.3999999999999,-87.5303599999999,-88.4178199999999,-89.1804899999998,-89.5938311784198,-89.4137349999999,-89.43,-89.21767,-89.4082299999999,-89.7792799999999,-90.15463,-90.8802249999999,-91.6267849999999,-92.49906,-93.22637,-93.8484199999999,-94.69,-95.60026,-96.5940399999999,-97.1399999999998,-97.3699999999999,-97.3799999999999,-97.33,-97.1399999999998,-97.5299999999999,-98.2399999999999,-99.0199999999999,-99.3,-99.5199999999999,-100.11,-100.45584,-100.9576,-101.6624,-102.48,-103.11,-103.94,-104.45697,-104.70575,-105.03737,-105.63159,-106.1429,-106.50759,-108.24,-108.24194,-109.035,-111.02361,-113.30498,-114.815,-114.72139,-115.99135,-117.12776,-117.295937691274,-117.944,-118.410602275898,-118.5198948228,-119.081,-119.438840642017,-120.36778,-120.62286,-120.74433,-121.71457,-122.54747,-122.51201,-122.95319,-123.7272,-123.86517,-124.39807,-124.17886,-124.2137,-124.53284,-124.14214,-124.020535,-123.89893,-124.079635,-124.39567,-124.687210083008,-124.566101074219,-123.12,-122.58736,-122.34,-122.5,-122.84,-120,-117.03121,-116.04818,-113,-110.05,-107.05,-104.04826,-100.65,-97.2287200000047,-95.159069509172,-95.1560899999999,-94.81758],"lat":[49.38905,48.8400000000001,48.6707400000001,48.60926,48.45,48.14,48.27,48.0100000000001,48.0198082545828,48.3029175888938,47.9400000000001,47.553338019392,47.2202188177305,46.9000833196824,46.6371019557491,46.5386841904492,46.4396,46.4087700000001,46.5122258571157,46.2754186061383,46.1169269882992,46.1169269882992,45.9946863877126,45.8168936224126,45.3475165879055,44.4400000000001,43.57108755144,42.9800000000001,42.4300000000001,42.0800000000001,41.975681057293,41.832795722006,41.6751050888673,41.6751050888673,42.2090259873069,42.3661998561227,42.8636113551481,42.965,43.27,43.4663394231843,43.625089423185,43.6290555893634,43.6287842880938,44.0184588937586,44.09631,44.8164500000002,45.0004800000001,45.0073800000001,45.0082000000001,45.2550000000001,45.3052400000002,45.46,45.915,46.69307,47.4477810000001,47.1850000000001,47.35486,47.0663600000001,45.7028100000001,45.13753,44.8097000000002,44.3252,43.9800000000001,43.6840500000002,43.090238348964,42.8653,42.335,41.805,41.7800000000001,42.1450000000001,41.9228300000001,41.6371700000002,41.4750000000001,41.4944500000002,41.3200000000001,41.27,41.2206500000001,40.9311023516545,41.1194800000002,40.9300000000001,40.6300000000001,40.628,40.75075,40.4735100000001,40.42763,39.70926,38.9395400000001,39.1964000000001,39.2484500000001,39.4985000000001,38.9600000000001,38.7820322301793,38.4041200000001,38.0155100000001,37.2168900000001,37.2566,37.9370500000001,38.319215,39.15,38.7176150000001,38.0832600000001,38.2399917669134,37.917945,36.9664000000001,36.89726,36.55125,35.5507400000001,34.8085400000001,34.51201,33.92547,33.8613300000001,33.49395,33.1583900000001,32.5093550000001,32.0333000000001,31.44049,30.7299900000001,30.0355200000001,29.1800000000001,28.47213,28.0400000000001,26.8800000000001,26.205765,25.8167750000001,25.20616,25.0800000000001,25.2012600000001,25.64,25.87,26.7300000000001,27.4950400000001,27.88624,28.5500000000002,29.1000000000001,29.9365600000001,30.0900000000001,29.6361500000001,29.6861200000001,30.1526100000001,30.4000000000001,30.27433,30.3849,30.3159800000001,30.1599940048368,29.89419,29.48864,29.2910800000001,29.15961,29.3071400000001,29.1174300000001,29.1485350000001,29.6770000000001,29.5523,29.7837500000001,29.7136300000001,29.4800000000001,28.7386300000001,28.3074800000001,27.8300000000001,27.3800000000001,26.6900000000001,26.2100000000001,25.87,25.8400000000001,26.0600000000001,26.3700000000001,26.8400000000001,27.54,28.1100000000001,28.6961200000001,29.3807100000001,29.7793000000001,29.76,28.9700000000001,29.2700000000001,29.5719600000001,30.12173,30.64402,31.0838300000001,31.39995,31.75452,31.7548537181664,31.3422200000001,31.3419400000002,31.33472,32.0391400000001,32.52528,32.72083,32.6123900000001,32.53534,33.0462246152039,33.6212364312014,33.7409092231245,34.0277815775758,34.078,34.3484771782843,34.4471100000001,34.60855,35.1568600000001,36.1615299999999,37.5517600000001,37.7833900000001,38.1137100000001,38.9516600000001,39.7669900000001,40.3132,41.1420200000001,41.9996400000001,42.7659900000001,43.7083800000001,44.615895,45.5234100000001,46.86475,47.7201700000001,48.1844329833986,48.3797149658204,48.04,47.0960000000001,47.36,48.1800000000001,49.0000000000001,49.0000000000001,49.0000000000001,49.0000000000001,49.0000000000001,49.0000000000001,49.0000000000001,48.9998600000001,49.0000000000001,49.0007000000001,49.0000000000001,49.38425,49.38905]}],[{"lng":[-153.006314053337,-154.005090298458,-154.51640275777,-154.670992804971,-153.762779507441,-153.228729417921,-152.564790615835,-152.141147223906,-153.006314053337],"lat":[57.1158421901659,56.7346768255811,56.9927489284467,57.4611957871725,57.8165746120438,57.9689684108724,57.901427313867,57.591058661522,57.1158421901659]}],[{"lng":[-165.579164191734,-166.192770148767,-166.848337368822,-167.45527706609,-166.467792121425,-165.674429694664,-165.579164191734],"lat":[59.9099868841876,59.754440822989,59.941406155021,60.2130691595794,60.3841698268978,60.2936068793063,59.9099868841876]}],[{"lng":[-171.731656867539,-171.114433560245,-170.491112433941,-169.682505459654,-168.689439460301,-168.771940884455,-169.529439867205,-170.290556200216,-170.671385667991,-171.553063117539,-171.791110602891,-171.731656867539],"lat":[63.7825153672759,63.592191067145,63.6949754909735,63.4311156276912,63.2975062120006,63.1885981309455,62.9769314642779,63.1944375677945,63.375821845139,63.3177892116751,63.4058458523005,63.7825153672759]}],[{"lng":[-155.067790290324,-154.344165208941,-153.900006273393,-152.210006069935,-152.270002407826,-150.739992438745,-149.720003018168,-147.613361579357,-145.689989800225,-144.920010959076,-143.589446180425,-142.072510348713,-140.985987521561,-140.985988329005,-140.992498752029,-140.997769748123,-140.012997816153,-139.039000420316,-138.34089,-137.4525,-136.47972,-135.47583,-134.945,-134.27111,-133.355548882207,-132.73042,-131.70781,-130.00778,-129.979994263358,-130.536110189467,-131.085818237972,-131.967211467142,-132.250010742859,-133.539181084356,-134.078062920296,-135.038211032279,-136.628062309955,-137.800006279686,-139.867787041413,-140.825273817133,-142.574443535564,-143.95888099488,-145.925556816828,-147.114373949147,-148.224306200128,-148.018065558851,-148.570822516861,-149.727857835876,-150.608243374616,-151.716392788683,-151.859433153267,-151.409719001247,-150.346941494733,-150.621110806257,-151.895839199817,-152.578329841096,-154.019172126258,-153.287511359653,-154.232492438758,-155.30749142151,-156.308334723923,-156.556097378546,-158.117216559868,-158.433321296197,-159.603327399717,-160.289719611634,-161.223047655258,-162.237766079741,-163.069446581046,-164.785569221027,-164.94222632552,-163.848339606766,-162.870001390616,-161.804174974596,-160.563604702781,-160.070559862285,-158.684442918919,-158.461097378554,-157.722770352184,-157.550274421194,-157.041674974577,-158.194731208305,-158.517217984023,-159.058606126929,-159.711667040017,-159.9812888255,-160.355271165997,-161.355003425115,-161.968893602526,-162.054986538725,-161.874170702135,-162.518059048492,-163.81834143782,-164.662217577146,-165.346387702475,-165.350831875652,-166.121379157556,-165.734451870771,-164.919178636718,-164.562507901039,-163.753332485997,-163.067224494458,-162.260555386382,-161.534449836249,-160.772506680321,-160.958335130843,-161.518068407212,-160.777777676415,-161.391926235988,-162.453050096669,-162.757786017894,-163.546394212884,-164.960829841145,-166.425288255865,-166.845004238939,-168.110560065767,-166.705271166022,-164.474709642576,-163.652511766596,-163.788601651036,-161.67777442121,-162.48971452538,-163.719716966791,-164.430991380857,-165.390286831707,-166.764440680996,-166.204707404627,-164.430810513343,-163.168613654615,-162.930566169262,-161.908897264636,-160.934796515934,-159.039175788387,-158.119722866834,-156.580824551398,-155.067790290324],"lat":[71.1477763943237,70.6964085964702,70.8899885118357,70.8299921739448,70.6000062120299,70.4300165880057,70.5300104844904,70.2140349392418,70.1200096706868,69.9899917670405,70.1525141465983,69.8519381781726,69.7119983995264,69.7119983995264,66.0000285915687,60.3063967962986,60.2768378770276,60.00000722924,59.5621100000002,58.9050000000001,59.46389,59.78778,59.2705600000001,58.8611100000001,58.4102851426452,57.6928900000001,56.55212,55.9158300000001,55.2849978704972,54.8027534043494,55.178906155002,55.4977755804591,56.3699962428975,57.1788874375621,58.1230675319669,58.1877147487639,58.2122093776705,58.4999954291038,59.5377615423891,59.7275174017651,60.084446519605,59.9991804063234,60.4586097276143,60.8846560736446,60.6729894069772,59.9783289658936,59.9141726752033,59.7056582709056,59.3682111680395,59.15582103132,59.7449840358796,60.7258027207794,61.0335875515099,61.2844249538545,60.7271979844513,60.0616572129643,59.3502794460343,58.8647276882198,58.1463736029305,57.7277945013663,57.4227743597637,56.9799848496706,56.4636080999942,55.9941535508385,55.5666861029201,55.6435806341706,55.3647346055235,55.0241869167201,54.6897370469272,54.4041730820822,54.5722248398953,55.0394314642461,55.3480431178932,55.8949864772704,56.008054511125,56.4180553249288,57.0166751165979,57.2169212917289,57.5700005153631,58.3283263210302,58.9188845892617,58.6158023138698,58.7877814805373,58.4241861029317,58.9313902858763,58.5725491400416,59.0711233587936,58.6708377142608,58.6716645371774,59.2669253607475,59.6336213242906,59.9897236192139,59.7980557318434,60.2674844427827,60.5074956325624,61.0738951686975,61.5000190293762,62.0749968532718,62.6330764838079,63.1463784857631,63.2194489610238,63.059458726648,63.5419357367412,63.4558169623268,63.7661081000233,64.2227985704028,64.4027875840753,64.7886038275664,64.7772350124623,64.5594446885682,64.3386054551688,64.5591604681905,64.4469450954689,64.6866720648707,65.0888955756145,65.6699970567367,66.0883177761394,66.5766600612975,66.5766600612975,66.0772073431967,66.1161196967124,66.7355650905951,67.1163945583701,67.6163382025778,68.0427721218502,68.3588768581797,68.8830309109162,68.9155353868277,69.3711148139129,69.8580618353993,70.3333299831876,70.4476899278496,70.8916421576689,70.824721177851,71.3577635769417,71.1477763943237]}]],[[{"lng":[108.050180291783,106.71506798709,105.881682163519,105.662005649846,106.426816847766,107.36195356652,108.26949507043,108.877106561317,109.335269810017,109.200135939574,108.366129998815,107.220928582795,106.405112746203,105.158263787865,104.795185174582,105.076201613386,104.334334751403,105.199914992292,106.249670037869,105.810523716253,107.491403029411,107.614547967562,107.382727492301,107.564525181104,107.312705926546,106.556007928496,105.925762160264,105.094598423282,103.896532017027,104.183387892679,104.822573683697,104.435000441508,103.203861118586,102.754896274835,102.170435825614,102.7069922221,103.504514601661,104.476858351664,105.329209425887,105.811247186305,106.725403273548,106.567273390735,107.043420037873,108.050180291783],"lat":[21.5523798690601,20.696850694252,19.7520504826597,19.0581651880606,18.0041209986032,16.6974565698871,16.0797423364861,15.2766905786704,13.4260283472177,11.6668592391378,11.0083206242263,10.3644839543018,9.53083974856932,8.59975962975049,9.2410383162765,9.91849050540681,10.4865436873752,10.8893098006581,10.9618118351636,11.5676146509212,12.3372059188279,13.5355307072442,14.202440904187,15.2021731633056,15.9085383163032,16.6042839624648,17.485315456609,18.6669745956111,19.2651809758218,19.6246680770602,19.8866417505639,20.7587332219215,20.7665622014137,21.6751372339695,22.4647531193893,22.7087950708877,22.7037566187392,22.819150092047,23.3520633000569,22.9768924016179,22.7942678898984,22.2182048609248,21.8118989120299,21.5523798690601]}]],[[{"lng":[31.5210014177789,31.325561150851,30.9017627296253,30.6228133481138,30.0557161801428,28.9255526059195,28.2197558936771,27.464608188596,26.4194523454928,25.9096643409335,25.7806282895007,25.172861769316,24.6778532243921,23.5940434099346,22.9881889177447,22.5741573422222,21.542799106541,20.689052768647,20.0712610205976,19.6164050635646,19.1932784359587,18.8553145687699,18.4246431820494,18.3774109229346,18.2444991390799,18.2500801937674,17.9251904639484,18.2479097836112,18.2217615088715,17.5669177588689,17.0644161312627,17.0629175147262,16.3449768408952,16.8240173682409,17.2189286638154,17.3874971859515,17.8361519711095,18.4648991228048,19.0021273129111,19.8947343278886,19.8957678565344,20.1657255388272,20.7586092465118,20.6664701677354,20.8896090023717,21.6058960303694,22.1059688656579,22.5795316911806,22.8242712745149,23.3120967953502,23.7335697771227,24.2112667172288,25.0251705258258,25.6646663754377,25.7658488298652,25.9416520525222,26.4857532081233,26.7864066911974,27.1194096208862,28.0172359555253,29.432188348109,29.839036899543,30.3228833350918,30.6598653500671,31.1914091326213,31.6703979835347,31.9305888201243,31.7524084815819,31.8377779477281,31.3331575863979,31.0440796241571,30.9496667823599,30.6766085141296,30.6859619483745,31.2827730649133,31.8680603370511,32.0716654802811,32.8301204770289,32.5802649268977,32.4621326026785,32.203388706193,31.5210014177789],"lat":[-29.2573869768463,-29.4019776343989,-29.909956963828,-30.4237757301061,-31.140269463833,-32.1720411109725,-32.7719528134489,-33.2269637997788,-33.6149504534262,-33.6670402971764,-33.9446460914483,-33.7968514950936,-33.9871757952246,-33.7944743792082,-33.916430759417,-33.8640825335053,-34.2588387997829,-34.4171753883252,-34.795136814108,-34.8191663551237,-34.4625989723098,-34.4443055152785,-33.997872816709,-34.1365206845481,-33.867751560198,-33.2814307594144,-32.6112907854534,-32.4291313616246,-31.6616329892257,-30.7257211239875,-29.8786410458592,-29.87595387138,-28.5767050106977,-28.0821615536645,-28.3559432919468,-28.7835140927298,-28.8563778622613,-29.0454619280173,-28.9724431291889,-28.4611048316608,-24.7677902157606,-24.9179619280008,-25.8681364885514,-26.4774533017049,-26.8285429826959,-26.7265337053518,-26.2802560360791,-25.9794475237081,-25.5004586727948,-25.2686898739657,-25.3901294898516,-25.6702157528736,-25.7196700985769,-25.4868160946697,-25.1748454729237,-24.6963733863332,-24.6163265927131,-24.2406906063835,-23.5743230119798,-22.8277535946591,-22.0913127580676,-22.1022164852812,-22.2716118303339,-22.1515674781199,-22.2515096981724,-23.6589690080739,-24.3694165992225,-25.4842839494874,-25.8433318010513,-25.660190525009,-25.7314523251394,-26.0226490211042,-26.3980783017046,-26.7438453101695,-27.285879408479,-27.1779273414213,-26.7338200823049,-26.7421916643362,-27.4701575660318,-28.3010112444206,-28.7524048804901,-29.2573869768463]},{"lng":[28.9782625668572,28.5417000668555,28.0743384132078,27.5325110206275,26.9992619158076,27.7493970069565,28.1072046241454,28.2910693702399,28.8483996925077,29.018415154748,29.3251664568326,28.9782625668572],"lat":[-28.9555966122617,-28.6475017229376,-28.8514686011936,-29.2427108700754,-29.87595387138,-30.6451058896122,-30.545732110315,-30.2262167294543,-30.0700505510683,-29.7437655575774,-29.2573869768463,-28.9555966122617]}]],[[{"lng":[32.7593754412213,33.2313879737753,33.4856876970836,33.3153104998173,33.1142891782019,33.3064221534631,32.9917643572379,32.6881653175231,33.2140246925252,30.1794812354818,30.2742558123051,29.5168343442031,28.9474634132113,28.8258687680285,28.4679061215427,27.5982434425028,27.0444271176307,26.7067733090356,26.3819352556489,25.264225701608,25.0844433936646,25.0769503109823,24.6823490740015,24.0338615251708,23.2150484555061,22.5624784685243,21.8878426449539,21.9338863461259,24.0161365088947,23.9309220720454,24.0799052263428,23.9041536801182,24.0178935075926,23.9122152035557,24.257155389104,24.314516228948,24.783169793403,25.4181181169732,25.7523096046047,26.5530875993996,27.1644197934125,27.3887988624238,28.15510867688,28.523561639121,28.9342859229768,29.6996138852195,29.6160014177712,29.3415478858691,28.6424174333924,28.3722530453704,28.4960697771418,28.6736816749289,28.4498710466728,28.7348665707625,29.0029122250605,30.3460860531908,30.7400154965518,31.15775133695,31.5563480974665,32.191864861792,32.7593754412213],"lat":[-9.23059905358906,-9.6767216935648,-10.5255587703911,-10.7965499813297,-11.6071981746923,-12.4357780900602,-12.7838705379783,-13.7128577612893,-13.9718600399362,-14.7960991349915,-15.5077869605152,-15.6446778296564,-16.0430514461944,-16.3897486304406,-16.4684001603888,-17.290830580314,-17.9380262183374,-17.9612289364365,-17.8460421688579,-17.7365398088314,-17.6618156877374,-17.5788233374766,-17.3534107398195,-17.2958431942463,-17.523116143466,-16.8984514299218,-16.0803101538769,-12.8984371883694,-12.9110462378486,-12.5658476701389,-12.1912968888874,-11.7222815894063,-11.2372982723471,-10.9268262671375,-10.9519926896637,-11.2628264298993,-11.238693536019,-11.33093596766,-11.7849651017764,-11.9244397925321,-11.6087484676611,-12.1327474911007,-12.2724805640179,-12.6986044246967,-13.2489584286051,-13.2572266577718,-12.1788945451373,-12.3607439103724,-11.9715686987823,-11.7936467424014,-10.789883721564,-9.60592498132493,-9.16491830814608,-8.52655934004458,-8.40703175215347,-8.23825652428822,-8.34000741947091,-8.59457874731737,-8.76204884199864,-8.93035898197328,-9.23059905358906]}]]],null,null,{"interactive":true,"className":"","stroke":true,"color":"white","weight":0.1,"opacity":0.5,"fill":true,"fillColor":["#471164","#46307E","#440154","#470E61","#450559","#470C5F","#482576","#450357","#481D6F","#440154","#450357","#482374","#481A6C","#46085B","#471164","#470C5F","#482576","#450357","#450357","#46085B","#443A83","#470E61","#450357","#450559","#46085B","#414387","#46085B","#481769","#FDE725","#46085B","#470C5F","#440154","#471164","#424186","#471365","#481F70","#440154","#472F7D","#450559","#440154","#450357","#440154","#440154","#460A5D","#481F70","#2E6D8E","#463480","#450357","#460A5D","#471365","#33628D","#450559","#440154","#470C5F","#440154","#470E61","#470E61","#440154","#471164","#450357","#481B6D","#453882","#46307E","#20928C","#481568","#482979","#440154"],"fillOpacity":0.9,"smoothFactor":1,"noClip":false},null,null,["ARM","AUS","AUT","BEL","BEN","BFA","BGD","BGR","BRA","BRN","BTN","CAN","CHE","CHL","CHN","CIV","CMR","COD","COL","CUB","DEU","DNK","ECU","EGY","ESP","ETH","FIN","FRA","GBR","GEO","GHA","GRC","IDN","IND","IRL","ITA","JPN","KEN","KOR","LBR","LKA","MEX","MLI","MMR","MYS","NGA","NLD","NOR","NPL","NZL","PAK","PHL","PNG","PRT","ROU","RWA","SEN","SOM","SWE","TGO","THA","TZA","UGA","USA","VNM","ZAF","ZMB"],{"interactive":false,"permanent":false,"direction":"auto","opacity":1,"offset":[0,0],"textsize":"10px","textOnly":false,"className":"","sticky":true},null]},{"method":"addCircleMarkers","args":[[47.516231,4.535277,39.074208,36.204824,6.428055,17.570692,23.634501,-6.314993,45.943161,17.357822,5.152149,-13.133897,42.733883,4.570868,-1.831239,12.1165,60.472024,7.873054,27.514162,-4.038333,8.619543,9.30769,26.820553,35.907757,12.879721,61.92411,-35.675147,21.521757,42.315407,1.352083,40.463667,21.916221,28.394857,39.399872,12.238333,7.539989,7.946527,50.503887,56.26392,-1.940278,14.497401,60.128161,35.86166,40.069099,-0.789275,53.1423672,-40.900557,14.058324,46.227638,46.818188,15.870032,-14.235004,41.87194,4.210484,56.130366,7.369722,23.684994,-30.559482,-0.023559,-25.274398,1.373333,52.132633,-6.369028,51.165691,20.593684,9.145,30.375321,9.081999,37.09024,55.378051],[14.550072,114.727669,21.824312,138.252924,-9.429499,-3.996166,-102.552784,143.95555,24.96676,-62.782998,46.199616,27.849332,25.48583,-74.297333,-78.183406,-61.679,8.468946,80.771797,90.433601,21.758664,0.824782,2.315834,30.802498,127.766922,121.774017,25.748151,-71.542969,-77.781167,43.356892,103.819836,-3.74922,95.955974,84.124008,-8.224454,-1.561593,-5.54708,-1.023194,4.469936,9.501785,29.873888,-14.452362,18.643501,104.195397,45.038189,113.921327,-7.6920536,174.885971,108.277199,2.213749,8.227512,100.992541,-51.92528,12.56738,101.975766,-106.346771,12.354722,90.356331,22.937506,37.906193,133.775136,32.290275,5.291266,34.888822,10.451526,78.96288,40.489673,69.345116,8.675277,-95.712891,-3.435973],10,null,null,{"interactive":true,"className":"","stroke":true,"color":"red","weight":0.1,"opacity":0.5,"fill":true,"fillColor":[1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,3,3,3,3,4,4,4,4,4,4,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,10,11,12,13,14,15,15,17,18,18,20,23,24,24,26,28,29,33,34,53,60,86,168],"fillOpacity":0.1},null,null,["<b>Country:<\/b> Austria <br> <b>Corresponding Author:<\/b> 1","<b>Country:<\/b> Brunei Darussalam <br> <b>Corresponding Author:<\/b> 1","<b>Country:<\/b> Greece <br> <b>Corresponding Author:<\/b> 1","<b>Country:<\/b> Japan <br> <b>Corresponding Author:<\/b> 1","<b>Country:<\/b> Liberia <br> <b>Corresponding Author:<\/b> 1","<b>Country:<\/b> Mali <br> <b>Corresponding Author:<\/b> 1","<b>Country:<\/b> Mexico <br> <b>Corresponding Author:<\/b> 1","<b>Country:<\/b> Papa New Guinea <br> <b>Corresponding Author:<\/b> 1","<b>Country:<\/b> Romania <br> <b>Corresponding Author:<\/b> 1","<b>Country:<\/b> Saint Kitts and Nevis <br> <b>Corresponding Author:<\/b> 1","<b>Country:<\/b> Somalia <br> <b>Corresponding Author:<\/b> 1","<b>Country:<\/b> Zambia <br> <b>Corresponding Author:<\/b> 1","<b>Country:<\/b> Bulgaria <br> <b>Corresponding Author:<\/b> 2","<b>Country:<\/b> Colombia <br> <b>Corresponding Author:<\/b> 2","<b>Country:<\/b> Ecuador <br> <b>Corresponding Author:<\/b> 2","<b>Country:<\/b> Grenada <br> <b>Corresponding Author:<\/b> 2","<b>Country:<\/b> Norway <br> <b>Corresponding Author:<\/b> 2","<b>Country:<\/b> Sri Lanka <br> <b>Corresponding Author:<\/b> 2","<b>Country:<\/b> Bhutan <br> <b>Corresponding Author:<\/b> 2","<b>Country:<\/b> DRC <br> <b>Corresponding Author:<\/b> 2","<b>Country:<\/b> Togo <br> <b>Corresponding Author:<\/b> 2","<b>Country:<\/b> Benin <br> <b>Corresponding Author:<\/b> 3","<b>Country:<\/b> Egypt <br> <b>Corresponding Author:<\/b> 3","<b>Country:<\/b> South Korea <br> <b>Corresponding Author:<\/b> 3","<b>Country:<\/b> Philippines <br> <b>Corresponding Author:<\/b> 3","<b>Country:<\/b> Finland <br> <b>Corresponding Author:<\/b> 4","<b>Country:<\/b> Chile <br> <b>Corresponding Author:<\/b> 4","<b>Country:<\/b> Cuba <br> <b>Corresponding Author:<\/b> 4","<b>Country:<\/b> Georgia <br> <b>Corresponding Author:<\/b> 4","<b>Country:<\/b> Singapore <br> <b>Corresponding Author:<\/b> 4","<b>Country:<\/b> Spain <br> <b>Corresponding Author:<\/b> 4","<b>Country:<\/b> Myanmar <br> <b>Corresponding Author:<\/b> 5","<b>Country:<\/b> Nepal <br> <b>Corresponding Author:<\/b> 5","<b>Country:<\/b> Portugal <br> <b>Corresponding Author:<\/b> 6","<b>Country:<\/b> Burkina Faso <br> <b>Corresponding Author:<\/b> 6","<b>Country:<\/b> Côte d'Ivoire <br> <b>Corresponding Author:<\/b> 6","<b>Country:<\/b> Ghana <br> <b>Corresponding Author:<\/b> 6","<b>Country:<\/b> Belgium <br> <b>Corresponding Author:<\/b> 7","<b>Country:<\/b> Denmark <br> <b>Corresponding Author:<\/b> 7","<b>Country:<\/b> Rawanda <br> <b>Corresponding Author:<\/b> 7","<b>Country:<\/b> Senegal <br> <b>Corresponding Author:<\/b> 7","<b>Country:<\/b> Sweden <br> <b>Corresponding Author:<\/b> 8","<b>Country:<\/b> China <br> <b>Corresponding Author:<\/b> 8","<b>Country:<\/b> Armenia <br> <b>Corresponding Author:<\/b> 8","<b>Country:<\/b> Indonesia <br> <b>Corresponding Author:<\/b> 8","<b>Country:<\/b> Ireland <br> <b>Corresponding Author:<\/b> 9","<b>Country:<\/b> New Zealand <br> <b>Corresponding Author:<\/b> 9","<b>Country:<\/b> Vietnam <br> <b>Corresponding Author:<\/b> 10","<b>Country:<\/b> France <br> <b>Corresponding Author:<\/b> 11","<b>Country:<\/b> Switzerland <br> <b>Corresponding Author:<\/b> 12","<b>Country:<\/b> Thailand <br> <b>Corresponding Author:<\/b> 13","<b>Country:<\/b> Brazil <br> <b>Corresponding Author:<\/b> 14","<b>Country:<\/b> Italy <br> <b>Corresponding Author:<\/b> 15","<b>Country:<\/b> Malaysia <br> <b>Corresponding Author:<\/b> 15","<b>Country:<\/b> Canada <br> <b>Corresponding Author:<\/b> 17","<b>Country:<\/b> Cameroon <br> <b>Corresponding Author:<\/b> 18","<b>Country:<\/b> Bangladesh <br> <b>Corresponding Author:<\/b> 18","<b>Country:<\/b> South Africa <br> <b>Corresponding Author:<\/b> 20","<b>Country:<\/b> Kenya <br> <b>Corresponding Author:<\/b> 23","<b>Country:<\/b> Australia <br> <b>Corresponding Author:<\/b> 24","<b>Country:<\/b> Uganda <br> <b>Corresponding Author:<\/b> 24","<b>Country:<\/b> Netherlands <br> <b>Corresponding Author:<\/b> 26","<b>Country:<\/b> Tanzania <br> <b>Corresponding Author:<\/b> 28","<b>Country:<\/b> Germany <br> <b>Corresponding Author:<\/b> 29","<b>Country:<\/b> India <br> <b>Corresponding Author:<\/b> 33","<b>Country:<\/b> Ethiopia <br> <b>Corresponding Author:<\/b> 34","<b>Country:<\/b> Pakistan <br> <b>Corresponding Author:<\/b> 53","<b>Country:<\/b> Nigeria <br> <b>Corresponding Author:<\/b> 60","<b>Country:<\/b> United States <br> <b>Corresponding Author:<\/b> 86","<b>Country:<\/b> United Kingdom <br> <b>Corresponding Author:<\/b> 168"],null,null,{"interactive":false,"permanent":false,"direction":"auto","opacity":1,"offset":[0,0],"textsize":"10px","textOnly":false,"className":"","sticky":true},null]},{"method":"addLegend","args":[{"colors":["#440154 , #482979 11.377245508982%, #3D4E8A 23.3532934131737%, #2E6D8E 35.3293413173653%, #238A8D 47.3053892215569%, #21A685 59.2814371257485%, #49C16D 71.2574850299401%, #8ED645 83.2335329341317%, #DFE318 95.2095808383233%, #FDE725 "],"labels":["20","40","60","80","100","120","140","160"],"na_color":null,"na_label":"NA","opacity":0.8,"position":"topright","type":"numeric","title":"Corresponding Authors","extra":{"p_1":0.11377245508982,"p_n":0.952095808383233},"layerId":null,"className":"info legend","group":null}]}],"limits":{"lat":[-55.61183,83.23324],"lng":[-171.791110602891,178.517093540763]}},"evals":[],"jsHooks":[]}</script> <script type="application/htmlwidget-sizing" data-for="htmlwidget-cfa05fda04ee51d799fd">{"viewer":{"width":"100%","height":400,"padding":0,"fill":true},"browser":{"width":"100%","height":400,"padding":0,"fill":true}}</script> </body> </html>
/home/batcwwjx/./public_html/our-apps/corresponding_authors_6th WOHC.html