mapping-component-package-jp 0.1.12 → 0.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * This source code is licensed under the MIT license found in the
9
9
  * LICENSE file in the root directory of this source tree.
10
- */function p(){return l||(l=1,"production"!==process.env.NODE_ENV&&function(){var t=e,o=Symbol.for("react.element"),n=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),s=Symbol.for("react.strict_mode"),r=Symbol.for("react.profiler"),a=Symbol.for("react.provider"),l=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),u=Symbol.for("react.suspense_list"),d=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),m=Symbol.for("react.offscreen"),f=Symbol.iterator;var v=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function y(e){for(var t=arguments.length,o=new Array(t>1?t-1:0),n=1;n<t;n++)o[n-1]=arguments[n];!function(e,t,o){var n=v.ReactDebugCurrentFrame,i=n.getStackAddendum();""!==i&&(t+="%s",o=o.concat([i]));var s=o.map((function(e){return String(e)}));s.unshift("Warning: "+t),Function.prototype.apply.call(console[e],console,s)}("error",e,o)}var L;function I(e){return e.displayName||"Context"}function C(e){if(null==e)return null;if("number"==typeof e.tag&&y("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),"function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case i:return"Fragment";case n:return"Portal";case r:return"Profiler";case s:return"StrictMode";case p:return"Suspense";case u:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case l:return I(e)+".Consumer";case a:return I(e._context)+".Provider";case c:return function(e,t,o){var n=e.displayName;if(n)return n;var i=t.displayName||t.name||"";return""!==i?o+"("+i+")":o}(e,e.render,"ForwardRef");case d:var t=e.displayName||null;return null!==t?t:C(e.type)||"Memo";case h:var o=e,g=o._payload,m=o._init;try{return C(m(g))}catch(e){return null}}return null}L=Symbol.for("react.module.reference");var b,w,k,M,z,P,x,E=Object.assign,S=0;function O(){}O.__reactDisabledLog=!0;var _,T=v.ReactCurrentDispatcher;function B(e,t,o){if(void 0===_)try{throw Error()}catch(e){var n=e.stack.trim().match(/\n( *(at )?)/);_=n&&n[1]||""}return"\n"+_+e}var R,D=!1,A="function"==typeof WeakMap?WeakMap:Map;function U(e,t){if(!e||D)return"";var o,n=R.get(e);if(void 0!==n)return n;D=!0;var i,s=Error.prepareStackTrace;Error.prepareStackTrace=void 0,i=T.current,T.current=null,function(){if(0===S){b=console.log,w=console.info,k=console.warn,M=console.error,z=console.group,P=console.groupCollapsed,x=console.groupEnd;var e={configurable:!0,enumerable:!0,value:O,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}S++}();try{if(t){var r=function(){throw Error()};if(Object.defineProperty(r.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(r,[])}catch(e){o=e}Reflect.construct(e,[],r)}else{try{r.call()}catch(e){o=e}e.call(r.prototype)}}else{try{throw Error()}catch(e){o=e}e()}}catch(t){if(t&&o&&"string"==typeof t.stack){for(var a=t.stack.split("\n"),l=o.stack.split("\n"),c=a.length-1,g=l.length-1;c>=1&&g>=0&&a[c]!==l[g];)g--;for(;c>=1&&g>=0;c--,g--)if(a[c]!==l[g]){if(1!==c||1!==g)do{if(c--,--g<0||a[c]!==l[g]){var p="\n"+a[c].replace(" at new "," at ");return e.displayName&&p.includes("<anonymous>")&&(p=p.replace("<anonymous>",e.displayName)),"function"==typeof e&&R.set(e,p),p}}while(c>=1&&g>=0);break}}}finally{D=!1,T.current=i,function(){if(0==--S){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:E({},e,{value:b}),info:E({},e,{value:w}),warn:E({},e,{value:k}),error:E({},e,{value:M}),group:E({},e,{value:z}),groupCollapsed:E({},e,{value:P}),groupEnd:E({},e,{value:x})})}S<0&&y("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}(),Error.prepareStackTrace=s}var u=e?e.displayName||e.name:"",d=u?B(u):"";return"function"==typeof e&&R.set(e,d),d}function W(e,t,o){if(null==e)return"";if("function"==typeof e)return U(e,!(!(n=e.prototype)||!n.isReactComponent));var n;if("string"==typeof e)return B(e);switch(e){case p:return B("Suspense");case u:return B("SuspenseList")}if("object"==typeof e)switch(e.$$typeof){case c:return U(e.render,!1);case d:return W(e.type,t,o);case h:var i=e,s=i._payload,r=i._init;try{return W(r(s),t,o)}catch(e){}}return""}R=new A;var Z=Object.prototype.hasOwnProperty,F={},j=v.ReactDebugCurrentFrame;function N(e){if(e){var t=e._owner,o=W(e.type,e._source,t?t.type:null);j.setExtraStackFrame(o)}else j.setExtraStackFrame(null)}var V=Array.isArray;function H(e){return V(e)}function $(e){return""+e}function G(e){if(function(e){try{return $(e),!1}catch(e){return!0}}(e))return y("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",function(e){return"function"==typeof Symbol&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object"}(e)),$(e)}var Y,J,K=v.ReactCurrentOwner,q={key:!0,ref:!0,__self:!0,__source:!0};function X(e,t,n,i,s){var r,a={},l=null,c=null;for(r in void 0!==n&&(G(n),l=""+n),function(e){if(Z.call(e,"key")){var t=Object.getOwnPropertyDescriptor(e,"key").get;if(t&&t.isReactWarning)return!1}return void 0!==e.key}(t)&&(G(t.key),l=""+t.key),function(e){if(Z.call(e,"ref")){var t=Object.getOwnPropertyDescriptor(e,"ref").get;if(t&&t.isReactWarning)return!1}return void 0!==e.ref}(t)&&(c=t.ref,function(e){"string"==typeof e.ref&&K.current}(t)),t)Z.call(t,r)&&!q.hasOwnProperty(r)&&(a[r]=t[r]);if(e&&e.defaultProps){var g=e.defaultProps;for(r in g)void 0===a[r]&&(a[r]=g[r])}if(l||c){var p="function"==typeof e?e.displayName||e.name||"Unknown":e;l&&function(e,t){var o=function(){Y||(Y=!0,y("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",t))};o.isReactWarning=!0,Object.defineProperty(e,"key",{get:o,configurable:!0})}(a,p),c&&function(e,t){var o=function(){J||(J=!0,y("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",t))};o.isReactWarning=!0,Object.defineProperty(e,"ref",{get:o,configurable:!0})}(a,p)}return function(e,t,n,i,s,r,a){var l={$$typeof:o,type:e,key:t,ref:n,props:a,_owner:r,_store:{}};return Object.defineProperty(l._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(l,"_self",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.defineProperty(l,"_source",{configurable:!1,enumerable:!1,writable:!1,value:s}),Object.freeze&&(Object.freeze(l.props),Object.freeze(l)),l}(e,l,c,s,i,K.current,a)}var Q,ee=v.ReactCurrentOwner,te=v.ReactDebugCurrentFrame;function oe(e){if(e){var t=e._owner,o=W(e.type,e._source,t?t.type:null);te.setExtraStackFrame(o)}else te.setExtraStackFrame(null)}function ne(e){return"object"==typeof e&&null!==e&&e.$$typeof===o}function ie(){if(ee.current){var e=C(ee.current.type);if(e)return"\n\nCheck the render method of `"+e+"`."}return""}Q=!1;var se={};function re(e,t){if(e._store&&!e._store.validated&&null==e.key){e._store.validated=!0;var o=function(e){var t=ie();if(!t){var o="string"==typeof e?e:e.displayName||e.name;o&&(t="\n\nCheck the top-level render call using <"+o+">.")}return t}(t);if(!se[o]){se[o]=!0;var n="";e&&e._owner&&e._owner!==ee.current&&(n=" It was passed a child from "+C(e._owner.type)+"."),oe(e),y('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',o,n),oe(null)}}}function ae(e,t){if("object"==typeof e)if(H(e))for(var o=0;o<e.length;o++){var n=e[o];ne(n)&&re(n,t)}else if(ne(e))e._store&&(e._store.validated=!0);else if(e){var i=function(e){if(null===e||"object"!=typeof e)return null;var t=f&&e[f]||e["@@iterator"];return"function"==typeof t?t:null}(e);if("function"==typeof i&&i!==e.entries)for(var s,r=i.call(e);!(s=r.next()).done;)ne(s.value)&&re(s.value,t)}}function le(e){var t,o=e.type;if(null!=o&&"string"!=typeof o){if("function"==typeof o)t=o.propTypes;else{if("object"!=typeof o||o.$$typeof!==c&&o.$$typeof!==d)return;t=o.propTypes}if(t){var n=C(o);!function(e,t,o,n,i){var s=Function.call.bind(Z);for(var r in e)if(s(e,r)){var a=void 0;try{if("function"!=typeof e[r]){var l=Error((n||"React class")+": "+o+" type `"+r+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof e[r]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw l.name="Invariant Violation",l}a=e[r](t,r,n,o,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(e){a=e}!a||a instanceof Error||(N(i),y("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",n||"React class",o,r,typeof a),N(null)),a instanceof Error&&!(a.message in F)&&(F[a.message]=!0,N(i),y("Failed %s type: %s",o,a.message),N(null))}}(t,e.props,"prop",n,e)}else if(void 0!==o.PropTypes&&!Q){Q=!0,y("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",C(o)||"Unknown")}"function"!=typeof o.getDefaultProps||o.getDefaultProps.isReactClassApproved||y("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}var ce={};function ge(e,t,n,g,f,v){var I=function(e){return"string"==typeof e||"function"==typeof e||e===i||e===r||e===s||e===p||e===u||e===m||"object"==typeof e&&null!==e&&(e.$$typeof===h||e.$$typeof===d||e.$$typeof===a||e.$$typeof===l||e.$$typeof===c||e.$$typeof===L||void 0!==e.getModuleId)}(e);if(!I){var b="";(void 0===e||"object"==typeof e&&null!==e&&0===Object.keys(e).length)&&(b+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var w;b+=ie(),null===e?w="null":H(e)?w="array":void 0!==e&&e.$$typeof===o?(w="<"+(C(e.type)||"Unknown")+" />",b=" Did you accidentally export a JSX literal instead of a component?"):w=typeof e,y("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",w,b)}var k=X(e,t,n,f,v);if(null==k)return k;if(I){var M=t.children;if(void 0!==M)if(g)if(H(M)){for(var z=0;z<M.length;z++)ae(M[z],e);Object.freeze&&Object.freeze(M)}else y("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else ae(M,e)}if(Z.call(t,"key")){var P=C(e),x=Object.keys(t).filter((function(e){return"key"!==e})),E=x.length>0?"{key: someKey, "+x.join(": ..., ")+": ...}":"{key: someKey}";if(!ce[P+E])y('A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />',E,P,x.length>0?"{"+x.join(": ..., ")+": ...}":"{}",P),ce[P+E]=!0}return e===i?function(e){for(var t=Object.keys(e.props),o=0;o<t.length;o++){var n=t[o];if("children"!==n&&"key"!==n){oe(e),y("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",n),oe(null);break}}null!==e.ref&&(oe(e),y("Invalid attribute `ref` supplied to `React.Fragment`."),oe(null))}(k):le(k),k}var pe=function(e,t,o){return ge(e,t,o,!1)},ue=function(e,t,o){return ge(e,t,o,!0)};g.Fragment=i,g.jsx=pe,g.jsxs=ue}()),g}var u=(c||(c=1,"production"===process.env.NODE_ENV?r.exports=function(){if(s)return a;s=1;var t=e,o=Symbol.for("react.element"),n=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,r=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,n){var s,a={},c=null,g=null;for(s in void 0!==n&&(c=""+n),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(g=t.ref),t)i.call(t,s)&&!l.hasOwnProperty(s)&&(a[s]=t[s]);if(e&&e.defaultProps)for(s in t=e.defaultProps)void 0===a[s]&&(a[s]=t[s]);return{$$typeof:o,type:e,key:c,ref:g,props:a,_owner:r.current}}return a.Fragment=n,a.jsx=c,a.jsxs=c,a}():r.exports=p()),r.exports),d=function(e,t){return d=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])},d(e,t)};
10
+ */function p(){return l||(l=1,"production"!==process.env.NODE_ENV&&function(){var t=e,o=Symbol.for("react.element"),n=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),s=Symbol.for("react.strict_mode"),r=Symbol.for("react.profiler"),a=Symbol.for("react.provider"),l=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),u=Symbol.for("react.suspense_list"),d=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),m=Symbol.for("react.offscreen"),f=Symbol.iterator;var v=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function y(e){for(var t=arguments.length,o=new Array(t>1?t-1:0),n=1;n<t;n++)o[n-1]=arguments[n];!function(e,t,o){var n=v.ReactDebugCurrentFrame,i=n.getStackAddendum();""!==i&&(t+="%s",o=o.concat([i]));var s=o.map((function(e){return String(e)}));s.unshift("Warning: "+t),Function.prototype.apply.call(console[e],console,s)}("error",e,o)}var L;function I(e){return e.displayName||"Context"}function C(e){if(null==e)return null;if("number"==typeof e.tag&&y("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),"function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case i:return"Fragment";case n:return"Portal";case r:return"Profiler";case s:return"StrictMode";case p:return"Suspense";case u:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case l:return I(e)+".Consumer";case a:return I(e._context)+".Provider";case c:return function(e,t,o){var n=e.displayName;if(n)return n;var i=t.displayName||t.name||"";return""!==i?o+"("+i+")":o}(e,e.render,"ForwardRef");case d:var t=e.displayName||null;return null!==t?t:C(e.type)||"Memo";case h:var o=e,g=o._payload,m=o._init;try{return C(m(g))}catch(e){return null}}return null}L=Symbol.for("react.module.reference");var b,w,k,M,P,z,x,E=Object.assign,S=0;function O(){}O.__reactDisabledLog=!0;var _,T=v.ReactCurrentDispatcher;function B(e,t,o){if(void 0===_)try{throw Error()}catch(e){var n=e.stack.trim().match(/\n( *(at )?)/);_=n&&n[1]||""}return"\n"+_+e}var D,R=!1,A="function"==typeof WeakMap?WeakMap:Map;function U(e,t){if(!e||R)return"";var o,n=D.get(e);if(void 0!==n)return n;R=!0;var i,s=Error.prepareStackTrace;Error.prepareStackTrace=void 0,i=T.current,T.current=null,function(){if(0===S){b=console.log,w=console.info,k=console.warn,M=console.error,P=console.group,z=console.groupCollapsed,x=console.groupEnd;var e={configurable:!0,enumerable:!0,value:O,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}S++}();try{if(t){var r=function(){throw Error()};if(Object.defineProperty(r.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(r,[])}catch(e){o=e}Reflect.construct(e,[],r)}else{try{r.call()}catch(e){o=e}e.call(r.prototype)}}else{try{throw Error()}catch(e){o=e}e()}}catch(t){if(t&&o&&"string"==typeof t.stack){for(var a=t.stack.split("\n"),l=o.stack.split("\n"),c=a.length-1,g=l.length-1;c>=1&&g>=0&&a[c]!==l[g];)g--;for(;c>=1&&g>=0;c--,g--)if(a[c]!==l[g]){if(1!==c||1!==g)do{if(c--,--g<0||a[c]!==l[g]){var p="\n"+a[c].replace(" at new "," at ");return e.displayName&&p.includes("<anonymous>")&&(p=p.replace("<anonymous>",e.displayName)),"function"==typeof e&&D.set(e,p),p}}while(c>=1&&g>=0);break}}}finally{R=!1,T.current=i,function(){if(0==--S){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:E({},e,{value:b}),info:E({},e,{value:w}),warn:E({},e,{value:k}),error:E({},e,{value:M}),group:E({},e,{value:P}),groupCollapsed:E({},e,{value:z}),groupEnd:E({},e,{value:x})})}S<0&&y("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}(),Error.prepareStackTrace=s}var u=e?e.displayName||e.name:"",d=u?B(u):"";return"function"==typeof e&&D.set(e,d),d}function W(e,t,o){if(null==e)return"";if("function"==typeof e)return U(e,!(!(n=e.prototype)||!n.isReactComponent));var n;if("string"==typeof e)return B(e);switch(e){case p:return B("Suspense");case u:return B("SuspenseList")}if("object"==typeof e)switch(e.$$typeof){case c:return U(e.render,!1);case d:return W(e.type,t,o);case h:var i=e,s=i._payload,r=i._init;try{return W(r(s),t,o)}catch(e){}}return""}D=new A;var Z=Object.prototype.hasOwnProperty,F={},j=v.ReactDebugCurrentFrame;function N(e){if(e){var t=e._owner,o=W(e.type,e._source,t?t.type:null);j.setExtraStackFrame(o)}else j.setExtraStackFrame(null)}var V=Array.isArray;function H(e){return V(e)}function $(e){return""+e}function G(e){if(function(e){try{return $(e),!1}catch(e){return!0}}(e))return y("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",function(e){return"function"==typeof Symbol&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object"}(e)),$(e)}var Y,J,K=v.ReactCurrentOwner,q={key:!0,ref:!0,__self:!0,__source:!0};function X(e,t,n,i,s){var r,a={},l=null,c=null;for(r in void 0!==n&&(G(n),l=""+n),function(e){if(Z.call(e,"key")){var t=Object.getOwnPropertyDescriptor(e,"key").get;if(t&&t.isReactWarning)return!1}return void 0!==e.key}(t)&&(G(t.key),l=""+t.key),function(e){if(Z.call(e,"ref")){var t=Object.getOwnPropertyDescriptor(e,"ref").get;if(t&&t.isReactWarning)return!1}return void 0!==e.ref}(t)&&(c=t.ref,function(e){"string"==typeof e.ref&&K.current}(t)),t)Z.call(t,r)&&!q.hasOwnProperty(r)&&(a[r]=t[r]);if(e&&e.defaultProps){var g=e.defaultProps;for(r in g)void 0===a[r]&&(a[r]=g[r])}if(l||c){var p="function"==typeof e?e.displayName||e.name||"Unknown":e;l&&function(e,t){var o=function(){Y||(Y=!0,y("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",t))};o.isReactWarning=!0,Object.defineProperty(e,"key",{get:o,configurable:!0})}(a,p),c&&function(e,t){var o=function(){J||(J=!0,y("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",t))};o.isReactWarning=!0,Object.defineProperty(e,"ref",{get:o,configurable:!0})}(a,p)}return function(e,t,n,i,s,r,a){var l={$$typeof:o,type:e,key:t,ref:n,props:a,_owner:r,_store:{}};return Object.defineProperty(l._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(l,"_self",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.defineProperty(l,"_source",{configurable:!1,enumerable:!1,writable:!1,value:s}),Object.freeze&&(Object.freeze(l.props),Object.freeze(l)),l}(e,l,c,s,i,K.current,a)}var Q,ee=v.ReactCurrentOwner,te=v.ReactDebugCurrentFrame;function oe(e){if(e){var t=e._owner,o=W(e.type,e._source,t?t.type:null);te.setExtraStackFrame(o)}else te.setExtraStackFrame(null)}function ne(e){return"object"==typeof e&&null!==e&&e.$$typeof===o}function ie(){if(ee.current){var e=C(ee.current.type);if(e)return"\n\nCheck the render method of `"+e+"`."}return""}Q=!1;var se={};function re(e,t){if(e._store&&!e._store.validated&&null==e.key){e._store.validated=!0;var o=function(e){var t=ie();if(!t){var o="string"==typeof e?e:e.displayName||e.name;o&&(t="\n\nCheck the top-level render call using <"+o+">.")}return t}(t);if(!se[o]){se[o]=!0;var n="";e&&e._owner&&e._owner!==ee.current&&(n=" It was passed a child from "+C(e._owner.type)+"."),oe(e),y('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',o,n),oe(null)}}}function ae(e,t){if("object"==typeof e)if(H(e))for(var o=0;o<e.length;o++){var n=e[o];ne(n)&&re(n,t)}else if(ne(e))e._store&&(e._store.validated=!0);else if(e){var i=function(e){if(null===e||"object"!=typeof e)return null;var t=f&&e[f]||e["@@iterator"];return"function"==typeof t?t:null}(e);if("function"==typeof i&&i!==e.entries)for(var s,r=i.call(e);!(s=r.next()).done;)ne(s.value)&&re(s.value,t)}}function le(e){var t,o=e.type;if(null!=o&&"string"!=typeof o){if("function"==typeof o)t=o.propTypes;else{if("object"!=typeof o||o.$$typeof!==c&&o.$$typeof!==d)return;t=o.propTypes}if(t){var n=C(o);!function(e,t,o,n,i){var s=Function.call.bind(Z);for(var r in e)if(s(e,r)){var a=void 0;try{if("function"!=typeof e[r]){var l=Error((n||"React class")+": "+o+" type `"+r+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof e[r]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw l.name="Invariant Violation",l}a=e[r](t,r,n,o,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(e){a=e}!a||a instanceof Error||(N(i),y("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",n||"React class",o,r,typeof a),N(null)),a instanceof Error&&!(a.message in F)&&(F[a.message]=!0,N(i),y("Failed %s type: %s",o,a.message),N(null))}}(t,e.props,"prop",n,e)}else if(void 0!==o.PropTypes&&!Q){Q=!0,y("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",C(o)||"Unknown")}"function"!=typeof o.getDefaultProps||o.getDefaultProps.isReactClassApproved||y("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}var ce={};function ge(e,t,n,g,f,v){var I=function(e){return"string"==typeof e||"function"==typeof e||e===i||e===r||e===s||e===p||e===u||e===m||"object"==typeof e&&null!==e&&(e.$$typeof===h||e.$$typeof===d||e.$$typeof===a||e.$$typeof===l||e.$$typeof===c||e.$$typeof===L||void 0!==e.getModuleId)}(e);if(!I){var b="";(void 0===e||"object"==typeof e&&null!==e&&0===Object.keys(e).length)&&(b+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var w;b+=ie(),null===e?w="null":H(e)?w="array":void 0!==e&&e.$$typeof===o?(w="<"+(C(e.type)||"Unknown")+" />",b=" Did you accidentally export a JSX literal instead of a component?"):w=typeof e,y("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",w,b)}var k=X(e,t,n,f,v);if(null==k)return k;if(I){var M=t.children;if(void 0!==M)if(g)if(H(M)){for(var P=0;P<M.length;P++)ae(M[P],e);Object.freeze&&Object.freeze(M)}else y("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else ae(M,e)}if(Z.call(t,"key")){var z=C(e),x=Object.keys(t).filter((function(e){return"key"!==e})),E=x.length>0?"{key: someKey, "+x.join(": ..., ")+": ...}":"{key: someKey}";if(!ce[z+E])y('A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />',E,z,x.length>0?"{"+x.join(": ..., ")+": ...}":"{}",z),ce[z+E]=!0}return e===i?function(e){for(var t=Object.keys(e.props),o=0;o<t.length;o++){var n=t[o];if("children"!==n&&"key"!==n){oe(e),y("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",n),oe(null);break}}null!==e.ref&&(oe(e),y("Invalid attribute `ref` supplied to `React.Fragment`."),oe(null))}(k):le(k),k}var pe=function(e,t,o){return ge(e,t,o,!1)},ue=function(e,t,o){return ge(e,t,o,!0)};g.Fragment=i,g.jsx=pe,g.jsxs=ue}()),g}var u=(c||(c=1,"production"===process.env.NODE_ENV?r.exports=function(){if(s)return a;s=1;var t=e,o=Symbol.for("react.element"),n=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,r=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};function c(e,t,n){var s,a={},c=null,g=null;for(s in void 0!==n&&(c=""+n),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(g=t.ref),t)i.call(t,s)&&!l.hasOwnProperty(s)&&(a[s]=t[s]);if(e&&e.defaultProps)for(s in t=e.defaultProps)void 0===a[s]&&(a[s]=t[s]);return{$$typeof:o,type:e,key:c,ref:g,props:a,_owner:r.current}}return a.Fragment=n,a.jsx=c,a.jsxs=c,a}():r.exports=p()),r.exports),d=function(e,t){return d=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])},d(e,t)};
11
11
  /*! *****************************************************************************
12
12
  Copyright (c) Microsoft Corporation.
13
13
 
@@ -21,7 +21,7 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
21
21
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
22
22
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
23
23
  PERFORMANCE OF THIS SOFTWARE.
24
- ***************************************************************************** */function h(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function o(){this.constructor=e}d(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}var m=function(){return m=Object.assign||function(e){for(var t,o=1,n=arguments.length;o<n;o++)for(var i in t=arguments[o])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},m.apply(this,arguments)};function f(e,t){var o={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(o[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(o[n[i]]=e[n[i]])}return o}function v(e,t,o,n){return new(o||(o=Promise))((function(t,i){function s(e){try{a(n.next(e))}catch(e){i(e)}}function r(e){try{a(n.throw(e))}catch(e){i(e)}}function a(e){var n;e.done?t(e.value):(n=e.value,n instanceof o?n:new o((function(e){e(n)}))).then(s,r)}a((n=n.apply(e,[])).next())}))}function y(e,t){var o,n,i,s,r={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return s={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(s){return function(a){return function(s){if(o)throw new TypeError("Generator is already executing.");for(;r;)try{if(o=1,n&&(i=2&s[0]?n.return:s[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,s[1])).done)return i;switch(n=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return r.label++,{value:s[1],done:!1};case 5:r.label++,n=s[1],s=[0];continue;case 7:s=r.ops.pop(),r.trys.pop();continue;default:if(!(i=r.trys,(i=i.length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){r=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]<i[3])){r.label=s[1];break}if(6===s[0]&&r.label<i[1]){r.label=i[1],i=s;break}if(i&&r.label<i[2]){r.label=i[2],r.ops.push(s);break}i[2]&&r.ops.pop(),r.trys.pop();continue}s=t.call(e,r)}catch(e){s=[6,e],n=0}finally{o=i=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,a])}}}function L(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var I=process.env.NODE_ENV,C=L((function(e,t,o,n,i,s,r,a){if("production"!==I&&void 0===t)throw new Error("invariant requires an error message argument");if(!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[o,n,i,s,r,a],g=0;(l=new Error(t.replace(/%s/g,(function(){return c[g++]})))).name="Invariant Violation"}throw l.framesToPop=1,l}})),b=e.createContext(null);function w(e,t,o,n){var i,s,r={};return i=e,s=function(e,i){var s=o[i];s!==t[i]&&(r[i]=s,e(n,s))},Object.keys(i).forEach((function(e){return s(i[e],e)})),r}function k(e,t,o){var n,i,s,r=(n=o,i=function(o,n,i){return"function"==typeof e[i]&&o.push(google.maps.event.addListener(t,n,e[i])),o},s=[],Object.keys(n).reduce((function(e,t){return i(e,n[t],t)}),s));return r}function M(e){google.maps.event.removeListener(e)}function z(e){void 0===e&&(e=[]),e.forEach(M)}function P(e){var t=e.updaterMap,o=e.eventMap,n=e.prevProps,i=e.nextProps,s=e.instance,r=k(i,s,o);return w(t,n,i,s),r}var x={onDblClick:"dblclick",onDragEnd:"dragend",onDragStart:"dragstart",onMapTypeIdChanged:"maptypeid_changed",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseDown:"mousedown",onMouseUp:"mouseup",onRightClick:"rightclick",onTilesLoaded:"tilesloaded",onBoundsChanged:"bounds_changed",onCenterChanged:"center_changed",onClick:"click",onDrag:"drag",onHeadingChanged:"heading_changed",onIdle:"idle",onProjectionChanged:"projection_changed",onResize:"resize",onTiltChanged:"tilt_changed",onZoomChanged:"zoom_changed"},E={extraMapTypes:function(e,t){t.forEach((function(t,o){e.mapTypes.set(String(o),t)}))},center:function(e,t){e.setCenter(t)},clickableIcons:function(e,t){e.setClickableIcons(t)},heading:function(e,t){e.setHeading(t)},mapTypeId:function(e,t){e.setMapTypeId(t)},options:function(e,t){e.setOptions(t)},streetView:function(e,t){e.setStreetView(t)},tilt:function(e,t){e.setTilt(t)},zoom:function(e,t){e.setZoom(t)}};e.memo((function(t){var o=t.children,n=t.options,i=t.id,s=t.mapContainerStyle,r=t.mapContainerClassName,a=t.center,l=t.onClick,c=t.onDblClick,g=t.onDrag,p=t.onDragEnd,d=t.onDragStart,h=t.onMouseMove,m=t.onMouseOut,f=t.onMouseOver,v=t.onMouseDown,y=t.onMouseUp,L=t.onRightClick,I=t.onCenterChanged,C=t.onLoad,w=t.onUnmount,k=e.useState(null),M=k[0],z=k[1],P=e.useRef(null),x=e.useState(null),E=x[0],S=x[1],O=e.useState(null),_=O[0],T=O[1],B=e.useState(null),R=B[0],D=B[1],A=e.useState(null),U=A[0],W=A[1],Z=e.useState(null),F=Z[0],j=Z[1],N=e.useState(null),V=N[0],H=N[1],$=e.useState(null),G=$[0],Y=$[1],J=e.useState(null),K=J[0],q=J[1],X=e.useState(null),Q=X[0],ee=X[1],te=e.useState(null),oe=te[0],ne=te[1],ie=e.useState(null),se=ie[0],re=ie[1],ae=e.useState(null),le=ae[0],ce=ae[1];return e.useEffect((function(){n&&null!==M&&M.setOptions(n)}),[M,n]),e.useEffect((function(){null!==M&&void 0!==a&&M.setCenter(a)}),[M,a]),e.useEffect((function(){M&&c&&(null!==_&&google.maps.event.removeListener(_),T(google.maps.event.addListener(M,"dblclick",c)))}),[c]),e.useEffect((function(){M&&p&&(null!==R&&google.maps.event.removeListener(R),D(google.maps.event.addListener(M,"dragend",p)))}),[p]),e.useEffect((function(){M&&d&&(null!==U&&google.maps.event.removeListener(U),W(google.maps.event.addListener(M,"dragstart",d)))}),[d]),e.useEffect((function(){M&&v&&(null!==F&&google.maps.event.removeListener(F),j(google.maps.event.addListener(M,"mousedown",v)))}),[v]),e.useEffect((function(){M&&h&&(null!==V&&google.maps.event.removeListener(V),H(google.maps.event.addListener(M,"mousemove",h)))}),[h]),e.useEffect((function(){M&&m&&(null!==G&&google.maps.event.removeListener(G),Y(google.maps.event.addListener(M,"mouseout",m)))}),[m]),e.useEffect((function(){M&&f&&(null!==K&&google.maps.event.removeListener(K),q(google.maps.event.addListener(M,"mouseover",f)))}),[f]),e.useEffect((function(){M&&y&&(null!==Q&&google.maps.event.removeListener(Q),ee(google.maps.event.addListener(M,"mouseup",y)))}),[y]),e.useEffect((function(){M&&L&&(null!==oe&&google.maps.event.removeListener(oe),ne(google.maps.event.addListener(M,"rightclick",L)))}),[L]),e.useEffect((function(){M&&l&&(null!==se&&google.maps.event.removeListener(se),re(google.maps.event.addListener(M,"click",l)))}),[l]),e.useEffect((function(){M&&g&&(null!==le&&google.maps.event.removeListener(le),ce(google.maps.event.addListener(M,"drag",g)))}),[g]),e.useEffect((function(){M&&I&&(null!==E&&google.maps.event.removeListener(E),S(google.maps.event.addListener(M,"center_changed",I)))}),[l]),e.useEffect((function(){var e=null===P.current?null:new google.maps.Map(P.current,n);return z(e),null!==e&&C&&C(e),function(){null!==e&&w&&w(e)}}),[]),u.jsx("div",{id:i,ref:P,style:s,className:r,children:u.jsx(b.Provider,{value:M,children:null!==M?o:null})})}));var S=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={map:null},t.registeredEvents=[],t.mapRef=null,t.getInstance=function(){return null===t.mapRef?null:new google.maps.Map(t.mapRef,t.props.options)},t.panTo=function(e){var o=t.getInstance();o&&o.panTo(e)},t.setMapCallback=function(){null!==t.state.map&&t.props.onLoad&&t.props.onLoad(t.state.map)},t.getRef=function(e){t.mapRef=e},t}return h(t,e),t.prototype.componentDidMount=function(){var e=this.getInstance();this.registeredEvents=P({updaterMap:E,eventMap:x,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{map:e}}),this.setMapCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.map&&(z(this.registeredEvents),this.registeredEvents=P({updaterMap:E,eventMap:x,prevProps:e,nextProps:this.props,instance:this.state.map}))},t.prototype.componentWillUnmount=function(){null!==this.state.map&&(this.props.onUnmount&&this.props.onUnmount(this.state.map),z(this.registeredEvents))},t.prototype.render=function(){return u.jsx("div",{id:this.props.id,ref:this.getRef,style:this.props.mapContainerStyle,className:this.props.mapContainerClassName,children:u.jsx(b.Provider,{value:this.state.map,children:null!==this.state.map?this.props.children:null})})},t}(e.PureComponent),O="undefined"!=typeof document;function _(e){var t=e.url,o=e.id,n=e.nonce;return O?new Promise((function(e,i){var s=document.getElementById(o),r=window;if(s){var a=s.getAttribute("data-state");if(s.src===t&&"error"!==a){if("ready"===a)return e(o);var l=r.initMap,c=s.onerror;return r.initMap=function(){l&&l(),e(o)},void(s.onerror=function(e){c&&c(e),i(e)})}s.remove()}var g=document.createElement("script");g.type="text/javascript",g.src=t,g.id=o,g.async=!0,g.nonce=n||"",g.onerror=function(e){g.setAttribute("data-state","error"),i(e)},r.initMap=function(){g.setAttribute("data-state","ready"),e(o)},document.head.appendChild(g)})).catch((function(e){throw console.error("injectScript error: ",e),e})):Promise.reject(new Error("document is undefined"))}function T(e){var t=e.href;return!(!t||0!==t.indexOf("https://fonts.googleapis.com/css?family=Roboto")&&0!==t.indexOf("https://fonts.googleapis.com/css?family=Google+Sans+Text"))||("style"===e.tagName.toLowerCase()&&e.styleSheet&&e.styleSheet.cssText&&0===e.styleSheet.cssText.replace("\r\n","").indexOf(".gm-style")?(e.styleSheet.cssText="",!0):"style"===e.tagName.toLowerCase()&&e.innerHTML&&0===e.innerHTML.replace("\r\n","").indexOf(".gm-style")?(e.innerHTML="",!0):"style"===e.tagName.toLowerCase()&&!e.styleSheet&&!e.innerHTML)}function B(){var e=document.getElementsByTagName("head")[0];if(e){var t=e.insertBefore.bind(e);e.insertBefore=function(o,n){return T(o)||Reflect.apply(t,e,[o,n]),o};var o=e.appendChild.bind(e);e.appendChild=function(t){return T(t)||Reflect.apply(o,e,[t]),t}}}function R(e){var t=e.googleMapsApiKey,o=e.googleMapsClientId,n=e.version,i=void 0===n?"weekly":n,s=e.language,r=e.region,a=e.libraries,l=e.channel,c=e.mapIds,g=e.authReferrerPolicy,p=[];return C(t&&o||!(t&&o),"You need to specify either googleMapsApiKey or googleMapsClientId for @react-google-maps/api load script to work. You cannot use both at the same time."),t?p.push("key=".concat(t)):o&&p.push("client=".concat(o)),i&&p.push("v=".concat(i)),s&&p.push("language=".concat(s)),r&&p.push("region=".concat(r)),a&&a.length&&p.push("libraries=".concat(a.sort().join(","))),l&&p.push("channel=".concat(l)),c&&c.length&&p.push("map_ids=".concat(c.join(","))),g&&p.push("auth_referrer_policy=".concat(g)),p.push("callback=initMap"),"https://maps.googleapis.com/maps/api/js?".concat(p.join("&"))}var D=!1;function A(){return u.jsx("div",{children:"Loading..."})}var U,W={id:"script-loader",version:"weekly"};!function(t){function o(){var o=null!==t&&t.apply(this,arguments)||this;return o.check=e.createRef(),o.state={loaded:!1},o.cleanupCallback=function(){delete window.google.maps,o.injectScript()},o.isCleaningUp=function(){return v(o,0,void 0,(function(){function e(e){if(D){if(O)var t=window.setInterval((function(){D||(window.clearInterval(t),e())}),1)}else e()}return y(this,(function(t){return[2,new Promise(e)]}))}))},o.cleanup=function(){D=!0;var e=document.getElementById(o.props.id);e&&e.parentNode&&e.parentNode.removeChild(e),Array.prototype.slice.call(document.getElementsByTagName("script")).filter((function(e){return"string"==typeof e.src&&e.src.includes("maps.googleapis")})).forEach((function(e){e.parentNode&&e.parentNode.removeChild(e)})),Array.prototype.slice.call(document.getElementsByTagName("link")).filter((function(e){return"https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Google+Sans"===e.href})).forEach((function(e){e.parentNode&&e.parentNode.removeChild(e)})),Array.prototype.slice.call(document.getElementsByTagName("style")).filter((function(e){return void 0!==e.innerText&&e.innerText.length>0&&e.innerText.includes(".gm-")})).forEach((function(e){e.parentNode&&e.parentNode.removeChild(e)}))},o.injectScript=function(){o.props.preventGoogleFontsLoading&&B(),C(!!o.props.id,'LoadScript requires "id" prop to be a string: %s',o.props.id),_({id:o.props.id,nonce:o.props.nonce,url:R(o.props)}).then((function(){o.props.onLoad&&o.props.onLoad(),o.setState((function(){return{loaded:!0}}))})).catch((function(e){o.props.onError&&o.props.onError(e),console.error("\n There has been an Error with loading Google Maps API script, please check that you provided correct google API key (".concat(o.props.googleMapsApiKey||"-",") or Client ID (").concat(o.props.googleMapsClientId||"-",") to <LoadScript />\n Otherwise it is a Network issue.\n "))}))},o}h(o,t),o.prototype.componentDidMount=function(){if(O){if(window.google&&window.google.maps&&!D)return void console.error("google api is already presented");this.isCleaningUp().then(this.injectScript).catch((function(e){console.error("Error at injecting script after cleaning up: ",e)}))}},o.prototype.componentDidUpdate=function(e){this.props.libraries!==e.libraries&&console.warn("Performance warning! LoadScript has been reloaded unintentionally! You should not pass `libraries` prop as new array. Please keep an array of libraries as static class property for Components and PureComponents, or just a const variable outside of component, or somewhere in config files or ENV variables"),O&&e.language!==this.props.language&&(this.cleanup(),this.setState((function(){return{loaded:!1}}),this.cleanupCallback))},o.prototype.componentWillUnmount=function(){var e=this;if(O){this.cleanup();window.setTimeout((function(){e.check.current||(delete window.google,D=!1)}),1),this.props.onUnmount&&this.props.onUnmount()}},o.prototype.render=function(){return u.jsxs(u.Fragment,{children:[u.jsx("div",{ref:this.check}),this.state.loaded?this.props.children:this.props.loadingElement||u.jsx(A,{})]})},o.defaultProps=W}(e.PureComponent);var Z=u.jsx(A,{});
24
+ ***************************************************************************** */function h(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function o(){this.constructor=e}d(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}var m=function(){return m=Object.assign||function(e){for(var t,o=1,n=arguments.length;o<n;o++)for(var i in t=arguments[o])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},m.apply(this,arguments)};function f(e,t){var o={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(o[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(o[n[i]]=e[n[i]])}return o}function v(e,t,o,n){return new(o||(o=Promise))((function(t,i){function s(e){try{a(n.next(e))}catch(e){i(e)}}function r(e){try{a(n.throw(e))}catch(e){i(e)}}function a(e){var n;e.done?t(e.value):(n=e.value,n instanceof o?n:new o((function(e){e(n)}))).then(s,r)}a((n=n.apply(e,[])).next())}))}function y(e,t){var o,n,i,s,r={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return s={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(s){return function(a){return function(s){if(o)throw new TypeError("Generator is already executing.");for(;r;)try{if(o=1,n&&(i=2&s[0]?n.return:s[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,s[1])).done)return i;switch(n=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return r.label++,{value:s[1],done:!1};case 5:r.label++,n=s[1],s=[0];continue;case 7:s=r.ops.pop(),r.trys.pop();continue;default:if(!(i=r.trys,(i=i.length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){r=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]<i[3])){r.label=s[1];break}if(6===s[0]&&r.label<i[1]){r.label=i[1],i=s;break}if(i&&r.label<i[2]){r.label=i[2],r.ops.push(s);break}i[2]&&r.ops.pop(),r.trys.pop();continue}s=t.call(e,r)}catch(e){s=[6,e],n=0}finally{o=i=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,a])}}}function L(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var I=process.env.NODE_ENV,C=L((function(e,t,o,n,i,s,r,a){if("production"!==I&&void 0===t)throw new Error("invariant requires an error message argument");if(!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[o,n,i,s,r,a],g=0;(l=new Error(t.replace(/%s/g,(function(){return c[g++]})))).name="Invariant Violation"}throw l.framesToPop=1,l}})),b=e.createContext(null);function w(e,t,o,n){var i,s,r={};return i=e,s=function(e,i){var s=o[i];s!==t[i]&&(r[i]=s,e(n,s))},Object.keys(i).forEach((function(e){return s(i[e],e)})),r}function k(e,t,o){var n,i,s,r=(n=o,i=function(o,n,i){return"function"==typeof e[i]&&o.push(google.maps.event.addListener(t,n,e[i])),o},s=[],Object.keys(n).reduce((function(e,t){return i(e,n[t],t)}),s));return r}function M(e){google.maps.event.removeListener(e)}function P(e){void 0===e&&(e=[]),e.forEach(M)}function z(e){var t=e.updaterMap,o=e.eventMap,n=e.prevProps,i=e.nextProps,s=e.instance,r=k(i,s,o);return w(t,n,i,s),r}var x={onDblClick:"dblclick",onDragEnd:"dragend",onDragStart:"dragstart",onMapTypeIdChanged:"maptypeid_changed",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseDown:"mousedown",onMouseUp:"mouseup",onRightClick:"rightclick",onTilesLoaded:"tilesloaded",onBoundsChanged:"bounds_changed",onCenterChanged:"center_changed",onClick:"click",onDrag:"drag",onHeadingChanged:"heading_changed",onIdle:"idle",onProjectionChanged:"projection_changed",onResize:"resize",onTiltChanged:"tilt_changed",onZoomChanged:"zoom_changed"},E={extraMapTypes:function(e,t){t.forEach((function(t,o){e.mapTypes.set(String(o),t)}))},center:function(e,t){e.setCenter(t)},clickableIcons:function(e,t){e.setClickableIcons(t)},heading:function(e,t){e.setHeading(t)},mapTypeId:function(e,t){e.setMapTypeId(t)},options:function(e,t){e.setOptions(t)},streetView:function(e,t){e.setStreetView(t)},tilt:function(e,t){e.setTilt(t)},zoom:function(e,t){e.setZoom(t)}};e.memo((function(t){var o=t.children,n=t.options,i=t.id,s=t.mapContainerStyle,r=t.mapContainerClassName,a=t.center,l=t.onClick,c=t.onDblClick,g=t.onDrag,p=t.onDragEnd,d=t.onDragStart,h=t.onMouseMove,m=t.onMouseOut,f=t.onMouseOver,v=t.onMouseDown,y=t.onMouseUp,L=t.onRightClick,I=t.onCenterChanged,C=t.onLoad,w=t.onUnmount,k=e.useState(null),M=k[0],P=k[1],z=e.useRef(null),x=e.useState(null),E=x[0],S=x[1],O=e.useState(null),_=O[0],T=O[1],B=e.useState(null),D=B[0],R=B[1],A=e.useState(null),U=A[0],W=A[1],Z=e.useState(null),F=Z[0],j=Z[1],N=e.useState(null),V=N[0],H=N[1],$=e.useState(null),G=$[0],Y=$[1],J=e.useState(null),K=J[0],q=J[1],X=e.useState(null),Q=X[0],ee=X[1],te=e.useState(null),oe=te[0],ne=te[1],ie=e.useState(null),se=ie[0],re=ie[1],ae=e.useState(null),le=ae[0],ce=ae[1];return e.useEffect((function(){n&&null!==M&&M.setOptions(n)}),[M,n]),e.useEffect((function(){null!==M&&void 0!==a&&M.setCenter(a)}),[M,a]),e.useEffect((function(){M&&c&&(null!==_&&google.maps.event.removeListener(_),T(google.maps.event.addListener(M,"dblclick",c)))}),[c]),e.useEffect((function(){M&&p&&(null!==D&&google.maps.event.removeListener(D),R(google.maps.event.addListener(M,"dragend",p)))}),[p]),e.useEffect((function(){M&&d&&(null!==U&&google.maps.event.removeListener(U),W(google.maps.event.addListener(M,"dragstart",d)))}),[d]),e.useEffect((function(){M&&v&&(null!==F&&google.maps.event.removeListener(F),j(google.maps.event.addListener(M,"mousedown",v)))}),[v]),e.useEffect((function(){M&&h&&(null!==V&&google.maps.event.removeListener(V),H(google.maps.event.addListener(M,"mousemove",h)))}),[h]),e.useEffect((function(){M&&m&&(null!==G&&google.maps.event.removeListener(G),Y(google.maps.event.addListener(M,"mouseout",m)))}),[m]),e.useEffect((function(){M&&f&&(null!==K&&google.maps.event.removeListener(K),q(google.maps.event.addListener(M,"mouseover",f)))}),[f]),e.useEffect((function(){M&&y&&(null!==Q&&google.maps.event.removeListener(Q),ee(google.maps.event.addListener(M,"mouseup",y)))}),[y]),e.useEffect((function(){M&&L&&(null!==oe&&google.maps.event.removeListener(oe),ne(google.maps.event.addListener(M,"rightclick",L)))}),[L]),e.useEffect((function(){M&&l&&(null!==se&&google.maps.event.removeListener(se),re(google.maps.event.addListener(M,"click",l)))}),[l]),e.useEffect((function(){M&&g&&(null!==le&&google.maps.event.removeListener(le),ce(google.maps.event.addListener(M,"drag",g)))}),[g]),e.useEffect((function(){M&&I&&(null!==E&&google.maps.event.removeListener(E),S(google.maps.event.addListener(M,"center_changed",I)))}),[l]),e.useEffect((function(){var e=null===z.current?null:new google.maps.Map(z.current,n);return P(e),null!==e&&C&&C(e),function(){null!==e&&w&&w(e)}}),[]),u.jsx("div",{id:i,ref:z,style:s,className:r,children:u.jsx(b.Provider,{value:M,children:null!==M?o:null})})}));var S=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={map:null},t.registeredEvents=[],t.mapRef=null,t.getInstance=function(){return null===t.mapRef?null:new google.maps.Map(t.mapRef,t.props.options)},t.panTo=function(e){var o=t.getInstance();o&&o.panTo(e)},t.setMapCallback=function(){null!==t.state.map&&t.props.onLoad&&t.props.onLoad(t.state.map)},t.getRef=function(e){t.mapRef=e},t}return h(t,e),t.prototype.componentDidMount=function(){var e=this.getInstance();this.registeredEvents=z({updaterMap:E,eventMap:x,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{map:e}}),this.setMapCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.map&&(P(this.registeredEvents),this.registeredEvents=z({updaterMap:E,eventMap:x,prevProps:e,nextProps:this.props,instance:this.state.map}))},t.prototype.componentWillUnmount=function(){null!==this.state.map&&(this.props.onUnmount&&this.props.onUnmount(this.state.map),P(this.registeredEvents))},t.prototype.render=function(){return u.jsx("div",{id:this.props.id,ref:this.getRef,style:this.props.mapContainerStyle,className:this.props.mapContainerClassName,children:u.jsx(b.Provider,{value:this.state.map,children:null!==this.state.map?this.props.children:null})})},t}(e.PureComponent),O="undefined"!=typeof document;function _(e){var t=e.url,o=e.id,n=e.nonce;return O?new Promise((function(e,i){var s=document.getElementById(o),r=window;if(s){var a=s.getAttribute("data-state");if(s.src===t&&"error"!==a){if("ready"===a)return e(o);var l=r.initMap,c=s.onerror;return r.initMap=function(){l&&l(),e(o)},void(s.onerror=function(e){c&&c(e),i(e)})}s.remove()}var g=document.createElement("script");g.type="text/javascript",g.src=t,g.id=o,g.async=!0,g.nonce=n||"",g.onerror=function(e){g.setAttribute("data-state","error"),i(e)},r.initMap=function(){g.setAttribute("data-state","ready"),e(o)},document.head.appendChild(g)})).catch((function(e){throw console.error("injectScript error: ",e),e})):Promise.reject(new Error("document is undefined"))}function T(e){var t=e.href;return!(!t||0!==t.indexOf("https://fonts.googleapis.com/css?family=Roboto")&&0!==t.indexOf("https://fonts.googleapis.com/css?family=Google+Sans+Text"))||("style"===e.tagName.toLowerCase()&&e.styleSheet&&e.styleSheet.cssText&&0===e.styleSheet.cssText.replace("\r\n","").indexOf(".gm-style")?(e.styleSheet.cssText="",!0):"style"===e.tagName.toLowerCase()&&e.innerHTML&&0===e.innerHTML.replace("\r\n","").indexOf(".gm-style")?(e.innerHTML="",!0):"style"===e.tagName.toLowerCase()&&!e.styleSheet&&!e.innerHTML)}function B(){var e=document.getElementsByTagName("head")[0];if(e){var t=e.insertBefore.bind(e);e.insertBefore=function(o,n){return T(o)||Reflect.apply(t,e,[o,n]),o};var o=e.appendChild.bind(e);e.appendChild=function(t){return T(t)||Reflect.apply(o,e,[t]),t}}}function D(e){var t=e.googleMapsApiKey,o=e.googleMapsClientId,n=e.version,i=void 0===n?"weekly":n,s=e.language,r=e.region,a=e.libraries,l=e.channel,c=e.mapIds,g=e.authReferrerPolicy,p=[];return C(t&&o||!(t&&o),"You need to specify either googleMapsApiKey or googleMapsClientId for @react-google-maps/api load script to work. You cannot use both at the same time."),t?p.push("key=".concat(t)):o&&p.push("client=".concat(o)),i&&p.push("v=".concat(i)),s&&p.push("language=".concat(s)),r&&p.push("region=".concat(r)),a&&a.length&&p.push("libraries=".concat(a.sort().join(","))),l&&p.push("channel=".concat(l)),c&&c.length&&p.push("map_ids=".concat(c.join(","))),g&&p.push("auth_referrer_policy=".concat(g)),p.push("callback=initMap"),"https://maps.googleapis.com/maps/api/js?".concat(p.join("&"))}var R=!1;function A(){return u.jsx("div",{children:"Loading..."})}var U,W={id:"script-loader",version:"weekly"};!function(t){function o(){var o=null!==t&&t.apply(this,arguments)||this;return o.check=e.createRef(),o.state={loaded:!1},o.cleanupCallback=function(){delete window.google.maps,o.injectScript()},o.isCleaningUp=function(){return v(o,0,void 0,(function(){function e(e){if(R){if(O)var t=window.setInterval((function(){R||(window.clearInterval(t),e())}),1)}else e()}return y(this,(function(t){return[2,new Promise(e)]}))}))},o.cleanup=function(){R=!0;var e=document.getElementById(o.props.id);e&&e.parentNode&&e.parentNode.removeChild(e),Array.prototype.slice.call(document.getElementsByTagName("script")).filter((function(e){return"string"==typeof e.src&&e.src.includes("maps.googleapis")})).forEach((function(e){e.parentNode&&e.parentNode.removeChild(e)})),Array.prototype.slice.call(document.getElementsByTagName("link")).filter((function(e){return"https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Google+Sans"===e.href})).forEach((function(e){e.parentNode&&e.parentNode.removeChild(e)})),Array.prototype.slice.call(document.getElementsByTagName("style")).filter((function(e){return void 0!==e.innerText&&e.innerText.length>0&&e.innerText.includes(".gm-")})).forEach((function(e){e.parentNode&&e.parentNode.removeChild(e)}))},o.injectScript=function(){o.props.preventGoogleFontsLoading&&B(),C(!!o.props.id,'LoadScript requires "id" prop to be a string: %s',o.props.id),_({id:o.props.id,nonce:o.props.nonce,url:D(o.props)}).then((function(){o.props.onLoad&&o.props.onLoad(),o.setState((function(){return{loaded:!0}}))})).catch((function(e){o.props.onError&&o.props.onError(e),console.error("\n There has been an Error with loading Google Maps API script, please check that you provided correct google API key (".concat(o.props.googleMapsApiKey||"-",") or Client ID (").concat(o.props.googleMapsClientId||"-",") to <LoadScript />\n Otherwise it is a Network issue.\n "))}))},o}h(o,t),o.prototype.componentDidMount=function(){if(O){if(window.google&&window.google.maps&&!R)return void console.error("google api is already presented");this.isCleaningUp().then(this.injectScript).catch((function(e){console.error("Error at injecting script after cleaning up: ",e)}))}},o.prototype.componentDidUpdate=function(e){this.props.libraries!==e.libraries&&console.warn("Performance warning! LoadScript has been reloaded unintentionally! You should not pass `libraries` prop as new array. Please keep an array of libraries as static class property for Components and PureComponents, or just a const variable outside of component, or somewhere in config files or ENV variables"),O&&e.language!==this.props.language&&(this.cleanup(),this.setState((function(){return{loaded:!1}}),this.cleanupCallback))},o.prototype.componentWillUnmount=function(){var e=this;if(O){this.cleanup();window.setTimeout((function(){e.check.current||(delete window.google,R=!1)}),1),this.props.onUnmount&&this.props.onUnmount()}},o.prototype.render=function(){return u.jsxs(u.Fragment,{children:[u.jsx("div",{ref:this.check}),this.state.loaded?this.props.children:this.props.loadingElement||u.jsx(A,{})]})},o.defaultProps=W}(e.PureComponent);var Z=u.jsx(A,{});
25
25
  /*! *****************************************************************************
26
26
  Copyright (c) Microsoft Corporation.
27
27
 
@@ -36,7 +36,7 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
36
36
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
37
37
  PERFORMANCE OF THIS SOFTWARE.
38
38
  ***************************************************************************** */
39
- function F(e,t,o,n){return new(o||(o=Promise))((function(t,i){function s(e){try{a(n.next(e))}catch(e){i(e)}}function r(e){try{a(n.throw(e))}catch(e){i(e)}}function a(e){var n;e.done?t(e.value):(n=e.value,n instanceof o?n:new o((function(e){e(n)}))).then(s,r)}a((n=n.apply(e,[])).next())}))}e.memo((function(t){var o=t.loadingElement,n=t.onLoad,i=t.onError,s=t.onUnmount,r=t.children,a=function(t){var o=t.id,n=void 0===o?W.id:o,i=t.version,s=void 0===i?W.version:i,r=t.nonce,a=t.googleMapsApiKey,l=t.googleMapsClientId,c=t.language,g=t.region,p=t.libraries,u=t.preventGoogleFontsLoading,d=t.channel,h=t.mapIds,m=t.authReferrerPolicy,f=e.useRef(!1),v=e.useState(!1),y=v[0],L=v[1],I=e.useState(void 0),b=I[0],w=I[1];e.useEffect((function(){return f.current=!0,function(){f.current=!1}}),[]),e.useEffect((function(){O&&u&&B()}),[u]),e.useEffect((function(){y&&C(!!window.google,"useLoadScript was marked as loaded, but window.google is not present. Something went wrong.")}),[y]);var k=R({version:s,googleMapsApiKey:a,googleMapsClientId:l,language:c,region:g,libraries:p,channel:d,mapIds:h,authReferrerPolicy:m});e.useEffect((function(){function e(){f.current&&(L(!0),U=k)}O&&(window.google&&window.google.maps&&U===k?e():_({id:n,url:k,nonce:r}).then(e).catch((function(e){f.current&&w(e),console.warn("\n There has been an Error with loading Google Maps API script, please check that you provided correct google API key (".concat(a||"-",") or Client ID (").concat(l||"-",")\n Otherwise it is a Network issue.\n ")),console.error(e)})))}),[n,k,r]);var M=e.useRef();return e.useEffect((function(){M.current&&p!==M.current&&console.warn("Performance warning! LoadScript has been reloaded unintentionally! You should not pass `libraries` prop as new array. Please keep an array of libraries as static class property for Components and PureComponents, or just a const variable outside of component, or somewhere in config files or ENV variables"),M.current=p}),[p]),{isLoaded:y,loadError:b,url:k}}(f(t,["loadingElement","onLoad","onError","onUnmount","children"])),l=a.isLoaded,c=a.loadError;return e.useEffect((function(){l&&"function"==typeof n&&n()}),[l,n]),e.useEffect((function(){c&&"function"==typeof i&&i(c)}),[c,i]),e.useEffect((function(){return function(){s&&s()}}),[s]),l?r:o||Z}));var j=function e(t,o){if(t===o)return!0;if(t&&o&&"object"==typeof t&&"object"==typeof o){if(t.constructor!==o.constructor)return!1;var n,i,s;if(Array.isArray(t)){if((n=t.length)!=o.length)return!1;for(i=n;0!=i--;)if(!e(t[i],o[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===o.source&&t.flags===o.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===o.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===o.toString();if((n=(s=Object.keys(t)).length)!==Object.keys(o).length)return!1;for(i=n;0!=i--;)if(!Object.prototype.hasOwnProperty.call(o,s[i]))return!1;for(i=n;0!=i--;){var r=s[i];if(!e(t[r],o[r]))return!1}return!0}return t!=t&&o!=o};const N="__googleMapsScriptId";var V;!function(e){e[e.INITIALIZED=0]="INITIALIZED",e[e.LOADING=1]="LOADING",e[e.SUCCESS=2]="SUCCESS",e[e.FAILURE=3]="FAILURE"}(V||(V={}));class H{constructor({apiKey:e,authReferrerPolicy:t,channel:o,client:n,id:i=N,language:s,libraries:r=[],mapIds:a,nonce:l,region:c,retries:g=3,url:p="https://maps.googleapis.com/maps/api/js",version:u}){if(this.callbacks=[],this.done=!1,this.loading=!1,this.errors=[],this.apiKey=e,this.authReferrerPolicy=t,this.channel=o,this.client=n,this.id=i||N,this.language=s,this.libraries=r,this.mapIds=a,this.nonce=l,this.region=c,this.retries=g,this.url=p,this.version=u,H.instance){if(!j(this.options,H.instance.options))throw new Error(`Loader must not be called again with different options. ${JSON.stringify(this.options)} !== ${JSON.stringify(H.instance.options)}`);return H.instance}H.instance=this}get options(){return{version:this.version,apiKey:this.apiKey,channel:this.channel,client:this.client,id:this.id,libraries:this.libraries,language:this.language,region:this.region,mapIds:this.mapIds,nonce:this.nonce,url:this.url,authReferrerPolicy:this.authReferrerPolicy}}get status(){return this.errors.length?V.FAILURE:this.done?V.SUCCESS:this.loading?V.LOADING:V.INITIALIZED}get failed(){return this.done&&!this.loading&&this.errors.length>=this.retries+1}createUrl(){let e=this.url;return e+="?callback=__googleMapsCallback",this.apiKey&&(e+=`&key=${this.apiKey}`),this.channel&&(e+=`&channel=${this.channel}`),this.client&&(e+=`&client=${this.client}`),this.libraries.length>0&&(e+=`&libraries=${this.libraries.join(",")}`),this.language&&(e+=`&language=${this.language}`),this.region&&(e+=`&region=${this.region}`),this.version&&(e+=`&v=${this.version}`),this.mapIds&&(e+=`&map_ids=${this.mapIds.join(",")}`),this.authReferrerPolicy&&(e+=`&auth_referrer_policy=${this.authReferrerPolicy}`),e}deleteScript(){const e=document.getElementById(this.id);e&&e.remove()}load(){return this.loadPromise()}loadPromise(){return new Promise(((e,t)=>{this.loadCallback((o=>{o?t(o.error):e(window.google)}))}))}importLibrary(e){return this.execute(),google.maps.importLibrary(e)}loadCallback(e){this.callbacks.push(e),this.execute()}setScript(){var e,t;if(document.getElementById(this.id))return void this.callback();const o={key:this.apiKey,channel:this.channel,client:this.client,libraries:this.libraries.length&&this.libraries,v:this.version,mapIds:this.mapIds,language:this.language,region:this.region,authReferrerPolicy:this.authReferrerPolicy};Object.keys(o).forEach((e=>!o[e]&&delete o[e])),(null===(t=null===(e=null===window||void 0===window?void 0:window.google)||void 0===e?void 0:e.maps)||void 0===t?void 0:t.importLibrary)||(e=>{let t,o,n,i="The Google Maps JavaScript API",s="google",r="importLibrary",a="__ib__",l=document,c=window;c=c[s]||(c[s]={});const g=c.maps||(c.maps={}),p=new Set,u=new URLSearchParams,d=()=>t||(t=new Promise(((r,c)=>F(this,0,void 0,(function*(){var d;for(n in yield o=l.createElement("script"),o.id=this.id,u.set("libraries",[...p]+""),e)u.set(n.replace(/[A-Z]/g,(e=>"_"+e[0].toLowerCase())),e[n]);u.set("callback",s+".maps."+a),o.src=this.url+"?"+u,g[a]=r,o.onerror=()=>t=c(Error(i+" could not load.")),o.nonce=this.nonce||(null===(d=l.querySelector("script[nonce]"))||void 0===d?void 0:d.nonce)||"",l.head.append(o)})))));g[r]?console.warn(i+" only loads once. Ignoring:",e):g[r]=(e,...t)=>p.add(e)&&d().then((()=>g[r](e,...t)))})(o);const n=this.libraries.map((e=>this.importLibrary(e)));n.length||n.push(this.importLibrary("core")),Promise.all(n).then((()=>this.callback()),(e=>{const t=new ErrorEvent("error",{error:e});this.loadErrorCallback(t)}))}reset(){this.deleteScript(),this.done=!1,this.loading=!1,this.errors=[],this.onerrorEvent=null}resetIfRetryingFailed(){this.failed&&this.reset()}loadErrorCallback(e){if(this.errors.push(e),this.errors.length<=this.retries){const e=this.errors.length*Math.pow(2,this.errors.length);console.error(`Failed to load Google Maps script, retrying in ${e} ms.`),setTimeout((()=>{this.deleteScript(),this.setScript()}),e)}else this.onerrorEvent=e,this.callback()}callback(){this.done=!0,this.loading=!1,this.callbacks.forEach((e=>{e(this.onerrorEvent)})),this.callbacks=[]}execute(){if(this.resetIfRetryingFailed(),this.done)this.callback();else{if(window.google&&window.google.maps&&window.google.maps.version)return console.warn("Google Maps already loaded outside @googlemaps/js-api-loader.This may result in undesirable behavior as options and script parameters may not match."),void this.callback();this.loading||(this.loading=!0,this.setScript())}}}var $=["maps"];var G={},Y={options:function(e,t){e.setOptions(t)}};e.memo((function(t){var o=t.options,n=t.onLoad,i=t.onUnmount,s=e.useContext(b),r=e.useState(null),a=r[0],l=r[1];return e.useEffect((function(){null!==a&&a.setMap(s)}),[s]),e.useEffect((function(){o&&null!==a&&a.setOptions(o)}),[a,o]),e.useEffect((function(){var e=new google.maps.TrafficLayer(m(m({},o||{}),{map:s}));return l(e),n&&n(e),function(){null!==a&&(i&&i(a),a.setMap(null))}}),[]),null})),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={trafficLayer:null},t.setTrafficLayerCallback=function(){null!==t.state.trafficLayer&&t.props.onLoad&&t.props.onLoad(t.state.trafficLayer)},t.registeredEvents=[],t}h(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.TrafficLayer(m(m({},this.props.options||{}),{map:this.context}));this.registeredEvents=P({updaterMap:Y,eventMap:G,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{trafficLayer:e}}),this.setTrafficLayerCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.trafficLayer&&(z(this.registeredEvents),this.registeredEvents=P({updaterMap:Y,eventMap:G,prevProps:e,nextProps:this.props,instance:this.state.trafficLayer}))},t.prototype.componentWillUnmount=function(){null!==this.state.trafficLayer&&(this.props.onUnmount&&this.props.onUnmount(this.state.trafficLayer),z(this.registeredEvents),this.state.trafficLayer.setMap(null))},t.prototype.render=function(){return null},t.contextType=b}(e.PureComponent),e.memo((function(t){var o=t.onLoad,n=t.onUnmount,i=e.useContext(b),s=e.useState(null),r=s[0],a=s[1];return e.useEffect((function(){null!==r&&r.setMap(i)}),[i]),e.useEffect((function(){var e=new google.maps.BicyclingLayer;return a(e),e.setMap(i),o&&o(e),function(){null!==e&&(n&&n(e),e.setMap(null))}}),[]),null})),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={bicyclingLayer:null},t.setBicyclingLayerCallback=function(){null!==t.state.bicyclingLayer&&(t.state.bicyclingLayer.setMap(t.context),t.props.onLoad&&t.props.onLoad(t.state.bicyclingLayer))},t}h(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.BicyclingLayer;this.setState((function(){return{bicyclingLayer:e}}),this.setBicyclingLayerCallback)},t.prototype.componentWillUnmount=function(){null!==this.state.bicyclingLayer&&(this.props.onUnmount&&this.props.onUnmount(this.state.bicyclingLayer),this.state.bicyclingLayer.setMap(null))},t.prototype.render=function(){return null},t.contextType=b}(e.PureComponent),e.memo((function(t){var o=t.onLoad,n=t.onUnmount,i=e.useContext(b),s=e.useState(null),r=s[0],a=s[1];return e.useEffect((function(){null!==r&&r.setMap(i)}),[i]),e.useEffect((function(){var e=new google.maps.TransitLayer;return a(e),e.setMap(i),o&&o(e),function(){null!==r&&(n&&n(r),r.setMap(null))}}),[]),null})),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={transitLayer:null},t.setTransitLayerCallback=function(){null!==t.state.transitLayer&&(t.state.transitLayer.setMap(t.context),t.props.onLoad&&t.props.onLoad(t.state.transitLayer))},t}h(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.TransitLayer;this.setState((function(){return{transitLayer:e}}),this.setTransitLayerCallback)},t.prototype.componentWillUnmount=function(){null!==this.state.transitLayer&&(this.props.onUnmount&&this.props.onUnmount(this.state.transitLayer),this.state.transitLayer.setMap(null))},t.prototype.render=function(){return null},t.contextType=b}(e.PureComponent);var J={onCircleComplete:"circlecomplete",onMarkerComplete:"markercomplete",onOverlayComplete:"overlaycomplete",onPolygonComplete:"polygoncomplete",onPolylineComplete:"polylinecomplete",onRectangleComplete:"rectanglecomplete"},K={drawingMode:function(e,t){e.setDrawingMode(t)},options:function(e,t){e.setOptions(t)}};e.memo((function(t){var o=t.options,n=t.drawingMode,i=t.onCircleComplete,s=t.onMarkerComplete,r=t.onOverlayComplete,a=t.onPolygonComplete,l=t.onPolylineComplete,c=t.onRectangleComplete,g=t.onLoad,p=t.onUnmount,u=e.useContext(b),d=e.useState(null),h=d[0],f=d[1],v=e.useState(null),y=v[0],L=v[1],I=e.useState(null),w=I[0],k=I[1],M=e.useState(null),z=M[0],P=M[1],x=e.useState(null),E=x[0],S=x[1],O=e.useState(null),_=O[0],T=O[1],B=e.useState(null),R=B[0],D=B[1];return e.useEffect((function(){null!==h&&h.setMap(u)}),[u]),e.useEffect((function(){o&&null!==h&&h.setOptions(o)}),[h,o]),e.useEffect((function(){null!==h&&h.setDrawingMode(null!=n?n:null)}),[h,n]),e.useEffect((function(){h&&i&&(null!==y&&google.maps.event.removeListener(y),L(google.maps.event.addListener(h,"circlecomplete",i)))}),[h,i]),e.useEffect((function(){h&&s&&(null!==w&&google.maps.event.removeListener(w),k(google.maps.event.addListener(h,"markercomplete",s)))}),[h,s]),e.useEffect((function(){h&&r&&(null!==z&&google.maps.event.removeListener(z),P(google.maps.event.addListener(h,"overlaycomplete",r)))}),[h,r]),e.useEffect((function(){h&&a&&(null!==E&&google.maps.event.removeListener(E),S(google.maps.event.addListener(h,"polygoncomplete",a)))}),[h,a]),e.useEffect((function(){h&&l&&(null!==_&&google.maps.event.removeListener(_),T(google.maps.event.addListener(h,"polylinecomplete",l)))}),[h,l]),e.useEffect((function(){h&&c&&(null!==R&&google.maps.event.removeListener(R),D(google.maps.event.addListener(h,"rectanglecomplete",c)))}),[h,c]),e.useEffect((function(){C(!!google.maps.drawing,"Did you include prop libraries={['drawing']} in the URL? %s",google.maps.drawing);var e=new google.maps.drawing.DrawingManager(m(m({},o||{}),{map:u}));return n&&e.setDrawingMode(n),i&&L(google.maps.event.addListener(e,"circlecomplete",i)),s&&k(google.maps.event.addListener(e,"markercomplete",s)),r&&P(google.maps.event.addListener(e,"overlaycomplete",r)),a&&S(google.maps.event.addListener(e,"polygoncomplete",a)),l&&T(google.maps.event.addListener(e,"polylinecomplete",l)),c&&D(google.maps.event.addListener(e,"rectanglecomplete",c)),f(e),g&&g(e),function(){null!==h&&(y&&google.maps.event.removeListener(y),w&&google.maps.event.removeListener(w),z&&google.maps.event.removeListener(z),E&&google.maps.event.removeListener(E),_&&google.maps.event.removeListener(_),R&&google.maps.event.removeListener(R),p&&p(h),h.setMap(null))}}),[]),null})),function(e){function t(t){var o=e.call(this,t)||this;return o.registeredEvents=[],o.state={drawingManager:null},o.setDrawingManagerCallback=function(){null!==o.state.drawingManager&&o.props.onLoad&&o.props.onLoad(o.state.drawingManager)},C(!!google.maps.drawing,"Did you include prop libraries={['drawing']} in the URL? %s",google.maps.drawing),o}h(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.drawing.DrawingManager(m(m({},this.props.options||{}),{map:this.context}));this.registeredEvents=P({updaterMap:K,eventMap:J,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{drawingManager:e}}),this.setDrawingManagerCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.drawingManager&&(z(this.registeredEvents),this.registeredEvents=P({updaterMap:K,eventMap:J,prevProps:e,nextProps:this.props,instance:this.state.drawingManager}))},t.prototype.componentWillUnmount=function(){null!==this.state.drawingManager&&(this.props.onUnmount&&this.props.onUnmount(this.state.drawingManager),z(this.registeredEvents),this.state.drawingManager.setMap(null))},t.prototype.render=function(){return null},t.contextType=b}(e.PureComponent);var q={onAnimationChanged:"animation_changed",onClick:"click",onClickableChanged:"clickable_changed",onCursorChanged:"cursor_changed",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDraggableChanged:"draggable_changed",onDragStart:"dragstart",onFlatChanged:"flat_changed",onIconChanged:"icon_changed",onMouseDown:"mousedown",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onPositionChanged:"position_changed",onRightClick:"rightclick",onShapeChanged:"shape_changed",onTitleChanged:"title_changed",onVisibleChanged:"visible_changed",onZindexChanged:"zindex_changed"},X={animation:function(e,t){e.setAnimation(t)},clickable:function(e,t){e.setClickable(t)},cursor:function(e,t){e.setCursor(t)},draggable:function(e,t){e.setDraggable(t)},icon:function(e,t){e.setIcon(t)},label:function(e,t){e.setLabel(t)},map:function(e,t){e.setMap(t)},opacity:function(e,t){e.setOpacity(t)},options:function(e,t){e.setOptions(t)},position:function(e,t){e.setPosition(t)},shape:function(e,t){e.setShape(t)},title:function(e,t){e.setTitle(t)},visible:function(e,t){e.setVisible(t)},zIndex:function(e,t){e.setZIndex(t)}},Q={};e.memo((function(t){var o=t.position,n=t.options,i=t.clusterer,s=t.noClustererRedraw,r=t.children,a=t.draggable,l=t.visible,c=t.animation,g=t.clickable,p=t.cursor,d=t.icon,h=t.label,f=t.opacity,v=t.shape,y=t.title,L=t.zIndex,I=t.onClick,C=t.onDblClick,w=t.onDrag,k=t.onDragEnd,M=t.onDragStart,z=t.onMouseOut,P=t.onMouseOver,x=t.onMouseUp,E=t.onMouseDown,S=t.onRightClick,O=t.onClickableChanged,_=t.onCursorChanged,T=t.onAnimationChanged,B=t.onDraggableChanged,R=t.onFlatChanged,D=t.onIconChanged,A=t.onPositionChanged,U=t.onShapeChanged,W=t.onTitleChanged,Z=t.onVisibleChanged,F=t.onZindexChanged,j=t.onLoad,N=t.onUnmount,V=e.useContext(b),H=e.useState(null),$=H[0],G=H[1],Y=e.useState(null),J=Y[0],K=Y[1],q=e.useState(null),X=q[0],ee=q[1],te=e.useState(null),oe=te[0],ne=te[1],ie=e.useState(null),se=ie[0],re=ie[1],ae=e.useState(null),le=ae[0],ce=ae[1],ge=e.useState(null),pe=ge[0],ue=ge[1],de=e.useState(null),he=de[0],me=de[1],fe=e.useState(null),ve=fe[0],ye=fe[1],Le=e.useState(null),Ie=Le[0],Ce=Le[1],be=e.useState(null),we=be[0],ke=be[1],Me=e.useState(null),ze=Me[0],Pe=Me[1],xe=e.useState(null),Ee=xe[0],Se=xe[1],Oe=e.useState(null),_e=Oe[0],Te=Oe[1],Be=e.useState(null),Re=Be[0],De=Be[1],Ae=e.useState(null),Ue=Ae[0],We=Ae[1],Ze=e.useState(null),Fe=Ze[0],je=Ze[1],Ne=e.useState(null),Ve=Ne[0],He=Ne[1],$e=e.useState(null),Ge=$e[0],Ye=$e[1],Je=e.useState(null),Ke=Je[0],qe=Je[1],Xe=e.useState(null),Qe=Xe[0],et=Xe[1],tt=e.useState(null),ot=tt[0],nt=tt[1];e.useEffect((function(){null!==$&&$.setMap(V)}),[V]),e.useEffect((function(){void 0!==n&&null!==$&&$.setOptions(n)}),[$,n]),e.useEffect((function(){void 0!==a&&null!==$&&$.setDraggable(a)}),[$,a]),e.useEffect((function(){o&&null!==$&&$.setPosition(o)}),[$,o]),e.useEffect((function(){void 0!==l&&null!==$&&$.setVisible(l)}),[$,l]),e.useEffect((function(){null==$||$.setAnimation(c)}),[$,c]),e.useEffect((function(){$&&void 0!==g&&$.setClickable(g)}),[$,g]),e.useEffect((function(){$&&void 0!==p&&$.setCursor(p)}),[$,p]),e.useEffect((function(){$&&void 0!==d&&$.setIcon(d)}),[$,d]),e.useEffect((function(){$&&void 0!==h&&$.setLabel(h)}),[$,h]),e.useEffect((function(){$&&void 0!==f&&$.setOpacity(f)}),[$,f]),e.useEffect((function(){$&&void 0!==v&&$.setShape(v)}),[$,v]),e.useEffect((function(){$&&void 0!==y&&$.setTitle(y)}),[$,y]),e.useEffect((function(){$&&void 0!==L&&$.setZIndex(L)}),[$,L]),e.useEffect((function(){$&&C&&(null!==J&&google.maps.event.removeListener(J),K(google.maps.event.addListener($,"dblclick",C)))}),[C]),e.useEffect((function(){$&&k&&(null!==X&&google.maps.event.removeListener(X),ee(google.maps.event.addListener($,"dragend",k)))}),[k]),e.useEffect((function(){$&&M&&(null!==oe&&google.maps.event.removeListener(oe),ne(google.maps.event.addListener($,"dragstart",M)))}),[M]),e.useEffect((function(){$&&E&&(null!==se&&google.maps.event.removeListener(se),re(google.maps.event.addListener($,"mousedown",E)))}),[E]),e.useEffect((function(){$&&z&&(null!==le&&google.maps.event.removeListener(le),ce(google.maps.event.addListener($,"mouseout",z)))}),[z]),e.useEffect((function(){$&&P&&(null!==pe&&google.maps.event.removeListener(pe),ue(google.maps.event.addListener($,"mouseover",P)))}),[P]),e.useEffect((function(){$&&x&&(null!==he&&google.maps.event.removeListener(he),me(google.maps.event.addListener($,"mouseup",x)))}),[x]),e.useEffect((function(){$&&S&&(null!==ve&&google.maps.event.removeListener(ve),ye(google.maps.event.addListener($,"rightclick",S)))}),[S]),e.useEffect((function(){$&&I&&(null!==Ie&&google.maps.event.removeListener(Ie),Ce(google.maps.event.addListener($,"click",I)))}),[I]),e.useEffect((function(){$&&w&&(null!==we&&google.maps.event.removeListener(we),ke(google.maps.event.addListener($,"drag",w)))}),[w]),e.useEffect((function(){$&&O&&(null!==ze&&google.maps.event.removeListener(ze),Pe(google.maps.event.addListener($,"clickable_changed",O)))}),[O]),e.useEffect((function(){$&&_&&(null!==Ee&&google.maps.event.removeListener(Ee),Se(google.maps.event.addListener($,"cursor_changed",_)))}),[_]),e.useEffect((function(){$&&T&&(null!==_e&&google.maps.event.removeListener(_e),Te(google.maps.event.addListener($,"animation_changed",T)))}),[T]),e.useEffect((function(){$&&B&&(null!==Re&&google.maps.event.removeListener(Re),De(google.maps.event.addListener($,"draggable_changed",B)))}),[B]),e.useEffect((function(){$&&R&&(null!==Ue&&google.maps.event.removeListener(Ue),We(google.maps.event.addListener($,"flat_changed",R)))}),[R]),e.useEffect((function(){$&&D&&(null!==Fe&&google.maps.event.removeListener(Fe),je(google.maps.event.addListener($,"icon_changed",D)))}),[D]),e.useEffect((function(){$&&A&&(null!==Ve&&google.maps.event.removeListener(Ve),He(google.maps.event.addListener($,"position_changed",A)))}),[A]),e.useEffect((function(){$&&U&&(null!==Ge&&google.maps.event.removeListener(Ge),Ye(google.maps.event.addListener($,"shape_changed",U)))}),[U]),e.useEffect((function(){$&&W&&(null!==Ke&&google.maps.event.removeListener(Ke),qe(google.maps.event.addListener($,"title_changed",W)))}),[W]),e.useEffect((function(){$&&Z&&(null!==Qe&&google.maps.event.removeListener(Qe),et(google.maps.event.addListener($,"visible_changed",Z)))}),[Z]),e.useEffect((function(){$&&F&&(null!==ot&&google.maps.event.removeListener(ot),nt(google.maps.event.addListener($,"zindex_changed",F)))}),[F]),e.useEffect((function(){var e=m(m(m({},n||Q),i?Q:{map:V}),{position:o}),t=new google.maps.Marker(e);return i?i.addMarker(t,!!s):t.setMap(V),o&&t.setPosition(o),void 0!==l&&t.setVisible(l),void 0!==a&&t.setDraggable(a),void 0!==g&&t.setClickable(g),"string"==typeof p&&t.setCursor(p),d&&t.setIcon(d),void 0!==h&&t.setLabel(h),void 0!==f&&t.setOpacity(f),v&&t.setShape(v),"string"==typeof y&&t.setTitle(y),"number"==typeof L&&t.setZIndex(L),C&&K(google.maps.event.addListener(t,"dblclick",C)),k&&ee(google.maps.event.addListener(t,"dragend",k)),M&&ne(google.maps.event.addListener(t,"dragstart",M)),E&&re(google.maps.event.addListener(t,"mousedown",E)),z&&ce(google.maps.event.addListener(t,"mouseout",z)),P&&ue(google.maps.event.addListener(t,"mouseover",P)),x&&me(google.maps.event.addListener(t,"mouseup",x)),S&&ye(google.maps.event.addListener(t,"rightclick",S)),I&&Ce(google.maps.event.addListener(t,"click",I)),w&&ke(google.maps.event.addListener(t,"drag",w)),O&&Pe(google.maps.event.addListener(t,"clickable_changed",O)),_&&Se(google.maps.event.addListener(t,"cursor_changed",_)),T&&Te(google.maps.event.addListener(t,"animation_changed",T)),B&&De(google.maps.event.addListener(t,"draggable_changed",B)),R&&We(google.maps.event.addListener(t,"flat_changed",R)),D&&je(google.maps.event.addListener(t,"icon_changed",D)),A&&He(google.maps.event.addListener(t,"position_changed",A)),U&&Ye(google.maps.event.addListener(t,"shape_changed",U)),W&&qe(google.maps.event.addListener(t,"title_changed",W)),Z&&et(google.maps.event.addListener(t,"visible_changed",Z)),F&&nt(google.maps.event.addListener(t,"zindex_changed",F)),G(t),j&&j(t),function(){null!==J&&google.maps.event.removeListener(J),null!==X&&google.maps.event.removeListener(X),null!==oe&&google.maps.event.removeListener(oe),null!==se&&google.maps.event.removeListener(se),null!==le&&google.maps.event.removeListener(le),null!==pe&&google.maps.event.removeListener(pe),null!==he&&google.maps.event.removeListener(he),null!==ve&&google.maps.event.removeListener(ve),null!==Ie&&google.maps.event.removeListener(Ie),null!==ze&&google.maps.event.removeListener(ze),null!==Ee&&google.maps.event.removeListener(Ee),null!==_e&&google.maps.event.removeListener(_e),null!==Re&&google.maps.event.removeListener(Re),null!==Ue&&google.maps.event.removeListener(Ue),null!==Fe&&google.maps.event.removeListener(Fe),null!==Ve&&google.maps.event.removeListener(Ve),null!==Ke&&google.maps.event.removeListener(Ke),null!==Qe&&google.maps.event.removeListener(Qe),null!==ot&&google.maps.event.removeListener(ot),N&&N(t),i?i.removeMarker(t,!!s):t&&t.setMap(null)}}),[]);var it=e.useMemo((function(){return r?e.Children.map(r,(function(t){if(!e.isValidElement(t))return t;var o=t;return e.cloneElement(o,{anchor:$})})):null}),[r,$]);return u.jsx(u.Fragment,{children:it})||null})),function(t){function o(){var e=null!==t&&t.apply(this,arguments)||this;return e.registeredEvents=[],e}h(o,t),o.prototype.componentDidMount=function(){var e=m(m(m({},this.props.options||Q),this.props.clusterer?Q:{map:this.context}),{position:this.props.position});this.marker=new google.maps.Marker(e),this.props.clusterer?this.props.clusterer.addMarker(this.marker,!!this.props.noClustererRedraw):this.marker.setMap(this.context),this.registeredEvents=P({updaterMap:X,eventMap:q,prevProps:{},nextProps:this.props,instance:this.marker}),this.props.onLoad&&this.props.onLoad(this.marker)},o.prototype.componentDidUpdate=function(e){this.marker&&(z(this.registeredEvents),this.registeredEvents=P({updaterMap:X,eventMap:q,prevProps:e,nextProps:this.props,instance:this.marker}))},o.prototype.componentWillUnmount=function(){this.marker&&(this.props.onUnmount&&this.props.onUnmount(this.marker),z(this.registeredEvents),this.props.clusterer?this.props.clusterer.removeMarker(this.marker,!!this.props.noClustererRedraw):this.marker&&this.marker.setMap(null))},o.prototype.render=function(){var t=this,o=null;return this.props.children&&(o=e.Children.map(this.props.children,(function(o){if(!e.isValidElement(o))return o;var n=o;return e.cloneElement(n,{anchor:t.marker})}))),o||null},o.contextType=b}(e.PureComponent);var ee=function(){function e(t,o){t.getClusterer().extend(e,google.maps.OverlayView),this.cluster=t,this.clusterClassName=this.cluster.getClusterer().getClusterClass(),this.className=this.clusterClassName,this.styles=o,this.center=void 0,this.div=null,this.sums=null,this.visible=!1,this.boundsChangedListener=null,this.url="",this.height=0,this.width=0,this.anchorText=[0,0],this.anchorIcon=[0,0],this.textColor="black",this.textSize=11,this.textDecoration="none",this.fontWeight="bold",this.fontStyle="normal",this.fontFamily="Arial,sans-serif",this.backgroundPosition="0 0",this.cMouseDownInCluster=null,this.cDraggingMapByCluster=null,this.timeOut=null,this.setMap(t.getMap()),this.onBoundsChanged=this.onBoundsChanged.bind(this),this.onMouseDown=this.onMouseDown.bind(this),this.onClick=this.onClick.bind(this),this.onMouseOver=this.onMouseOver.bind(this),this.onMouseOut=this.onMouseOut.bind(this),this.onAdd=this.onAdd.bind(this),this.onRemove=this.onRemove.bind(this),this.draw=this.draw.bind(this),this.hide=this.hide.bind(this),this.show=this.show.bind(this),this.useStyle=this.useStyle.bind(this),this.setCenter=this.setCenter.bind(this),this.getPosFromLatLng=this.getPosFromLatLng.bind(this)}return e.prototype.onBoundsChanged=function(){this.cDraggingMapByCluster=this.cMouseDownInCluster},e.prototype.onMouseDown=function(){this.cMouseDownInCluster=!0,this.cDraggingMapByCluster=!1},e.prototype.onClick=function(e){if(this.cMouseDownInCluster=!1,!this.cDraggingMapByCluster){var t=this.cluster.getClusterer();if(google.maps.event.trigger(t,"click",this.cluster),google.maps.event.trigger(t,"clusterclick",this.cluster),t.getZoomOnClick()){var o=t.getMaxZoom(),n=this.cluster.getBounds(),i=t.getMap();null!==i&&"fitBounds"in i&&i.fitBounds(n),this.timeOut=window.setTimeout((function(){var e=t.getMap();if(null!==e){"fitBounds"in e&&e.fitBounds(n);var i=e.getZoom()||0;null!==o&&i>o&&e.setZoom(o+1)}}),100)}e.cancelBubble=!0,e.stopPropagation&&e.stopPropagation()}},e.prototype.onMouseOver=function(){google.maps.event.trigger(this.cluster.getClusterer(),"mouseover",this.cluster)},e.prototype.onMouseOut=function(){google.maps.event.trigger(this.cluster.getClusterer(),"mouseout",this.cluster)},e.prototype.onAdd=function(){var e;this.div=document.createElement("div"),this.div.className=this.className,this.visible&&this.show(),null===(e=this.getPanes())||void 0===e||e.overlayMouseTarget.appendChild(this.div);var t=this.getMap();null!==t&&(this.boundsChangedListener=google.maps.event.addListener(t,"bounds_changed",this.onBoundsChanged),this.div.addEventListener("mousedown",this.onMouseDown),this.div.addEventListener("click",this.onClick),this.div.addEventListener("mouseover",this.onMouseOver),this.div.addEventListener("mouseout",this.onMouseOut))},e.prototype.onRemove=function(){this.div&&this.div.parentNode&&(this.hide(),null!==this.boundsChangedListener&&google.maps.event.removeListener(this.boundsChangedListener),this.div.removeEventListener("mousedown",this.onMouseDown),this.div.removeEventListener("click",this.onClick),this.div.removeEventListener("mouseover",this.onMouseOver),this.div.removeEventListener("mouseout",this.onMouseOut),this.div.parentNode.removeChild(this.div),null!==this.timeOut&&(window.clearTimeout(this.timeOut),this.timeOut=null),this.div=null)},e.prototype.draw=function(){if(this.visible&&null!==this.div&&this.center){var e=this.getPosFromLatLng(this.center);this.div.style.top=null!==e?"".concat(e.y,"px"):"0",this.div.style.left=null!==e?"".concat(e.x,"px"):"0"}},e.prototype.hide=function(){this.div&&(this.div.style.display="none"),this.visible=!1},e.prototype.show=function(){var e,t,o,n,i,s;if(this.div&&this.center){var r=null===this.sums||void 0===this.sums.title||""===this.sums.title?this.cluster.getClusterer().getTitle():this.sums.title,a=this.backgroundPosition.split(" "),l=parseInt((null===(e=a[0])||void 0===e?void 0:e.replace(/^\s+|\s+$/g,""))||"0",10),c=parseInt((null===(t=a[1])||void 0===t?void 0:t.replace(/^\s+|\s+$/g,""))||"0",10),g=this.getPosFromLatLng(this.center);this.div.className=this.className,this.div.setAttribute("style","cursor: pointer; position: absolute; top: ".concat(null!==g?"".concat(g.y,"px"):"0","; left: ").concat(null!==g?"".concat(g.x,"px"):"0","; width: ").concat(this.width,"px; height: ").concat(this.height,"px; "));var p=document.createElement("img");p.alt=r,p.src=this.url,p.width=this.width,p.height=this.height,p.setAttribute("style","position: absolute; top: ".concat(c,"px; left: ").concat(l,"px")),this.cluster.getClusterer().enableRetinaIcons||(p.style.clip="rect(-".concat(c,"px, -").concat(l+this.width,"px, -").concat(c+this.height,", -").concat(l,")"));var u=document.createElement("div");u.setAttribute("style","position: absolute; top: ".concat(this.anchorText[0],"px; left: ").concat(this.anchorText[1],"px; color: ").concat(this.textColor,"; font-size: ").concat(this.textSize,"px; font-family: ").concat(this.fontFamily,"; font-weight: ").concat(this.fontWeight,"; fontStyle: ").concat(this.fontStyle,"; text-decoration: ").concat(this.textDecoration,"; text-align: center; width: ").concat(this.width,"px; line-height: ").concat(this.height,"px")),(null===(o=this.sums)||void 0===o?void 0:o.text)&&(u.innerText="".concat(null===(n=this.sums)||void 0===n?void 0:n.text)),(null===(i=this.sums)||void 0===i?void 0:i.html)&&(u.innerHTML="".concat(null===(s=this.sums)||void 0===s?void 0:s.html)),this.div.innerHTML="",this.div.appendChild(p),this.div.appendChild(u),this.div.title=r,this.div.style.display=""}this.visible=!0},e.prototype.useStyle=function(e){this.sums=e;var t=this.cluster.getClusterer().getStyles(),o=t[Math.min(t.length-1,Math.max(0,e.index-1))];o&&(this.url=o.url,this.height=o.height,this.width=o.width,o.className&&(this.className="".concat(this.clusterClassName," ").concat(o.className)),this.anchorText=o.anchorText||[0,0],this.anchorIcon=o.anchorIcon||[this.height/2,this.width/2],this.textColor=o.textColor||"black",this.textSize=o.textSize||11,this.textDecoration=o.textDecoration||"none",this.fontWeight=o.fontWeight||"bold",this.fontStyle=o.fontStyle||"normal",this.fontFamily=o.fontFamily||"Arial,sans-serif",this.backgroundPosition=o.backgroundPosition||"0 0")},e.prototype.setCenter=function(e){this.center=e},e.prototype.getPosFromLatLng=function(e){var t=this.getProjection().fromLatLngToDivPixel(e);return null!==t&&(t.x-=this.anchorIcon[1],t.y-=this.anchorIcon[0]),t},e}(),te=function(){function e(e){this.markerClusterer=e,this.map=this.markerClusterer.getMap(),this.gridSize=this.markerClusterer.getGridSize(),this.minClusterSize=this.markerClusterer.getMinimumClusterSize(),this.averageCenter=this.markerClusterer.getAverageCenter(),this.markers=[],this.center=void 0,this.bounds=null,this.clusterIcon=new ee(this,this.markerClusterer.getStyles()),this.getSize=this.getSize.bind(this),this.getMarkers=this.getMarkers.bind(this),this.getCenter=this.getCenter.bind(this),this.getMap=this.getMap.bind(this),this.getClusterer=this.getClusterer.bind(this),this.getBounds=this.getBounds.bind(this),this.remove=this.remove.bind(this),this.addMarker=this.addMarker.bind(this),this.isMarkerInClusterBounds=this.isMarkerInClusterBounds.bind(this),this.calculateBounds=this.calculateBounds.bind(this),this.updateIcon=this.updateIcon.bind(this),this.isMarkerAlreadyAdded=this.isMarkerAlreadyAdded.bind(this)}return e.prototype.getSize=function(){return this.markers.length},e.prototype.getMarkers=function(){return this.markers},e.prototype.getCenter=function(){return this.center},e.prototype.getMap=function(){return this.map},e.prototype.getClusterer=function(){return this.markerClusterer},e.prototype.getBounds=function(){for(var e=new google.maps.LatLngBounds(this.center,this.center),t=0,o=this.getMarkers();t<o.length;t++){var n=o[t].getPosition();n&&e.extend(n)}return e},e.prototype.remove=function(){this.clusterIcon.setMap(null),this.markers=[],delete this.markers},e.prototype.addMarker=function(e){var t,o;if(this.isMarkerAlreadyAdded(e))return!1;if(this.center){if(this.averageCenter&&(o=e.getPosition())){var n=this.markers.length+1;this.center=new google.maps.LatLng((this.center.lat()*(n-1)+o.lat())/n,(this.center.lng()*(n-1)+o.lng())/n),this.calculateBounds()}}else(o=e.getPosition())&&(this.center=o,this.calculateBounds());e.isAdded=!0,this.markers.push(e);var i=this.markers.length,s=this.markerClusterer.getMaxZoom(),r=null===(t=this.map)||void 0===t?void 0:t.getZoom();if(null!==s&&void 0!==r&&r>s)e.getMap()!==this.map&&e.setMap(this.map);else if(i<this.minClusterSize)e.getMap()!==this.map&&e.setMap(this.map);else if(i===this.minClusterSize)for(var a=0,l=this.markers;a<l.length;a++){l[a].setMap(null)}else e.setMap(null);return!0},e.prototype.isMarkerInClusterBounds=function(e){if(null!==this.bounds){var t=e.getPosition();if(t)return this.bounds.contains(t)}return!1},e.prototype.calculateBounds=function(){this.bounds=this.markerClusterer.getExtendedBounds(new google.maps.LatLngBounds(this.center,this.center))},e.prototype.updateIcon=function(){var e,t=this.markers.length,o=this.markerClusterer.getMaxZoom(),n=null===(e=this.map)||void 0===e?void 0:e.getZoom();null!==o&&void 0!==n&&n>o||t<this.minClusterSize?this.clusterIcon.hide():(this.center&&this.clusterIcon.setCenter(this.center),this.clusterIcon.useStyle(this.markerClusterer.getCalculator()(this.markers,this.markerClusterer.getStyles().length)),this.clusterIcon.show())},e.prototype.isMarkerAlreadyAdded=function(e){if(this.markers.includes)return this.markers.includes(e);for(var t=0;t<this.markers.length;t++)if(e===this.markers[t])return!0;return!1},e}();function oe(e,t){var o=e.length,n=o.toString().length,i=Math.min(n,t);return{text:o.toString(),index:i,title:""}}var ne=[53,56,66,78,90],ie=function(){function e(t,o,n){void 0===o&&(o=[]),void 0===n&&(n={}),this.getMinimumClusterSize=this.getMinimumClusterSize.bind(this),this.setMinimumClusterSize=this.setMinimumClusterSize.bind(this),this.getEnableRetinaIcons=this.getEnableRetinaIcons.bind(this),this.setEnableRetinaIcons=this.setEnableRetinaIcons.bind(this),this.addToClosestCluster=this.addToClosestCluster.bind(this),this.getImageExtension=this.getImageExtension.bind(this),this.setImageExtension=this.setImageExtension.bind(this),this.getExtendedBounds=this.getExtendedBounds.bind(this),this.getAverageCenter=this.getAverageCenter.bind(this),this.setAverageCenter=this.setAverageCenter.bind(this),this.getTotalClusters=this.getTotalClusters.bind(this),this.fitMapToMarkers=this.fitMapToMarkers.bind(this),this.getIgnoreHidden=this.getIgnoreHidden.bind(this),this.setIgnoreHidden=this.setIgnoreHidden.bind(this),this.getClusterClass=this.getClusterClass.bind(this),this.setClusterClass=this.setClusterClass.bind(this),this.getTotalMarkers=this.getTotalMarkers.bind(this),this.getZoomOnClick=this.getZoomOnClick.bind(this),this.setZoomOnClick=this.setZoomOnClick.bind(this),this.getBatchSizeIE=this.getBatchSizeIE.bind(this),this.setBatchSizeIE=this.setBatchSizeIE.bind(this),this.createClusters=this.createClusters.bind(this),this.onZoomChanged=this.onZoomChanged.bind(this),this.getImageSizes=this.getImageSizes.bind(this),this.setImageSizes=this.setImageSizes.bind(this),this.getCalculator=this.getCalculator.bind(this),this.setCalculator=this.setCalculator.bind(this),this.removeMarkers=this.removeMarkers.bind(this),this.resetViewport=this.resetViewport.bind(this),this.getImagePath=this.getImagePath.bind(this),this.setImagePath=this.setImagePath.bind(this),this.pushMarkerTo=this.pushMarkerTo.bind(this),this.removeMarker=this.removeMarker.bind(this),this.clearMarkers=this.clearMarkers.bind(this),this.setupStyles=this.setupStyles.bind(this),this.getGridSize=this.getGridSize.bind(this),this.setGridSize=this.setGridSize.bind(this),this.getClusters=this.getClusters.bind(this),this.getMaxZoom=this.getMaxZoom.bind(this),this.setMaxZoom=this.setMaxZoom.bind(this),this.getMarkers=this.getMarkers.bind(this),this.addMarkers=this.addMarkers.bind(this),this.getStyles=this.getStyles.bind(this),this.setStyles=this.setStyles.bind(this),this.addMarker=this.addMarker.bind(this),this.onRemove=this.onRemove.bind(this),this.getTitle=this.getTitle.bind(this),this.setTitle=this.setTitle.bind(this),this.repaint=this.repaint.bind(this),this.onIdle=this.onIdle.bind(this),this.redraw=this.redraw.bind(this),this.onAdd=this.onAdd.bind(this),this.draw=this.draw.bind(this),this.extend=this.extend.bind(this),this.extend(e,google.maps.OverlayView),this.markers=[],this.clusters=[],this.listeners=[],this.activeMap=null,this.ready=!1,this.gridSize=n.gridSize||60,this.minClusterSize=n.minimumClusterSize||2,this.maxZoom=n.maxZoom||null,this.styles=n.styles||[],this.title=n.title||"",this.zoomOnClick=!0,void 0!==n.zoomOnClick&&(this.zoomOnClick=n.zoomOnClick),this.averageCenter=!1,void 0!==n.averageCenter&&(this.averageCenter=n.averageCenter),this.ignoreHidden=!1,void 0!==n.ignoreHidden&&(this.ignoreHidden=n.ignoreHidden),this.enableRetinaIcons=!1,void 0!==n.enableRetinaIcons&&(this.enableRetinaIcons=n.enableRetinaIcons),this.imagePath=n.imagePath||"https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m",this.imageExtension=n.imageExtension||"png",this.imageSizes=n.imageSizes||ne,this.calculator=n.calculator||oe,this.batchSize=n.batchSize||2e3,this.batchSizeIE=n.batchSizeIE||500,this.clusterClass=n.clusterClass||"cluster",-1!==navigator.userAgent.toLowerCase().indexOf("msie")&&(this.batchSize=this.batchSizeIE),this.timerRefStatic=null,this.setupStyles(),this.addMarkers(o,!0),this.setMap(t)}return e.prototype.onZoomChanged=function(){var e,t;this.resetViewport(!1),(null===(e=this.getMap())||void 0===e?void 0:e.getZoom())!==(this.get("minZoom")||0)&&(null===(t=this.getMap())||void 0===t?void 0:t.getZoom())!==this.get("maxZoom")||google.maps.event.trigger(this,"idle")},e.prototype.onIdle=function(){this.redraw()},e.prototype.onAdd=function(){var e=this.getMap();this.activeMap=e,this.ready=!0,this.repaint(),null!==e&&(this.listeners=[google.maps.event.addListener(e,"zoom_changed",this.onZoomChanged),google.maps.event.addListener(e,"idle",this.onIdle)])},e.prototype.onRemove=function(){for(var e=0,t=this.markers;e<t.length;e++){var o=t[e];o.getMap()!==this.activeMap&&o.setMap(this.activeMap)}for(var n=0,i=this.clusters;n<i.length;n++){i[n].remove()}this.clusters=[];for(var s=0,r=this.listeners;s<r.length;s++){var a=r[s];google.maps.event.removeListener(a)}this.listeners=[],this.activeMap=null,this.ready=!1},e.prototype.draw=function(){},e.prototype.getMap=function(){return null},e.prototype.getPanes=function(){return null},e.prototype.getProjection=function(){return{fromContainerPixelToLatLng:function(){return null},fromDivPixelToLatLng:function(){return null},fromLatLngToContainerPixel:function(){return null},fromLatLngToDivPixel:function(){return null},getVisibleRegion:function(){return null},getWorldWidth:function(){return 0}}},e.prototype.setMap=function(){},e.prototype.addListener=function(){return{remove:function(){}}},e.prototype.bindTo=function(){},e.prototype.get=function(){},e.prototype.notify=function(){},e.prototype.set=function(){},e.prototype.setValues=function(){},e.prototype.unbind=function(){},e.prototype.unbindAll=function(){},e.prototype.setupStyles=function(){if(!(this.styles.length>0))for(var e=0;e<this.imageSizes.length;e++)this.styles.push({url:"".concat(this.imagePath+(e+1),".").concat(this.imageExtension),height:this.imageSizes[e]||0,width:this.imageSizes[e]||0})},e.prototype.fitMapToMarkers=function(){for(var e=this.getMarkers(),t=new google.maps.LatLngBounds,o=0,n=e;o<n.length;o++){var i=n[o].getPosition();i&&t.extend(i)}var s=this.getMap();null!==s&&"fitBounds"in s&&s.fitBounds(t)},e.prototype.getGridSize=function(){return this.gridSize},e.prototype.setGridSize=function(e){this.gridSize=e},e.prototype.getMinimumClusterSize=function(){return this.minClusterSize},e.prototype.setMinimumClusterSize=function(e){this.minClusterSize=e},e.prototype.getMaxZoom=function(){return this.maxZoom},e.prototype.setMaxZoom=function(e){this.maxZoom=e},e.prototype.getStyles=function(){return this.styles},e.prototype.setStyles=function(e){this.styles=e},e.prototype.getTitle=function(){return this.title},e.prototype.setTitle=function(e){this.title=e},e.prototype.getZoomOnClick=function(){return this.zoomOnClick},e.prototype.setZoomOnClick=function(e){this.zoomOnClick=e},e.prototype.getAverageCenter=function(){return this.averageCenter},e.prototype.setAverageCenter=function(e){this.averageCenter=e},e.prototype.getIgnoreHidden=function(){return this.ignoreHidden},e.prototype.setIgnoreHidden=function(e){this.ignoreHidden=e},e.prototype.getEnableRetinaIcons=function(){return this.enableRetinaIcons},e.prototype.setEnableRetinaIcons=function(e){this.enableRetinaIcons=e},e.prototype.getImageExtension=function(){return this.imageExtension},e.prototype.setImageExtension=function(e){this.imageExtension=e},e.prototype.getImagePath=function(){return this.imagePath},e.prototype.setImagePath=function(e){this.imagePath=e},e.prototype.getImageSizes=function(){return this.imageSizes},e.prototype.setImageSizes=function(e){this.imageSizes=e},e.prototype.getCalculator=function(){return this.calculator},e.prototype.setCalculator=function(e){this.calculator=e},e.prototype.getBatchSizeIE=function(){return this.batchSizeIE},e.prototype.setBatchSizeIE=function(e){this.batchSizeIE=e},e.prototype.getClusterClass=function(){return this.clusterClass},e.prototype.setClusterClass=function(e){this.clusterClass=e},e.prototype.getMarkers=function(){return this.markers},e.prototype.getTotalMarkers=function(){return this.markers.length},e.prototype.getClusters=function(){return this.clusters},e.prototype.getTotalClusters=function(){return this.clusters.length},e.prototype.addMarker=function(e,t){this.pushMarkerTo(e),t||this.redraw()},e.prototype.addMarkers=function(e,t){for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var n=e[o];n&&this.pushMarkerTo(n)}t||this.redraw()},e.prototype.pushMarkerTo=function(e){var t=this;e.getDraggable()&&google.maps.event.addListener(e,"dragend",(function(){t.ready&&(e.isAdded=!1,t.repaint())})),e.isAdded=!1,this.markers.push(e)},e.prototype.removeMarker_=function(e){var t=-1;if(this.markers.indexOf)t=this.markers.indexOf(e);else for(var o=0;o<this.markers.length;o++)if(e===this.markers[o]){t=o;break}return-1!==t&&(e.setMap(null),this.markers.splice(t,1),!0)},e.prototype.removeMarker=function(e,t){var o=this.removeMarker_(e);return!t&&o&&this.repaint(),o},e.prototype.removeMarkers=function(e,t){for(var o=!1,n=0,i=e;n<i.length;n++){var s=i[n];o=o||this.removeMarker_(s)}return!t&&o&&this.repaint(),o},e.prototype.clearMarkers=function(){this.resetViewport(!0),this.markers=[]},e.prototype.repaint=function(){var e=this.clusters.slice();this.clusters=[],this.resetViewport(!1),this.redraw(),setTimeout((function(){for(var t=0,o=e;t<o.length;t++){o[t].remove()}}),0)},e.prototype.getExtendedBounds=function(e){var t=this.getProjection(),o=t.fromLatLngToDivPixel(new google.maps.LatLng(e.getNorthEast().lat(),e.getNorthEast().lng()));null!==o&&(o.x+=this.gridSize,o.y-=this.gridSize);var n=t.fromLatLngToDivPixel(new google.maps.LatLng(e.getSouthWest().lat(),e.getSouthWest().lng()));if(null!==n&&(n.x-=this.gridSize,n.y+=this.gridSize),null!==o){var i=t.fromDivPixelToLatLng(o);null!==i&&e.extend(i)}if(null!==n){var s=t.fromDivPixelToLatLng(n);null!==s&&e.extend(s)}return e},e.prototype.redraw=function(){this.createClusters(0)},e.prototype.resetViewport=function(e){for(var t=0,o=this.clusters;t<o.length;t++){o[t].remove()}this.clusters=[];for(var n=0,i=this.markers;n<i.length;n++){var s=i[n];s.isAdded=!1,e&&s.setMap(null)}},e.prototype.distanceBetweenPoints=function(e,t){var o=(t.lat()-e.lat())*Math.PI/180,n=(t.lng()-e.lng())*Math.PI/180,i=Math.sin(o/2)*Math.sin(o/2)+Math.cos(e.lat()*Math.PI/180)*Math.cos(t.lat()*Math.PI/180)*Math.sin(n/2)*Math.sin(n/2);return 2*Math.atan2(Math.sqrt(i),Math.sqrt(1-i))*6371},e.prototype.isMarkerInBounds=function(e,t){var o=e.getPosition();return!!o&&t.contains(o)},e.prototype.addToClosestCluster=function(e){for(var t,o=4e4,n=null,i=0,s=this.clusters;i<s.length;i++){var r=(t=s[i]).getCenter(),a=e.getPosition();if(r&&a){var l=this.distanceBetweenPoints(r,a);l<o&&(o=l,n=t)}}n&&n.isMarkerInClusterBounds(e)?n.addMarker(e):((t=new te(this)).addMarker(e),this.clusters.push(t))},e.prototype.createClusters=function(e){var t=this;if(this.ready){0===e&&(google.maps.event.trigger(this,"clusteringbegin",this),null!==this.timerRefStatic&&(window.clearTimeout(this.timerRefStatic),delete this.timerRefStatic));for(var o=this.getMap(),n=(null!==o&&"getBounds"in o?o.getBounds():null),i=((null==o?void 0:o.getZoom())||0)>3?new google.maps.LatLngBounds(null==n?void 0:n.getSouthWest(),null==n?void 0:n.getNorthEast()):new google.maps.LatLngBounds(new google.maps.LatLng(85.02070771743472,-178.48388434375),new google.maps.LatLng(-85.08136444384544,178.00048865625)),s=this.getExtendedBounds(i),r=Math.min(e+this.batchSize,this.markers.length),a=e;a<r;a++){var l=this.markers[a];l&&!l.isAdded&&this.isMarkerInBounds(l,s)&&(!this.ignoreHidden||this.ignoreHidden&&l.getVisible())&&this.addToClosestCluster(l)}if(r<this.markers.length)this.timerRefStatic=window.setTimeout((function(){t.createClusters(r)}),0);else{this.timerRefStatic=null,google.maps.event.trigger(this,"clusteringend",this);for(var c=0,g=this.clusters;c<g.length;c++){g[c].updateIcon()}}}},e.prototype.extend=function(e,t){return function(e){for(var t in e.prototype){var o=t;this.prototype[o]=e.prototype[o]}return this}.apply(e,[t])},e}(),se={onClick:"click",onClusteringBegin:"clusteringbegin",onClusteringEnd:"clusteringend",onMouseOut:"mouseout",onMouseOver:"mouseover"},re={averageCenter:function(e,t){e.setAverageCenter(t)},batchSizeIE:function(e,t){e.setBatchSizeIE(t)},calculator:function(e,t){e.setCalculator(t)},clusterClass:function(e,t){e.setClusterClass(t)},enableRetinaIcons:function(e,t){e.setEnableRetinaIcons(t)},gridSize:function(e,t){e.setGridSize(t)},ignoreHidden:function(e,t){e.setIgnoreHidden(t)},imageExtension:function(e,t){e.setImageExtension(t)},imagePath:function(e,t){e.setImagePath(t)},imageSizes:function(e,t){e.setImageSizes(t)},maxZoom:function(e,t){e.setMaxZoom(t)},minimumClusterSize:function(e,t){e.setMinimumClusterSize(t)},styles:function(e,t){e.setStyles(t)},title:function(e,t){e.setTitle(t)},zoomOnClick:function(e,t){e.setZoomOnClick(t)}},ae={};function le(e){e.cancelBubble=!0,e.stopPropagation&&e.stopPropagation()}e.memo((function(t){var o=t.children,n=t.options,i=t.averageCenter,s=t.batchSizeIE,r=t.calculator,a=t.clusterClass,l=t.enableRetinaIcons,c=t.gridSize,g=t.ignoreHidden,p=t.imageExtension,u=t.imagePath,d=t.imageSizes,h=t.maxZoom,f=t.minimumClusterSize,v=t.styles,y=t.title,L=t.zoomOnClick,I=t.onClick,C=t.onClusteringBegin,w=t.onClusteringEnd,k=t.onMouseOver,M=t.onMouseOut,z=t.onLoad,P=t.onUnmount,x=e.useState(null),E=x[0],S=x[1],O=e.useContext(b),_=e.useState(null),T=_[0],B=_[1],R=e.useState(null),D=R[0],A=R[1],U=e.useState(null),W=U[0],Z=U[1],F=e.useState(null),j=F[0],N=F[1],V=e.useState(null),H=V[0],$=V[1];return e.useEffect((function(){E&&M&&(null!==j&&google.maps.event.removeListener(j),N(google.maps.event.addListener(E,se.onMouseOut,M)))}),[M]),e.useEffect((function(){E&&k&&(null!==H&&google.maps.event.removeListener(H),$(google.maps.event.addListener(E,se.onMouseOver,k)))}),[k]),e.useEffect((function(){E&&I&&(null!==T&&google.maps.event.removeListener(T),B(google.maps.event.addListener(E,se.onClick,I)))}),[I]),e.useEffect((function(){E&&C&&(null!==D&&google.maps.event.removeListener(D),A(google.maps.event.addListener(E,se.onClusteringBegin,C)))}),[C]),e.useEffect((function(){E&&w&&(null!==W&&google.maps.event.removeListener(W),A(google.maps.event.addListener(E,se.onClusteringEnd,w)))}),[w]),e.useEffect((function(){void 0!==i&&null!==E&&re.averageCenter(E,i)}),[E,i]),e.useEffect((function(){void 0!==s&&null!==E&&re.batchSizeIE(E,s)}),[E,s]),e.useEffect((function(){void 0!==r&&null!==E&&re.calculator(E,r)}),[E,r]),e.useEffect((function(){void 0!==a&&null!==E&&re.clusterClass(E,a)}),[E,a]),e.useEffect((function(){void 0!==l&&null!==E&&re.enableRetinaIcons(E,l)}),[E,l]),e.useEffect((function(){void 0!==c&&null!==E&&re.gridSize(E,c)}),[E,c]),e.useEffect((function(){void 0!==g&&null!==E&&re.ignoreHidden(E,g)}),[E,g]),e.useEffect((function(){void 0!==p&&null!==E&&re.imageExtension(E,p)}),[E,p]),e.useEffect((function(){void 0!==u&&null!==E&&re.imagePath(E,u)}),[E,u]),e.useEffect((function(){void 0!==d&&null!==E&&re.imageSizes(E,d)}),[E,d]),e.useEffect((function(){void 0!==h&&null!==E&&re.maxZoom(E,h)}),[E,h]),e.useEffect((function(){void 0!==f&&null!==E&&re.minimumClusterSize(E,f)}),[E,f]),e.useEffect((function(){void 0!==v&&null!==E&&re.styles(E,v)}),[E,v]),e.useEffect((function(){void 0!==y&&null!==E&&re.title(E,y)}),[E,y]),e.useEffect((function(){void 0!==L&&null!==E&&re.zoomOnClick(E,L)}),[E,L]),e.useEffect((function(){if(O){var e=m({},n||ae),t=new ie(O,[],e);return i&&re.averageCenter(t,i),s&&re.batchSizeIE(t,s),r&&re.calculator(t,r),a&&re.clusterClass(t,a),l&&re.enableRetinaIcons(t,l),c&&re.gridSize(t,c),g&&re.ignoreHidden(t,g),p&&re.imageExtension(t,p),u&&re.imagePath(t,u),d&&re.imageSizes(t,d),h&&re.maxZoom(t,h),f&&re.minimumClusterSize(t,f),v&&re.styles(t,v),y&&re.title(t,y),L&&re.zoomOnClick(t,L),M&&N(google.maps.event.addListener(t,se.onMouseOut,M)),k&&$(google.maps.event.addListener(t,se.onMouseOver,k)),I&&B(google.maps.event.addListener(t,se.onClick,I)),C&&A(google.maps.event.addListener(t,se.onClusteringBegin,C)),w&&Z(google.maps.event.addListener(t,se.onClusteringEnd,w)),S(t),z&&z(t),function(){null!==j&&google.maps.event.removeListener(j),null!==H&&google.maps.event.removeListener(H),null!==T&&google.maps.event.removeListener(T),null!==D&&google.maps.event.removeListener(D),null!==W&&google.maps.event.removeListener(W),P&&P(t)}}}),[]),null!==E&&o(E)||null})),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.state={markerClusterer:null},t.setClustererCallback=function(){null!==t.state.markerClusterer&&t.props.onLoad&&t.props.onLoad(t.state.markerClusterer)},t}h(t,e),t.prototype.componentDidMount=function(){if(this.context){var e=new ie(this.context,[],this.props.options);this.registeredEvents=P({updaterMap:re,eventMap:se,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{markerClusterer:e}}),this.setClustererCallback)}},t.prototype.componentDidUpdate=function(e){this.state.markerClusterer&&(z(this.registeredEvents),this.registeredEvents=P({updaterMap:re,eventMap:se,prevProps:e,nextProps:this.props,instance:this.state.markerClusterer}))},t.prototype.componentWillUnmount=function(){null!==this.state.markerClusterer&&(this.props.onUnmount&&this.props.onUnmount(this.state.markerClusterer),z(this.registeredEvents),this.state.markerClusterer.setMap(null))},t.prototype.render=function(){return null!==this.state.markerClusterer?this.props.children(this.state.markerClusterer):null},t.contextType=b}(e.PureComponent);var ce=function(){function e(t){void 0===t&&(t={}),this.getCloseClickHandler=this.getCloseClickHandler.bind(this),this.closeClickHandler=this.closeClickHandler.bind(this),this.createInfoBoxDiv=this.createInfoBoxDiv.bind(this),this.addClickHandler=this.addClickHandler.bind(this),this.getCloseBoxImg=this.getCloseBoxImg.bind(this),this.getBoxWidths=this.getBoxWidths.bind(this),this.setBoxStyle=this.setBoxStyle.bind(this),this.setPosition=this.setPosition.bind(this),this.getPosition=this.getPosition.bind(this),this.setOptions=this.setOptions.bind(this),this.setContent=this.setContent.bind(this),this.setVisible=this.setVisible.bind(this),this.getContent=this.getContent.bind(this),this.getVisible=this.getVisible.bind(this),this.setZIndex=this.setZIndex.bind(this),this.getZIndex=this.getZIndex.bind(this),this.onRemove=this.onRemove.bind(this),this.panBox=this.panBox.bind(this),this.extend=this.extend.bind(this),this.close=this.close.bind(this),this.draw=this.draw.bind(this),this.show=this.show.bind(this),this.hide=this.hide.bind(this),this.open=this.open.bind(this),this.extend(e,google.maps.OverlayView),this.content=t.content||"",this.disableAutoPan=t.disableAutoPan||!1,this.maxWidth=t.maxWidth||0,this.pixelOffset=t.pixelOffset||new google.maps.Size(0,0),this.position=t.position||new google.maps.LatLng(0,0),this.zIndex=t.zIndex||null,this.boxClass=t.boxClass||"infoBox",this.boxStyle=t.boxStyle||{},this.closeBoxMargin=t.closeBoxMargin||"2px",this.closeBoxURL=t.closeBoxURL||"http://www.google.com/intl/en_us/mapfiles/close.gif",""===t.closeBoxURL&&(this.closeBoxURL=""),this.infoBoxClearance=t.infoBoxClearance||new google.maps.Size(1,1),void 0===t.visible&&(void 0===t.isHidden?t.visible=!0:t.visible=!t.isHidden),this.isHidden=!t.visible,this.alignBottom=t.alignBottom||!1,this.pane=t.pane||"floatPane",this.enableEventPropagation=t.enableEventPropagation||!1,this.div=null,this.closeListener=null,this.moveListener=null,this.mapListener=null,this.contextListener=null,this.eventListeners=null,this.fixedWidthSet=null}return e.prototype.createInfoBoxDiv=function(){var e=this;if(!this.div){this.div=document.createElement("div"),this.setBoxStyle(),"string"==typeof this.content?this.div.innerHTML=this.getCloseBoxImg()+this.content:(this.div.innerHTML=this.getCloseBoxImg(),this.div.appendChild(this.content));var t=this.getPanes();if(null!==t&&t[this.pane].appendChild(this.div),this.addClickHandler(),this.div.style.width)this.fixedWidthSet=!0;else if(0!==this.maxWidth&&this.div.offsetWidth>this.maxWidth)this.div.style.width=this.maxWidth+"px",this.fixedWidthSet=!0;else{var o=this.getBoxWidths();this.div.style.width=this.div.offsetWidth-o.left-o.right+"px",this.fixedWidthSet=!1}if(this.panBox(this.disableAutoPan),!this.enableEventPropagation){this.eventListeners=[];for(var n=0,i=["mousedown","mouseover","mouseout","mouseup","click","dblclick","touchstart","touchend","touchmove"];n<i.length;n++){var s=i[n];this.eventListeners.push(google.maps.event.addListener(this.div,s,le))}this.eventListeners.push(google.maps.event.addListener(this.div,"mouseover",(function(){e.div&&(e.div.style.cursor="default")})))}this.contextListener=google.maps.event.addListener(this.div,"contextmenu",(function(t){t.returnValue=!1,t.preventDefault&&t.preventDefault(),e.enableEventPropagation||le(t)})),google.maps.event.trigger(this,"domready")}},e.prototype.getCloseBoxImg=function(){var e="";return""!==this.closeBoxURL&&(e='<img alt=""',e+=' aria-hidden="true"',e+=" src='"+this.closeBoxURL+"'",e+=" align=right",e+=" style='",e+=" position: relative;",e+=" cursor: pointer;",e+=" margin: "+this.closeBoxMargin+";",e+="'>"),e},e.prototype.addClickHandler=function(){this.closeListener=this.div&&this.div.firstChild&&""!==this.closeBoxURL?google.maps.event.addListener(this.div.firstChild,"click",this.getCloseClickHandler()):null},e.prototype.closeClickHandler=function(e){e.cancelBubble=!0,e.stopPropagation&&e.stopPropagation(),google.maps.event.trigger(this,"closeclick"),this.close()},e.prototype.getCloseClickHandler=function(){return this.closeClickHandler},e.prototype.panBox=function(e){if(this.div&&!e){var t=this.getMap();if(t instanceof google.maps.Map){var o=0,n=0,i=t.getBounds();i&&!i.contains(this.position)&&t.setCenter(this.position);var s=t.getDiv(),r=s.offsetWidth,a=s.offsetHeight,l=this.pixelOffset.width,c=this.pixelOffset.height,g=this.div.offsetWidth,p=this.div.offsetHeight,u=this.infoBoxClearance.width,d=this.infoBoxClearance.height,h=this.getProjection().fromLatLngToContainerPixel(this.position);null!==h&&(h.x<-l+u?o=h.x+l-u:h.x+g+l+u>r&&(o=h.x+g+l+u-r),this.alignBottom?h.y<-c+d+p?n=h.y+c-d-p:h.y+c+d>a&&(n=h.y+c+d-a):h.y<-c+d?n=h.y+c-d:h.y+p+c+d>a&&(n=h.y+p+c+d-a)),0===o&&0===n||t.panBy(o,n)}}},e.prototype.setBoxStyle=function(){if(this.div){this.div.className=this.boxClass,this.div.style.cssText="";var e=this.boxStyle;for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(this.div.style[t]=e[t]);if(this.div.style.webkitTransform="translateZ(0)",void 0!==this.div.style.opacity&&""!==this.div.style.opacity){var o=parseFloat(this.div.style.opacity||"");this.div.style.msFilter='"progid:DXImageTransform.Microsoft.Alpha(Opacity='+100*o+')"',this.div.style.filter="alpha(opacity="+100*o+")"}this.div.style.position="absolute",this.div.style.visibility="hidden",null!==this.zIndex&&(this.div.style.zIndex=this.zIndex+""),this.div.style.overflow||(this.div.style.overflow="auto")}},e.prototype.getBoxWidths=function(){var e={top:0,bottom:0,left:0,right:0};if(!this.div)return e;if(document.defaultView){var t=this.div.ownerDocument,o=t&&t.defaultView?t.defaultView.getComputedStyle(this.div,""):null;o&&(e.top=parseInt(o.borderTopWidth||"",10)||0,e.bottom=parseInt(o.borderBottomWidth||"",10)||0,e.left=parseInt(o.borderLeftWidth||"",10)||0,e.right=parseInt(o.borderRightWidth||"",10)||0)}else if(document.documentElement.currentStyle){var n=this.div.currentStyle;n&&(e.top=parseInt(n.borderTopWidth||"",10)||0,e.bottom=parseInt(n.borderBottomWidth||"",10)||0,e.left=parseInt(n.borderLeftWidth||"",10)||0,e.right=parseInt(n.borderRightWidth||"",10)||0)}return e},e.prototype.onRemove=function(){this.div&&this.div.parentNode&&(this.div.parentNode.removeChild(this.div),this.div=null)},e.prototype.draw=function(){if(this.createInfoBoxDiv(),this.div){var e=this.getProjection().fromLatLngToDivPixel(this.position);null!==e&&(this.div.style.left=e.x+this.pixelOffset.width+"px",this.alignBottom?this.div.style.bottom=-(e.y+this.pixelOffset.height)+"px":this.div.style.top=e.y+this.pixelOffset.height+"px"),this.isHidden?this.div.style.visibility="hidden":this.div.style.visibility="visible"}},e.prototype.setOptions=function(e){void 0===e&&(e={}),void 0!==e.boxClass&&(this.boxClass=e.boxClass,this.setBoxStyle()),void 0!==e.boxStyle&&(this.boxStyle=e.boxStyle,this.setBoxStyle()),void 0!==e.content&&this.setContent(e.content),void 0!==e.disableAutoPan&&(this.disableAutoPan=e.disableAutoPan),void 0!==e.maxWidth&&(this.maxWidth=e.maxWidth),void 0!==e.pixelOffset&&(this.pixelOffset=e.pixelOffset),void 0!==e.alignBottom&&(this.alignBottom=e.alignBottom),void 0!==e.position&&this.setPosition(e.position),void 0!==e.zIndex&&this.setZIndex(e.zIndex),void 0!==e.closeBoxMargin&&(this.closeBoxMargin=e.closeBoxMargin),void 0!==e.closeBoxURL&&(this.closeBoxURL=e.closeBoxURL),void 0!==e.infoBoxClearance&&(this.infoBoxClearance=e.infoBoxClearance),void 0!==e.isHidden&&(this.isHidden=e.isHidden),void 0!==e.visible&&(this.isHidden=!e.visible),void 0!==e.enableEventPropagation&&(this.enableEventPropagation=e.enableEventPropagation),this.div&&this.draw()},e.prototype.setContent=function(e){this.content=e,this.div&&(this.closeListener&&(google.maps.event.removeListener(this.closeListener),this.closeListener=null),this.fixedWidthSet||(this.div.style.width=""),"string"==typeof e?this.div.innerHTML=this.getCloseBoxImg()+e:(this.div.innerHTML=this.getCloseBoxImg(),this.div.appendChild(e)),this.fixedWidthSet||(this.div.style.width=this.div.offsetWidth+"px","string"==typeof e?this.div.innerHTML=this.getCloseBoxImg()+e:(this.div.innerHTML=this.getCloseBoxImg(),this.div.appendChild(e))),this.addClickHandler()),google.maps.event.trigger(this,"content_changed")},e.prototype.setPosition=function(e){this.position=e,this.div&&this.draw(),google.maps.event.trigger(this,"position_changed")},e.prototype.setVisible=function(e){this.isHidden=!e,this.div&&(this.div.style.visibility=this.isHidden?"hidden":"visible")},e.prototype.setZIndex=function(e){this.zIndex=e,this.div&&(this.div.style.zIndex=e+""),google.maps.event.trigger(this,"zindex_changed")},e.prototype.getContent=function(){return this.content},e.prototype.getPosition=function(){return this.position},e.prototype.getZIndex=function(){return this.zIndex},e.prototype.getVisible=function(){var e=this.getMap();return null!=e&&!this.isHidden},e.prototype.show=function(){this.isHidden=!1,this.div&&(this.div.style.visibility="visible")},e.prototype.hide=function(){this.isHidden=!0,this.div&&(this.div.style.visibility="hidden")},e.prototype.open=function(e,t){var o=this;t&&(this.position=t.getPosition(),this.moveListener=google.maps.event.addListener(t,"position_changed",(function(){var e=t.getPosition();o.setPosition(e)})),this.mapListener=google.maps.event.addListener(t,"map_changed",(function(){o.setMap(t.map)}))),this.setMap(e),this.div&&this.panBox()},e.prototype.close=function(){if(this.closeListener&&(google.maps.event.removeListener(this.closeListener),this.closeListener=null),this.eventListeners){for(var e=0,t=this.eventListeners;e<t.length;e++){var o=t[e];google.maps.event.removeListener(o)}this.eventListeners=null}this.moveListener&&(google.maps.event.removeListener(this.moveListener),this.moveListener=null),this.mapListener&&(google.maps.event.removeListener(this.mapListener),this.mapListener=null),this.contextListener&&(google.maps.event.removeListener(this.contextListener),this.contextListener=null),this.setMap(null)},e.prototype.extend=function(e,t){return function(e){for(var t in e.prototype)Object.prototype.hasOwnProperty.call(this,t)||(this.prototype[t]=e.prototype[t]);return this}.apply(e,[t])},e}(),ge={onCloseClick:"closeclick",onContentChanged:"content_changed",onDomReady:"domready",onPositionChanged:"position_changed",onZindexChanged:"zindex_changed"},pe={options:function(e,t){e.setOptions(t)},position:function(e,t){t instanceof google.maps.LatLng?e.setPosition(t):e.setPosition(new google.maps.LatLng(t.lat,t.lng))},visible:function(e,t){e.setVisible(t)},zIndex:function(e,t){e.setZIndex(t)}},ue={};e.memo((function(o){var n=o.children,i=o.anchor,s=o.options,r=o.position,a=o.zIndex,l=o.onCloseClick,c=o.onDomReady,g=o.onContentChanged,p=o.onPositionChanged,u=o.onZindexChanged,d=o.onLoad,h=o.onUnmount,v=e.useContext(b),y=e.useState(null),L=y[0],I=y[1],w=e.useState(null),k=w[0],M=w[1],z=e.useState(null),P=z[0],x=z[1],E=e.useState(null),S=E[0],O=E[1],_=e.useState(null),T=_[0],B=_[1],R=e.useState(null),D=R[0],A=R[1],U=e.useRef(null);return e.useEffect((function(){v&&null!==L&&(L.close(),i?L.open(v,i):L.getPosition()&&L.open(v))}),[v,L,i]),e.useEffect((function(){s&&null!==L&&L.setOptions(s)}),[L,s]),e.useEffect((function(){if(r&&null!==L){var e=r instanceof google.maps.LatLng?r:new google.maps.LatLng(r.lat,r.lng);L.setPosition(e)}}),[r]),e.useEffect((function(){"number"==typeof a&&null!==L&&L.setZIndex(a)}),[a]),e.useEffect((function(){L&&l&&(null!==k&&google.maps.event.removeListener(k),M(google.maps.event.addListener(L,"closeclick",l)))}),[l]),e.useEffect((function(){L&&c&&(null!==P&&google.maps.event.removeListener(P),x(google.maps.event.addListener(L,"domready",c)))}),[c]),e.useEffect((function(){L&&g&&(null!==S&&google.maps.event.removeListener(S),O(google.maps.event.addListener(L,"content_changed",g)))}),[g]),e.useEffect((function(){L&&p&&(null!==T&&google.maps.event.removeListener(T),B(google.maps.event.addListener(L,"position_changed",p)))}),[p]),e.useEffect((function(){L&&u&&(null!==D&&google.maps.event.removeListener(D),A(google.maps.event.addListener(L,"zindex_changed",u)))}),[u]),e.useEffect((function(){if(v){var e=s||ue,t=e.position,o=f(e,["position"]),n=void 0;!t||t instanceof google.maps.LatLng||(n=new google.maps.LatLng(t.lat,t.lng));var r=new ce(m(m({},o),n?{position:n}:{}));U.current=document.createElement("div"),I(r),l&&M(google.maps.event.addListener(r,"closeclick",l)),c&&x(google.maps.event.addListener(r,"domready",c)),g&&O(google.maps.event.addListener(r,"content_changed",g)),p&&B(google.maps.event.addListener(r,"position_changed",p)),u&&A(google.maps.event.addListener(r,"zindex_changed",u)),r.setContent(U.current),i?r.open(v,i):r.getPosition()?r.open(v):C(!1,"You must provide either an anchor or a position prop for <InfoBox>."),d&&d(r)}return function(){null!==L&&(k&&google.maps.event.removeListener(k),S&&google.maps.event.removeListener(S),P&&google.maps.event.removeListener(P),T&&google.maps.event.removeListener(T),D&&google.maps.event.removeListener(D),h&&h(L),L.close())}}),[]),U.current?t.createPortal(e.Children.only(n),U.current):null})),function(o){function n(){var e=null!==o&&o.apply(this,arguments)||this;return e.registeredEvents=[],e.containerElement=null,e.state={infoBox:null},e.open=function(t,o){o?null!==e.context&&t.open(e.context,o):t.getPosition()?null!==e.context&&t.open(e.context):C(!1,"You must provide either an anchor or a position prop for <InfoBox>.")},e.setInfoBoxCallback=function(){null!==e.state.infoBox&&null!==e.containerElement&&(e.state.infoBox.setContent(e.containerElement),e.open(e.state.infoBox,e.props.anchor),e.props.onLoad&&e.props.onLoad(e.state.infoBox))},e}h(n,o),n.prototype.componentDidMount=function(){var e,t=this.props.options||{},o=t.position,n=f(t,["position"]);!o||o instanceof google.maps.LatLng||(e=new google.maps.LatLng(o.lat,o.lng));var i=new ce(m(m({},n),e?{position:e}:{}));this.containerElement=document.createElement("div"),this.registeredEvents=P({updaterMap:pe,eventMap:ge,prevProps:{},nextProps:this.props,instance:i}),this.setState({infoBox:i},this.setInfoBoxCallback)},n.prototype.componentDidUpdate=function(e){var t=this.state.infoBox;null!==t&&(z(this.registeredEvents),this.registeredEvents=P({updaterMap:pe,eventMap:ge,prevProps:e,nextProps:this.props,instance:t}))},n.prototype.componentWillUnmount=function(){var e=this.props.onUnmount,t=this.state.infoBox;null!==t&&(e&&e(t),z(this.registeredEvents),t.close())},n.prototype.render=function(){return this.containerElement?t.createPortal(e.Children.only(this.props.children),this.containerElement):null},n.contextType=b}(e.PureComponent);var de=function e(t,o){if(t===o)return!0;if(t&&o&&"object"==typeof t&&"object"==typeof o){if(t.constructor!==o.constructor)return!1;var n,i,s;if(Array.isArray(t)){if((n=t.length)!=o.length)return!1;for(i=n;0!=i--;)if(!e(t[i],o[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===o.source&&t.flags===o.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===o.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===o.toString();if((n=(s=Object.keys(t)).length)!==Object.keys(o).length)return!1;for(i=n;0!=i--;)if(!Object.prototype.hasOwnProperty.call(o,s[i]))return!1;for(i=n;0!=i--;){var r=s[i];if(!e(t[r],o[r]))return!1}return!0}return t!=t&&o!=o},he=L(de);const me=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];class fe{static from(e){if(!(e instanceof ArrayBuffer))throw new Error("Data must be an instance of ArrayBuffer.");const[t,o]=new Uint8Array(e,0,2);if(219!==t)throw new Error("Data does not appear to be in a KDBush format.");const n=o>>4;if(1!==n)throw new Error(`Got v${n} data when expected v1.`);const i=me[15&o];if(!i)throw new Error("Unrecognized array type.");const[s]=new Uint16Array(e,2,1),[r]=new Uint32Array(e,4,1);return new fe(r,s,i,e)}constructor(e,t=64,o=Float64Array,n){if(isNaN(e)||e<0)throw new Error(`Unpexpected numItems value: ${e}.`);this.numItems=+e,this.nodeSize=Math.min(Math.max(+t,2),65535),this.ArrayType=o,this.IndexArrayType=e<65536?Uint16Array:Uint32Array;const i=me.indexOf(this.ArrayType),s=2*e*this.ArrayType.BYTES_PER_ELEMENT,r=e*this.IndexArrayType.BYTES_PER_ELEMENT,a=(8-r%8)%8;if(i<0)throw new Error(`Unexpected typed array class: ${o}.`);n&&n instanceof ArrayBuffer?(this.data=n,this.ids=new this.IndexArrayType(this.data,8,e),this.coords=new this.ArrayType(this.data,8+r+a,2*e),this._pos=2*e,this._finished=!0):(this.data=new ArrayBuffer(8+s+r+a),this.ids=new this.IndexArrayType(this.data,8,e),this.coords=new this.ArrayType(this.data,8+r+a,2*e),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+i]),new Uint16Array(this.data,2,1)[0]=t,new Uint32Array(this.data,4,1)[0]=e)}add(e,t){const o=this._pos>>1;return this.ids[o]=o,this.coords[this._pos++]=e,this.coords[this._pos++]=t,o}finish(){const e=this._pos>>1;if(e!==this.numItems)throw new Error(`Added ${e} items when expected ${this.numItems}.`);return ve(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(e,t,o,n){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:i,coords:s,nodeSize:r}=this,a=[0,i.length-1,0],l=[];for(;a.length;){const c=a.pop()||0,g=a.pop()||0,p=a.pop()||0;if(g-p<=r){for(let r=p;r<=g;r++){const a=s[2*r],c=s[2*r+1];a>=e&&a<=o&&c>=t&&c<=n&&l.push(i[r])}continue}const u=p+g>>1,d=s[2*u],h=s[2*u+1];d>=e&&d<=o&&h>=t&&h<=n&&l.push(i[u]),(0===c?e<=d:t<=h)&&(a.push(p),a.push(u-1),a.push(1-c)),(0===c?o>=d:n>=h)&&(a.push(u+1),a.push(g),a.push(1-c))}return l}within(e,t,o){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:n,coords:i,nodeSize:s}=this,r=[0,n.length-1,0],a=[],l=o*o;for(;r.length;){const c=r.pop()||0,g=r.pop()||0,p=r.pop()||0;if(g-p<=s){for(let o=p;o<=g;o++)Ce(i[2*o],i[2*o+1],e,t)<=l&&a.push(n[o]);continue}const u=p+g>>1,d=i[2*u],h=i[2*u+1];Ce(d,h,e,t)<=l&&a.push(n[u]),(0===c?e-o<=d:t-o<=h)&&(r.push(p),r.push(u-1),r.push(1-c)),(0===c?e+o>=d:t+o>=h)&&(r.push(u+1),r.push(g),r.push(1-c))}return a}}function ve(e,t,o,n,i,s){if(i-n<=o)return;const r=n+i>>1;ye(e,t,r,n,i,s),ve(e,t,o,n,r-1,1-s),ve(e,t,o,r+1,i,1-s)}function ye(e,t,o,n,i,s){for(;i>n;){if(i-n>600){const r=i-n+1,a=o-n+1,l=Math.log(r),c=.5*Math.exp(2*l/3),g=.5*Math.sqrt(l*c*(r-c)/r)*(a-r/2<0?-1:1);ye(e,t,o,Math.max(n,Math.floor(o-a*c/r+g)),Math.min(i,Math.floor(o+(r-a)*c/r+g)),s)}const r=t[2*o+s];let a=n,l=i;for(Le(e,t,n,o),t[2*i+s]>r&&Le(e,t,n,i);a<l;){for(Le(e,t,a,l),a++,l--;t[2*a+s]<r;)a++;for(;t[2*l+s]>r;)l--}t[2*n+s]===r?Le(e,t,n,l):(l++,Le(e,t,l,i)),l<=o&&(n=l+1),o<=l&&(i=l-1)}}function Le(e,t,o,n){Ie(e,o,n),Ie(t,2*o,2*n),Ie(t,2*o+1,2*n+1)}function Ie(e,t,o){const n=e[t];e[t]=e[o],e[o]=n}function Ce(e,t,o,n){const i=e-o,s=t-n;return i*i+s*s}const be={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:e=>e},we=Math.fround||(ke=new Float32Array(1),e=>(ke[0]=+e,ke[0]));var ke;class Me{constructor(e){this.options=Object.assign(Object.create(be),e),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(e){const{log:t,minZoom:o,maxZoom:n}=this.options;t&&console.time("total time");const i=`prepare ${e.length} points`;t&&console.time(i),this.points=e;const s=[];for(let t=0;t<e.length;t++){const o=e[t];if(!o.geometry)continue;const[n,i]=o.geometry.coordinates,r=we(xe(n)),a=we(Ee(i));s.push(r,a,1/0,t,-1,1),this.options.reduce&&s.push(0)}let r=this.trees[n+1]=this._createTree(s);t&&console.timeEnd(i);for(let e=n;e>=o;e--){const o=+Date.now();r=this.trees[e]=this._createTree(this._cluster(r,e)),t&&console.log("z%d: %d clusters in %dms",e,r.numItems,+Date.now()-o)}return t&&console.timeEnd("total time"),this}getClusters(e,t){let o=((e[0]+180)%360+360)%360-180;const n=Math.max(-90,Math.min(90,e[1]));let i=180===e[2]?180:((e[2]+180)%360+360)%360-180;const s=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)o=-180,i=180;else if(o>i){const e=this.getClusters([o,n,180,s],t),r=this.getClusters([-180,n,i,s],t);return e.concat(r)}const r=this.trees[this._limitZoom(t)],a=r.range(xe(o),Ee(s),xe(i),Ee(n)),l=r.data,c=[];for(const e of a){const t=this.stride*e;c.push(l[t+5]>1?ze(l,t,this.clusterProps):this.points[l[t+3]])}return c}getChildren(e){const t=this._getOriginId(e),o=this._getOriginZoom(e),n="No cluster with the specified id.",i=this.trees[o];if(!i)throw new Error(n);const s=i.data;if(t*this.stride>=s.length)throw new Error(n);const r=this.options.radius/(this.options.extent*Math.pow(2,o-1)),a=s[t*this.stride],l=s[t*this.stride+1],c=i.within(a,l,r),g=[];for(const t of c){const o=t*this.stride;s[o+4]===e&&g.push(s[o+5]>1?ze(s,o,this.clusterProps):this.points[s[o+3]])}if(0===g.length)throw new Error(n);return g}getLeaves(e,t,o){t=t||10,o=o||0;const n=[];return this._appendLeaves(n,e,t,o,0),n}getTile(e,t,o){const n=this.trees[this._limitZoom(e)],i=Math.pow(2,e),{extent:s,radius:r}=this.options,a=r/s,l=(o-a)/i,c=(o+1+a)/i,g={features:[]};return this._addTileFeatures(n.range((t-a)/i,l,(t+1+a)/i,c),n.data,t,o,i,g),0===t&&this._addTileFeatures(n.range(1-a/i,l,1,c),n.data,i,o,i,g),t===i-1&&this._addTileFeatures(n.range(0,l,a/i,c),n.data,-1,o,i,g),g.features.length?g:null}getClusterExpansionZoom(e){let t=this._getOriginZoom(e)-1;for(;t<=this.options.maxZoom;){const o=this.getChildren(e);if(t++,1!==o.length)break;e=o[0].properties.cluster_id}return t}_appendLeaves(e,t,o,n,i){const s=this.getChildren(t);for(const t of s){const s=t.properties;if(s&&s.cluster?i+s.point_count<=n?i+=s.point_count:i=this._appendLeaves(e,s.cluster_id,o,n,i):i<n?i++:e.push(t),e.length===o)break}return i}_createTree(e){const t=new fe(e.length/this.stride|0,this.options.nodeSize,Float32Array);for(let o=0;o<e.length;o+=this.stride)t.add(e[o],e[o+1]);return t.finish(),t.data=e,t}_addTileFeatures(e,t,o,n,i,s){for(const r of e){const e=r*this.stride,a=t[e+5]>1;let l,c,g;if(a)l=Pe(t,e,this.clusterProps),c=t[e],g=t[e+1];else{const o=this.points[t[e+3]];l=o.properties;const[n,i]=o.geometry.coordinates;c=xe(n),g=Ee(i)}const p={type:1,geometry:[[Math.round(this.options.extent*(c*i-o)),Math.round(this.options.extent*(g*i-n))]],tags:l};let u;u=a||this.options.generateId?t[e+3]:this.points[t[e+3]].id,void 0!==u&&(p.id=u),s.features.push(p)}}_limitZoom(e){return Math.max(this.options.minZoom,Math.min(Math.floor(+e),this.options.maxZoom+1))}_cluster(e,t){const{radius:o,extent:n,reduce:i,minPoints:s}=this.options,r=o/(n*Math.pow(2,t)),a=e.data,l=[],c=this.stride;for(let o=0;o<a.length;o+=c){if(a[o+2]<=t)continue;a[o+2]=t;const n=a[o],g=a[o+1],p=e.within(a[o],a[o+1],r),u=a[o+5];let d=u;for(const e of p){const o=e*c;a[o+2]>t&&(d+=a[o+5])}if(d>u&&d>=s){let e,s=n*u,r=g*u,h=-1;const m=(o/c<<5)+(t+1)+this.points.length;for(const n of p){const l=n*c;if(a[l+2]<=t)continue;a[l+2]=t;const g=a[l+5];s+=a[l]*g,r+=a[l+1]*g,a[l+4]=m,i&&(e||(e=this._map(a,o,!0),h=this.clusterProps.length,this.clusterProps.push(e)),i(e,this._map(a,l)))}a[o+4]=m,l.push(s/d,r/d,1/0,m,-1,d),i&&l.push(h)}else{for(let e=0;e<c;e++)l.push(a[o+e]);if(d>1)for(const e of p){const o=e*c;if(!(a[o+2]<=t)){a[o+2]=t;for(let e=0;e<c;e++)l.push(a[o+e])}}}}return l}_getOriginId(e){return e-this.points.length>>5}_getOriginZoom(e){return(e-this.points.length)%32}_map(e,t,o){if(e[t+5]>1){const n=this.clusterProps[e[t+6]];return o?Object.assign({},n):n}const n=this.points[e[t+3]].properties,i=this.options.map(n);return o&&i===n?Object.assign({},i):i}}function ze(e,t,o){return{type:"Feature",id:e[t+3],properties:Pe(e,t,o),geometry:{type:"Point",coordinates:[(n=e[t],360*(n-.5)),Se(e[t+1])]}};var n}function Pe(e,t,o){const n=e[t+5],i=n>=1e4?`${Math.round(n/1e3)}k`:n>=1e3?Math.round(n/100)/10+"k":n,s=e[t+6],r=-1===s?{}:Object.assign({},o[s]);return Object.assign(r,{cluster:!0,cluster_id:e[t+3],point_count:n,point_count_abbreviated:i})}function xe(e){return e/360+.5}function Ee(e){const t=Math.sin(e*Math.PI/180),o=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return o<0?0:o>1?1:o}function Se(e){const t=(180-360*e)*Math.PI/180;return 360*Math.atan(Math.exp(t))/Math.PI-90}
39
+ function F(e,t,o,n){return new(o||(o=Promise))((function(t,i){function s(e){try{a(n.next(e))}catch(e){i(e)}}function r(e){try{a(n.throw(e))}catch(e){i(e)}}function a(e){var n;e.done?t(e.value):(n=e.value,n instanceof o?n:new o((function(e){e(n)}))).then(s,r)}a((n=n.apply(e,[])).next())}))}e.memo((function(t){var o=t.loadingElement,n=t.onLoad,i=t.onError,s=t.onUnmount,r=t.children,a=function(t){var o=t.id,n=void 0===o?W.id:o,i=t.version,s=void 0===i?W.version:i,r=t.nonce,a=t.googleMapsApiKey,l=t.googleMapsClientId,c=t.language,g=t.region,p=t.libraries,u=t.preventGoogleFontsLoading,d=t.channel,h=t.mapIds,m=t.authReferrerPolicy,f=e.useRef(!1),v=e.useState(!1),y=v[0],L=v[1],I=e.useState(void 0),b=I[0],w=I[1];e.useEffect((function(){return f.current=!0,function(){f.current=!1}}),[]),e.useEffect((function(){O&&u&&B()}),[u]),e.useEffect((function(){y&&C(!!window.google,"useLoadScript was marked as loaded, but window.google is not present. Something went wrong.")}),[y]);var k=D({version:s,googleMapsApiKey:a,googleMapsClientId:l,language:c,region:g,libraries:p,channel:d,mapIds:h,authReferrerPolicy:m});e.useEffect((function(){function e(){f.current&&(L(!0),U=k)}O&&(window.google&&window.google.maps&&U===k?e():_({id:n,url:k,nonce:r}).then(e).catch((function(e){f.current&&w(e),console.warn("\n There has been an Error with loading Google Maps API script, please check that you provided correct google API key (".concat(a||"-",") or Client ID (").concat(l||"-",")\n Otherwise it is a Network issue.\n ")),console.error(e)})))}),[n,k,r]);var M=e.useRef();return e.useEffect((function(){M.current&&p!==M.current&&console.warn("Performance warning! LoadScript has been reloaded unintentionally! You should not pass `libraries` prop as new array. Please keep an array of libraries as static class property for Components and PureComponents, or just a const variable outside of component, or somewhere in config files or ENV variables"),M.current=p}),[p]),{isLoaded:y,loadError:b,url:k}}(f(t,["loadingElement","onLoad","onError","onUnmount","children"])),l=a.isLoaded,c=a.loadError;return e.useEffect((function(){l&&"function"==typeof n&&n()}),[l,n]),e.useEffect((function(){c&&"function"==typeof i&&i(c)}),[c,i]),e.useEffect((function(){return function(){s&&s()}}),[s]),l?r:o||Z}));var j=function e(t,o){if(t===o)return!0;if(t&&o&&"object"==typeof t&&"object"==typeof o){if(t.constructor!==o.constructor)return!1;var n,i,s;if(Array.isArray(t)){if((n=t.length)!=o.length)return!1;for(i=n;0!=i--;)if(!e(t[i],o[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===o.source&&t.flags===o.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===o.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===o.toString();if((n=(s=Object.keys(t)).length)!==Object.keys(o).length)return!1;for(i=n;0!=i--;)if(!Object.prototype.hasOwnProperty.call(o,s[i]))return!1;for(i=n;0!=i--;){var r=s[i];if(!e(t[r],o[r]))return!1}return!0}return t!=t&&o!=o};const N="__googleMapsScriptId";var V;!function(e){e[e.INITIALIZED=0]="INITIALIZED",e[e.LOADING=1]="LOADING",e[e.SUCCESS=2]="SUCCESS",e[e.FAILURE=3]="FAILURE"}(V||(V={}));class H{constructor({apiKey:e,authReferrerPolicy:t,channel:o,client:n,id:i=N,language:s,libraries:r=[],mapIds:a,nonce:l,region:c,retries:g=3,url:p="https://maps.googleapis.com/maps/api/js",version:u}){if(this.callbacks=[],this.done=!1,this.loading=!1,this.errors=[],this.apiKey=e,this.authReferrerPolicy=t,this.channel=o,this.client=n,this.id=i||N,this.language=s,this.libraries=r,this.mapIds=a,this.nonce=l,this.region=c,this.retries=g,this.url=p,this.version=u,H.instance){if(!j(this.options,H.instance.options))throw new Error(`Loader must not be called again with different options. ${JSON.stringify(this.options)} !== ${JSON.stringify(H.instance.options)}`);return H.instance}H.instance=this}get options(){return{version:this.version,apiKey:this.apiKey,channel:this.channel,client:this.client,id:this.id,libraries:this.libraries,language:this.language,region:this.region,mapIds:this.mapIds,nonce:this.nonce,url:this.url,authReferrerPolicy:this.authReferrerPolicy}}get status(){return this.errors.length?V.FAILURE:this.done?V.SUCCESS:this.loading?V.LOADING:V.INITIALIZED}get failed(){return this.done&&!this.loading&&this.errors.length>=this.retries+1}createUrl(){let e=this.url;return e+="?callback=__googleMapsCallback",this.apiKey&&(e+=`&key=${this.apiKey}`),this.channel&&(e+=`&channel=${this.channel}`),this.client&&(e+=`&client=${this.client}`),this.libraries.length>0&&(e+=`&libraries=${this.libraries.join(",")}`),this.language&&(e+=`&language=${this.language}`),this.region&&(e+=`&region=${this.region}`),this.version&&(e+=`&v=${this.version}`),this.mapIds&&(e+=`&map_ids=${this.mapIds.join(",")}`),this.authReferrerPolicy&&(e+=`&auth_referrer_policy=${this.authReferrerPolicy}`),e}deleteScript(){const e=document.getElementById(this.id);e&&e.remove()}load(){return this.loadPromise()}loadPromise(){return new Promise(((e,t)=>{this.loadCallback((o=>{o?t(o.error):e(window.google)}))}))}importLibrary(e){return this.execute(),google.maps.importLibrary(e)}loadCallback(e){this.callbacks.push(e),this.execute()}setScript(){var e,t;if(document.getElementById(this.id))return void this.callback();const o={key:this.apiKey,channel:this.channel,client:this.client,libraries:this.libraries.length&&this.libraries,v:this.version,mapIds:this.mapIds,language:this.language,region:this.region,authReferrerPolicy:this.authReferrerPolicy};Object.keys(o).forEach((e=>!o[e]&&delete o[e])),(null===(t=null===(e=null===window||void 0===window?void 0:window.google)||void 0===e?void 0:e.maps)||void 0===t?void 0:t.importLibrary)||(e=>{let t,o,n,i="The Google Maps JavaScript API",s="google",r="importLibrary",a="__ib__",l=document,c=window;c=c[s]||(c[s]={});const g=c.maps||(c.maps={}),p=new Set,u=new URLSearchParams,d=()=>t||(t=new Promise(((r,c)=>F(this,0,void 0,(function*(){var d;for(n in yield o=l.createElement("script"),o.id=this.id,u.set("libraries",[...p]+""),e)u.set(n.replace(/[A-Z]/g,(e=>"_"+e[0].toLowerCase())),e[n]);u.set("callback",s+".maps."+a),o.src=this.url+"?"+u,g[a]=r,o.onerror=()=>t=c(Error(i+" could not load.")),o.nonce=this.nonce||(null===(d=l.querySelector("script[nonce]"))||void 0===d?void 0:d.nonce)||"",l.head.append(o)})))));g[r]?console.warn(i+" only loads once. Ignoring:",e):g[r]=(e,...t)=>p.add(e)&&d().then((()=>g[r](e,...t)))})(o);const n=this.libraries.map((e=>this.importLibrary(e)));n.length||n.push(this.importLibrary("core")),Promise.all(n).then((()=>this.callback()),(e=>{const t=new ErrorEvent("error",{error:e});this.loadErrorCallback(t)}))}reset(){this.deleteScript(),this.done=!1,this.loading=!1,this.errors=[],this.onerrorEvent=null}resetIfRetryingFailed(){this.failed&&this.reset()}loadErrorCallback(e){if(this.errors.push(e),this.errors.length<=this.retries){const e=this.errors.length*Math.pow(2,this.errors.length);console.error(`Failed to load Google Maps script, retrying in ${e} ms.`),setTimeout((()=>{this.deleteScript(),this.setScript()}),e)}else this.onerrorEvent=e,this.callback()}callback(){this.done=!0,this.loading=!1,this.callbacks.forEach((e=>{e(this.onerrorEvent)})),this.callbacks=[]}execute(){if(this.resetIfRetryingFailed(),this.done)this.callback();else{if(window.google&&window.google.maps&&window.google.maps.version)return console.warn("Google Maps already loaded outside @googlemaps/js-api-loader.This may result in undesirable behavior as options and script parameters may not match."),void this.callback();this.loading||(this.loading=!0,this.setScript())}}}var $=["maps"];var G={},Y={options:function(e,t){e.setOptions(t)}};e.memo((function(t){var o=t.options,n=t.onLoad,i=t.onUnmount,s=e.useContext(b),r=e.useState(null),a=r[0],l=r[1];return e.useEffect((function(){null!==a&&a.setMap(s)}),[s]),e.useEffect((function(){o&&null!==a&&a.setOptions(o)}),[a,o]),e.useEffect((function(){var e=new google.maps.TrafficLayer(m(m({},o||{}),{map:s}));return l(e),n&&n(e),function(){null!==a&&(i&&i(a),a.setMap(null))}}),[]),null})),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={trafficLayer:null},t.setTrafficLayerCallback=function(){null!==t.state.trafficLayer&&t.props.onLoad&&t.props.onLoad(t.state.trafficLayer)},t.registeredEvents=[],t}h(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.TrafficLayer(m(m({},this.props.options||{}),{map:this.context}));this.registeredEvents=z({updaterMap:Y,eventMap:G,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{trafficLayer:e}}),this.setTrafficLayerCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.trafficLayer&&(P(this.registeredEvents),this.registeredEvents=z({updaterMap:Y,eventMap:G,prevProps:e,nextProps:this.props,instance:this.state.trafficLayer}))},t.prototype.componentWillUnmount=function(){null!==this.state.trafficLayer&&(this.props.onUnmount&&this.props.onUnmount(this.state.trafficLayer),P(this.registeredEvents),this.state.trafficLayer.setMap(null))},t.prototype.render=function(){return null},t.contextType=b}(e.PureComponent),e.memo((function(t){var o=t.onLoad,n=t.onUnmount,i=e.useContext(b),s=e.useState(null),r=s[0],a=s[1];return e.useEffect((function(){null!==r&&r.setMap(i)}),[i]),e.useEffect((function(){var e=new google.maps.BicyclingLayer;return a(e),e.setMap(i),o&&o(e),function(){null!==e&&(n&&n(e),e.setMap(null))}}),[]),null})),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={bicyclingLayer:null},t.setBicyclingLayerCallback=function(){null!==t.state.bicyclingLayer&&(t.state.bicyclingLayer.setMap(t.context),t.props.onLoad&&t.props.onLoad(t.state.bicyclingLayer))},t}h(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.BicyclingLayer;this.setState((function(){return{bicyclingLayer:e}}),this.setBicyclingLayerCallback)},t.prototype.componentWillUnmount=function(){null!==this.state.bicyclingLayer&&(this.props.onUnmount&&this.props.onUnmount(this.state.bicyclingLayer),this.state.bicyclingLayer.setMap(null))},t.prototype.render=function(){return null},t.contextType=b}(e.PureComponent),e.memo((function(t){var o=t.onLoad,n=t.onUnmount,i=e.useContext(b),s=e.useState(null),r=s[0],a=s[1];return e.useEffect((function(){null!==r&&r.setMap(i)}),[i]),e.useEffect((function(){var e=new google.maps.TransitLayer;return a(e),e.setMap(i),o&&o(e),function(){null!==r&&(n&&n(r),r.setMap(null))}}),[]),null})),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={transitLayer:null},t.setTransitLayerCallback=function(){null!==t.state.transitLayer&&(t.state.transitLayer.setMap(t.context),t.props.onLoad&&t.props.onLoad(t.state.transitLayer))},t}h(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.TransitLayer;this.setState((function(){return{transitLayer:e}}),this.setTransitLayerCallback)},t.prototype.componentWillUnmount=function(){null!==this.state.transitLayer&&(this.props.onUnmount&&this.props.onUnmount(this.state.transitLayer),this.state.transitLayer.setMap(null))},t.prototype.render=function(){return null},t.contextType=b}(e.PureComponent);var J={onCircleComplete:"circlecomplete",onMarkerComplete:"markercomplete",onOverlayComplete:"overlaycomplete",onPolygonComplete:"polygoncomplete",onPolylineComplete:"polylinecomplete",onRectangleComplete:"rectanglecomplete"},K={drawingMode:function(e,t){e.setDrawingMode(t)},options:function(e,t){e.setOptions(t)}};e.memo((function(t){var o=t.options,n=t.drawingMode,i=t.onCircleComplete,s=t.onMarkerComplete,r=t.onOverlayComplete,a=t.onPolygonComplete,l=t.onPolylineComplete,c=t.onRectangleComplete,g=t.onLoad,p=t.onUnmount,u=e.useContext(b),d=e.useState(null),h=d[0],f=d[1],v=e.useState(null),y=v[0],L=v[1],I=e.useState(null),w=I[0],k=I[1],M=e.useState(null),P=M[0],z=M[1],x=e.useState(null),E=x[0],S=x[1],O=e.useState(null),_=O[0],T=O[1],B=e.useState(null),D=B[0],R=B[1];return e.useEffect((function(){null!==h&&h.setMap(u)}),[u]),e.useEffect((function(){o&&null!==h&&h.setOptions(o)}),[h,o]),e.useEffect((function(){null!==h&&h.setDrawingMode(null!=n?n:null)}),[h,n]),e.useEffect((function(){h&&i&&(null!==y&&google.maps.event.removeListener(y),L(google.maps.event.addListener(h,"circlecomplete",i)))}),[h,i]),e.useEffect((function(){h&&s&&(null!==w&&google.maps.event.removeListener(w),k(google.maps.event.addListener(h,"markercomplete",s)))}),[h,s]),e.useEffect((function(){h&&r&&(null!==P&&google.maps.event.removeListener(P),z(google.maps.event.addListener(h,"overlaycomplete",r)))}),[h,r]),e.useEffect((function(){h&&a&&(null!==E&&google.maps.event.removeListener(E),S(google.maps.event.addListener(h,"polygoncomplete",a)))}),[h,a]),e.useEffect((function(){h&&l&&(null!==_&&google.maps.event.removeListener(_),T(google.maps.event.addListener(h,"polylinecomplete",l)))}),[h,l]),e.useEffect((function(){h&&c&&(null!==D&&google.maps.event.removeListener(D),R(google.maps.event.addListener(h,"rectanglecomplete",c)))}),[h,c]),e.useEffect((function(){C(!!google.maps.drawing,"Did you include prop libraries={['drawing']} in the URL? %s",google.maps.drawing);var e=new google.maps.drawing.DrawingManager(m(m({},o||{}),{map:u}));return n&&e.setDrawingMode(n),i&&L(google.maps.event.addListener(e,"circlecomplete",i)),s&&k(google.maps.event.addListener(e,"markercomplete",s)),r&&z(google.maps.event.addListener(e,"overlaycomplete",r)),a&&S(google.maps.event.addListener(e,"polygoncomplete",a)),l&&T(google.maps.event.addListener(e,"polylinecomplete",l)),c&&R(google.maps.event.addListener(e,"rectanglecomplete",c)),f(e),g&&g(e),function(){null!==h&&(y&&google.maps.event.removeListener(y),w&&google.maps.event.removeListener(w),P&&google.maps.event.removeListener(P),E&&google.maps.event.removeListener(E),_&&google.maps.event.removeListener(_),D&&google.maps.event.removeListener(D),p&&p(h),h.setMap(null))}}),[]),null})),function(e){function t(t){var o=e.call(this,t)||this;return o.registeredEvents=[],o.state={drawingManager:null},o.setDrawingManagerCallback=function(){null!==o.state.drawingManager&&o.props.onLoad&&o.props.onLoad(o.state.drawingManager)},C(!!google.maps.drawing,"Did you include prop libraries={['drawing']} in the URL? %s",google.maps.drawing),o}h(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.drawing.DrawingManager(m(m({},this.props.options||{}),{map:this.context}));this.registeredEvents=z({updaterMap:K,eventMap:J,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{drawingManager:e}}),this.setDrawingManagerCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.drawingManager&&(P(this.registeredEvents),this.registeredEvents=z({updaterMap:K,eventMap:J,prevProps:e,nextProps:this.props,instance:this.state.drawingManager}))},t.prototype.componentWillUnmount=function(){null!==this.state.drawingManager&&(this.props.onUnmount&&this.props.onUnmount(this.state.drawingManager),P(this.registeredEvents),this.state.drawingManager.setMap(null))},t.prototype.render=function(){return null},t.contextType=b}(e.PureComponent);var q={onAnimationChanged:"animation_changed",onClick:"click",onClickableChanged:"clickable_changed",onCursorChanged:"cursor_changed",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDraggableChanged:"draggable_changed",onDragStart:"dragstart",onFlatChanged:"flat_changed",onIconChanged:"icon_changed",onMouseDown:"mousedown",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onPositionChanged:"position_changed",onRightClick:"rightclick",onShapeChanged:"shape_changed",onTitleChanged:"title_changed",onVisibleChanged:"visible_changed",onZindexChanged:"zindex_changed"},X={animation:function(e,t){e.setAnimation(t)},clickable:function(e,t){e.setClickable(t)},cursor:function(e,t){e.setCursor(t)},draggable:function(e,t){e.setDraggable(t)},icon:function(e,t){e.setIcon(t)},label:function(e,t){e.setLabel(t)},map:function(e,t){e.setMap(t)},opacity:function(e,t){e.setOpacity(t)},options:function(e,t){e.setOptions(t)},position:function(e,t){e.setPosition(t)},shape:function(e,t){e.setShape(t)},title:function(e,t){e.setTitle(t)},visible:function(e,t){e.setVisible(t)},zIndex:function(e,t){e.setZIndex(t)}},Q={};e.memo((function(t){var o=t.position,n=t.options,i=t.clusterer,s=t.noClustererRedraw,r=t.children,a=t.draggable,l=t.visible,c=t.animation,g=t.clickable,p=t.cursor,d=t.icon,h=t.label,f=t.opacity,v=t.shape,y=t.title,L=t.zIndex,I=t.onClick,C=t.onDblClick,w=t.onDrag,k=t.onDragEnd,M=t.onDragStart,P=t.onMouseOut,z=t.onMouseOver,x=t.onMouseUp,E=t.onMouseDown,S=t.onRightClick,O=t.onClickableChanged,_=t.onCursorChanged,T=t.onAnimationChanged,B=t.onDraggableChanged,D=t.onFlatChanged,R=t.onIconChanged,A=t.onPositionChanged,U=t.onShapeChanged,W=t.onTitleChanged,Z=t.onVisibleChanged,F=t.onZindexChanged,j=t.onLoad,N=t.onUnmount,V=e.useContext(b),H=e.useState(null),$=H[0],G=H[1],Y=e.useState(null),J=Y[0],K=Y[1],q=e.useState(null),X=q[0],ee=q[1],te=e.useState(null),oe=te[0],ne=te[1],ie=e.useState(null),se=ie[0],re=ie[1],ae=e.useState(null),le=ae[0],ce=ae[1],ge=e.useState(null),pe=ge[0],ue=ge[1],de=e.useState(null),he=de[0],me=de[1],fe=e.useState(null),ve=fe[0],ye=fe[1],Le=e.useState(null),Ie=Le[0],Ce=Le[1],be=e.useState(null),we=be[0],ke=be[1],Me=e.useState(null),Pe=Me[0],ze=Me[1],xe=e.useState(null),Ee=xe[0],Se=xe[1],Oe=e.useState(null),_e=Oe[0],Te=Oe[1],Be=e.useState(null),De=Be[0],Re=Be[1],Ae=e.useState(null),Ue=Ae[0],We=Ae[1],Ze=e.useState(null),Fe=Ze[0],je=Ze[1],Ne=e.useState(null),Ve=Ne[0],He=Ne[1],$e=e.useState(null),Ge=$e[0],Ye=$e[1],Je=e.useState(null),Ke=Je[0],qe=Je[1],Xe=e.useState(null),Qe=Xe[0],et=Xe[1],tt=e.useState(null),ot=tt[0],nt=tt[1];e.useEffect((function(){null!==$&&$.setMap(V)}),[V]),e.useEffect((function(){void 0!==n&&null!==$&&$.setOptions(n)}),[$,n]),e.useEffect((function(){void 0!==a&&null!==$&&$.setDraggable(a)}),[$,a]),e.useEffect((function(){o&&null!==$&&$.setPosition(o)}),[$,o]),e.useEffect((function(){void 0!==l&&null!==$&&$.setVisible(l)}),[$,l]),e.useEffect((function(){null==$||$.setAnimation(c)}),[$,c]),e.useEffect((function(){$&&void 0!==g&&$.setClickable(g)}),[$,g]),e.useEffect((function(){$&&void 0!==p&&$.setCursor(p)}),[$,p]),e.useEffect((function(){$&&void 0!==d&&$.setIcon(d)}),[$,d]),e.useEffect((function(){$&&void 0!==h&&$.setLabel(h)}),[$,h]),e.useEffect((function(){$&&void 0!==f&&$.setOpacity(f)}),[$,f]),e.useEffect((function(){$&&void 0!==v&&$.setShape(v)}),[$,v]),e.useEffect((function(){$&&void 0!==y&&$.setTitle(y)}),[$,y]),e.useEffect((function(){$&&void 0!==L&&$.setZIndex(L)}),[$,L]),e.useEffect((function(){$&&C&&(null!==J&&google.maps.event.removeListener(J),K(google.maps.event.addListener($,"dblclick",C)))}),[C]),e.useEffect((function(){$&&k&&(null!==X&&google.maps.event.removeListener(X),ee(google.maps.event.addListener($,"dragend",k)))}),[k]),e.useEffect((function(){$&&M&&(null!==oe&&google.maps.event.removeListener(oe),ne(google.maps.event.addListener($,"dragstart",M)))}),[M]),e.useEffect((function(){$&&E&&(null!==se&&google.maps.event.removeListener(se),re(google.maps.event.addListener($,"mousedown",E)))}),[E]),e.useEffect((function(){$&&P&&(null!==le&&google.maps.event.removeListener(le),ce(google.maps.event.addListener($,"mouseout",P)))}),[P]),e.useEffect((function(){$&&z&&(null!==pe&&google.maps.event.removeListener(pe),ue(google.maps.event.addListener($,"mouseover",z)))}),[z]),e.useEffect((function(){$&&x&&(null!==he&&google.maps.event.removeListener(he),me(google.maps.event.addListener($,"mouseup",x)))}),[x]),e.useEffect((function(){$&&S&&(null!==ve&&google.maps.event.removeListener(ve),ye(google.maps.event.addListener($,"rightclick",S)))}),[S]),e.useEffect((function(){$&&I&&(null!==Ie&&google.maps.event.removeListener(Ie),Ce(google.maps.event.addListener($,"click",I)))}),[I]),e.useEffect((function(){$&&w&&(null!==we&&google.maps.event.removeListener(we),ke(google.maps.event.addListener($,"drag",w)))}),[w]),e.useEffect((function(){$&&O&&(null!==Pe&&google.maps.event.removeListener(Pe),ze(google.maps.event.addListener($,"clickable_changed",O)))}),[O]),e.useEffect((function(){$&&_&&(null!==Ee&&google.maps.event.removeListener(Ee),Se(google.maps.event.addListener($,"cursor_changed",_)))}),[_]),e.useEffect((function(){$&&T&&(null!==_e&&google.maps.event.removeListener(_e),Te(google.maps.event.addListener($,"animation_changed",T)))}),[T]),e.useEffect((function(){$&&B&&(null!==De&&google.maps.event.removeListener(De),Re(google.maps.event.addListener($,"draggable_changed",B)))}),[B]),e.useEffect((function(){$&&D&&(null!==Ue&&google.maps.event.removeListener(Ue),We(google.maps.event.addListener($,"flat_changed",D)))}),[D]),e.useEffect((function(){$&&R&&(null!==Fe&&google.maps.event.removeListener(Fe),je(google.maps.event.addListener($,"icon_changed",R)))}),[R]),e.useEffect((function(){$&&A&&(null!==Ve&&google.maps.event.removeListener(Ve),He(google.maps.event.addListener($,"position_changed",A)))}),[A]),e.useEffect((function(){$&&U&&(null!==Ge&&google.maps.event.removeListener(Ge),Ye(google.maps.event.addListener($,"shape_changed",U)))}),[U]),e.useEffect((function(){$&&W&&(null!==Ke&&google.maps.event.removeListener(Ke),qe(google.maps.event.addListener($,"title_changed",W)))}),[W]),e.useEffect((function(){$&&Z&&(null!==Qe&&google.maps.event.removeListener(Qe),et(google.maps.event.addListener($,"visible_changed",Z)))}),[Z]),e.useEffect((function(){$&&F&&(null!==ot&&google.maps.event.removeListener(ot),nt(google.maps.event.addListener($,"zindex_changed",F)))}),[F]),e.useEffect((function(){var e=m(m(m({},n||Q),i?Q:{map:V}),{position:o}),t=new google.maps.Marker(e);return i?i.addMarker(t,!!s):t.setMap(V),o&&t.setPosition(o),void 0!==l&&t.setVisible(l),void 0!==a&&t.setDraggable(a),void 0!==g&&t.setClickable(g),"string"==typeof p&&t.setCursor(p),d&&t.setIcon(d),void 0!==h&&t.setLabel(h),void 0!==f&&t.setOpacity(f),v&&t.setShape(v),"string"==typeof y&&t.setTitle(y),"number"==typeof L&&t.setZIndex(L),C&&K(google.maps.event.addListener(t,"dblclick",C)),k&&ee(google.maps.event.addListener(t,"dragend",k)),M&&ne(google.maps.event.addListener(t,"dragstart",M)),E&&re(google.maps.event.addListener(t,"mousedown",E)),P&&ce(google.maps.event.addListener(t,"mouseout",P)),z&&ue(google.maps.event.addListener(t,"mouseover",z)),x&&me(google.maps.event.addListener(t,"mouseup",x)),S&&ye(google.maps.event.addListener(t,"rightclick",S)),I&&Ce(google.maps.event.addListener(t,"click",I)),w&&ke(google.maps.event.addListener(t,"drag",w)),O&&ze(google.maps.event.addListener(t,"clickable_changed",O)),_&&Se(google.maps.event.addListener(t,"cursor_changed",_)),T&&Te(google.maps.event.addListener(t,"animation_changed",T)),B&&Re(google.maps.event.addListener(t,"draggable_changed",B)),D&&We(google.maps.event.addListener(t,"flat_changed",D)),R&&je(google.maps.event.addListener(t,"icon_changed",R)),A&&He(google.maps.event.addListener(t,"position_changed",A)),U&&Ye(google.maps.event.addListener(t,"shape_changed",U)),W&&qe(google.maps.event.addListener(t,"title_changed",W)),Z&&et(google.maps.event.addListener(t,"visible_changed",Z)),F&&nt(google.maps.event.addListener(t,"zindex_changed",F)),G(t),j&&j(t),function(){null!==J&&google.maps.event.removeListener(J),null!==X&&google.maps.event.removeListener(X),null!==oe&&google.maps.event.removeListener(oe),null!==se&&google.maps.event.removeListener(se),null!==le&&google.maps.event.removeListener(le),null!==pe&&google.maps.event.removeListener(pe),null!==he&&google.maps.event.removeListener(he),null!==ve&&google.maps.event.removeListener(ve),null!==Ie&&google.maps.event.removeListener(Ie),null!==Pe&&google.maps.event.removeListener(Pe),null!==Ee&&google.maps.event.removeListener(Ee),null!==_e&&google.maps.event.removeListener(_e),null!==De&&google.maps.event.removeListener(De),null!==Ue&&google.maps.event.removeListener(Ue),null!==Fe&&google.maps.event.removeListener(Fe),null!==Ve&&google.maps.event.removeListener(Ve),null!==Ke&&google.maps.event.removeListener(Ke),null!==Qe&&google.maps.event.removeListener(Qe),null!==ot&&google.maps.event.removeListener(ot),N&&N(t),i?i.removeMarker(t,!!s):t&&t.setMap(null)}}),[]);var it=e.useMemo((function(){return r?e.Children.map(r,(function(t){if(!e.isValidElement(t))return t;var o=t;return e.cloneElement(o,{anchor:$})})):null}),[r,$]);return u.jsx(u.Fragment,{children:it})||null})),function(t){function o(){var e=null!==t&&t.apply(this,arguments)||this;return e.registeredEvents=[],e}h(o,t),o.prototype.componentDidMount=function(){var e=m(m(m({},this.props.options||Q),this.props.clusterer?Q:{map:this.context}),{position:this.props.position});this.marker=new google.maps.Marker(e),this.props.clusterer?this.props.clusterer.addMarker(this.marker,!!this.props.noClustererRedraw):this.marker.setMap(this.context),this.registeredEvents=z({updaterMap:X,eventMap:q,prevProps:{},nextProps:this.props,instance:this.marker}),this.props.onLoad&&this.props.onLoad(this.marker)},o.prototype.componentDidUpdate=function(e){this.marker&&(P(this.registeredEvents),this.registeredEvents=z({updaterMap:X,eventMap:q,prevProps:e,nextProps:this.props,instance:this.marker}))},o.prototype.componentWillUnmount=function(){this.marker&&(this.props.onUnmount&&this.props.onUnmount(this.marker),P(this.registeredEvents),this.props.clusterer?this.props.clusterer.removeMarker(this.marker,!!this.props.noClustererRedraw):this.marker&&this.marker.setMap(null))},o.prototype.render=function(){var t=this,o=null;return this.props.children&&(o=e.Children.map(this.props.children,(function(o){if(!e.isValidElement(o))return o;var n=o;return e.cloneElement(n,{anchor:t.marker})}))),o||null},o.contextType=b}(e.PureComponent);var ee=function(){function e(t,o){t.getClusterer().extend(e,google.maps.OverlayView),this.cluster=t,this.clusterClassName=this.cluster.getClusterer().getClusterClass(),this.className=this.clusterClassName,this.styles=o,this.center=void 0,this.div=null,this.sums=null,this.visible=!1,this.boundsChangedListener=null,this.url="",this.height=0,this.width=0,this.anchorText=[0,0],this.anchorIcon=[0,0],this.textColor="black",this.textSize=11,this.textDecoration="none",this.fontWeight="bold",this.fontStyle="normal",this.fontFamily="Arial,sans-serif",this.backgroundPosition="0 0",this.cMouseDownInCluster=null,this.cDraggingMapByCluster=null,this.timeOut=null,this.setMap(t.getMap()),this.onBoundsChanged=this.onBoundsChanged.bind(this),this.onMouseDown=this.onMouseDown.bind(this),this.onClick=this.onClick.bind(this),this.onMouseOver=this.onMouseOver.bind(this),this.onMouseOut=this.onMouseOut.bind(this),this.onAdd=this.onAdd.bind(this),this.onRemove=this.onRemove.bind(this),this.draw=this.draw.bind(this),this.hide=this.hide.bind(this),this.show=this.show.bind(this),this.useStyle=this.useStyle.bind(this),this.setCenter=this.setCenter.bind(this),this.getPosFromLatLng=this.getPosFromLatLng.bind(this)}return e.prototype.onBoundsChanged=function(){this.cDraggingMapByCluster=this.cMouseDownInCluster},e.prototype.onMouseDown=function(){this.cMouseDownInCluster=!0,this.cDraggingMapByCluster=!1},e.prototype.onClick=function(e){if(this.cMouseDownInCluster=!1,!this.cDraggingMapByCluster){var t=this.cluster.getClusterer();if(google.maps.event.trigger(t,"click",this.cluster),google.maps.event.trigger(t,"clusterclick",this.cluster),t.getZoomOnClick()){var o=t.getMaxZoom(),n=this.cluster.getBounds(),i=t.getMap();null!==i&&"fitBounds"in i&&i.fitBounds(n),this.timeOut=window.setTimeout((function(){var e=t.getMap();if(null!==e){"fitBounds"in e&&e.fitBounds(n);var i=e.getZoom()||0;null!==o&&i>o&&e.setZoom(o+1)}}),100)}e.cancelBubble=!0,e.stopPropagation&&e.stopPropagation()}},e.prototype.onMouseOver=function(){google.maps.event.trigger(this.cluster.getClusterer(),"mouseover",this.cluster)},e.prototype.onMouseOut=function(){google.maps.event.trigger(this.cluster.getClusterer(),"mouseout",this.cluster)},e.prototype.onAdd=function(){var e;this.div=document.createElement("div"),this.div.className=this.className,this.visible&&this.show(),null===(e=this.getPanes())||void 0===e||e.overlayMouseTarget.appendChild(this.div);var t=this.getMap();null!==t&&(this.boundsChangedListener=google.maps.event.addListener(t,"bounds_changed",this.onBoundsChanged),this.div.addEventListener("mousedown",this.onMouseDown),this.div.addEventListener("click",this.onClick),this.div.addEventListener("mouseover",this.onMouseOver),this.div.addEventListener("mouseout",this.onMouseOut))},e.prototype.onRemove=function(){this.div&&this.div.parentNode&&(this.hide(),null!==this.boundsChangedListener&&google.maps.event.removeListener(this.boundsChangedListener),this.div.removeEventListener("mousedown",this.onMouseDown),this.div.removeEventListener("click",this.onClick),this.div.removeEventListener("mouseover",this.onMouseOver),this.div.removeEventListener("mouseout",this.onMouseOut),this.div.parentNode.removeChild(this.div),null!==this.timeOut&&(window.clearTimeout(this.timeOut),this.timeOut=null),this.div=null)},e.prototype.draw=function(){if(this.visible&&null!==this.div&&this.center){var e=this.getPosFromLatLng(this.center);this.div.style.top=null!==e?"".concat(e.y,"px"):"0",this.div.style.left=null!==e?"".concat(e.x,"px"):"0"}},e.prototype.hide=function(){this.div&&(this.div.style.display="none"),this.visible=!1},e.prototype.show=function(){var e,t,o,n,i,s;if(this.div&&this.center){var r=null===this.sums||void 0===this.sums.title||""===this.sums.title?this.cluster.getClusterer().getTitle():this.sums.title,a=this.backgroundPosition.split(" "),l=parseInt((null===(e=a[0])||void 0===e?void 0:e.replace(/^\s+|\s+$/g,""))||"0",10),c=parseInt((null===(t=a[1])||void 0===t?void 0:t.replace(/^\s+|\s+$/g,""))||"0",10),g=this.getPosFromLatLng(this.center);this.div.className=this.className,this.div.setAttribute("style","cursor: pointer; position: absolute; top: ".concat(null!==g?"".concat(g.y,"px"):"0","; left: ").concat(null!==g?"".concat(g.x,"px"):"0","; width: ").concat(this.width,"px; height: ").concat(this.height,"px; "));var p=document.createElement("img");p.alt=r,p.src=this.url,p.width=this.width,p.height=this.height,p.setAttribute("style","position: absolute; top: ".concat(c,"px; left: ").concat(l,"px")),this.cluster.getClusterer().enableRetinaIcons||(p.style.clip="rect(-".concat(c,"px, -").concat(l+this.width,"px, -").concat(c+this.height,", -").concat(l,")"));var u=document.createElement("div");u.setAttribute("style","position: absolute; top: ".concat(this.anchorText[0],"px; left: ").concat(this.anchorText[1],"px; color: ").concat(this.textColor,"; font-size: ").concat(this.textSize,"px; font-family: ").concat(this.fontFamily,"; font-weight: ").concat(this.fontWeight,"; fontStyle: ").concat(this.fontStyle,"; text-decoration: ").concat(this.textDecoration,"; text-align: center; width: ").concat(this.width,"px; line-height: ").concat(this.height,"px")),(null===(o=this.sums)||void 0===o?void 0:o.text)&&(u.innerText="".concat(null===(n=this.sums)||void 0===n?void 0:n.text)),(null===(i=this.sums)||void 0===i?void 0:i.html)&&(u.innerHTML="".concat(null===(s=this.sums)||void 0===s?void 0:s.html)),this.div.innerHTML="",this.div.appendChild(p),this.div.appendChild(u),this.div.title=r,this.div.style.display=""}this.visible=!0},e.prototype.useStyle=function(e){this.sums=e;var t=this.cluster.getClusterer().getStyles(),o=t[Math.min(t.length-1,Math.max(0,e.index-1))];o&&(this.url=o.url,this.height=o.height,this.width=o.width,o.className&&(this.className="".concat(this.clusterClassName," ").concat(o.className)),this.anchorText=o.anchorText||[0,0],this.anchorIcon=o.anchorIcon||[this.height/2,this.width/2],this.textColor=o.textColor||"black",this.textSize=o.textSize||11,this.textDecoration=o.textDecoration||"none",this.fontWeight=o.fontWeight||"bold",this.fontStyle=o.fontStyle||"normal",this.fontFamily=o.fontFamily||"Arial,sans-serif",this.backgroundPosition=o.backgroundPosition||"0 0")},e.prototype.setCenter=function(e){this.center=e},e.prototype.getPosFromLatLng=function(e){var t=this.getProjection().fromLatLngToDivPixel(e);return null!==t&&(t.x-=this.anchorIcon[1],t.y-=this.anchorIcon[0]),t},e}(),te=function(){function e(e){this.markerClusterer=e,this.map=this.markerClusterer.getMap(),this.gridSize=this.markerClusterer.getGridSize(),this.minClusterSize=this.markerClusterer.getMinimumClusterSize(),this.averageCenter=this.markerClusterer.getAverageCenter(),this.markers=[],this.center=void 0,this.bounds=null,this.clusterIcon=new ee(this,this.markerClusterer.getStyles()),this.getSize=this.getSize.bind(this),this.getMarkers=this.getMarkers.bind(this),this.getCenter=this.getCenter.bind(this),this.getMap=this.getMap.bind(this),this.getClusterer=this.getClusterer.bind(this),this.getBounds=this.getBounds.bind(this),this.remove=this.remove.bind(this),this.addMarker=this.addMarker.bind(this),this.isMarkerInClusterBounds=this.isMarkerInClusterBounds.bind(this),this.calculateBounds=this.calculateBounds.bind(this),this.updateIcon=this.updateIcon.bind(this),this.isMarkerAlreadyAdded=this.isMarkerAlreadyAdded.bind(this)}return e.prototype.getSize=function(){return this.markers.length},e.prototype.getMarkers=function(){return this.markers},e.prototype.getCenter=function(){return this.center},e.prototype.getMap=function(){return this.map},e.prototype.getClusterer=function(){return this.markerClusterer},e.prototype.getBounds=function(){for(var e=new google.maps.LatLngBounds(this.center,this.center),t=0,o=this.getMarkers();t<o.length;t++){var n=o[t].getPosition();n&&e.extend(n)}return e},e.prototype.remove=function(){this.clusterIcon.setMap(null),this.markers=[],delete this.markers},e.prototype.addMarker=function(e){var t,o;if(this.isMarkerAlreadyAdded(e))return!1;if(this.center){if(this.averageCenter&&(o=e.getPosition())){var n=this.markers.length+1;this.center=new google.maps.LatLng((this.center.lat()*(n-1)+o.lat())/n,(this.center.lng()*(n-1)+o.lng())/n),this.calculateBounds()}}else(o=e.getPosition())&&(this.center=o,this.calculateBounds());e.isAdded=!0,this.markers.push(e);var i=this.markers.length,s=this.markerClusterer.getMaxZoom(),r=null===(t=this.map)||void 0===t?void 0:t.getZoom();if(null!==s&&void 0!==r&&r>s)e.getMap()!==this.map&&e.setMap(this.map);else if(i<this.minClusterSize)e.getMap()!==this.map&&e.setMap(this.map);else if(i===this.minClusterSize)for(var a=0,l=this.markers;a<l.length;a++){l[a].setMap(null)}else e.setMap(null);return!0},e.prototype.isMarkerInClusterBounds=function(e){if(null!==this.bounds){var t=e.getPosition();if(t)return this.bounds.contains(t)}return!1},e.prototype.calculateBounds=function(){this.bounds=this.markerClusterer.getExtendedBounds(new google.maps.LatLngBounds(this.center,this.center))},e.prototype.updateIcon=function(){var e,t=this.markers.length,o=this.markerClusterer.getMaxZoom(),n=null===(e=this.map)||void 0===e?void 0:e.getZoom();null!==o&&void 0!==n&&n>o||t<this.minClusterSize?this.clusterIcon.hide():(this.center&&this.clusterIcon.setCenter(this.center),this.clusterIcon.useStyle(this.markerClusterer.getCalculator()(this.markers,this.markerClusterer.getStyles().length)),this.clusterIcon.show())},e.prototype.isMarkerAlreadyAdded=function(e){if(this.markers.includes)return this.markers.includes(e);for(var t=0;t<this.markers.length;t++)if(e===this.markers[t])return!0;return!1},e}();function oe(e,t){var o=e.length,n=o.toString().length,i=Math.min(n,t);return{text:o.toString(),index:i,title:""}}var ne=[53,56,66,78,90],ie=function(){function e(t,o,n){void 0===o&&(o=[]),void 0===n&&(n={}),this.getMinimumClusterSize=this.getMinimumClusterSize.bind(this),this.setMinimumClusterSize=this.setMinimumClusterSize.bind(this),this.getEnableRetinaIcons=this.getEnableRetinaIcons.bind(this),this.setEnableRetinaIcons=this.setEnableRetinaIcons.bind(this),this.addToClosestCluster=this.addToClosestCluster.bind(this),this.getImageExtension=this.getImageExtension.bind(this),this.setImageExtension=this.setImageExtension.bind(this),this.getExtendedBounds=this.getExtendedBounds.bind(this),this.getAverageCenter=this.getAverageCenter.bind(this),this.setAverageCenter=this.setAverageCenter.bind(this),this.getTotalClusters=this.getTotalClusters.bind(this),this.fitMapToMarkers=this.fitMapToMarkers.bind(this),this.getIgnoreHidden=this.getIgnoreHidden.bind(this),this.setIgnoreHidden=this.setIgnoreHidden.bind(this),this.getClusterClass=this.getClusterClass.bind(this),this.setClusterClass=this.setClusterClass.bind(this),this.getTotalMarkers=this.getTotalMarkers.bind(this),this.getZoomOnClick=this.getZoomOnClick.bind(this),this.setZoomOnClick=this.setZoomOnClick.bind(this),this.getBatchSizeIE=this.getBatchSizeIE.bind(this),this.setBatchSizeIE=this.setBatchSizeIE.bind(this),this.createClusters=this.createClusters.bind(this),this.onZoomChanged=this.onZoomChanged.bind(this),this.getImageSizes=this.getImageSizes.bind(this),this.setImageSizes=this.setImageSizes.bind(this),this.getCalculator=this.getCalculator.bind(this),this.setCalculator=this.setCalculator.bind(this),this.removeMarkers=this.removeMarkers.bind(this),this.resetViewport=this.resetViewport.bind(this),this.getImagePath=this.getImagePath.bind(this),this.setImagePath=this.setImagePath.bind(this),this.pushMarkerTo=this.pushMarkerTo.bind(this),this.removeMarker=this.removeMarker.bind(this),this.clearMarkers=this.clearMarkers.bind(this),this.setupStyles=this.setupStyles.bind(this),this.getGridSize=this.getGridSize.bind(this),this.setGridSize=this.setGridSize.bind(this),this.getClusters=this.getClusters.bind(this),this.getMaxZoom=this.getMaxZoom.bind(this),this.setMaxZoom=this.setMaxZoom.bind(this),this.getMarkers=this.getMarkers.bind(this),this.addMarkers=this.addMarkers.bind(this),this.getStyles=this.getStyles.bind(this),this.setStyles=this.setStyles.bind(this),this.addMarker=this.addMarker.bind(this),this.onRemove=this.onRemove.bind(this),this.getTitle=this.getTitle.bind(this),this.setTitle=this.setTitle.bind(this),this.repaint=this.repaint.bind(this),this.onIdle=this.onIdle.bind(this),this.redraw=this.redraw.bind(this),this.onAdd=this.onAdd.bind(this),this.draw=this.draw.bind(this),this.extend=this.extend.bind(this),this.extend(e,google.maps.OverlayView),this.markers=[],this.clusters=[],this.listeners=[],this.activeMap=null,this.ready=!1,this.gridSize=n.gridSize||60,this.minClusterSize=n.minimumClusterSize||2,this.maxZoom=n.maxZoom||null,this.styles=n.styles||[],this.title=n.title||"",this.zoomOnClick=!0,void 0!==n.zoomOnClick&&(this.zoomOnClick=n.zoomOnClick),this.averageCenter=!1,void 0!==n.averageCenter&&(this.averageCenter=n.averageCenter),this.ignoreHidden=!1,void 0!==n.ignoreHidden&&(this.ignoreHidden=n.ignoreHidden),this.enableRetinaIcons=!1,void 0!==n.enableRetinaIcons&&(this.enableRetinaIcons=n.enableRetinaIcons),this.imagePath=n.imagePath||"https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m",this.imageExtension=n.imageExtension||"png",this.imageSizes=n.imageSizes||ne,this.calculator=n.calculator||oe,this.batchSize=n.batchSize||2e3,this.batchSizeIE=n.batchSizeIE||500,this.clusterClass=n.clusterClass||"cluster",-1!==navigator.userAgent.toLowerCase().indexOf("msie")&&(this.batchSize=this.batchSizeIE),this.timerRefStatic=null,this.setupStyles(),this.addMarkers(o,!0),this.setMap(t)}return e.prototype.onZoomChanged=function(){var e,t;this.resetViewport(!1),(null===(e=this.getMap())||void 0===e?void 0:e.getZoom())!==(this.get("minZoom")||0)&&(null===(t=this.getMap())||void 0===t?void 0:t.getZoom())!==this.get("maxZoom")||google.maps.event.trigger(this,"idle")},e.prototype.onIdle=function(){this.redraw()},e.prototype.onAdd=function(){var e=this.getMap();this.activeMap=e,this.ready=!0,this.repaint(),null!==e&&(this.listeners=[google.maps.event.addListener(e,"zoom_changed",this.onZoomChanged),google.maps.event.addListener(e,"idle",this.onIdle)])},e.prototype.onRemove=function(){for(var e=0,t=this.markers;e<t.length;e++){var o=t[e];o.getMap()!==this.activeMap&&o.setMap(this.activeMap)}for(var n=0,i=this.clusters;n<i.length;n++){i[n].remove()}this.clusters=[];for(var s=0,r=this.listeners;s<r.length;s++){var a=r[s];google.maps.event.removeListener(a)}this.listeners=[],this.activeMap=null,this.ready=!1},e.prototype.draw=function(){},e.prototype.getMap=function(){return null},e.prototype.getPanes=function(){return null},e.prototype.getProjection=function(){return{fromContainerPixelToLatLng:function(){return null},fromDivPixelToLatLng:function(){return null},fromLatLngToContainerPixel:function(){return null},fromLatLngToDivPixel:function(){return null},getVisibleRegion:function(){return null},getWorldWidth:function(){return 0}}},e.prototype.setMap=function(){},e.prototype.addListener=function(){return{remove:function(){}}},e.prototype.bindTo=function(){},e.prototype.get=function(){},e.prototype.notify=function(){},e.prototype.set=function(){},e.prototype.setValues=function(){},e.prototype.unbind=function(){},e.prototype.unbindAll=function(){},e.prototype.setupStyles=function(){if(!(this.styles.length>0))for(var e=0;e<this.imageSizes.length;e++)this.styles.push({url:"".concat(this.imagePath+(e+1),".").concat(this.imageExtension),height:this.imageSizes[e]||0,width:this.imageSizes[e]||0})},e.prototype.fitMapToMarkers=function(){for(var e=this.getMarkers(),t=new google.maps.LatLngBounds,o=0,n=e;o<n.length;o++){var i=n[o].getPosition();i&&t.extend(i)}var s=this.getMap();null!==s&&"fitBounds"in s&&s.fitBounds(t)},e.prototype.getGridSize=function(){return this.gridSize},e.prototype.setGridSize=function(e){this.gridSize=e},e.prototype.getMinimumClusterSize=function(){return this.minClusterSize},e.prototype.setMinimumClusterSize=function(e){this.minClusterSize=e},e.prototype.getMaxZoom=function(){return this.maxZoom},e.prototype.setMaxZoom=function(e){this.maxZoom=e},e.prototype.getStyles=function(){return this.styles},e.prototype.setStyles=function(e){this.styles=e},e.prototype.getTitle=function(){return this.title},e.prototype.setTitle=function(e){this.title=e},e.prototype.getZoomOnClick=function(){return this.zoomOnClick},e.prototype.setZoomOnClick=function(e){this.zoomOnClick=e},e.prototype.getAverageCenter=function(){return this.averageCenter},e.prototype.setAverageCenter=function(e){this.averageCenter=e},e.prototype.getIgnoreHidden=function(){return this.ignoreHidden},e.prototype.setIgnoreHidden=function(e){this.ignoreHidden=e},e.prototype.getEnableRetinaIcons=function(){return this.enableRetinaIcons},e.prototype.setEnableRetinaIcons=function(e){this.enableRetinaIcons=e},e.prototype.getImageExtension=function(){return this.imageExtension},e.prototype.setImageExtension=function(e){this.imageExtension=e},e.prototype.getImagePath=function(){return this.imagePath},e.prototype.setImagePath=function(e){this.imagePath=e},e.prototype.getImageSizes=function(){return this.imageSizes},e.prototype.setImageSizes=function(e){this.imageSizes=e},e.prototype.getCalculator=function(){return this.calculator},e.prototype.setCalculator=function(e){this.calculator=e},e.prototype.getBatchSizeIE=function(){return this.batchSizeIE},e.prototype.setBatchSizeIE=function(e){this.batchSizeIE=e},e.prototype.getClusterClass=function(){return this.clusterClass},e.prototype.setClusterClass=function(e){this.clusterClass=e},e.prototype.getMarkers=function(){return this.markers},e.prototype.getTotalMarkers=function(){return this.markers.length},e.prototype.getClusters=function(){return this.clusters},e.prototype.getTotalClusters=function(){return this.clusters.length},e.prototype.addMarker=function(e,t){this.pushMarkerTo(e),t||this.redraw()},e.prototype.addMarkers=function(e,t){for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var n=e[o];n&&this.pushMarkerTo(n)}t||this.redraw()},e.prototype.pushMarkerTo=function(e){var t=this;e.getDraggable()&&google.maps.event.addListener(e,"dragend",(function(){t.ready&&(e.isAdded=!1,t.repaint())})),e.isAdded=!1,this.markers.push(e)},e.prototype.removeMarker_=function(e){var t=-1;if(this.markers.indexOf)t=this.markers.indexOf(e);else for(var o=0;o<this.markers.length;o++)if(e===this.markers[o]){t=o;break}return-1!==t&&(e.setMap(null),this.markers.splice(t,1),!0)},e.prototype.removeMarker=function(e,t){var o=this.removeMarker_(e);return!t&&o&&this.repaint(),o},e.prototype.removeMarkers=function(e,t){for(var o=!1,n=0,i=e;n<i.length;n++){var s=i[n];o=o||this.removeMarker_(s)}return!t&&o&&this.repaint(),o},e.prototype.clearMarkers=function(){this.resetViewport(!0),this.markers=[]},e.prototype.repaint=function(){var e=this.clusters.slice();this.clusters=[],this.resetViewport(!1),this.redraw(),setTimeout((function(){for(var t=0,o=e;t<o.length;t++){o[t].remove()}}),0)},e.prototype.getExtendedBounds=function(e){var t=this.getProjection(),o=t.fromLatLngToDivPixel(new google.maps.LatLng(e.getNorthEast().lat(),e.getNorthEast().lng()));null!==o&&(o.x+=this.gridSize,o.y-=this.gridSize);var n=t.fromLatLngToDivPixel(new google.maps.LatLng(e.getSouthWest().lat(),e.getSouthWest().lng()));if(null!==n&&(n.x-=this.gridSize,n.y+=this.gridSize),null!==o){var i=t.fromDivPixelToLatLng(o);null!==i&&e.extend(i)}if(null!==n){var s=t.fromDivPixelToLatLng(n);null!==s&&e.extend(s)}return e},e.prototype.redraw=function(){this.createClusters(0)},e.prototype.resetViewport=function(e){for(var t=0,o=this.clusters;t<o.length;t++){o[t].remove()}this.clusters=[];for(var n=0,i=this.markers;n<i.length;n++){var s=i[n];s.isAdded=!1,e&&s.setMap(null)}},e.prototype.distanceBetweenPoints=function(e,t){var o=(t.lat()-e.lat())*Math.PI/180,n=(t.lng()-e.lng())*Math.PI/180,i=Math.sin(o/2)*Math.sin(o/2)+Math.cos(e.lat()*Math.PI/180)*Math.cos(t.lat()*Math.PI/180)*Math.sin(n/2)*Math.sin(n/2);return 2*Math.atan2(Math.sqrt(i),Math.sqrt(1-i))*6371},e.prototype.isMarkerInBounds=function(e,t){var o=e.getPosition();return!!o&&t.contains(o)},e.prototype.addToClosestCluster=function(e){for(var t,o=4e4,n=null,i=0,s=this.clusters;i<s.length;i++){var r=(t=s[i]).getCenter(),a=e.getPosition();if(r&&a){var l=this.distanceBetweenPoints(r,a);l<o&&(o=l,n=t)}}n&&n.isMarkerInClusterBounds(e)?n.addMarker(e):((t=new te(this)).addMarker(e),this.clusters.push(t))},e.prototype.createClusters=function(e){var t=this;if(this.ready){0===e&&(google.maps.event.trigger(this,"clusteringbegin",this),null!==this.timerRefStatic&&(window.clearTimeout(this.timerRefStatic),delete this.timerRefStatic));for(var o=this.getMap(),n=(null!==o&&"getBounds"in o?o.getBounds():null),i=((null==o?void 0:o.getZoom())||0)>3?new google.maps.LatLngBounds(null==n?void 0:n.getSouthWest(),null==n?void 0:n.getNorthEast()):new google.maps.LatLngBounds(new google.maps.LatLng(85.02070771743472,-178.48388434375),new google.maps.LatLng(-85.08136444384544,178.00048865625)),s=this.getExtendedBounds(i),r=Math.min(e+this.batchSize,this.markers.length),a=e;a<r;a++){var l=this.markers[a];l&&!l.isAdded&&this.isMarkerInBounds(l,s)&&(!this.ignoreHidden||this.ignoreHidden&&l.getVisible())&&this.addToClosestCluster(l)}if(r<this.markers.length)this.timerRefStatic=window.setTimeout((function(){t.createClusters(r)}),0);else{this.timerRefStatic=null,google.maps.event.trigger(this,"clusteringend",this);for(var c=0,g=this.clusters;c<g.length;c++){g[c].updateIcon()}}}},e.prototype.extend=function(e,t){return function(e){for(var t in e.prototype){var o=t;this.prototype[o]=e.prototype[o]}return this}.apply(e,[t])},e}(),se={onClick:"click",onClusteringBegin:"clusteringbegin",onClusteringEnd:"clusteringend",onMouseOut:"mouseout",onMouseOver:"mouseover"},re={averageCenter:function(e,t){e.setAverageCenter(t)},batchSizeIE:function(e,t){e.setBatchSizeIE(t)},calculator:function(e,t){e.setCalculator(t)},clusterClass:function(e,t){e.setClusterClass(t)},enableRetinaIcons:function(e,t){e.setEnableRetinaIcons(t)},gridSize:function(e,t){e.setGridSize(t)},ignoreHidden:function(e,t){e.setIgnoreHidden(t)},imageExtension:function(e,t){e.setImageExtension(t)},imagePath:function(e,t){e.setImagePath(t)},imageSizes:function(e,t){e.setImageSizes(t)},maxZoom:function(e,t){e.setMaxZoom(t)},minimumClusterSize:function(e,t){e.setMinimumClusterSize(t)},styles:function(e,t){e.setStyles(t)},title:function(e,t){e.setTitle(t)},zoomOnClick:function(e,t){e.setZoomOnClick(t)}},ae={};function le(e){e.cancelBubble=!0,e.stopPropagation&&e.stopPropagation()}e.memo((function(t){var o=t.children,n=t.options,i=t.averageCenter,s=t.batchSizeIE,r=t.calculator,a=t.clusterClass,l=t.enableRetinaIcons,c=t.gridSize,g=t.ignoreHidden,p=t.imageExtension,u=t.imagePath,d=t.imageSizes,h=t.maxZoom,f=t.minimumClusterSize,v=t.styles,y=t.title,L=t.zoomOnClick,I=t.onClick,C=t.onClusteringBegin,w=t.onClusteringEnd,k=t.onMouseOver,M=t.onMouseOut,P=t.onLoad,z=t.onUnmount,x=e.useState(null),E=x[0],S=x[1],O=e.useContext(b),_=e.useState(null),T=_[0],B=_[1],D=e.useState(null),R=D[0],A=D[1],U=e.useState(null),W=U[0],Z=U[1],F=e.useState(null),j=F[0],N=F[1],V=e.useState(null),H=V[0],$=V[1];return e.useEffect((function(){E&&M&&(null!==j&&google.maps.event.removeListener(j),N(google.maps.event.addListener(E,se.onMouseOut,M)))}),[M]),e.useEffect((function(){E&&k&&(null!==H&&google.maps.event.removeListener(H),$(google.maps.event.addListener(E,se.onMouseOver,k)))}),[k]),e.useEffect((function(){E&&I&&(null!==T&&google.maps.event.removeListener(T),B(google.maps.event.addListener(E,se.onClick,I)))}),[I]),e.useEffect((function(){E&&C&&(null!==R&&google.maps.event.removeListener(R),A(google.maps.event.addListener(E,se.onClusteringBegin,C)))}),[C]),e.useEffect((function(){E&&w&&(null!==W&&google.maps.event.removeListener(W),A(google.maps.event.addListener(E,se.onClusteringEnd,w)))}),[w]),e.useEffect((function(){void 0!==i&&null!==E&&re.averageCenter(E,i)}),[E,i]),e.useEffect((function(){void 0!==s&&null!==E&&re.batchSizeIE(E,s)}),[E,s]),e.useEffect((function(){void 0!==r&&null!==E&&re.calculator(E,r)}),[E,r]),e.useEffect((function(){void 0!==a&&null!==E&&re.clusterClass(E,a)}),[E,a]),e.useEffect((function(){void 0!==l&&null!==E&&re.enableRetinaIcons(E,l)}),[E,l]),e.useEffect((function(){void 0!==c&&null!==E&&re.gridSize(E,c)}),[E,c]),e.useEffect((function(){void 0!==g&&null!==E&&re.ignoreHidden(E,g)}),[E,g]),e.useEffect((function(){void 0!==p&&null!==E&&re.imageExtension(E,p)}),[E,p]),e.useEffect((function(){void 0!==u&&null!==E&&re.imagePath(E,u)}),[E,u]),e.useEffect((function(){void 0!==d&&null!==E&&re.imageSizes(E,d)}),[E,d]),e.useEffect((function(){void 0!==h&&null!==E&&re.maxZoom(E,h)}),[E,h]),e.useEffect((function(){void 0!==f&&null!==E&&re.minimumClusterSize(E,f)}),[E,f]),e.useEffect((function(){void 0!==v&&null!==E&&re.styles(E,v)}),[E,v]),e.useEffect((function(){void 0!==y&&null!==E&&re.title(E,y)}),[E,y]),e.useEffect((function(){void 0!==L&&null!==E&&re.zoomOnClick(E,L)}),[E,L]),e.useEffect((function(){if(O){var e=m({},n||ae),t=new ie(O,[],e);return i&&re.averageCenter(t,i),s&&re.batchSizeIE(t,s),r&&re.calculator(t,r),a&&re.clusterClass(t,a),l&&re.enableRetinaIcons(t,l),c&&re.gridSize(t,c),g&&re.ignoreHidden(t,g),p&&re.imageExtension(t,p),u&&re.imagePath(t,u),d&&re.imageSizes(t,d),h&&re.maxZoom(t,h),f&&re.minimumClusterSize(t,f),v&&re.styles(t,v),y&&re.title(t,y),L&&re.zoomOnClick(t,L),M&&N(google.maps.event.addListener(t,se.onMouseOut,M)),k&&$(google.maps.event.addListener(t,se.onMouseOver,k)),I&&B(google.maps.event.addListener(t,se.onClick,I)),C&&A(google.maps.event.addListener(t,se.onClusteringBegin,C)),w&&Z(google.maps.event.addListener(t,se.onClusteringEnd,w)),S(t),P&&P(t),function(){null!==j&&google.maps.event.removeListener(j),null!==H&&google.maps.event.removeListener(H),null!==T&&google.maps.event.removeListener(T),null!==R&&google.maps.event.removeListener(R),null!==W&&google.maps.event.removeListener(W),z&&z(t)}}}),[]),null!==E&&o(E)||null})),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.state={markerClusterer:null},t.setClustererCallback=function(){null!==t.state.markerClusterer&&t.props.onLoad&&t.props.onLoad(t.state.markerClusterer)},t}h(t,e),t.prototype.componentDidMount=function(){if(this.context){var e=new ie(this.context,[],this.props.options);this.registeredEvents=z({updaterMap:re,eventMap:se,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{markerClusterer:e}}),this.setClustererCallback)}},t.prototype.componentDidUpdate=function(e){this.state.markerClusterer&&(P(this.registeredEvents),this.registeredEvents=z({updaterMap:re,eventMap:se,prevProps:e,nextProps:this.props,instance:this.state.markerClusterer}))},t.prototype.componentWillUnmount=function(){null!==this.state.markerClusterer&&(this.props.onUnmount&&this.props.onUnmount(this.state.markerClusterer),P(this.registeredEvents),this.state.markerClusterer.setMap(null))},t.prototype.render=function(){return null!==this.state.markerClusterer?this.props.children(this.state.markerClusterer):null},t.contextType=b}(e.PureComponent);var ce=function(){function e(t){void 0===t&&(t={}),this.getCloseClickHandler=this.getCloseClickHandler.bind(this),this.closeClickHandler=this.closeClickHandler.bind(this),this.createInfoBoxDiv=this.createInfoBoxDiv.bind(this),this.addClickHandler=this.addClickHandler.bind(this),this.getCloseBoxImg=this.getCloseBoxImg.bind(this),this.getBoxWidths=this.getBoxWidths.bind(this),this.setBoxStyle=this.setBoxStyle.bind(this),this.setPosition=this.setPosition.bind(this),this.getPosition=this.getPosition.bind(this),this.setOptions=this.setOptions.bind(this),this.setContent=this.setContent.bind(this),this.setVisible=this.setVisible.bind(this),this.getContent=this.getContent.bind(this),this.getVisible=this.getVisible.bind(this),this.setZIndex=this.setZIndex.bind(this),this.getZIndex=this.getZIndex.bind(this),this.onRemove=this.onRemove.bind(this),this.panBox=this.panBox.bind(this),this.extend=this.extend.bind(this),this.close=this.close.bind(this),this.draw=this.draw.bind(this),this.show=this.show.bind(this),this.hide=this.hide.bind(this),this.open=this.open.bind(this),this.extend(e,google.maps.OverlayView),this.content=t.content||"",this.disableAutoPan=t.disableAutoPan||!1,this.maxWidth=t.maxWidth||0,this.pixelOffset=t.pixelOffset||new google.maps.Size(0,0),this.position=t.position||new google.maps.LatLng(0,0),this.zIndex=t.zIndex||null,this.boxClass=t.boxClass||"infoBox",this.boxStyle=t.boxStyle||{},this.closeBoxMargin=t.closeBoxMargin||"2px",this.closeBoxURL=t.closeBoxURL||"http://www.google.com/intl/en_us/mapfiles/close.gif",""===t.closeBoxURL&&(this.closeBoxURL=""),this.infoBoxClearance=t.infoBoxClearance||new google.maps.Size(1,1),void 0===t.visible&&(void 0===t.isHidden?t.visible=!0:t.visible=!t.isHidden),this.isHidden=!t.visible,this.alignBottom=t.alignBottom||!1,this.pane=t.pane||"floatPane",this.enableEventPropagation=t.enableEventPropagation||!1,this.div=null,this.closeListener=null,this.moveListener=null,this.mapListener=null,this.contextListener=null,this.eventListeners=null,this.fixedWidthSet=null}return e.prototype.createInfoBoxDiv=function(){var e=this;if(!this.div){this.div=document.createElement("div"),this.setBoxStyle(),"string"==typeof this.content?this.div.innerHTML=this.getCloseBoxImg()+this.content:(this.div.innerHTML=this.getCloseBoxImg(),this.div.appendChild(this.content));var t=this.getPanes();if(null!==t&&t[this.pane].appendChild(this.div),this.addClickHandler(),this.div.style.width)this.fixedWidthSet=!0;else if(0!==this.maxWidth&&this.div.offsetWidth>this.maxWidth)this.div.style.width=this.maxWidth+"px",this.fixedWidthSet=!0;else{var o=this.getBoxWidths();this.div.style.width=this.div.offsetWidth-o.left-o.right+"px",this.fixedWidthSet=!1}if(this.panBox(this.disableAutoPan),!this.enableEventPropagation){this.eventListeners=[];for(var n=0,i=["mousedown","mouseover","mouseout","mouseup","click","dblclick","touchstart","touchend","touchmove"];n<i.length;n++){var s=i[n];this.eventListeners.push(google.maps.event.addListener(this.div,s,le))}this.eventListeners.push(google.maps.event.addListener(this.div,"mouseover",(function(){e.div&&(e.div.style.cursor="default")})))}this.contextListener=google.maps.event.addListener(this.div,"contextmenu",(function(t){t.returnValue=!1,t.preventDefault&&t.preventDefault(),e.enableEventPropagation||le(t)})),google.maps.event.trigger(this,"domready")}},e.prototype.getCloseBoxImg=function(){var e="";return""!==this.closeBoxURL&&(e='<img alt=""',e+=' aria-hidden="true"',e+=" src='"+this.closeBoxURL+"'",e+=" align=right",e+=" style='",e+=" position: relative;",e+=" cursor: pointer;",e+=" margin: "+this.closeBoxMargin+";",e+="'>"),e},e.prototype.addClickHandler=function(){this.closeListener=this.div&&this.div.firstChild&&""!==this.closeBoxURL?google.maps.event.addListener(this.div.firstChild,"click",this.getCloseClickHandler()):null},e.prototype.closeClickHandler=function(e){e.cancelBubble=!0,e.stopPropagation&&e.stopPropagation(),google.maps.event.trigger(this,"closeclick"),this.close()},e.prototype.getCloseClickHandler=function(){return this.closeClickHandler},e.prototype.panBox=function(e){if(this.div&&!e){var t=this.getMap();if(t instanceof google.maps.Map){var o=0,n=0,i=t.getBounds();i&&!i.contains(this.position)&&t.setCenter(this.position);var s=t.getDiv(),r=s.offsetWidth,a=s.offsetHeight,l=this.pixelOffset.width,c=this.pixelOffset.height,g=this.div.offsetWidth,p=this.div.offsetHeight,u=this.infoBoxClearance.width,d=this.infoBoxClearance.height,h=this.getProjection().fromLatLngToContainerPixel(this.position);null!==h&&(h.x<-l+u?o=h.x+l-u:h.x+g+l+u>r&&(o=h.x+g+l+u-r),this.alignBottom?h.y<-c+d+p?n=h.y+c-d-p:h.y+c+d>a&&(n=h.y+c+d-a):h.y<-c+d?n=h.y+c-d:h.y+p+c+d>a&&(n=h.y+p+c+d-a)),0===o&&0===n||t.panBy(o,n)}}},e.prototype.setBoxStyle=function(){if(this.div){this.div.className=this.boxClass,this.div.style.cssText="";var e=this.boxStyle;for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(this.div.style[t]=e[t]);if(this.div.style.webkitTransform="translateZ(0)",void 0!==this.div.style.opacity&&""!==this.div.style.opacity){var o=parseFloat(this.div.style.opacity||"");this.div.style.msFilter='"progid:DXImageTransform.Microsoft.Alpha(Opacity='+100*o+')"',this.div.style.filter="alpha(opacity="+100*o+")"}this.div.style.position="absolute",this.div.style.visibility="hidden",null!==this.zIndex&&(this.div.style.zIndex=this.zIndex+""),this.div.style.overflow||(this.div.style.overflow="auto")}},e.prototype.getBoxWidths=function(){var e={top:0,bottom:0,left:0,right:0};if(!this.div)return e;if(document.defaultView){var t=this.div.ownerDocument,o=t&&t.defaultView?t.defaultView.getComputedStyle(this.div,""):null;o&&(e.top=parseInt(o.borderTopWidth||"",10)||0,e.bottom=parseInt(o.borderBottomWidth||"",10)||0,e.left=parseInt(o.borderLeftWidth||"",10)||0,e.right=parseInt(o.borderRightWidth||"",10)||0)}else if(document.documentElement.currentStyle){var n=this.div.currentStyle;n&&(e.top=parseInt(n.borderTopWidth||"",10)||0,e.bottom=parseInt(n.borderBottomWidth||"",10)||0,e.left=parseInt(n.borderLeftWidth||"",10)||0,e.right=parseInt(n.borderRightWidth||"",10)||0)}return e},e.prototype.onRemove=function(){this.div&&this.div.parentNode&&(this.div.parentNode.removeChild(this.div),this.div=null)},e.prototype.draw=function(){if(this.createInfoBoxDiv(),this.div){var e=this.getProjection().fromLatLngToDivPixel(this.position);null!==e&&(this.div.style.left=e.x+this.pixelOffset.width+"px",this.alignBottom?this.div.style.bottom=-(e.y+this.pixelOffset.height)+"px":this.div.style.top=e.y+this.pixelOffset.height+"px"),this.isHidden?this.div.style.visibility="hidden":this.div.style.visibility="visible"}},e.prototype.setOptions=function(e){void 0===e&&(e={}),void 0!==e.boxClass&&(this.boxClass=e.boxClass,this.setBoxStyle()),void 0!==e.boxStyle&&(this.boxStyle=e.boxStyle,this.setBoxStyle()),void 0!==e.content&&this.setContent(e.content),void 0!==e.disableAutoPan&&(this.disableAutoPan=e.disableAutoPan),void 0!==e.maxWidth&&(this.maxWidth=e.maxWidth),void 0!==e.pixelOffset&&(this.pixelOffset=e.pixelOffset),void 0!==e.alignBottom&&(this.alignBottom=e.alignBottom),void 0!==e.position&&this.setPosition(e.position),void 0!==e.zIndex&&this.setZIndex(e.zIndex),void 0!==e.closeBoxMargin&&(this.closeBoxMargin=e.closeBoxMargin),void 0!==e.closeBoxURL&&(this.closeBoxURL=e.closeBoxURL),void 0!==e.infoBoxClearance&&(this.infoBoxClearance=e.infoBoxClearance),void 0!==e.isHidden&&(this.isHidden=e.isHidden),void 0!==e.visible&&(this.isHidden=!e.visible),void 0!==e.enableEventPropagation&&(this.enableEventPropagation=e.enableEventPropagation),this.div&&this.draw()},e.prototype.setContent=function(e){this.content=e,this.div&&(this.closeListener&&(google.maps.event.removeListener(this.closeListener),this.closeListener=null),this.fixedWidthSet||(this.div.style.width=""),"string"==typeof e?this.div.innerHTML=this.getCloseBoxImg()+e:(this.div.innerHTML=this.getCloseBoxImg(),this.div.appendChild(e)),this.fixedWidthSet||(this.div.style.width=this.div.offsetWidth+"px","string"==typeof e?this.div.innerHTML=this.getCloseBoxImg()+e:(this.div.innerHTML=this.getCloseBoxImg(),this.div.appendChild(e))),this.addClickHandler()),google.maps.event.trigger(this,"content_changed")},e.prototype.setPosition=function(e){this.position=e,this.div&&this.draw(),google.maps.event.trigger(this,"position_changed")},e.prototype.setVisible=function(e){this.isHidden=!e,this.div&&(this.div.style.visibility=this.isHidden?"hidden":"visible")},e.prototype.setZIndex=function(e){this.zIndex=e,this.div&&(this.div.style.zIndex=e+""),google.maps.event.trigger(this,"zindex_changed")},e.prototype.getContent=function(){return this.content},e.prototype.getPosition=function(){return this.position},e.prototype.getZIndex=function(){return this.zIndex},e.prototype.getVisible=function(){var e=this.getMap();return null!=e&&!this.isHidden},e.prototype.show=function(){this.isHidden=!1,this.div&&(this.div.style.visibility="visible")},e.prototype.hide=function(){this.isHidden=!0,this.div&&(this.div.style.visibility="hidden")},e.prototype.open=function(e,t){var o=this;t&&(this.position=t.getPosition(),this.moveListener=google.maps.event.addListener(t,"position_changed",(function(){var e=t.getPosition();o.setPosition(e)})),this.mapListener=google.maps.event.addListener(t,"map_changed",(function(){o.setMap(t.map)}))),this.setMap(e),this.div&&this.panBox()},e.prototype.close=function(){if(this.closeListener&&(google.maps.event.removeListener(this.closeListener),this.closeListener=null),this.eventListeners){for(var e=0,t=this.eventListeners;e<t.length;e++){var o=t[e];google.maps.event.removeListener(o)}this.eventListeners=null}this.moveListener&&(google.maps.event.removeListener(this.moveListener),this.moveListener=null),this.mapListener&&(google.maps.event.removeListener(this.mapListener),this.mapListener=null),this.contextListener&&(google.maps.event.removeListener(this.contextListener),this.contextListener=null),this.setMap(null)},e.prototype.extend=function(e,t){return function(e){for(var t in e.prototype)Object.prototype.hasOwnProperty.call(this,t)||(this.prototype[t]=e.prototype[t]);return this}.apply(e,[t])},e}(),ge={onCloseClick:"closeclick",onContentChanged:"content_changed",onDomReady:"domready",onPositionChanged:"position_changed",onZindexChanged:"zindex_changed"},pe={options:function(e,t){e.setOptions(t)},position:function(e,t){t instanceof google.maps.LatLng?e.setPosition(t):e.setPosition(new google.maps.LatLng(t.lat,t.lng))},visible:function(e,t){e.setVisible(t)},zIndex:function(e,t){e.setZIndex(t)}},ue={};e.memo((function(o){var n=o.children,i=o.anchor,s=o.options,r=o.position,a=o.zIndex,l=o.onCloseClick,c=o.onDomReady,g=o.onContentChanged,p=o.onPositionChanged,u=o.onZindexChanged,d=o.onLoad,h=o.onUnmount,v=e.useContext(b),y=e.useState(null),L=y[0],I=y[1],w=e.useState(null),k=w[0],M=w[1],P=e.useState(null),z=P[0],x=P[1],E=e.useState(null),S=E[0],O=E[1],_=e.useState(null),T=_[0],B=_[1],D=e.useState(null),R=D[0],A=D[1],U=e.useRef(null);return e.useEffect((function(){v&&null!==L&&(L.close(),i?L.open(v,i):L.getPosition()&&L.open(v))}),[v,L,i]),e.useEffect((function(){s&&null!==L&&L.setOptions(s)}),[L,s]),e.useEffect((function(){if(r&&null!==L){var e=r instanceof google.maps.LatLng?r:new google.maps.LatLng(r.lat,r.lng);L.setPosition(e)}}),[r]),e.useEffect((function(){"number"==typeof a&&null!==L&&L.setZIndex(a)}),[a]),e.useEffect((function(){L&&l&&(null!==k&&google.maps.event.removeListener(k),M(google.maps.event.addListener(L,"closeclick",l)))}),[l]),e.useEffect((function(){L&&c&&(null!==z&&google.maps.event.removeListener(z),x(google.maps.event.addListener(L,"domready",c)))}),[c]),e.useEffect((function(){L&&g&&(null!==S&&google.maps.event.removeListener(S),O(google.maps.event.addListener(L,"content_changed",g)))}),[g]),e.useEffect((function(){L&&p&&(null!==T&&google.maps.event.removeListener(T),B(google.maps.event.addListener(L,"position_changed",p)))}),[p]),e.useEffect((function(){L&&u&&(null!==R&&google.maps.event.removeListener(R),A(google.maps.event.addListener(L,"zindex_changed",u)))}),[u]),e.useEffect((function(){if(v){var e=s||ue,t=e.position,o=f(e,["position"]),n=void 0;!t||t instanceof google.maps.LatLng||(n=new google.maps.LatLng(t.lat,t.lng));var r=new ce(m(m({},o),n?{position:n}:{}));U.current=document.createElement("div"),I(r),l&&M(google.maps.event.addListener(r,"closeclick",l)),c&&x(google.maps.event.addListener(r,"domready",c)),g&&O(google.maps.event.addListener(r,"content_changed",g)),p&&B(google.maps.event.addListener(r,"position_changed",p)),u&&A(google.maps.event.addListener(r,"zindex_changed",u)),r.setContent(U.current),i?r.open(v,i):r.getPosition()?r.open(v):C(!1,"You must provide either an anchor or a position prop for <InfoBox>."),d&&d(r)}return function(){null!==L&&(k&&google.maps.event.removeListener(k),S&&google.maps.event.removeListener(S),z&&google.maps.event.removeListener(z),T&&google.maps.event.removeListener(T),R&&google.maps.event.removeListener(R),h&&h(L),L.close())}}),[]),U.current?t.createPortal(e.Children.only(n),U.current):null})),function(o){function n(){var e=null!==o&&o.apply(this,arguments)||this;return e.registeredEvents=[],e.containerElement=null,e.state={infoBox:null},e.open=function(t,o){o?null!==e.context&&t.open(e.context,o):t.getPosition()?null!==e.context&&t.open(e.context):C(!1,"You must provide either an anchor or a position prop for <InfoBox>.")},e.setInfoBoxCallback=function(){null!==e.state.infoBox&&null!==e.containerElement&&(e.state.infoBox.setContent(e.containerElement),e.open(e.state.infoBox,e.props.anchor),e.props.onLoad&&e.props.onLoad(e.state.infoBox))},e}h(n,o),n.prototype.componentDidMount=function(){var e,t=this.props.options||{},o=t.position,n=f(t,["position"]);!o||o instanceof google.maps.LatLng||(e=new google.maps.LatLng(o.lat,o.lng));var i=new ce(m(m({},n),e?{position:e}:{}));this.containerElement=document.createElement("div"),this.registeredEvents=z({updaterMap:pe,eventMap:ge,prevProps:{},nextProps:this.props,instance:i}),this.setState({infoBox:i},this.setInfoBoxCallback)},n.prototype.componentDidUpdate=function(e){var t=this.state.infoBox;null!==t&&(P(this.registeredEvents),this.registeredEvents=z({updaterMap:pe,eventMap:ge,prevProps:e,nextProps:this.props,instance:t}))},n.prototype.componentWillUnmount=function(){var e=this.props.onUnmount,t=this.state.infoBox;null!==t&&(e&&e(t),P(this.registeredEvents),t.close())},n.prototype.render=function(){return this.containerElement?t.createPortal(e.Children.only(this.props.children),this.containerElement):null},n.contextType=b}(e.PureComponent);var de=function e(t,o){if(t===o)return!0;if(t&&o&&"object"==typeof t&&"object"==typeof o){if(t.constructor!==o.constructor)return!1;var n,i,s;if(Array.isArray(t)){if((n=t.length)!=o.length)return!1;for(i=n;0!=i--;)if(!e(t[i],o[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===o.source&&t.flags===o.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===o.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===o.toString();if((n=(s=Object.keys(t)).length)!==Object.keys(o).length)return!1;for(i=n;0!=i--;)if(!Object.prototype.hasOwnProperty.call(o,s[i]))return!1;for(i=n;0!=i--;){var r=s[i];if(!e(t[r],o[r]))return!1}return!0}return t!=t&&o!=o},he=L(de);const me=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];class fe{static from(e){if(!(e instanceof ArrayBuffer))throw new Error("Data must be an instance of ArrayBuffer.");const[t,o]=new Uint8Array(e,0,2);if(219!==t)throw new Error("Data does not appear to be in a KDBush format.");const n=o>>4;if(1!==n)throw new Error(`Got v${n} data when expected v1.`);const i=me[15&o];if(!i)throw new Error("Unrecognized array type.");const[s]=new Uint16Array(e,2,1),[r]=new Uint32Array(e,4,1);return new fe(r,s,i,e)}constructor(e,t=64,o=Float64Array,n){if(isNaN(e)||e<0)throw new Error(`Unpexpected numItems value: ${e}.`);this.numItems=+e,this.nodeSize=Math.min(Math.max(+t,2),65535),this.ArrayType=o,this.IndexArrayType=e<65536?Uint16Array:Uint32Array;const i=me.indexOf(this.ArrayType),s=2*e*this.ArrayType.BYTES_PER_ELEMENT,r=e*this.IndexArrayType.BYTES_PER_ELEMENT,a=(8-r%8)%8;if(i<0)throw new Error(`Unexpected typed array class: ${o}.`);n&&n instanceof ArrayBuffer?(this.data=n,this.ids=new this.IndexArrayType(this.data,8,e),this.coords=new this.ArrayType(this.data,8+r+a,2*e),this._pos=2*e,this._finished=!0):(this.data=new ArrayBuffer(8+s+r+a),this.ids=new this.IndexArrayType(this.data,8,e),this.coords=new this.ArrayType(this.data,8+r+a,2*e),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+i]),new Uint16Array(this.data,2,1)[0]=t,new Uint32Array(this.data,4,1)[0]=e)}add(e,t){const o=this._pos>>1;return this.ids[o]=o,this.coords[this._pos++]=e,this.coords[this._pos++]=t,o}finish(){const e=this._pos>>1;if(e!==this.numItems)throw new Error(`Added ${e} items when expected ${this.numItems}.`);return ve(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(e,t,o,n){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:i,coords:s,nodeSize:r}=this,a=[0,i.length-1,0],l=[];for(;a.length;){const c=a.pop()||0,g=a.pop()||0,p=a.pop()||0;if(g-p<=r){for(let r=p;r<=g;r++){const a=s[2*r],c=s[2*r+1];a>=e&&a<=o&&c>=t&&c<=n&&l.push(i[r])}continue}const u=p+g>>1,d=s[2*u],h=s[2*u+1];d>=e&&d<=o&&h>=t&&h<=n&&l.push(i[u]),(0===c?e<=d:t<=h)&&(a.push(p),a.push(u-1),a.push(1-c)),(0===c?o>=d:n>=h)&&(a.push(u+1),a.push(g),a.push(1-c))}return l}within(e,t,o){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:n,coords:i,nodeSize:s}=this,r=[0,n.length-1,0],a=[],l=o*o;for(;r.length;){const c=r.pop()||0,g=r.pop()||0,p=r.pop()||0;if(g-p<=s){for(let o=p;o<=g;o++)Ce(i[2*o],i[2*o+1],e,t)<=l&&a.push(n[o]);continue}const u=p+g>>1,d=i[2*u],h=i[2*u+1];Ce(d,h,e,t)<=l&&a.push(n[u]),(0===c?e-o<=d:t-o<=h)&&(r.push(p),r.push(u-1),r.push(1-c)),(0===c?e+o>=d:t+o>=h)&&(r.push(u+1),r.push(g),r.push(1-c))}return a}}function ve(e,t,o,n,i,s){if(i-n<=o)return;const r=n+i>>1;ye(e,t,r,n,i,s),ve(e,t,o,n,r-1,1-s),ve(e,t,o,r+1,i,1-s)}function ye(e,t,o,n,i,s){for(;i>n;){if(i-n>600){const r=i-n+1,a=o-n+1,l=Math.log(r),c=.5*Math.exp(2*l/3),g=.5*Math.sqrt(l*c*(r-c)/r)*(a-r/2<0?-1:1);ye(e,t,o,Math.max(n,Math.floor(o-a*c/r+g)),Math.min(i,Math.floor(o+(r-a)*c/r+g)),s)}const r=t[2*o+s];let a=n,l=i;for(Le(e,t,n,o),t[2*i+s]>r&&Le(e,t,n,i);a<l;){for(Le(e,t,a,l),a++,l--;t[2*a+s]<r;)a++;for(;t[2*l+s]>r;)l--}t[2*n+s]===r?Le(e,t,n,l):(l++,Le(e,t,l,i)),l<=o&&(n=l+1),o<=l&&(i=l-1)}}function Le(e,t,o,n){Ie(e,o,n),Ie(t,2*o,2*n),Ie(t,2*o+1,2*n+1)}function Ie(e,t,o){const n=e[t];e[t]=e[o],e[o]=n}function Ce(e,t,o,n){const i=e-o,s=t-n;return i*i+s*s}const be={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:e=>e},we=Math.fround||(ke=new Float32Array(1),e=>(ke[0]=+e,ke[0]));var ke;class Me{constructor(e){this.options=Object.assign(Object.create(be),e),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(e){const{log:t,minZoom:o,maxZoom:n}=this.options;t&&console.time("total time");const i=`prepare ${e.length} points`;t&&console.time(i),this.points=e;const s=[];for(let t=0;t<e.length;t++){const o=e[t];if(!o.geometry)continue;const[n,i]=o.geometry.coordinates,r=we(xe(n)),a=we(Ee(i));s.push(r,a,1/0,t,-1,1),this.options.reduce&&s.push(0)}let r=this.trees[n+1]=this._createTree(s);t&&console.timeEnd(i);for(let e=n;e>=o;e--){const o=+Date.now();r=this.trees[e]=this._createTree(this._cluster(r,e)),t&&console.log("z%d: %d clusters in %dms",e,r.numItems,+Date.now()-o)}return t&&console.timeEnd("total time"),this}getClusters(e,t){let o=((e[0]+180)%360+360)%360-180;const n=Math.max(-90,Math.min(90,e[1]));let i=180===e[2]?180:((e[2]+180)%360+360)%360-180;const s=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)o=-180,i=180;else if(o>i){const e=this.getClusters([o,n,180,s],t),r=this.getClusters([-180,n,i,s],t);return e.concat(r)}const r=this.trees[this._limitZoom(t)],a=r.range(xe(o),Ee(s),xe(i),Ee(n)),l=r.data,c=[];for(const e of a){const t=this.stride*e;c.push(l[t+5]>1?Pe(l,t,this.clusterProps):this.points[l[t+3]])}return c}getChildren(e){const t=this._getOriginId(e),o=this._getOriginZoom(e),n="No cluster with the specified id.",i=this.trees[o];if(!i)throw new Error(n);const s=i.data;if(t*this.stride>=s.length)throw new Error(n);const r=this.options.radius/(this.options.extent*Math.pow(2,o-1)),a=s[t*this.stride],l=s[t*this.stride+1],c=i.within(a,l,r),g=[];for(const t of c){const o=t*this.stride;s[o+4]===e&&g.push(s[o+5]>1?Pe(s,o,this.clusterProps):this.points[s[o+3]])}if(0===g.length)throw new Error(n);return g}getLeaves(e,t,o){t=t||10,o=o||0;const n=[];return this._appendLeaves(n,e,t,o,0),n}getTile(e,t,o){const n=this.trees[this._limitZoom(e)],i=Math.pow(2,e),{extent:s,radius:r}=this.options,a=r/s,l=(o-a)/i,c=(o+1+a)/i,g={features:[]};return this._addTileFeatures(n.range((t-a)/i,l,(t+1+a)/i,c),n.data,t,o,i,g),0===t&&this._addTileFeatures(n.range(1-a/i,l,1,c),n.data,i,o,i,g),t===i-1&&this._addTileFeatures(n.range(0,l,a/i,c),n.data,-1,o,i,g),g.features.length?g:null}getClusterExpansionZoom(e){let t=this._getOriginZoom(e)-1;for(;t<=this.options.maxZoom;){const o=this.getChildren(e);if(t++,1!==o.length)break;e=o[0].properties.cluster_id}return t}_appendLeaves(e,t,o,n,i){const s=this.getChildren(t);for(const t of s){const s=t.properties;if(s&&s.cluster?i+s.point_count<=n?i+=s.point_count:i=this._appendLeaves(e,s.cluster_id,o,n,i):i<n?i++:e.push(t),e.length===o)break}return i}_createTree(e){const t=new fe(e.length/this.stride|0,this.options.nodeSize,Float32Array);for(let o=0;o<e.length;o+=this.stride)t.add(e[o],e[o+1]);return t.finish(),t.data=e,t}_addTileFeatures(e,t,o,n,i,s){for(const r of e){const e=r*this.stride,a=t[e+5]>1;let l,c,g;if(a)l=ze(t,e,this.clusterProps),c=t[e],g=t[e+1];else{const o=this.points[t[e+3]];l=o.properties;const[n,i]=o.geometry.coordinates;c=xe(n),g=Ee(i)}const p={type:1,geometry:[[Math.round(this.options.extent*(c*i-o)),Math.round(this.options.extent*(g*i-n))]],tags:l};let u;u=a||this.options.generateId?t[e+3]:this.points[t[e+3]].id,void 0!==u&&(p.id=u),s.features.push(p)}}_limitZoom(e){return Math.max(this.options.minZoom,Math.min(Math.floor(+e),this.options.maxZoom+1))}_cluster(e,t){const{radius:o,extent:n,reduce:i,minPoints:s}=this.options,r=o/(n*Math.pow(2,t)),a=e.data,l=[],c=this.stride;for(let o=0;o<a.length;o+=c){if(a[o+2]<=t)continue;a[o+2]=t;const n=a[o],g=a[o+1],p=e.within(a[o],a[o+1],r),u=a[o+5];let d=u;for(const e of p){const o=e*c;a[o+2]>t&&(d+=a[o+5])}if(d>u&&d>=s){let e,s=n*u,r=g*u,h=-1;const m=(o/c<<5)+(t+1)+this.points.length;for(const n of p){const l=n*c;if(a[l+2]<=t)continue;a[l+2]=t;const g=a[l+5];s+=a[l]*g,r+=a[l+1]*g,a[l+4]=m,i&&(e||(e=this._map(a,o,!0),h=this.clusterProps.length,this.clusterProps.push(e)),i(e,this._map(a,l)))}a[o+4]=m,l.push(s/d,r/d,1/0,m,-1,d),i&&l.push(h)}else{for(let e=0;e<c;e++)l.push(a[o+e]);if(d>1)for(const e of p){const o=e*c;if(!(a[o+2]<=t)){a[o+2]=t;for(let e=0;e<c;e++)l.push(a[o+e])}}}}return l}_getOriginId(e){return e-this.points.length>>5}_getOriginZoom(e){return(e-this.points.length)%32}_map(e,t,o){if(e[t+5]>1){const n=this.clusterProps[e[t+6]];return o?Object.assign({},n):n}const n=this.points[e[t+3]].properties,i=this.options.map(n);return o&&i===n?Object.assign({},i):i}}function Pe(e,t,o){return{type:"Feature",id:e[t+3],properties:ze(e,t,o),geometry:{type:"Point",coordinates:[(n=e[t],360*(n-.5)),Se(e[t+1])]}};var n}function ze(e,t,o){const n=e[t+5],i=n>=1e4?`${Math.round(n/1e3)}k`:n>=1e3?Math.round(n/100)/10+"k":n,s=e[t+6],r=-1===s?{}:Object.assign({},o[s]);return Object.assign(r,{cluster:!0,cluster_id:e[t+3],point_count:n,point_count_abbreviated:i})}function xe(e){return e/360+.5}function Ee(e){const t=Math.sin(e*Math.PI/180),o=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return o<0?0:o>1?1:o}function Se(e){const t=(180-360*e)*Math.PI/180;return 360*Math.atan(Math.exp(t))/Math.PI-90}
40
40
  /*! *****************************************************************************
41
41
  Copyright (c) Microsoft Corporation.
42
42
 
@@ -50,5 +50,5 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
50
50
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
51
51
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
52
52
  PERFORMANCE OF THIS SOFTWARE.
53
- ***************************************************************************** */class Oe{static isAdvancedMarkerAvailable(e){return google.maps.marker&&!0===e.getMapCapabilities().isAdvancedMarkersAvailable}static isAdvancedMarker(e){return google.maps.marker&&e instanceof google.maps.marker.AdvancedMarkerElement}static setMap(e,t){this.isAdvancedMarker(e)?e.map=t:e.setMap(t)}static getPosition(e){if(this.isAdvancedMarker(e)){if(e.position){if(e.position instanceof google.maps.LatLng)return e.position;if(e.position.lat&&e.position.lng)return new google.maps.LatLng(e.position.lat,e.position.lng)}return new google.maps.LatLng(null)}return e.getPosition()}static getVisible(e){return!!this.isAdvancedMarker(e)||e.getVisible()}}class _e{constructor({markers:e,position:t}){this.markers=e,t&&(t instanceof google.maps.LatLng?this._position=t:this._position=new google.maps.LatLng(t))}get bounds(){if(0===this.markers.length&&!this._position)return;const e=new google.maps.LatLngBounds(this._position,this._position);for(const t of this.markers)e.extend(Oe.getPosition(t));return e}get position(){return this._position||this.bounds.getCenter()}get count(){return this.markers.filter((e=>Oe.getVisible(e))).length}push(e){this.markers.push(e)}delete(){this.marker&&(Oe.setMap(this.marker,null),this.marker=void 0),this.markers.length=0}}class Te{constructor({maxZoom:e=16}){this.maxZoom=e}noop({markers:e}){return Be(e)}}const Be=e=>e.map((e=>new _e({position:Oe.getPosition(e),markers:[e]})));class Re extends Te{constructor(e){var{maxZoom:t,radius:o=60}=e,n=function(e,t){var o={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(o[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(o[n[i]]=e[n[i]])}return o}(e,["maxZoom","radius"]);super({maxZoom:t}),this.state={zoom:-1},this.superCluster=new Me(Object.assign({maxZoom:this.maxZoom,radius:o},n))}calculate(e){let t=!1;const o={zoom:e.map.getZoom()};if(!he(e.markers,this.markers)){t=!0,this.markers=[...e.markers];const o=this.markers.map((e=>{const t=Oe.getPosition(e);return{type:"Feature",geometry:{type:"Point",coordinates:[t.lng(),t.lat()]},properties:{marker:e}}}));this.superCluster.load(o)}return t||(this.state.zoom<=this.maxZoom||o.zoom<=this.maxZoom)&&(t=!he(this.state,o)),this.state=o,t&&(this.clusters=this.cluster(e)),{clusters:this.clusters,changed:t}}cluster({map:e}){return this.superCluster.getClusters([-180,-90,180,90],Math.round(e.getZoom())).map((e=>this.transformCluster(e)))}transformCluster({geometry:{coordinates:[e,t]},properties:o}){if(o.cluster)return new _e({markers:this.superCluster.getLeaves(o.cluster_id,1/0).map((e=>e.properties.marker)),position:{lat:t,lng:e}});const n=o.marker;return new _e({markers:[n],position:Oe.getPosition(n)})}}class De{constructor(e,t){this.markers={sum:e.length};const o=t.map((e=>e.count)),n=o.reduce(((e,t)=>e+t),0);this.clusters={count:t.length,markers:{mean:n/t.length,sum:n,min:Math.min(...o),max:Math.max(...o)}}}}class Ae{render({count:e,position:t},o,n){const i=`<svg fill="${e>Math.max(10,o.clusters.markers.mean)?"#ff0000":"#0000ff"}" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 240" width="50" height="50">\n<circle cx="120" cy="120" opacity=".6" r="70" />\n<circle cx="120" cy="120" opacity=".3" r="90" />\n<circle cx="120" cy="120" opacity=".2" r="110" />\n<text x="50%" y="50%" style="fill:#fff" text-anchor="middle" font-size="50" dominant-baseline="middle" font-family="roboto,arial,sans-serif">${e}</text>\n</svg>`,s=`Cluster of ${e} markers`,r=Number(google.maps.Marker.MAX_ZINDEX)+e;if(Oe.isAdvancedMarkerAvailable(n)){const e=(new DOMParser).parseFromString(i,"image/svg+xml").documentElement;e.setAttribute("transform","translate(0 25)");const o={map:n,position:t,zIndex:r,title:s,content:e};return new google.maps.marker.AdvancedMarkerElement(o)}const a={position:t,zIndex:r,title:s,icon:{url:`data:image/svg+xml;base64,${btoa(i)}`,anchor:new google.maps.Point(25,25)}};return new google.maps.Marker(a)}}class Ue{constructor(){!function(e,t){for(let o in t.prototype)e.prototype[o]=t.prototype[o]}(Ue,google.maps.OverlayView)}}var We;!function(e){e.CLUSTERING_BEGIN="clusteringbegin",e.CLUSTERING_END="clusteringend",e.CLUSTER_CLICK="click"}(We||(We={}));const Ze=(e,t,o)=>{o.fitBounds(t.bounds)};class Fe extends Ue{constructor({map:e,markers:t=[],algorithmOptions:o={},algorithm:n=new Re(o),renderer:i=new Ae,onClusterClick:s=Ze}){super(),this.markers=[...t],this.clusters=[],this.algorithm=n,this.renderer=i,this.onClusterClick=s,e&&this.setMap(e)}addMarker(e,t){this.markers.includes(e)||(this.markers.push(e),t||this.render())}addMarkers(e,t){e.forEach((e=>{this.addMarker(e,!0)})),t||this.render()}removeMarker(e,t){const o=this.markers.indexOf(e);return-1!==o&&(Oe.setMap(e,null),this.markers.splice(o,1),t||this.render(),!0)}removeMarkers(e,t){let o=!1;return e.forEach((e=>{o=this.removeMarker(e,!0)||o})),o&&!t&&this.render(),o}clearMarkers(e){this.markers.length=0,e||this.render()}render(){const e=this.getMap();if(e instanceof google.maps.Map&&e.getProjection()){google.maps.event.trigger(this,We.CLUSTERING_BEGIN,this);const{clusters:t,changed:o}=this.algorithm.calculate({markers:this.markers,map:e,mapCanvasProjection:this.getProjection()});if(o||null==o){const e=new Set;for(const o of t)1==o.markers.length&&e.add(o.markers[0]);const o=[];for(const t of this.clusters)null!=t.marker&&(1==t.markers.length?e.has(t.marker)||Oe.setMap(t.marker,null):o.push(t.marker));this.clusters=t,this.renderClusters(),requestAnimationFrame((()=>o.forEach((e=>Oe.setMap(e,null)))))}google.maps.event.trigger(this,We.CLUSTERING_END,this)}}onAdd(){this.idleListener=this.getMap().addListener("idle",this.render.bind(this)),this.render()}onRemove(){google.maps.event.removeListener(this.idleListener),this.reset()}reset(){this.markers.forEach((e=>Oe.setMap(e,null))),this.clusters.forEach((e=>e.delete())),this.clusters=[]}renderClusters(){const e=new De(this.markers,this.clusters),t=this.getMap();this.clusters.forEach((o=>{1===o.markers.length?o.marker=o.markers[0]:(o.marker=this.renderer.render(o,e,t),o.markers.forEach((e=>Oe.setMap(e,null))),this.onClusterClick&&o.marker.addListener("click",(e=>{google.maps.event.trigger(this,We.CLUSTER_CLICK,o),this.onClusterClick(e,o,t)}))),Oe.setMap(o.marker,t)}))}}function je(t){var o=function(){C(!!e.useContext,"useGoogleMap is React hook and requires React version 16.8+");var t=e.useContext(b);return C(!!t,"useGoogleMap needs a GoogleMap available up in the tree"),t}(),n=e.useState(null),i=n[0],s=n[1];return e.useEffect((function(){if(o&&null===i){var e=new Fe(m(m({},t),{map:o}));s(e)}}),[o]),i}e.memo((function(e){var t=e.children,o=je(e.options);return null!==o?t(o):null}));var Ne={onCloseClick:"closeclick",onContentChanged:"content_changed",onDomReady:"domready",onPositionChanged:"position_changed",onZindexChanged:"zindex_changed"},Ve={options:function(e,t){e.setOptions(t)},position:function(e,t){e.setPosition(t)},zIndex:function(e,t){e.setZIndex(t)}};e.memo((function(o){var n=o.children,i=o.anchor,s=o.options,r=o.position,a=o.zIndex,l=o.onCloseClick,c=o.onDomReady,g=o.onContentChanged,p=o.onPositionChanged,u=o.onZindexChanged,d=o.onLoad,h=o.onUnmount,f=e.useContext(b),v=e.useState(null),y=v[0],L=v[1],I=e.useState(null),w=I[0],k=I[1],M=e.useState(null),z=M[0],P=M[1],x=e.useState(null),E=x[0],S=x[1],O=e.useState(null),_=O[0],T=O[1],B=e.useState(null),R=B[0],D=B[1],A=e.useRef(null);return e.useEffect((function(){null!==y&&(y.close(),i?y.open(f,i):y.getPosition()&&y.open(f))}),[f,y,i]),e.useEffect((function(){s&&null!==y&&y.setOptions(s)}),[y,s]),e.useEffect((function(){r&&null!==y&&y.setPosition(r)}),[r]),e.useEffect((function(){"number"==typeof a&&null!==y&&y.setZIndex(a)}),[a]),e.useEffect((function(){y&&l&&(null!==w&&google.maps.event.removeListener(w),k(google.maps.event.addListener(y,"closeclick",l)))}),[l]),e.useEffect((function(){y&&c&&(null!==z&&google.maps.event.removeListener(z),P(google.maps.event.addListener(y,"domready",c)))}),[c]),e.useEffect((function(){y&&g&&(null!==E&&google.maps.event.removeListener(E),S(google.maps.event.addListener(y,"content_changed",g)))}),[g]),e.useEffect((function(){y&&p&&(null!==_&&google.maps.event.removeListener(_),T(google.maps.event.addListener(y,"position_changed",p)))}),[p]),e.useEffect((function(){y&&u&&(null!==R&&google.maps.event.removeListener(R),D(google.maps.event.addListener(y,"zindex_changed",u)))}),[u]),e.useEffect((function(){var e=new google.maps.InfoWindow(m({},s||{}));return L(e),A.current=document.createElement("div"),l&&k(google.maps.event.addListener(e,"closeclick",l)),c&&P(google.maps.event.addListener(e,"domready",c)),g&&S(google.maps.event.addListener(e,"content_changed",g)),p&&T(google.maps.event.addListener(e,"position_changed",p)),u&&D(google.maps.event.addListener(e,"zindex_changed",u)),e.setContent(A.current),r&&e.setPosition(r),a&&e.setZIndex(a),i?e.open(f,i):e.getPosition()?e.open(f):C(!1,"You must provide either an anchor (typically render it inside a <Marker>) or a position props for <InfoWindow>."),d&&d(e),function(){w&&google.maps.event.removeListener(w),E&&google.maps.event.removeListener(E),z&&google.maps.event.removeListener(z),_&&google.maps.event.removeListener(_),R&&google.maps.event.removeListener(R),h&&h(e),e.close()}}),[]),A.current?t.createPortal(e.Children.only(n),A.current):null})),function(o){function n(){var e=null!==o&&o.apply(this,arguments)||this;return e.registeredEvents=[],e.containerElement=null,e.state={infoWindow:null},e.open=function(t,o){o?t.open(e.context,o):t.getPosition()?t.open(e.context):C(!1,"You must provide either an anchor (typically render it inside a <Marker>) or a position props for <InfoWindow>.")},e.setInfoWindowCallback=function(){null!==e.state.infoWindow&&null!==e.containerElement&&(e.state.infoWindow.setContent(e.containerElement),e.open(e.state.infoWindow,e.props.anchor),e.props.onLoad&&e.props.onLoad(e.state.infoWindow))},e}h(n,o),n.prototype.componentDidMount=function(){var e=new google.maps.InfoWindow(m({},this.props.options||{}));this.containerElement=document.createElement("div"),this.registeredEvents=P({updaterMap:Ve,eventMap:Ne,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{infoWindow:e}}),this.setInfoWindowCallback)},n.prototype.componentDidUpdate=function(e){null!==this.state.infoWindow&&(z(this.registeredEvents),this.registeredEvents=P({updaterMap:Ve,eventMap:Ne,prevProps:e,nextProps:this.props,instance:this.state.infoWindow}))},n.prototype.componentWillUnmount=function(){null!==this.state.infoWindow&&(z(this.registeredEvents),this.props.onUnmount&&this.props.onUnmount(this.state.infoWindow),this.state.infoWindow.close())},n.prototype.render=function(){return this.containerElement?t.createPortal(e.Children.only(this.props.children),this.containerElement):null},n.contextType=b}(e.PureComponent);var He={onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},$e={draggable:function(e,t){e.setDraggable(t)},editable:function(e,t){e.setEditable(t)},map:function(e,t){e.setMap(t)},options:function(e,t){e.setOptions(t)},path:function(e,t){e.setPath(t)},visible:function(e,t){e.setVisible(t)}},Ge={};e.memo((function(t){var o=t.options,n=t.draggable,i=t.editable,s=t.visible,r=t.path,a=t.onDblClick,l=t.onDragEnd,c=t.onDragStart,g=t.onMouseDown,p=t.onMouseMove,u=t.onMouseOut,d=t.onMouseOver,h=t.onMouseUp,f=t.onRightClick,v=t.onClick,y=t.onDrag,L=t.onLoad,I=t.onUnmount,C=e.useContext(b),w=e.useState(null),k=w[0],M=w[1],z=e.useState(null),P=z[0],x=z[1],E=e.useState(null),S=E[0],O=E[1],_=e.useState(null),T=_[0],B=_[1],R=e.useState(null),D=R[0],A=R[1],U=e.useState(null),W=U[0],Z=U[1],F=e.useState(null),j=F[0],N=F[1],V=e.useState(null),H=V[0],$=V[1],G=e.useState(null),Y=G[0],J=G[1],K=e.useState(null),q=K[0],X=K[1],Q=e.useState(null),ee=Q[0],te=Q[1],oe=e.useState(null),ne=oe[0],ie=oe[1];return e.useEffect((function(){null!==k&&k.setMap(C)}),[C]),e.useEffect((function(){void 0!==o&&null!==k&&k.setOptions(o)}),[k,o]),e.useEffect((function(){void 0!==n&&null!==k&&k.setDraggable(n)}),[k,n]),e.useEffect((function(){void 0!==i&&null!==k&&k.setEditable(i)}),[k,i]),e.useEffect((function(){void 0!==s&&null!==k&&k.setVisible(s)}),[k,s]),e.useEffect((function(){void 0!==r&&null!==k&&k.setPath(r)}),[k,r]),e.useEffect((function(){k&&a&&(null!==P&&google.maps.event.removeListener(P),x(google.maps.event.addListener(k,"dblclick",a)))}),[a]),e.useEffect((function(){k&&l&&(null!==S&&google.maps.event.removeListener(S),O(google.maps.event.addListener(k,"dragend",l)))}),[l]),e.useEffect((function(){k&&c&&(null!==T&&google.maps.event.removeListener(T),B(google.maps.event.addListener(k,"dragstart",c)))}),[c]),e.useEffect((function(){k&&g&&(null!==D&&google.maps.event.removeListener(D),A(google.maps.event.addListener(k,"mousedown",g)))}),[g]),e.useEffect((function(){k&&p&&(null!==W&&google.maps.event.removeListener(W),Z(google.maps.event.addListener(k,"mousemove",p)))}),[p]),e.useEffect((function(){k&&u&&(null!==j&&google.maps.event.removeListener(j),N(google.maps.event.addListener(k,"mouseout",u)))}),[u]),e.useEffect((function(){k&&d&&(null!==H&&google.maps.event.removeListener(H),$(google.maps.event.addListener(k,"mouseover",d)))}),[d]),e.useEffect((function(){k&&h&&(null!==Y&&google.maps.event.removeListener(Y),J(google.maps.event.addListener(k,"mouseup",h)))}),[h]),e.useEffect((function(){k&&f&&(null!==q&&google.maps.event.removeListener(q),X(google.maps.event.addListener(k,"rightclick",f)))}),[f]),e.useEffect((function(){k&&v&&(null!==ee&&google.maps.event.removeListener(ee),te(google.maps.event.addListener(k,"click",v)))}),[v]),e.useEffect((function(){k&&y&&(null!==ne&&google.maps.event.removeListener(ne),ie(google.maps.event.addListener(k,"drag",y)))}),[y]),e.useEffect((function(){var e=new google.maps.Polyline(m(m({},o||Ge),{map:C}));return r&&e.setPath(r),void 0!==s&&e.setVisible(s),void 0!==i&&e.setEditable(i),void 0!==n&&e.setDraggable(n),a&&x(google.maps.event.addListener(e,"dblclick",a)),l&&O(google.maps.event.addListener(e,"dragend",l)),c&&B(google.maps.event.addListener(e,"dragstart",c)),g&&A(google.maps.event.addListener(e,"mousedown",g)),p&&Z(google.maps.event.addListener(e,"mousemove",p)),u&&N(google.maps.event.addListener(e,"mouseout",u)),d&&$(google.maps.event.addListener(e,"mouseover",d)),h&&J(google.maps.event.addListener(e,"mouseup",h)),f&&X(google.maps.event.addListener(e,"rightclick",f)),v&&te(google.maps.event.addListener(e,"click",v)),y&&ie(google.maps.event.addListener(e,"drag",y)),M(e),L&&L(e),function(){null!==P&&google.maps.event.removeListener(P),null!==S&&google.maps.event.removeListener(S),null!==T&&google.maps.event.removeListener(T),null!==D&&google.maps.event.removeListener(D),null!==W&&google.maps.event.removeListener(W),null!==j&&google.maps.event.removeListener(j),null!==H&&google.maps.event.removeListener(H),null!==Y&&google.maps.event.removeListener(Y),null!==q&&google.maps.event.removeListener(q),null!==ee&&google.maps.event.removeListener(ee),I&&I(e),e.setMap(null)}}),[]),null})),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.state={polyline:null},t.setPolylineCallback=function(){null!==t.state.polyline&&t.props.onLoad&&t.props.onLoad(t.state.polyline)},t}h(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.Polyline(m(m({},this.props.options||{}),{map:this.context}));this.registeredEvents=P({updaterMap:$e,eventMap:He,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{polyline:e}}),this.setPolylineCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.polyline&&(z(this.registeredEvents),this.registeredEvents=P({updaterMap:$e,eventMap:He,prevProps:e,nextProps:this.props,instance:this.state.polyline}))},t.prototype.componentWillUnmount=function(){null!==this.state.polyline&&(this.props.onUnmount&&this.props.onUnmount(this.state.polyline),z(this.registeredEvents),this.state.polyline.setMap(null))},t.prototype.render=function(){return null},t.contextType=b}(e.PureComponent);var Ye={onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},Je={draggable:function(e,t){e.setDraggable(t)},editable:function(e,t){e.setEditable(t)},map:function(e,t){e.setMap(t)},options:function(e,t){e.setOptions(t)},path:function(e,t){e.setPath(t)},paths:function(e,t){e.setPaths(t)},visible:function(e,t){e.setVisible(t)}};e.memo((function(t){var o=t.options,n=t.draggable,i=t.editable,s=t.visible,r=t.path,a=t.paths,l=t.onDblClick,c=t.onDragEnd,g=t.onDragStart,p=t.onMouseDown,u=t.onMouseMove,d=t.onMouseOut,h=t.onMouseOver,f=t.onMouseUp,v=t.onRightClick,y=t.onClick,L=t.onDrag,I=t.onLoad,C=t.onUnmount,w=t.onEdit,k=e.useContext(b),M=e.useState(null),z=M[0],P=M[1],x=e.useState(null),E=x[0],S=x[1],O=e.useState(null),_=O[0],T=O[1],B=e.useState(null),R=B[0],D=B[1],A=e.useState(null),U=A[0],W=A[1],Z=e.useState(null),F=Z[0],j=Z[1],N=e.useState(null),V=N[0],H=N[1],$=e.useState(null),G=$[0],Y=$[1],J=e.useState(null),K=J[0],q=J[1],X=e.useState(null),Q=X[0],ee=X[1],te=e.useState(null),oe=te[0],ne=te[1],ie=e.useState(null),se=ie[0],re=ie[1];return e.useEffect((function(){null!==z&&z.setMap(k)}),[k]),e.useEffect((function(){void 0!==o&&null!==z&&z.setOptions(o)}),[z,o]),e.useEffect((function(){void 0!==n&&null!==z&&z.setDraggable(n)}),[z,n]),e.useEffect((function(){void 0!==i&&null!==z&&z.setEditable(i)}),[z,i]),e.useEffect((function(){void 0!==s&&null!==z&&z.setVisible(s)}),[z,s]),e.useEffect((function(){void 0!==r&&null!==z&&z.setPath(r)}),[z,r]),e.useEffect((function(){void 0!==a&&null!==z&&z.setPaths(a)}),[z,a]),e.useEffect((function(){z&&l&&(null!==E&&google.maps.event.removeListener(E),S(google.maps.event.addListener(z,"dblclick",l)))}),[l]),e.useEffect((function(){z&&(google.maps.event.addListener(z.getPath(),"insert_at",(function(){null==w||w(z)})),google.maps.event.addListener(z.getPath(),"set_at",(function(){null==w||w(z)})))}),[z,w]),e.useEffect((function(){z&&c&&(null!==_&&google.maps.event.removeListener(_),T(google.maps.event.addListener(z,"dragend",c)))}),[c]),e.useEffect((function(){z&&g&&(null!==R&&google.maps.event.removeListener(R),D(google.maps.event.addListener(z,"dragstart",g)))}),[g]),e.useEffect((function(){z&&p&&(null!==U&&google.maps.event.removeListener(U),W(google.maps.event.addListener(z,"mousedown",p)))}),[p]),e.useEffect((function(){z&&u&&(null!==F&&google.maps.event.removeListener(F),j(google.maps.event.addListener(z,"mousemove",u)))}),[u]),e.useEffect((function(){z&&d&&(null!==V&&google.maps.event.removeListener(V),H(google.maps.event.addListener(z,"mouseout",d)))}),[d]),e.useEffect((function(){z&&h&&(null!==G&&google.maps.event.removeListener(G),Y(google.maps.event.addListener(z,"mouseover",h)))}),[h]),e.useEffect((function(){z&&f&&(null!==K&&google.maps.event.removeListener(K),q(google.maps.event.addListener(z,"mouseup",f)))}),[f]),e.useEffect((function(){z&&v&&(null!==Q&&google.maps.event.removeListener(Q),ee(google.maps.event.addListener(z,"rightclick",v)))}),[v]),e.useEffect((function(){z&&y&&(null!==oe&&google.maps.event.removeListener(oe),ne(google.maps.event.addListener(z,"click",y)))}),[y]),e.useEffect((function(){z&&L&&(null!==se&&google.maps.event.removeListener(se),re(google.maps.event.addListener(z,"drag",L)))}),[L]),e.useEffect((function(){var e=new google.maps.Polygon(m(m({},o||{}),{map:k}));return r&&e.setPath(r),a&&e.setPaths(a),void 0!==s&&e.setVisible(s),void 0!==i&&e.setEditable(i),void 0!==n&&e.setDraggable(n),l&&S(google.maps.event.addListener(e,"dblclick",l)),c&&T(google.maps.event.addListener(e,"dragend",c)),g&&D(google.maps.event.addListener(e,"dragstart",g)),p&&W(google.maps.event.addListener(e,"mousedown",p)),u&&j(google.maps.event.addListener(e,"mousemove",u)),d&&H(google.maps.event.addListener(e,"mouseout",d)),h&&Y(google.maps.event.addListener(e,"mouseover",h)),f&&q(google.maps.event.addListener(e,"mouseup",f)),v&&ee(google.maps.event.addListener(e,"rightclick",v)),y&&ne(google.maps.event.addListener(e,"click",y)),L&&re(google.maps.event.addListener(e,"drag",L)),P(e),I&&I(e),function(){null!==E&&google.maps.event.removeListener(E),null!==_&&google.maps.event.removeListener(_),null!==R&&google.maps.event.removeListener(R),null!==U&&google.maps.event.removeListener(U),null!==F&&google.maps.event.removeListener(F),null!==V&&google.maps.event.removeListener(V),null!==G&&google.maps.event.removeListener(G),null!==K&&google.maps.event.removeListener(K),null!==Q&&google.maps.event.removeListener(Q),null!==oe&&google.maps.event.removeListener(oe),C&&C(e),e.setMap(null)}}),[]),null})),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.state={polygon:null},t.setPolygonCallback=function(){null!==t.state.polygon&&t.props.onLoad&&t.props.onLoad(t.state.polygon)},t}h(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.Polygon(m(m({},this.props.options||{}),{map:this.context}));this.registeredEvents=P({updaterMap:Je,eventMap:Ye,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{polygon:e}}),this.setPolygonCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.polygon&&(z(this.registeredEvents),this.registeredEvents=P({updaterMap:Je,eventMap:Ye,prevProps:e,nextProps:this.props,instance:this.state.polygon}))},t.prototype.componentWillUnmount=function(){null!==this.state.polygon&&(this.props.onUnmount&&this.props.onUnmount(this.state.polygon),z(this.registeredEvents),this.state.polygon&&this.state.polygon.setMap(null))},t.prototype.render=function(){return null},t.contextType=b}(e.PureComponent);var Ke={onBoundsChanged:"bounds_changed",onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},qe={bounds:function(e,t){e.setBounds(t)},draggable:function(e,t){e.setDraggable(t)},editable:function(e,t){e.setEditable(t)},map:function(e,t){e.setMap(t)},options:function(e,t){e.setOptions(t)},visible:function(e,t){e.setVisible(t)}};e.memo((function(t){var o=t.options,n=t.bounds,i=t.draggable,s=t.editable,r=t.visible,a=t.onDblClick,l=t.onDragEnd,c=t.onDragStart,g=t.onMouseDown,p=t.onMouseMove,u=t.onMouseOut,d=t.onMouseOver,h=t.onMouseUp,f=t.onRightClick,v=t.onClick,y=t.onDrag,L=t.onBoundsChanged,I=t.onLoad,C=t.onUnmount,w=e.useContext(b),k=e.useState(null),M=k[0],z=k[1],P=e.useState(null),x=P[0],E=P[1],S=e.useState(null),O=S[0],_=S[1],T=e.useState(null),B=T[0],R=T[1],D=e.useState(null),A=D[0],U=D[1],W=e.useState(null),Z=W[0],F=W[1],j=e.useState(null),N=j[0],V=j[1],H=e.useState(null),$=H[0],G=H[1],Y=e.useState(null),J=Y[0],K=Y[1],q=e.useState(null),X=q[0],Q=q[1],ee=e.useState(null),te=ee[0],oe=ee[1],ne=e.useState(null),ie=ne[0],se=ne[1],re=e.useState(null),ae=re[0],le=re[1];return e.useEffect((function(){null!==M&&M.setMap(w)}),[w]),e.useEffect((function(){void 0!==o&&null!==M&&M.setOptions(o)}),[M,o]),e.useEffect((function(){void 0!==i&&null!==M&&M.setDraggable(i)}),[M,i]),e.useEffect((function(){void 0!==s&&null!==M&&M.setEditable(s)}),[M,s]),e.useEffect((function(){void 0!==r&&null!==M&&M.setVisible(r)}),[M,r]),e.useEffect((function(){void 0!==n&&null!==M&&M.setBounds(n)}),[M,n]),e.useEffect((function(){M&&a&&(null!==x&&google.maps.event.removeListener(x),E(google.maps.event.addListener(M,"dblclick",a)))}),[a]),e.useEffect((function(){M&&l&&(null!==O&&google.maps.event.removeListener(O),_(google.maps.event.addListener(M,"dragend",l)))}),[l]),e.useEffect((function(){M&&c&&(null!==B&&google.maps.event.removeListener(B),R(google.maps.event.addListener(M,"dragstart",c)))}),[c]),e.useEffect((function(){M&&g&&(null!==A&&google.maps.event.removeListener(A),U(google.maps.event.addListener(M,"mousedown",g)))}),[g]),e.useEffect((function(){M&&p&&(null!==Z&&google.maps.event.removeListener(Z),F(google.maps.event.addListener(M,"mousemove",p)))}),[p]),e.useEffect((function(){M&&u&&(null!==N&&google.maps.event.removeListener(N),V(google.maps.event.addListener(M,"mouseout",u)))}),[u]),e.useEffect((function(){M&&d&&(null!==$&&google.maps.event.removeListener($),G(google.maps.event.addListener(M,"mouseover",d)))}),[d]),e.useEffect((function(){M&&h&&(null!==J&&google.maps.event.removeListener(J),K(google.maps.event.addListener(M,"mouseup",h)))}),[h]),e.useEffect((function(){M&&f&&(null!==X&&google.maps.event.removeListener(X),Q(google.maps.event.addListener(M,"rightclick",f)))}),[f]),e.useEffect((function(){M&&v&&(null!==te&&google.maps.event.removeListener(te),oe(google.maps.event.addListener(M,"click",v)))}),[v]),e.useEffect((function(){M&&y&&(null!==ie&&google.maps.event.removeListener(ie),se(google.maps.event.addListener(M,"drag",y)))}),[y]),e.useEffect((function(){M&&L&&(null!==ae&&google.maps.event.removeListener(ae),le(google.maps.event.addListener(M,"bounds_changed",L)))}),[L]),e.useEffect((function(){var e=new google.maps.Rectangle(m(m({},o||{}),{map:w}));return void 0!==r&&e.setVisible(r),void 0!==s&&e.setEditable(s),void 0!==i&&e.setDraggable(i),void 0!==n&&e.setBounds(n),a&&E(google.maps.event.addListener(e,"dblclick",a)),l&&_(google.maps.event.addListener(e,"dragend",l)),c&&R(google.maps.event.addListener(e,"dragstart",c)),g&&U(google.maps.event.addListener(e,"mousedown",g)),p&&F(google.maps.event.addListener(e,"mousemove",p)),u&&V(google.maps.event.addListener(e,"mouseout",u)),d&&G(google.maps.event.addListener(e,"mouseover",d)),h&&K(google.maps.event.addListener(e,"mouseup",h)),f&&Q(google.maps.event.addListener(e,"rightclick",f)),v&&oe(google.maps.event.addListener(e,"click",v)),y&&se(google.maps.event.addListener(e,"drag",y)),L&&le(google.maps.event.addListener(e,"bounds_changed",L)),z(e),I&&I(e),function(){null!==x&&google.maps.event.removeListener(x),null!==O&&google.maps.event.removeListener(O),null!==B&&google.maps.event.removeListener(B),null!==A&&google.maps.event.removeListener(A),null!==Z&&google.maps.event.removeListener(Z),null!==N&&google.maps.event.removeListener(N),null!==$&&google.maps.event.removeListener($),null!==J&&google.maps.event.removeListener(J),null!==X&&google.maps.event.removeListener(X),null!==te&&google.maps.event.removeListener(te),null!==ie&&google.maps.event.removeListener(ie),null!==ae&&google.maps.event.removeListener(ae),C&&C(e),e.setMap(null)}}),[]),null})),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.state={rectangle:null},t.setRectangleCallback=function(){null!==t.state.rectangle&&t.props.onLoad&&t.props.onLoad(t.state.rectangle)},t}h(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.Rectangle(m(m({},this.props.options||{}),{map:this.context}));this.registeredEvents=P({updaterMap:qe,eventMap:Ke,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{rectangle:e}}),this.setRectangleCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.rectangle&&(z(this.registeredEvents),this.registeredEvents=P({updaterMap:qe,eventMap:Ke,prevProps:e,nextProps:this.props,instance:this.state.rectangle}))},t.prototype.componentWillUnmount=function(){null!==this.state.rectangle&&(this.props.onUnmount&&this.props.onUnmount(this.state.rectangle),z(this.registeredEvents),this.state.rectangle.setMap(null))},t.prototype.render=function(){return null},t.contextType=b}(e.PureComponent);var Xe={onCenterChanged:"center_changed",onRadiusChanged:"radius_changed",onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},Qe={center:function(e,t){e.setCenter(t)},draggable:function(e,t){e.setDraggable(t)},editable:function(e,t){e.setEditable(t)},map:function(e,t){e.setMap(t)},options:function(e,t){e.setOptions(t)},radius:function(e,t){e.setRadius(t)},visible:function(e,t){e.setVisible(t)}},et={};e.memo((function(t){var o=t.options,n=t.center,i=t.radius,s=t.draggable,r=t.editable,a=t.visible,l=t.onDblClick,c=t.onDragEnd,g=t.onDragStart,p=t.onMouseDown,u=t.onMouseMove,d=t.onMouseOut,h=t.onMouseOver,f=t.onMouseUp,v=t.onRightClick,y=t.onClick,L=t.onDrag,I=t.onCenterChanged,C=t.onRadiusChanged,w=t.onLoad,k=t.onUnmount,M=e.useContext(b),z=e.useState(null),P=z[0],x=z[1],E=e.useState(null),S=E[0],O=E[1],_=e.useState(null),T=_[0],B=_[1],R=e.useState(null),D=R[0],A=R[1],U=e.useState(null),W=U[0],Z=U[1],F=e.useState(null),j=F[0],N=F[1],V=e.useState(null),H=V[0],$=V[1],G=e.useState(null),Y=G[0],J=G[1],K=e.useState(null),q=K[0],X=K[1],Q=e.useState(null),ee=Q[0],te=Q[1],oe=e.useState(null),ne=oe[0],ie=oe[1],se=e.useState(null),re=se[0],ae=se[1],le=e.useState(null),ce=le[0],ge=le[1],pe=e.useState(null),ue=pe[0],de=pe[1];return e.useEffect((function(){null!==P&&P.setMap(M)}),[M]),e.useEffect((function(){void 0!==o&&null!==P&&P.setOptions(o)}),[P,o]),e.useEffect((function(){void 0!==s&&null!==P&&P.setDraggable(s)}),[P,s]),e.useEffect((function(){void 0!==r&&null!==P&&P.setEditable(r)}),[P,r]),e.useEffect((function(){void 0!==a&&null!==P&&P.setVisible(a)}),[P,a]),e.useEffect((function(){"number"==typeof i&&null!==P&&P.setRadius(i)}),[P,i]),e.useEffect((function(){void 0!==n&&null!==P&&P.setCenter(n)}),[P,n]),e.useEffect((function(){P&&l&&(null!==S&&google.maps.event.removeListener(S),O(google.maps.event.addListener(P,"dblclick",l)))}),[l]),e.useEffect((function(){P&&c&&(null!==T&&google.maps.event.removeListener(T),B(google.maps.event.addListener(P,"dragend",c)))}),[c]),e.useEffect((function(){P&&g&&(null!==D&&google.maps.event.removeListener(D),A(google.maps.event.addListener(P,"dragstart",g)))}),[g]),e.useEffect((function(){P&&p&&(null!==W&&google.maps.event.removeListener(W),Z(google.maps.event.addListener(P,"mousedown",p)))}),[p]),e.useEffect((function(){P&&u&&(null!==j&&google.maps.event.removeListener(j),N(google.maps.event.addListener(P,"mousemove",u)))}),[u]),e.useEffect((function(){P&&d&&(null!==H&&google.maps.event.removeListener(H),$(google.maps.event.addListener(P,"mouseout",d)))}),[d]),e.useEffect((function(){P&&h&&(null!==Y&&google.maps.event.removeListener(Y),J(google.maps.event.addListener(P,"mouseover",h)))}),[h]),e.useEffect((function(){P&&f&&(null!==q&&google.maps.event.removeListener(q),X(google.maps.event.addListener(P,"mouseup",f)))}),[f]),e.useEffect((function(){P&&v&&(null!==ee&&google.maps.event.removeListener(ee),te(google.maps.event.addListener(P,"rightclick",v)))}),[v]),e.useEffect((function(){P&&y&&(null!==ne&&google.maps.event.removeListener(ne),ie(google.maps.event.addListener(P,"click",y)))}),[y]),e.useEffect((function(){P&&L&&(null!==re&&google.maps.event.removeListener(re),ae(google.maps.event.addListener(P,"drag",L)))}),[L]),e.useEffect((function(){P&&I&&(null!==ce&&google.maps.event.removeListener(ce),ge(google.maps.event.addListener(P,"center_changed",I)))}),[y]),e.useEffect((function(){P&&C&&(null!==ue&&google.maps.event.removeListener(ue),de(google.maps.event.addListener(P,"radius_changed",C)))}),[C]),e.useEffect((function(){var e=new google.maps.Circle(m(m({},o||et),{map:M}));return"number"==typeof i&&e.setRadius(i),void 0!==n&&e.setCenter(n),"number"==typeof i&&e.setRadius(i),void 0!==a&&e.setVisible(a),void 0!==r&&e.setEditable(r),void 0!==s&&e.setDraggable(s),l&&O(google.maps.event.addListener(e,"dblclick",l)),c&&B(google.maps.event.addListener(e,"dragend",c)),g&&A(google.maps.event.addListener(e,"dragstart",g)),p&&Z(google.maps.event.addListener(e,"mousedown",p)),u&&N(google.maps.event.addListener(e,"mousemove",u)),d&&$(google.maps.event.addListener(e,"mouseout",d)),h&&J(google.maps.event.addListener(e,"mouseover",h)),f&&X(google.maps.event.addListener(e,"mouseup",f)),v&&te(google.maps.event.addListener(e,"rightclick",v)),y&&ie(google.maps.event.addListener(e,"click",y)),L&&ae(google.maps.event.addListener(e,"drag",L)),I&&ge(google.maps.event.addListener(e,"center_changed",I)),C&&de(google.maps.event.addListener(e,"radius_changed",C)),x(e),w&&w(e),function(){null!==S&&google.maps.event.removeListener(S),null!==T&&google.maps.event.removeListener(T),null!==D&&google.maps.event.removeListener(D),null!==W&&google.maps.event.removeListener(W),null!==j&&google.maps.event.removeListener(j),null!==H&&google.maps.event.removeListener(H),null!==Y&&google.maps.event.removeListener(Y),null!==q&&google.maps.event.removeListener(q),null!==ee&&google.maps.event.removeListener(ee),null!==ne&&google.maps.event.removeListener(ne),null!==ce&&google.maps.event.removeListener(ce),null!==ue&&google.maps.event.removeListener(ue),k&&k(e),e.setMap(null)}}),[]),null})),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.state={circle:null},t.setCircleCallback=function(){null!==t.state.circle&&t.props.onLoad&&t.props.onLoad(t.state.circle)},t}h(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.Circle(m(m({},this.props.options||{}),{map:this.context}));this.registeredEvents=P({updaterMap:Qe,eventMap:Xe,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{circle:e}}),this.setCircleCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.circle&&(z(this.registeredEvents),this.registeredEvents=P({updaterMap:Qe,eventMap:Xe,prevProps:e,nextProps:this.props,instance:this.state.circle}))},t.prototype.componentWillUnmount=function(){var e;null!==this.state.circle&&(this.props.onUnmount&&this.props.onUnmount(this.state.circle),z(this.registeredEvents),null===(e=this.state.circle)||void 0===e||e.setMap(null))},t.prototype.render=function(){return null},t.contextType=b}(e.PureComponent);var tt={onClick:"click",onDblClick:"dblclick",onMouseDown:"mousedown",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick",onAddFeature:"addfeature",onRemoveFeature:"removefeature",onRemoveProperty:"removeproperty",onSetGeometry:"setgeometry",onSetProperty:"setproperty"},ot={add:function(e,t){e.add(t)},addgeojson:function(e,t,o){e.addGeoJson(t,o)},contains:function(e,t){e.contains(t)},foreach:function(e,t){e.forEach(t)},loadgeojson:function(e,t,o,n){e.loadGeoJson(t,o,n)},overridestyle:function(e,t,o){e.overrideStyle(t,o)},remove:function(e,t){e.remove(t)},revertstyle:function(e,t){e.revertStyle(t)},controlposition:function(e,t){e.setControlPosition(t)},controls:function(e,t){e.setControls(t)},drawingmode:function(e,t){e.setDrawingMode(t)},map:function(e,t){e.setMap(t)},style:function(e,t){e.setStyle(t)},togeojson:function(e,t){e.toGeoJson(t)}};e.memo((function(t){var o=t.options,n=t.onClick,i=t.onDblClick,s=t.onMouseDown,r=t.onMouseMove,a=t.onMouseOut,l=t.onMouseOver,c=t.onMouseUp,g=t.onRightClick,p=t.onAddFeature,u=t.onRemoveFeature,d=t.onRemoveProperty,h=t.onSetGeometry,f=t.onSetProperty,v=t.onLoad,y=t.onUnmount,L=e.useContext(b),I=e.useState(null),C=I[0],w=I[1],k=e.useState(null),M=k[0],z=k[1],P=e.useState(null),x=P[0],E=P[1],S=e.useState(null),O=S[0],_=S[1],T=e.useState(null),B=T[0],R=T[1],D=e.useState(null),A=D[0],U=D[1],W=e.useState(null),Z=W[0],F=W[1],j=e.useState(null),N=j[0],V=j[1],H=e.useState(null),$=H[0],G=H[1],Y=e.useState(null),J=Y[0],K=Y[1],q=e.useState(null),X=q[0],Q=q[1],ee=e.useState(null),te=ee[0],oe=ee[1],ne=e.useState(null),ie=ne[0],se=ne[1],re=e.useState(null),ae=re[0],le=re[1];return e.useEffect((function(){null!==C&&C.setMap(L)}),[L]),e.useEffect((function(){C&&i&&(null!==M&&google.maps.event.removeListener(M),z(google.maps.event.addListener(C,"dblclick",i)))}),[i]),e.useEffect((function(){C&&s&&(null!==x&&google.maps.event.removeListener(x),E(google.maps.event.addListener(C,"mousedown",s)))}),[s]),e.useEffect((function(){C&&r&&(null!==O&&google.maps.event.removeListener(O),_(google.maps.event.addListener(C,"mousemove",r)))}),[r]),e.useEffect((function(){C&&a&&(null!==B&&google.maps.event.removeListener(B),R(google.maps.event.addListener(C,"mouseout",a)))}),[a]),e.useEffect((function(){C&&l&&(null!==A&&google.maps.event.removeListener(A),U(google.maps.event.addListener(C,"mouseover",l)))}),[l]),e.useEffect((function(){C&&c&&(null!==Z&&google.maps.event.removeListener(Z),F(google.maps.event.addListener(C,"mouseup",c)))}),[c]),e.useEffect((function(){C&&g&&(null!==N&&google.maps.event.removeListener(N),V(google.maps.event.addListener(C,"rightclick",g)))}),[g]),e.useEffect((function(){C&&n&&(null!==$&&google.maps.event.removeListener($),G(google.maps.event.addListener(C,"click",n)))}),[n]),e.useEffect((function(){C&&p&&(null!==J&&google.maps.event.removeListener(J),K(google.maps.event.addListener(C,"addfeature",p)))}),[p]),e.useEffect((function(){C&&u&&(null!==X&&google.maps.event.removeListener(X),Q(google.maps.event.addListener(C,"removefeature",u)))}),[u]),e.useEffect((function(){C&&d&&(null!==te&&google.maps.event.removeListener(te),oe(google.maps.event.addListener(C,"removeproperty",d)))}),[d]),e.useEffect((function(){C&&h&&(null!==ie&&google.maps.event.removeListener(ie),se(google.maps.event.addListener(C,"setgeometry",h)))}),[h]),e.useEffect((function(){C&&f&&(null!==ae&&google.maps.event.removeListener(ae),le(google.maps.event.addListener(C,"setproperty",f)))}),[f]),e.useEffect((function(){if(null!==L){var e=new google.maps.Data(m(m({},o||{}),{map:L}));i&&z(google.maps.event.addListener(e,"dblclick",i)),s&&E(google.maps.event.addListener(e,"mousedown",s)),r&&_(google.maps.event.addListener(e,"mousemove",r)),a&&R(google.maps.event.addListener(e,"mouseout",a)),l&&U(google.maps.event.addListener(e,"mouseover",l)),c&&F(google.maps.event.addListener(e,"mouseup",c)),g&&V(google.maps.event.addListener(e,"rightclick",g)),n&&G(google.maps.event.addListener(e,"click",n)),p&&K(google.maps.event.addListener(e,"addfeature",p)),u&&Q(google.maps.event.addListener(e,"removefeature",u)),d&&oe(google.maps.event.addListener(e,"removeproperty",d)),h&&se(google.maps.event.addListener(e,"setgeometry",h)),f&&le(google.maps.event.addListener(e,"setproperty",f)),w(e),v&&v(e)}return function(){C&&(null!==M&&google.maps.event.removeListener(M),null!==x&&google.maps.event.removeListener(x),null!==O&&google.maps.event.removeListener(O),null!==B&&google.maps.event.removeListener(B),null!==A&&google.maps.event.removeListener(A),null!==Z&&google.maps.event.removeListener(Z),null!==N&&google.maps.event.removeListener(N),null!==$&&google.maps.event.removeListener($),null!==J&&google.maps.event.removeListener(J),null!==X&&google.maps.event.removeListener(X),null!==te&&google.maps.event.removeListener(te),null!==ie&&google.maps.event.removeListener(ie),null!==ae&&google.maps.event.removeListener(ae),y&&y(C),C.setMap(null))}}),[]),null})),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.state={data:null},t.setDataCallback=function(){null!==t.state.data&&t.props.onLoad&&t.props.onLoad(t.state.data)},t}h(t,e),t.prototype.componentDidMount=function(){if(null!==this.context){var e=new google.maps.Data(m(m({},this.props.options||{}),{map:this.context}));this.registeredEvents=P({updaterMap:ot,eventMap:tt,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{data:e}}),this.setDataCallback)}},t.prototype.componentDidUpdate=function(e){null!==this.state.data&&(z(this.registeredEvents),this.registeredEvents=P({updaterMap:ot,eventMap:tt,prevProps:e,nextProps:this.props,instance:this.state.data}))},t.prototype.componentWillUnmount=function(){null!==this.state.data&&(this.props.onUnmount&&this.props.onUnmount(this.state.data),z(this.registeredEvents),this.state.data&&this.state.data.setMap(null))},t.prototype.render=function(){return null},t.contextType=b}(e.PureComponent);var nt={onClick:"click",onDefaultViewportChanged:"defaultviewport_changed",onStatusChanged:"status_changed"},it={options:function(e,t){e.setOptions(t)},url:function(e,t){e.setUrl(t)},zIndex:function(e,t){e.setZIndex(t)}};function st(e,t){return"function"==typeof t?t(e.offsetWidth,e.offsetHeight):{x:0,y:0}}function rt(e,t){return new t(e.lat,e.lng)}function at(e,t){return new t(new google.maps.LatLng(e.ne.lat,e.ne.lng),new google.maps.LatLng(e.sw.lat,e.sw.lng))}function lt(e,t,o,n){return void 0!==o?function(e,t,o){var n=e&&e.fromLatLngToDivPixel(o.getNorthEast()),i=e&&e.fromLatLngToDivPixel(o.getSouthWest());return n&&i?{left:"".concat(i.x+t.x,"px"),top:"".concat(n.y+t.y,"px"),width:"".concat(n.x-i.x-t.x,"px"),height:"".concat(i.y-n.y-t.y,"px")}:{left:"-9999px",top:"-9999px"}}(e,t,(i=o,s=google.maps.LatLngBounds,r=at,i instanceof s?i:r(i,s))):function(e,t,o){var n=e&&e.fromLatLngToDivPixel(o);if(n){var i=n.x,s=n.y;return{left:"".concat(i+t.x,"px"),top:"".concat(s+t.y,"px")}}return{left:"-9999px",top:"-9999px"}}(e,t,function(e,t,o){return e instanceof t?e:o(e,t)}(n,google.maps.LatLng,rt));var i,s,r}function ct(e){return e?(e instanceof google.maps.LatLng?e:new google.maps.LatLng(e.lat,e.lng))+"":""}function gt(e){return e?(e instanceof google.maps.LatLngBounds?e:new google.maps.LatLngBounds(new google.maps.LatLng(e.south,e.east),new google.maps.LatLng(e.north,e.west)))+"":""}function pt(){}!function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.state={kmlLayer:null},t.setKmlLayerCallback=function(){null!==t.state.kmlLayer&&t.props.onLoad&&t.props.onLoad(t.state.kmlLayer)},t}h(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.KmlLayer(m(m({},this.props.options),{map:this.context}));this.registeredEvents=P({updaterMap:it,eventMap:nt,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{kmlLayer:e}}),this.setKmlLayerCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.kmlLayer&&(z(this.registeredEvents),this.registeredEvents=P({updaterMap:it,eventMap:nt,prevProps:e,nextProps:this.props,instance:this.state.kmlLayer}))},t.prototype.componentWillUnmount=function(){null!==this.state.kmlLayer&&(this.props.onUnmount&&this.props.onUnmount(this.state.kmlLayer),z(this.registeredEvents),this.state.kmlLayer.setMap(null))},t.prototype.render=function(){return null},t.contextType=b}(e.PureComponent),e.memo((function(t){var o=t.position,i=t.bounds,s=t.mapPaneName,r=t.zIndex,a=t.onLoad,l=t.onUnmount,c=t.getPixelPositionOffset,g=t.children,p=e.useContext(b),u=e.useMemo((function(){var e=document.createElement("div");return e.style.position="absolute",e}),[]),d=e.useMemo((function(){return function(e,t,o,n,i){var s=function(e){function t(t,o,n,i){var s=e.call(this)||this;return s.container=t,s.pane=o,s.position=n,s.bounds=i,s}return h(t,e),t.prototype.onAdd=function(){var e,t=null===(e=this.getPanes())||void 0===e?void 0:e[this.pane];null==t||t.appendChild(this.container)},t.prototype.draw=function(){for(var e=lt(this.getProjection(),m({},this.container?st(this.container,i):{x:0,y:0}),this.bounds,this.position),t=0,o=Object.entries(e);t<o.length;t++){var n=o[t],s=n[0],r=n[1];this.container.style[s]=r}},t.prototype.onRemove=function(){null!==this.container.parentNode&&this.container.parentNode.removeChild(this.container)},t}(google.maps.OverlayView);return new s(e,t,o,n)}(u,s,o,i,c)}),[u,s,o,i]);return e.useEffect((function(){return null==a||a(d),null==d||d.setMap(p),function(){null==l||l(d),null==d||d.setMap(null)}}),[p,d]),e.useEffect((function(){u.style.zIndex="".concat(r)}),[r,u]),n.createPortal(g,u)})),function(t){function o(o){var n=t.call(this,o)||this;n.state={paneEl:null,containerStyle:{position:"absolute"}},n.updatePane=function(){var e=n.props.mapPaneName,t=n.overlayView.getPanes();C(!!e,"OverlayView requires props.mapPaneName but got %s",e),t?n.setState({paneEl:t[e]}):n.setState({paneEl:null})},n.onAdd=function(){var e,t;n.updatePane(),null===(t=(e=n.props).onLoad)||void 0===t||t.call(e,n.overlayView)},n.onPositionElement=function(){var e=lt(n.overlayView.getProjection(),m({x:0,y:0},n.containerRef.current?st(n.containerRef.current,n.props.getPixelPositionOffset):{}),n.props.bounds,n.props.position),t=n.state.containerStyle,o=t.left,i=t.top;t.width;var s,r,a=t.height;r={left:o,top:i,height:a},((s=e).left!==r.left||s.top!==r.top||s.width!==r.height||s.height!==r.height)&&n.setState({containerStyle:{top:e.top||0,left:e.left||0,width:e.width||0,height:e.height||0,position:"absolute"}})},n.draw=function(){n.onPositionElement()},n.onRemove=function(){var e,t;n.setState((function(){return{paneEl:null}})),null===(t=(e=n.props).onUnmount)||void 0===t||t.call(e,n.overlayView)},n.containerRef=e.createRef();var i=new google.maps.OverlayView;return i.onAdd=n.onAdd,i.draw=n.draw,i.onRemove=n.onRemove,n.overlayView=i,n}h(o,t),o.prototype.componentDidMount=function(){this.overlayView.setMap(this.context)},o.prototype.componentDidUpdate=function(e){var t=ct(e.position),o=ct(this.props.position),n=gt(e.bounds),i=gt(this.props.bounds);t===o&&n===i||this.overlayView.draw(),e.mapPaneName!==this.props.mapPaneName&&this.updatePane()},o.prototype.componentWillUnmount=function(){this.overlayView.setMap(null)},o.prototype.render=function(){var t=this.state.paneEl;return t?n.createPortal(u.jsx("div",{ref:this.containerRef,style:this.state.containerStyle,children:e.Children.only(this.props.children)}),t):null},o.FLOAT_PANE="floatPane",o.MAP_PANE="mapPane",o.MARKER_LAYER="markerLayer",o.OVERLAY_LAYER="overlayLayer",o.OVERLAY_MOUSE_TARGET="overlayMouseTarget",o.contextType=b}(e.PureComponent);var ut={onDblClick:"dblclick",onClick:"click"},dt={opacity:function(e,t){e.setOpacity(t)}};e.memo((function(t){var o=t.url,n=t.bounds,i=t.options,s=t.visible,r=e.useContext(b),a=new google.maps.LatLngBounds(new google.maps.LatLng(n.south,n.west),new google.maps.LatLng(n.north,n.east)),l=e.useMemo((function(){return new google.maps.GroundOverlay(o,a,m({},i))}),[]);return e.useEffect((function(){null!==l&&l.setMap(r)}),[r]),e.useEffect((function(){void 0!==o&&null!==l&&(l.set("url",o),l.setMap(r))}),[l,o]),e.useEffect((function(){void 0!==s&&null!==l&&l.setOpacity(s?1:0)}),[l,s]),e.useEffect((function(){var e=new google.maps.LatLngBounds(new google.maps.LatLng(n.south,n.west),new google.maps.LatLng(n.north,n.east));void 0!==n&&null!==l&&(l.set("bounds",e),l.setMap(r))}),[l,n]),null})),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.state={groundOverlay:null},t.setGroundOverlayCallback=function(){null!==t.state.groundOverlay&&t.props.onLoad&&t.props.onLoad(t.state.groundOverlay)},t}h(t,e),t.prototype.componentDidMount=function(){C(!!this.props.url||!!this.props.bounds,"For GroundOverlay, url and bounds are passed in to constructor and are immutable after instantiated. This is the behavior of Google Maps JavaScript API v3 ( See https://developers.google.com/maps/documentation/javascript/reference#GroundOverlay) Hence, use the corresponding two props provided by `react-google-maps-api`, url and bounds. In some cases, you'll need the GroundOverlay component to reflect the changes of url and bounds. You can leverage the React's key property to remount the component. Typically, just `key={url}` would serve your need. See https://github.com/tomchentw/react-google-maps/issues/655");var e=new google.maps.GroundOverlay(this.props.url,this.props.bounds,m(m({},this.props.options),{map:this.context}));this.registeredEvents=P({updaterMap:dt,eventMap:ut,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{groundOverlay:e}}),this.setGroundOverlayCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.groundOverlay&&(z(this.registeredEvents),this.registeredEvents=P({updaterMap:dt,eventMap:ut,prevProps:e,nextProps:this.props,instance:this.state.groundOverlay}))},t.prototype.componentWillUnmount=function(){this.state.groundOverlay&&(this.props.onUnmount&&this.props.onUnmount(this.state.groundOverlay),this.state.groundOverlay.setMap(null))},t.prototype.render=function(){return null},t.defaultProps={onLoad:pt},t.contextType=b}(e.PureComponent);var ht={},mt={data:function(e,t){e.setData(t)},map:function(e,t){e.setMap(t)},options:function(e,t){e.setOptions(t)}};e.memo((function(t){var o=t.data,n=t.onLoad,i=t.onUnmount,s=t.options,r=e.useContext(b),a=e.useState(null),l=a[0],c=a[1];return e.useEffect((function(){google.maps.visualization||C(!!google.maps.visualization,'Did you include prop libraries={["visualization"]} in useJsApiScript? %s',google.maps.visualization)}),[]),e.useEffect((function(){C(!!o,"data property is required in HeatmapLayer %s",o)}),[o]),e.useEffect((function(){null!==l&&l.setMap(r)}),[r]),e.useEffect((function(){s&&null!==l&&l.setOptions(s)}),[l,s]),e.useEffect((function(){var e=new google.maps.visualization.HeatmapLayer(m(m({},s||{}),{data:o,map:r}));return c(e),n&&n(e),function(){null!==l&&(i&&i(l),l.setMap(null))}}),[]),null})),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.state={heatmapLayer:null},t.setHeatmapLayerCallback=function(){null!==t.state.heatmapLayer&&t.props.onLoad&&t.props.onLoad(t.state.heatmapLayer)},t}h(t,e),t.prototype.componentDidMount=function(){C(!!google.maps.visualization,'Did you include prop libraries={["visualization"]} to <LoadScript />? %s',google.maps.visualization),C(!!this.props.data,"data property is required in HeatmapLayer %s",this.props.data);var e=new google.maps.visualization.HeatmapLayer(m(m({},this.props.options||{}),{data:this.props.data,map:this.context}));this.registeredEvents=P({updaterMap:mt,eventMap:ht,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{heatmapLayer:e}}),this.setHeatmapLayerCallback)},t.prototype.componentDidUpdate=function(e){z(this.registeredEvents),this.registeredEvents=P({updaterMap:mt,eventMap:ht,prevProps:e,nextProps:this.props,instance:this.state.heatmapLayer})},t.prototype.componentWillUnmount=function(){null!==this.state.heatmapLayer&&(this.props.onUnmount&&this.props.onUnmount(this.state.heatmapLayer),z(this.registeredEvents),this.state.heatmapLayer.setMap(null))},t.prototype.render=function(){return null},t.contextType=b}(e.PureComponent);var ft={onCloseClick:"closeclick",onPanoChanged:"pano_changed",onPositionChanged:"position_changed",onPovChanged:"pov_changed",onResize:"resize",onStatusChanged:"status_changed",onVisibleChanged:"visible_changed",onZoomChanged:"zoom_changed"},vt={register:function(e,t,o){e.registerPanoProvider(t,o)},links:function(e,t){e.setLinks(t)},motionTracking:function(e,t){e.setMotionTracking(t)},options:function(e,t){e.setOptions(t)},pano:function(e,t){e.setPano(t)},position:function(e,t){e.setPosition(t)},pov:function(e,t){e.setPov(t)},visible:function(e,t){e.setVisible(t)},zoom:function(e,t){e.setZoom(t)}};!function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.state={streetViewPanorama:null},t.setStreetViewPanoramaCallback=function(){null!==t.state.streetViewPanorama&&t.props.onLoad&&t.props.onLoad(t.state.streetViewPanorama)},t}h(t,e),t.prototype.componentDidMount=function(){var e,t,o=null!==(t=null===(e=this.context)||void 0===e?void 0:e.getStreetView())&&void 0!==t?t:null;this.registeredEvents=P({updaterMap:vt,eventMap:ft,prevProps:{},nextProps:this.props,instance:o}),this.setState((function(){return{streetViewPanorama:o}}),this.setStreetViewPanoramaCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.streetViewPanorama&&(z(this.registeredEvents),this.registeredEvents=P({updaterMap:vt,eventMap:ft,prevProps:e,nextProps:this.props,instance:this.state.streetViewPanorama}))},t.prototype.componentWillUnmount=function(){null!==this.state.streetViewPanorama&&(this.props.onUnmount&&this.props.onUnmount(this.state.streetViewPanorama),z(this.registeredEvents),this.state.streetViewPanorama.setVisible(!1))},t.prototype.render=function(){return null},t.contextType=b}(e.PureComponent),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={streetViewService:null},t.setStreetViewServiceCallback=function(){null!==t.state.streetViewService&&t.props.onLoad&&t.props.onLoad(t.state.streetViewService)},t}h(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.StreetViewService;this.setState((function(){return{streetViewService:e}}),this.setStreetViewServiceCallback)},t.prototype.componentWillUnmount=function(){null!==this.state.streetViewService&&this.props.onUnmount&&this.props.onUnmount(this.state.streetViewService)},t.prototype.render=function(){return null},t.contextType=b}(e.PureComponent),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={directionsService:null},t.setDirectionsServiceCallback=function(){null!==t.state.directionsService&&t.props.onLoad&&t.props.onLoad(t.state.directionsService)},t}h(t,e),t.prototype.componentDidMount=function(){C(!!this.props.options,"DirectionsService expected options object as parameter, but got %s",this.props.options);var e=new google.maps.DirectionsService;this.setState((function(){return{directionsService:e}}),this.setDirectionsServiceCallback)},t.prototype.componentDidUpdate=function(){null!==this.state.directionsService&&this.state.directionsService.route(this.props.options,this.props.callback)},t.prototype.componentWillUnmount=function(){null!==this.state.directionsService&&this.props.onUnmount&&this.props.onUnmount(this.state.directionsService)},t.prototype.render=function(){return null}}(e.PureComponent);var yt={onDirectionsChanged:"directions_changed"},Lt={directions:function(e,t){e.setDirections(t)},map:function(e,t){e.setMap(t)},options:function(e,t){e.setOptions(t)},panel:function(e,t){e.setPanel(t)},routeIndex:function(e,t){e.setRouteIndex(t)}};!function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.state={directionsRenderer:null},t.setDirectionsRendererCallback=function(){null!==t.state.directionsRenderer&&(t.state.directionsRenderer.setMap(t.context),t.props.onLoad&&t.props.onLoad(t.state.directionsRenderer))},t}h(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.DirectionsRenderer(this.props.options);this.registeredEvents=P({updaterMap:Lt,eventMap:yt,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{directionsRenderer:e}}),this.setDirectionsRendererCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.directionsRenderer&&(z(this.registeredEvents),this.registeredEvents=P({updaterMap:Lt,eventMap:yt,prevProps:e,nextProps:this.props,instance:this.state.directionsRenderer}))},t.prototype.componentWillUnmount=function(){null!==this.state.directionsRenderer&&(this.props.onUnmount&&this.props.onUnmount(this.state.directionsRenderer),z(this.registeredEvents),this.state.directionsRenderer&&this.state.directionsRenderer.setMap(null))},t.prototype.render=function(){return u.jsx(u.Fragment,{})},t.contextType=b}(e.PureComponent),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={distanceMatrixService:null},t.setDistanceMatrixServiceCallback=function(){null!==t.state.distanceMatrixService&&t.props.onLoad&&t.props.onLoad(t.state.distanceMatrixService)},t}h(t,e),t.prototype.componentDidMount=function(){C(!!this.props.options,"DistanceMatrixService expected options object as parameter, but go %s",this.props.options);var e=new google.maps.DistanceMatrixService;this.setState((function(){return{distanceMatrixService:e}}),this.setDistanceMatrixServiceCallback)},t.prototype.componentDidUpdate=function(){null!==this.state.distanceMatrixService&&this.state.distanceMatrixService.getDistanceMatrix(this.props.options,this.props.callback)},t.prototype.componentWillUnmount=function(){null!==this.state.distanceMatrixService&&this.props.onUnmount&&this.props.onUnmount(this.state.distanceMatrixService)},t.prototype.render=function(){return null}}(e.PureComponent);var It={onPlacesChanged:"places_changed"},Ct={bounds:function(e,t){e.setBounds(t)}};!function(t){function o(){var o=null!==t&&t.apply(this,arguments)||this;return o.registeredEvents=[],o.containerElement=e.createRef(),o.state={searchBox:null},o.setSearchBoxCallback=function(){null!==o.state.searchBox&&o.props.onLoad&&o.props.onLoad(o.state.searchBox)},o}h(o,t),o.prototype.componentDidMount=function(){if(C(!!google.maps.places,'You need to provide libraries={["places"]} prop to <LoadScript /> component %s',google.maps.places),null!==this.containerElement&&null!==this.containerElement.current){var e=this.containerElement.current.querySelector("input");if(null!==e){var t=new google.maps.places.SearchBox(e,this.props.options);this.registeredEvents=P({updaterMap:Ct,eventMap:It,prevProps:{},nextProps:this.props,instance:t}),this.setState((function(){return{searchBox:t}}),this.setSearchBoxCallback)}}},o.prototype.componentDidUpdate=function(e){null!==this.state.searchBox&&(z(this.registeredEvents),this.registeredEvents=P({updaterMap:Ct,eventMap:It,prevProps:e,nextProps:this.props,instance:this.state.searchBox}))},o.prototype.componentWillUnmount=function(){null!==this.state.searchBox&&(this.props.onUnmount&&this.props.onUnmount(this.state.searchBox),z(this.registeredEvents))},o.prototype.render=function(){return u.jsx("div",{ref:this.containerElement,children:e.Children.only(this.props.children)})},o.contextType=b}(e.PureComponent);var bt={onPlaceChanged:"place_changed"},wt={bounds:function(e,t){e.setBounds(t)},restrictions:function(e,t){e.setComponentRestrictions(t)},fields:function(e,t){e.setFields(t)},options:function(e,t){e.setOptions(t)},types:function(e,t){e.setTypes(t)}};function kt(e,t,o,n){var i=o*Math.PI/180-e*Math.PI/180,s=n*Math.PI/180-t*Math.PI/180,r=Math.sin(i/2)*Math.sin(i/2)+Math.cos(e*Math.PI/180)*Math.cos(o*Math.PI/180)*Math.sin(s/2)*Math.sin(s/2);return 6378137*(2*Math.atan2(Math.sqrt(r),Math.sqrt(1-r)))}!function(t){function o(){var o=null!==t&&t.apply(this,arguments)||this;return o.registeredEvents=[],o.containerElement=e.createRef(),o.state={autocomplete:null},o.setAutocompleteCallback=function(){null!==o.state.autocomplete&&o.props.onLoad&&o.props.onLoad(o.state.autocomplete)},o}h(o,t),o.prototype.componentDidMount=function(){var e;C(!!google.maps.places,'You need to provide libraries={["places"]} prop to <LoadScript /> component %s',google.maps.places);var t=null===(e=this.containerElement.current)||void 0===e?void 0:e.querySelector("input");if(t){var o=new google.maps.places.Autocomplete(t,this.props.options);this.registeredEvents=P({updaterMap:wt,eventMap:bt,prevProps:{},nextProps:this.props,instance:o}),this.setState((function(){return{autocomplete:o}}),this.setAutocompleteCallback)}},o.prototype.componentDidUpdate=function(e){z(this.registeredEvents),this.registeredEvents=P({updaterMap:wt,eventMap:bt,prevProps:e,nextProps:this.props,instance:this.state.autocomplete})},o.prototype.componentWillUnmount=function(){null!==this.state.autocomplete&&z(this.registeredEvents)},o.prototype.render=function(){return u.jsx("div",{ref:this.containerElement,className:this.props.className,children:e.Children.only(this.props.children)})},o.defaultProps={className:""},o.contextType=b}(e.PureComponent);var Mt=function(){function e(){}return e.clearString=function(e){return e.replace(/&/g,"&amp;").replace(/>/g,"&gt;").replace(/</g,"&lt;").replace(/"/g,"&quot;")},e}();function zt(e){return e*Math.PI/180}function Pt(e){return 180*e/Math.PI}const xt=[];class Et{constructor(){}delete(e,t){if(!t)return null;const o=t.getPath().getLength();for(let e=0;e<o;e++){const t=xt[e];t&&(t.ghostMarker&&(google.maps.event.clearInstanceListeners(t.ghostMarker),t.ghostMarker.setMap(null),delete t.ghostMarker.marker,delete t.ghostMarker),t.marker&&(google.maps.event.clearInstanceListeners(t.marker),t.marker.setMap(null),t.marker=null))}return xt.length=0,t}edit(e,t,o,n){let i,s,r,a;if(n){i={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="48" height="48"><path fill="rgba(255,255,255,0.01)" d="M 0, 24 a 24,24 0 1,0 48,0 a 24,24 0 1,0 -48,0" /><path fill="rgba(255,255,255,1)" stroke="#303030" stroke-width="1" d="M24 24 m-4,0 a 4,4,0 0,1 8,0 a 4,4 0 0,1 -8,0z" /></svg>'),anchor:new google.maps.Point(24,24)};s={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="48" height="48"><path fill="rgba(255,255,255,0.01)" d="M 0, 24 a 24,24 0 1,0 48,0 a 24,24 0 1,0 -48,0" /><path fill="rgba(255,255,255,0.4)" stroke="#303030" stroke-width="0.3" stroke-opacity="0.01" d="M24 24 m-4,0 a 4,4,0 0,1 8,0 a 4,4 0 0,1 -8,0z" /></svg>'),anchor:new google.maps.Point(24,24)};r={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 52 52"><g transform="scale(0.4 0.4)"><path style="fill:#f1a81e;" d="M38.853,5.324L38.853,5.324c-7.098-7.098-18.607-7.098-25.706,0h0 C6.751,11.72,6.031,23.763,11.459,31L26,52l14.541-21C45.969,23.763,45.249,11.72,38.853,5.324z"/><g transform="translate(13.2 5.9) scale(0.8 0.8)"></g></g></svg>'),anchor:new google.maps.Point(30,60)};a={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 52 52"><g transform="scale(0.4 0.4) rotate(180 26 26)"><path style="fill:#f1a81e;" d="M38.853,5.324L38.853,5.324c-7.098-7.098-18.607-7.098-25.706,0h0 C6.751,11.72,6.031,23.763,11.459,31L26,52l14.541-21C45.969,23.763,45.249,11.72,38.853,5.324z"/><g transform="translate(13.2 5.9) scale(0.8 0.8)"></g></g></svg>'),anchor:new google.maps.Point(30,0)}}else i={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1},s={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:.4,anchor:new google.maps.Point(4,4),strokeWeight:.3,strokeOpacity:.01,strokeColor:"#303030",scale:1};const l=new google.maps.Polyline({map:e,strokeColor:"#ffff00",strokeOpacity:.6,strokeWeight:2,clickable:!1,zIndex:10100}),c=function(){for(let e=0;e<xt.length;e++){const t=xt[e]?.marker;t&&t.setIcon(i)}const e=t.getPath(),o=new google.maps.LatLngBounds;for(let t=0,n=e.getLength();t<n;t++)o.extend(e.getAt(t));if(n&&r&&a){const e=o.getCenter(),t=this.getPosition();if(!t)return;this.setIcon(t.lat()>=e.lat()?r:a)}},g=function(){const e=this.marker.editIndex,o=t.getPath(),n=o.getLength()-1,i=this.marker.getPosition(),s=this.getPosition(),r=e<n?o.getAt(e+1):o.getAt(0);0===l.getPath().getLength()?l.setPath([i,s,r]):l.getPath().setAt(1,s)},p=function(){const o=this.marker;if(!o)return;const n=this.getPosition();if(!n)return;const s=t.getPath(),r=s.getLength();if(r<1)return;const a=o.editIndex,c=a===r-1?0:a+1,g=xt[a];google.maps.event.clearInstanceListeners(this),this.setMap(null),s.insertAt(c,n);const p=new google.maps.Marker({map:e,icon:i,draggable:!0,raiseOnDrag:!1,position:n});google.maps.event.addListener(p,"dragstart",u),google.maps.event.addListener(p,"drag",d),google.maps.event.addListener(p,"dragend",h),xt.splice(c,0,{marker:p,ghostMarker:void 0});for(let e=c;e<xt.length;e++){const t=xt[e]?.marker;t&&(t.editIndex=e)}const m=g?.ghostMarker;m&&m!==this?(google.maps.event.clearInstanceListeners(m),m.setMap(null),delete m.marker,delete g.ghostMarker):g&&delete g?.ghostMarker;const v=0===c?s.getLength()-1:c-1;for(f(v),f(c);l.getPath().getLength()>0;)l.getPath().pop();google.maps.event.trigger(t,"insert_at",c,n)},u=function(){for(let e=0;e<xt.length;e++){const t=xt[e]?.marker;t&&t.setIcon(i)}const e=t.getPath(),o=new google.maps.LatLngBounds;for(let t=0,n=e.getLength();t<n;t++)o.extend(e.getAt(t));if(n&&r&&a){const e=o.getCenter(),t=this.getPosition();if(!t)return;this.setIcon(t.lat()>=e.lat()?r:a)}},d=function(){const e=this.editIndex,o=this.getPosition();t.getPath().setAt(e,o);const n=t.getPath(),i=0===e?n.getLength()-1:e-1;f(i),f(e)},h=function(){google.maps.event.trigger(t,"update_at",this.editIndex,this.getPosition())},m=(o,n)=>{const i=t.getPath().getAt(o);let s=xt[o]?.marker;return s?(s.setPosition(i),s.editIndex=o):(s=new google.maps.Marker({position:i,map:e,icon:n,draggable:!0,raiseOnDrag:!1}),google.maps.event.addListener(s,"dragstart",u),google.maps.event.addListener(s,"drag",d),google.maps.event.addListener(s,"dragend",h),s.editIndex=o,xt[o]={marker:s}),s},f=o=>{const n=t.getPath(),i=n.getLength();if(i<2)return null;const r=n.getAt(o),a=o<i-1?o+1:0,l=n.getAt(a),u=google.maps.geometry?google.maps.geometry.spherical.interpolate(r,l,.5):new google.maps.LatLng(r.lat()+.5*(l.lat()-r.lat()),r.lng()+.5*(l.lng()-r.lng())),d=xt[o]?.marker;if(!d)return null;let h=xt[o]?.ghostMarker;return h&&null!==h.getMap()?h.marker=d:(h=new google.maps.Marker({map:e,icon:s,draggable:!0,raiseOnDrag:!1}),h.marker=d,google.maps.event.addListener(h,"dragstart",c),google.maps.event.addListener(h,"drag",g),google.maps.event.addListener(h,"dragend",p),xt[o].ghostMarker=h),h.setPosition(u),h},v=()=>{const e=t.getPath();for(let t=0;t<e.getLength();t++){const o=e.getAt(t),n=xt[t];if(!n)continue;const i=n.marker;i&&(i.setPosition(o),i.editIndex=t),f(t)}},y=e=>{for(let t=0;t<xt.length;t++){const o=xt[t];o?.marker?.setDraggable(e),o?.ghostMarker?.setDraggable(e)}};function L(e,t,o,n){return t.setMap(e),t.getPath().forEach(((e,t)=>{m(t,n&&r&&1===t?r:i).editIndex=t,f(t)})),t}return google.maps.event.addListener(t,"dragstart",(()=>{y(!1)})),google.maps.event.addListener(t,"drag",(()=>{v()})),google.maps.event.addListener(t,"dragend",(()=>{v(),y(!0)})),L.prototype=new google.maps.MVCObject,new L(e,t,o,n)}}class St{IsValid="";Poly="";Area=0;Perimeter=0;Latitude=0;Longitude=0;constructor(e,t,o,n,i,s){this.Poly=e,this.Area=t,this.Perimeter=o,this.Latitude=n,this.Longitude=i,this.IsValid=s,this.GeoJSON=void 0}}class Ot{constructor(e=[],t=(e,t)=>e<t?-1:e>t?1:0){if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let e=(this.length>>1)-1;e>=0;e--)this._down(e)}push(e){this.data.push(e),this._up(this.length++)}pop(){if(0===this.length)return;const e=this.data[0],t=this.data.pop();return--this.length>0&&(this.data[0]=t,this._down(0)),e}peek(){return this.data[0]}_up(e){const{data:t,compare:o}=this,n=t[e];for(;e>0;){const i=e-1>>1,s=t[i];if(o(n,s)>=0)break;t[e]=s,e=i}t[e]=n}_down(e){const{data:t,compare:o}=this,n=this.length>>1,i=t[e];for(;e<n;){let n=1+(e<<1);const s=n+1;if(s<this.length&&o(t[s],t[n])<0&&(n=s),o(t[n],i)>=0)break;t[e]=t[n],e=n}t[e]=i}}function _t(e,t=1,o=!1){let n=1/0,i=1/0,s=-1/0,r=-1/0;for(const[t,o]of e[0])t<n&&(n=t),o<i&&(i=o),t>s&&(s=t),o>r&&(r=o);const a=s-n,l=r-i,c=Math.max(t,Math.min(a,l));if(c===t){const e=[n,i];return e.distance=0,e}const g=new Ot([],((e,t)=>t.max-e.max));let p=function(e){let t=0,o=0,n=0;const i=e[0];for(let e=0,s=i.length,r=s-1;e<s;r=e++){const s=i[e],a=i[r],l=s[0]*a[1]-a[0]*s[1];o+=(s[0]+a[0])*l,n+=(s[1]+a[1])*l,t+=3*l}const s=new Tt(o/t,n/t,0,e);return 0===t||s.d<0?new Tt(i[0][0],i[0][1],0,e):s}(e);const u=new Tt(n+a/2,i+l/2,0,e);u.d>p.d&&(p=u);let d=2;function h(n,i,s){const r=new Tt(n,i,s,e);d++,r.max>p.d+t&&g.push(r),r.d>p.d&&(p=r,o&&console.log(`found best ${Math.round(1e4*r.d)/1e4} after ${d} probes`))}let m=c/2;for(let e=n;e<s;e+=c)for(let t=i;t<r;t+=c)h(e+m,t+m,m);for(;g.length;){const{max:e,x:o,y:n,h:i}=g.pop();if(e-p.d<=t)break;m=i/2,h(o-m,n-m,m),h(o+m,n-m,m),h(o-m,n+m,m),h(o+m,n+m,m)}o&&console.log(`num probes: ${d}\nbest distance: ${p.d}`);const f=[p.x,p.y];return f.distance=p.d,f}function Tt(e,t,o,n){this.x=e,this.y=t,this.h=o,this.d=function(e,t,o){let n=!1,i=1/0;for(const s of o)for(let o=0,r=s.length,a=r-1;o<r;a=o++){const r=s[o],l=s[a];r[1]>t!=l[1]>t&&e<(l[0]-r[0])*(t-r[1])/(l[1]-r[1])+r[0]&&(n=!n),i=Math.min(i,Bt(e,t,r,l))}return 0===i?0:(n?1:-1)*Math.sqrt(i)}(e,t,n),this.max=this.d+this.h*Math.SQRT2}function Bt(e,t,o,n){let i=o[0],s=o[1],r=n[0]-i,a=n[1]-s;if(0!==r||0!==a){const o=((e-i)*r+(t-s)*a)/(r*r+a*a);o>1?(i=n[0],s=n[1]):o>0&&(i+=r*o,s+=a*o)}return r=e-i,a=t-s,r*r+a*a}var Rt,Dt={exports:{}};var At=(Rt||(Rt=1,function(e){var t={};function o(e){return Math.floor(Math.abs(e)+.5)*(e>=0?1:-1)}function n(e,t,n){var i=2*((e=o(e*n))-(t=o(t*n)));i<0&&(i=-i-1);for(var s="";i>=32;)s+=String.fromCharCode(63+(32|31&i)),i/=32;return s+=String.fromCharCode(63+(0|i))}function i(e){for(var t=[],o=0;o<e.length;o++){var n=e[o].slice();t.push([n[1],n[0]])}return t}t.decode=function(e,t){for(var o,n=0,i=0,s=0,r=[],a=0,l=0,c=null,g=Math.pow(10,Number.isInteger(t)?t:5);n<e.length;){c=null,a=1,l=0;do{l+=(31&(c=e.charCodeAt(n++)-63))*a,a*=32}while(c>=32);o=1&l?(-l-1)/2:l/2,a=1,l=0;do{l+=(31&(c=e.charCodeAt(n++)-63))*a,a*=32}while(c>=32);i+=o,s+=1&l?(-l-1)/2:l/2,r.push([i/g,s/g])}return r},t.encode=function(e,t){if(!e.length)return"";for(var o=Math.pow(10,Number.isInteger(t)?t:5),i=n(e[0][0],0,o)+n(e[0][1],0,o),s=1;s<e.length;s++){var r=e[s],a=e[s-1];i+=n(r[0],a[0],o),i+=n(r[1],a[1],o)}return i},t.fromGeoJSON=function(e,o){if(e&&"Feature"===e.type&&(e=e.geometry),!e||"LineString"!==e.type)throw new Error("Input must be a GeoJSON LineString");return t.encode(i(e.coordinates),o)},t.toGeoJSON=function(e,o){return{type:"LineString",coordinates:i(t.decode(e,o))}},e.exports&&(e.exports=t)}(Dt)),Dt.exports),Ut=i(At);class Wt{centerPoint=null;constructor(){}get(e,t,o,n,i){this.centerPoint=new google.maps.LatLng(e,t);var s=o/6378137*(180/Math.PI),r=s/Math.cos(e*(Math.PI/180)),a=[],l=0,c=0;i-n<0&&(i+=360);for(var g=n*Math.PI/180,p=i*Math.PI/180,u=0;g<p;u++)g=(n+u)*Math.PI/180,l=e+s*Math.cos(g),c=t+r*Math.sin(g),a.push(new google.maps.LatLng(l,c));return a}reduce(e,t){var o=[];o.push(e.getAt(0));for(var n=1;n<e.getLength()-2;n++)n%10==1&&o.push(e.getAt(n));return o.push(e.getAt(e.getLength()-2)),o.push(e.getAt(e.getLength()-1)),t?o.reverse():o}edit(e,t,o,n,i,s,r){var a=360;if(s){var l='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 48 48" width="48" height="48">';l+='<path fill="rgba(255,255,255,0.01)" d="M 0, 24 a 24,24 0 1,0 48,0 a 24,24 0 1,0 -48,0" />',l+='<path fill="rgba(255,255,255,1)" stroke="#303030" stroke-width="1" d="M24 24 m-4,0 a 4,4,0 0,1 8,0 a 4,4 0 0,1 -8,0z" />',l+="</svg>";var c={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(l),anchor:new google.maps.Point(24,24),id:"sizerIconTop"},g={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(l),anchor:new google.maps.Point(24,24),id:"sizerIconRight"},p={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(l),anchor:new google.maps.Point(24,24),id:"sizerIconBottom"},u={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(l),anchor:new google.maps.Point(24,24),id:"sizerIconLeft"},d={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(l),anchor:new google.maps.Point(24,24),id:"centerIcon"};0;var h={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 52 52" style="enable-background:new 0 0 52 52;" xml:space="preserve"><g transform="scale(0.4 0.4)"><path style="fill:#ffa500;" d="M38.853,5.324L38.853,5.324c-7.098-7.098-18.607-7.098-25.706,0h0 C6.751,11.72,6.031,23.763,11.459,31L26,52l14.541-21C45.969,23.763,45.249,11.72,38.853,5.324z"/><g transform="translate(13.2 5.9) scale(0.8 0.8)"><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 15.78125 0.0546875 C 15.710938 0.0859375 14.742188 1.03125 13.625 2.148438 C 11.136719 4.644531 11.257812 4.351562 12.300781 5.386719 C 12.957031 6.050781 13.011719 6.09375 13.25 6.09375 C 13.480469 6.09375 13.542969 6.050781 14.0625 5.53125 L 14.625 4.96875 L 14.625 8.019531 C 14.625 11.261719 14.636719 11.398438 14.925781 11.554688 C 15.09375 11.648438 16.90625 11.648438 17.074219 11.554688 C 17.363281 11.398438 17.375 11.261719 17.375 8.019531 L 17.375 4.96875 L 17.9375 5.53125 C 18.457031 6.050781 18.519531 6.09375 18.75 6.09375 C 18.988281 6.09375 19.042969 6.050781 19.699219 5.386719 C 20.742188 4.351562 20.867188 4.648438 18.34375 2.125 C 16.210938 -0.0078125 16.105469 -0.0859375 15.78125 0.0546875 Z M 15.78125 0.0546875 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 4.21875 11.617188 C 4.148438 11.648438 3.179688 12.59375 2.0625 13.710938 C 0.0703125 15.710938 0.03125 15.75 0.03125 16 C 0.03125 16.25 0.0703125 16.289062 2.113281 18.324219 C 4.648438 20.867188 4.351562 20.742188 5.386719 19.699219 C 6.050781 19.042969 6.09375 18.988281 6.09375 18.75 C 6.09375 18.519531 6.050781 18.457031 5.53125 17.9375 L 4.96875 17.375 L 8.019531 17.375 C 11.261719 17.375 11.398438 17.363281 11.554688 17.074219 C 11.648438 16.90625 11.648438 15.09375 11.554688 14.925781 C 11.398438 14.636719 11.261719 14.625 8.019531 14.625 L 4.96875 14.625 L 5.53125 14.0625 C 6.050781 13.542969 6.09375 13.480469 6.09375 13.25 C 6.09375 13.011719 6.050781 12.957031 5.40625 12.3125 C 4.699219 11.613281 4.5 11.492188 4.21875 11.617188 Z M 4.21875 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 27.34375 11.617188 C 27.273438 11.648438 26.925781 11.976562 26.5625 12.335938 C 25.949219 12.957031 25.90625 13.011719 25.90625 13.25 C 25.90625 13.480469 25.949219 13.542969 26.46875 14.0625 L 27.03125 14.625 L 23.980469 14.625 C 20.738281 14.625 20.601562 14.636719 20.445312 14.925781 C 20.351562 15.09375 20.351562 16.90625 20.445312 17.074219 C 20.601562 17.363281 20.738281 17.375 23.980469 17.375 L 27.03125 17.375 L 26.46875 17.9375 C 25.949219 18.457031 25.90625 18.519531 25.90625 18.75 C 25.90625 18.988281 25.949219 19.042969 26.613281 19.699219 C 27.648438 20.742188 27.351562 20.867188 29.886719 18.324219 C 31.929688 16.289062 31.96875 16.25 31.96875 16 C 31.96875 15.75 31.929688 15.710938 29.90625 13.6875 C 27.773438 11.554688 27.675781 11.476562 27.34375 11.617188 Z M 27.34375 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 14.917969 20.445312 C 14.636719 20.605469 14.625 20.757812 14.625 23.980469 L 14.625 27.03125 L 14.0625 26.46875 C 13.542969 25.949219 13.480469 25.90625 13.25 25.90625 C 13.011719 25.90625 12.957031 25.949219 12.300781 26.613281 C 11.257812 27.648438 11.132812 27.351562 13.675781 29.886719 C 15.710938 31.929688 15.75 31.96875 16 31.96875 C 16.25 31.96875 16.289062 31.929688 18.324219 29.886719 C 20.867188 27.351562 20.742188 27.648438 19.699219 26.613281 C 19.042969 25.949219 18.988281 25.90625 18.75 25.90625 C 18.519531 25.90625 18.457031 25.949219 17.9375 26.46875 L 17.375 27.03125 L 17.375 23.980469 C 17.375 20.738281 17.363281 20.601562 17.074219 20.445312 C 16.90625 20.355469 15.070312 20.355469 14.917969 20.445312 Z M 14.917969 20.445312 "/></g></g></svg>'),anchor:new google.maps.Point(30,60),id:"handleIconUp"};0;var m={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 52 52" style="enable-background:new 0 0 52 52;" xml:space="preserve"><g transform="scale(0.4 0.4) rotate(180 26 26)"><path style="fill:#ffa500;" d="M38.853,5.324L38.853,5.324c-7.098-7.098-18.607-7.098-25.706,0h0 C6.751,11.72,6.031,23.763,11.459,31L26,52l14.541-21C45.969,23.763,45.249,11.72,38.853,5.324z"/><g transform="translate(13.2 5.9) scale(0.8 0.8)"><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 15.78125 0.0546875 C 15.710938 0.0859375 14.742188 1.03125 13.625 2.148438 C 11.136719 4.644531 11.257812 4.351562 12.300781 5.386719 C 12.957031 6.050781 13.011719 6.09375 13.25 6.09375 C 13.480469 6.09375 13.542969 6.050781 14.0625 5.53125 L 14.625 4.96875 L 14.625 8.019531 C 14.625 11.261719 14.636719 11.398438 14.925781 11.554688 C 15.09375 11.648438 16.90625 11.648438 17.074219 11.554688 C 17.363281 11.398438 17.375 11.261719 17.375 8.019531 L 17.375 4.96875 L 17.9375 5.53125 C 18.457031 6.050781 18.519531 6.09375 18.75 6.09375 C 18.988281 6.09375 19.042969 6.050781 19.699219 5.386719 C 20.742188 4.351562 20.867188 4.648438 18.34375 2.125 C 16.210938 -0.0078125 16.105469 -0.0859375 15.78125 0.0546875 Z M 15.78125 0.0546875 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 4.21875 11.617188 C 4.148438 11.648438 3.179688 12.59375 2.0625 13.710938 C 0.0703125 15.710938 0.03125 15.75 0.03125 16 C 0.03125 16.25 0.0703125 16.289062 2.113281 18.324219 C 4.648438 20.867188 4.351562 20.742188 5.386719 19.699219 C 6.050781 19.042969 6.09375 18.988281 6.09375 18.75 C 6.09375 18.519531 6.050781 18.457031 5.53125 17.9375 L 4.96875 17.375 L 8.019531 17.375 C 11.261719 17.375 11.398438 17.363281 11.554688 17.074219 C 11.648438 16.90625 11.648438 15.09375 11.554688 14.925781 C 11.398438 14.636719 11.261719 14.625 8.019531 14.625 L 4.96875 14.625 L 5.53125 14.0625 C 6.050781 13.542969 6.09375 13.480469 6.09375 13.25 C 6.09375 13.011719 6.050781 12.957031 5.40625 12.3125 C 4.699219 11.613281 4.5 11.492188 4.21875 11.617188 Z M 4.21875 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 27.34375 11.617188 C 27.273438 11.648438 26.925781 11.976562 26.5625 12.335938 C 25.949219 12.957031 25.90625 13.011719 25.90625 13.25 C 25.90625 13.480469 25.949219 13.542969 26.46875 14.0625 L 27.03125 14.625 L 23.980469 14.625 C 20.738281 14.625 20.601562 14.636719 20.445312 14.925781 C 20.351562 15.09375 20.351562 16.90625 20.445312 17.074219 C 20.601562 17.363281 20.738281 17.375 23.980469 17.375 L 27.03125 17.375 L 26.46875 17.9375 C 25.949219 18.457031 25.90625 18.519531 25.90625 18.75 C 25.90625 18.988281 25.949219 19.042969 26.613281 19.699219 C 27.648438 20.742188 27.351562 20.867188 29.886719 18.324219 C 31.929688 16.289062 31.96875 16.25 31.96875 16 C 31.96875 15.75 31.929688 15.710938 29.90625 13.6875 C 27.773438 11.554688 27.675781 11.476562 27.34375 11.617188 Z M 27.34375 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 14.917969 20.445312 C 14.636719 20.605469 14.625 20.757812 14.625 23.980469 L 14.625 27.03125 L 14.0625 26.46875 C 13.542969 25.949219 13.480469 25.90625 13.25 25.90625 C 13.011719 25.90625 12.957031 25.949219 12.300781 26.613281 C 11.257812 27.648438 11.132812 27.351562 13.675781 29.886719 C 15.710938 31.929688 15.75 31.96875 16 31.96875 C 16.25 31.96875 16.289062 31.929688 18.324219 29.886719 C 20.867188 27.351562 20.742188 27.648438 19.699219 26.613281 C 19.042969 25.949219 18.988281 25.90625 18.75 25.90625 C 18.519531 25.90625 18.457031 25.949219 17.9375 26.46875 L 17.375 27.03125 L 17.375 23.980469 C 17.375 20.738281 17.363281 20.601562 17.074219 20.445312 C 16.90625 20.355469 15.070312 20.355469 14.917969 20.445312 Z M 14.917969 20.445312 "/></g></g></svg>'),anchor:new google.maps.Point(30,0),id:"handleIconDown"}}else c={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconTop"},g={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconRight"},p={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconBottom"},u={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconLeft"},d={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"centerIcon"};function f(e,t){this.set("map",e),this.set("position",n);var i=new google.maps.Marker({icon:d,draggable:!0,raiseOnDrag:!1,title:"Move me!",id:"centerMarker"});i.bindTo("map",this),i.bindTo("position",this);var a=new v;return a.bindTo("map",this),a.bindTo("center",this,"position"),this.bindTo("distance",a),this.bindTo("bounds",a),s&&(google.maps.event.addListener(i,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(d):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(c):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(g):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(p):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),"centerIcon"==i.getIcon().id?i.setIcon(m):i.setIcon(d)})),google.maps.event.addListener(i,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(d):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(c):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(g):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(p):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),i.setIcon(m)})),r.push(i)),o}function v(){o=new google.maps.Polygon({id:t.id,strokeColor:t.strokeColor,strokeOpacity:t.strokeOpacity,strokeWeight:t.strokeWeight,fillColor:t.fillColor,fillOpacity:t.fillOpacity,zIndex:t.zIndex,isHole:t.isHole}),this.set("distance",i),this.bindTo("bounds",o),t.setVisible(!1),o.bindTo("map",this);var e=new google.maps.Circle({strokeColor:"#000000",strokeOpacity:.2,strokeWeight:2,fillColor:"#000000",fillOpacity:0});this.bindTo("bounds",e),e.bindTo("center",this),e.bindTo("map",this),e.bindTo("radius",this),this.addSizerTop_(),this.addSizerRight_(),this.addSizerBottom_(),this.addSizerLeft_()}return f.prototype=new google.maps.MVCObject,v.prototype=new google.maps.MVCObject,v.prototype.distance_changed=function(){this.set("radius",this.get("distance"))},v.prototype.addSizerTop_=function(){var e=new google.maps.Marker({icon:c,draggable:!0,crossOnDrag:!1,title:"I'm the top radius sizer, drag me!",cursor:"row-resize",id:"sizerTop"});e.bindTo("map",this),e.bindTo("position",this,"sizerTop_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(d):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(c):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(g):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(p):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),"sizerIconTop"==e.getIcon().id?e.setIcon(h):e.setIcon(c)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(d):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(c):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(g):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(p):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),e.setIcon(h)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){t.set("sizerTop_position",new google.maps.LatLng(t.get("sizerTop_position").lat(),t.get("center").lng()));var e=t.get("sizerTop_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,5,0)):n>2e3&&t.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,2e3,0)),t.setDistanceTop()})),google.maps.event.addListener(e,"dragend",(function(){t.set("sizerTop_position",new google.maps.LatLng(t.get("sizerTop_position").lat(),t.get("center").lng()));var e=t.get("sizerTop_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,5,0)):n>2e3&&t.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,2e3,0)),t.setDistanceTop()}))},v.prototype.addSizerRight_=function(){var e=new google.maps.Marker({icon:g,draggable:!0,crossOnDrag:!1,title:"I'm the right radius sizer, drag me!",cursor:"col-resize",id:"sizerRight"});e.bindTo("map",this),e.bindTo("position",this,"sizerRight_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(d):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(c):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(g):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(p):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),"sizerIconRight"==e.getIcon().id?e.setIcon(m):e.setIcon(g)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(d):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(c):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(g):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(p):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),e.setIcon(m)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){t.set("sizerRight_position",new google.maps.LatLng(t.get("center").lat(),t.get("sizerRight_position").lng()));var e=t.get("sizerRight_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,5,90)):n>2e3&&t.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,2e3,90)),t.setDistanceRight()})),google.maps.event.addListener(e,"dragend",(function(){t.set("sizerRight_position",new google.maps.LatLng(t.get("center").lat(),t.get("sizerRight_position").lng()));var e=t.get("sizerRight_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,5,90)):n>2e3&&t.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,2e3,90)),t.setDistanceRight()}))},v.prototype.addSizerBottom_=function(){var e=new google.maps.Marker({icon:p,draggable:!0,crossOnDrag:!1,title:"I'm the bottom radius sizer, drag me!",cursor:"row-resize",id:"sizerBottom"});e.bindTo("map",this),e.bindTo("position",this,"sizerBottom_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(d):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(c):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(g):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(p):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),"sizerIconBottom"==e.getIcon().id?e.setIcon(m):e.setIcon(p)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(d):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(c):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(g):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(p):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),e.setIcon(m)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){t.set("sizerBottom_position",new google.maps.LatLng(t.get("sizerBottom_position").lat(),t.get("center").lng()));var e=t.get("sizerBottom_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,5,180)):n>2e3&&t.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,2e3,180)),t.setDistanceBottom()})),google.maps.event.addListener(e,"dragend",(function(){t.set("sizerBottom_position",new google.maps.LatLng(t.get("sizerBottom_position").lat(),t.get("center").lng()));var e=t.get("sizerBottom_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,5,180)):n>2e3&&t.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,2e3,180)),t.setDistanceBottom()}))},v.prototype.addSizerLeft_=function(){var e=new google.maps.Marker({icon:u,draggable:!0,crossOnDrag:!1,title:"I'm the left radius sizer, drag me!",cursor:"col-resize",id:"sizerLeft"});e.bindTo("map",this),e.bindTo("position",this,"sizerLeft_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(d):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(c):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(g):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(p):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),"sizerIconLeft"==e.getIcon().id?e.setIcon(m):e.setIcon(u)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(d):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(c):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(g):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(p):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),e.setIcon(m)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){t.set("sizerLeft_position",new google.maps.LatLng(t.get("center").lat(),t.get("sizerLeft_position").lng()));var e=t.get("sizerLeft_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,5,270)):n>2e3&&t.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,2e3,270)),t.setDistanceLeft()})),google.maps.event.addListener(e,"dragend",(function(){t.set("sizerLeft_position",new google.maps.LatLng(t.get("center").lat(),t.get("sizerLeft_position").lng()));var e=t.get("sizerLeft_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,5,270)):n>2e3&&t.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,2e3,270)),t.setDistanceLeft()}))},v.prototype.center_changed=function(){var e=this.get("bounds");this.get("center");var t=this.get("distance");if(e){var n=(new Wt).get(this.get("center").lat(),this.get("center").lng(),t,0,a);o.setPath(n);var i=e.getNorthEast().lat(),s=e.getNorthEast().lng(),r=e.getSouthWest().lat(),l=e.getSouthWest().lng(),c=new google.maps.LatLng(i,this.get("center").lng()),g=new google.maps.LatLng(this.get("center").lat(),s),p=new google.maps.LatLng(r,this.get("center").lng()),u=new google.maps.LatLng(this.get("center").lat(),l);this.set("sizerTop_position",c),this.set("sizerRight_position",g),this.set("sizerBottom_position",p),this.set("sizerLeft_position",u)}},v.prototype.setDistanceTop=function(){var e=this.get("sizerTop_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Wt).get(this.get("center").lat(),this.get("center").lng(),n,0,a);o.setPath(i),this.set("distance",n),this.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(t,n,90)),this.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(t,n,180)),this.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(t,n,270))},v.prototype.setDistanceRight=function(){var e=this.get("sizerRight_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Wt).get(this.get("center").lat(),this.get("center").lng(),n,0,a);o.setPath(i),this.set("distance",n),this.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(t,n,0)),this.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(t,n,180)),this.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(t,n,270))},v.prototype.setDistanceBottom=function(){var e=this.get("sizerBottom_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Wt).get(this.get("center").lat(),this.get("center").lng(),n,0,a);o.setPath(i),this.set("distance",n),this.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(t,n,0)),this.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(t,n,90)),this.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(t,n,270))},v.prototype.setDistanceLeft=function(){var e=this.get("sizerLeft_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Wt).get(this.get("center").lat(),this.get("center").lng(),n,0,a);o.setPath(i),this.set("distance",n),this.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(t,n,0)),this.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(t,n,90)),this.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(t,n,180))},new f(e)}}class Zt{centerPoint=null;constructor(){}get(e,t,o,n,i){this.centerPoint=new google.maps.LatLng(e,t);var s=o/6378137*(180/Math.PI),r=s/Math.cos(e*(Math.PI/180)),a=[],l=0,c=0;a.push(this.centerPoint),i-n<0&&(i+=360);for(var g=n*Math.PI/180,p=i*Math.PI/180,u=0;g<p;u++)g=(n+u)*Math.PI/180,l=e+s*Math.cos(g),c=t+r*Math.sin(g),a.push(new google.maps.LatLng(l,c));return a.push(this.centerPoint),a}reduce(e,t){for(var o=[],n=1;n<e.getLength()-2;n++)n%5==1&&o.push(e.getAt(n));return o.push(e.getAt(e.getLength()-2)),o.push(e.getAt(e.getLength()-1)),t?o.reverse():o}edit(e,t,o,n,i,s,r){var a=60,l=120;if(s){var c='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 48 48" width="48" height="48">';c+='<path fill="rgba(255,255,255,0.01)" d="M 0, 24 a 24,24 0 1,0 48,0 a 24,24 0 1,0 -48,0" />',c+='<path fill="rgba(255,255,255,1)" stroke="#303030" stroke-width="1" d="M24 24 m-4,0 a 4,4,0 0,1 8,0 a 4,4 0 0,1 -8,0z" />',c+="</svg>";var g={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(c),anchor:new google.maps.Point(24,24),id:"sizerIconTop"},p={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(c),anchor:new google.maps.Point(24,24),id:"sizerIconRight"},u={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(c),anchor:new google.maps.Point(24,24),id:"sizerIconBottom"},d={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(c),anchor:new google.maps.Point(24,24),id:"sizerIconLeft"},h={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(c),anchor:new google.maps.Point(24,24),id:"centerIcon"};0;var m={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 52 52" style="enable-background:new 0 0 52 52;" xml:space="preserve"><g transform="scale(0.4 0.4)"><path style="fill:#ffa500;" d="M38.853,5.324L38.853,5.324c-7.098-7.098-18.607-7.098-25.706,0h0 C6.751,11.72,6.031,23.763,11.459,31L26,52l14.541-21C45.969,23.763,45.249,11.72,38.853,5.324z"/><g transform="translate(13.2 5.9) scale(0.8 0.8)"><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 15.78125 0.0546875 C 15.710938 0.0859375 14.742188 1.03125 13.625 2.148438 C 11.136719 4.644531 11.257812 4.351562 12.300781 5.386719 C 12.957031 6.050781 13.011719 6.09375 13.25 6.09375 C 13.480469 6.09375 13.542969 6.050781 14.0625 5.53125 L 14.625 4.96875 L 14.625 8.019531 C 14.625 11.261719 14.636719 11.398438 14.925781 11.554688 C 15.09375 11.648438 16.90625 11.648438 17.074219 11.554688 C 17.363281 11.398438 17.375 11.261719 17.375 8.019531 L 17.375 4.96875 L 17.9375 5.53125 C 18.457031 6.050781 18.519531 6.09375 18.75 6.09375 C 18.988281 6.09375 19.042969 6.050781 19.699219 5.386719 C 20.742188 4.351562 20.867188 4.648438 18.34375 2.125 C 16.210938 -0.0078125 16.105469 -0.0859375 15.78125 0.0546875 Z M 15.78125 0.0546875 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 4.21875 11.617188 C 4.148438 11.648438 3.179688 12.59375 2.0625 13.710938 C 0.0703125 15.710938 0.03125 15.75 0.03125 16 C 0.03125 16.25 0.0703125 16.289062 2.113281 18.324219 C 4.648438 20.867188 4.351562 20.742188 5.386719 19.699219 C 6.050781 19.042969 6.09375 18.988281 6.09375 18.75 C 6.09375 18.519531 6.050781 18.457031 5.53125 17.9375 L 4.96875 17.375 L 8.019531 17.375 C 11.261719 17.375 11.398438 17.363281 11.554688 17.074219 C 11.648438 16.90625 11.648438 15.09375 11.554688 14.925781 C 11.398438 14.636719 11.261719 14.625 8.019531 14.625 L 4.96875 14.625 L 5.53125 14.0625 C 6.050781 13.542969 6.09375 13.480469 6.09375 13.25 C 6.09375 13.011719 6.050781 12.957031 5.40625 12.3125 C 4.699219 11.613281 4.5 11.492188 4.21875 11.617188 Z M 4.21875 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 27.34375 11.617188 C 27.273438 11.648438 26.925781 11.976562 26.5625 12.335938 C 25.949219 12.957031 25.90625 13.011719 25.90625 13.25 C 25.90625 13.480469 25.949219 13.542969 26.46875 14.0625 L 27.03125 14.625 L 23.980469 14.625 C 20.738281 14.625 20.601562 14.636719 20.445312 14.925781 C 20.351562 15.09375 20.351562 16.90625 20.445312 17.074219 C 20.601562 17.363281 20.738281 17.375 23.980469 17.375 L 27.03125 17.375 L 26.46875 17.9375 C 25.949219 18.457031 25.90625 18.519531 25.90625 18.75 C 25.90625 18.988281 25.949219 19.042969 26.613281 19.699219 C 27.648438 20.742188 27.351562 20.867188 29.886719 18.324219 C 31.929688 16.289062 31.96875 16.25 31.96875 16 C 31.96875 15.75 31.929688 15.710938 29.90625 13.6875 C 27.773438 11.554688 27.675781 11.476562 27.34375 11.617188 Z M 27.34375 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 14.917969 20.445312 C 14.636719 20.605469 14.625 20.757812 14.625 23.980469 L 14.625 27.03125 L 14.0625 26.46875 C 13.542969 25.949219 13.480469 25.90625 13.25 25.90625 C 13.011719 25.90625 12.957031 25.949219 12.300781 26.613281 C 11.257812 27.648438 11.132812 27.351562 13.675781 29.886719 C 15.710938 31.929688 15.75 31.96875 16 31.96875 C 16.25 31.96875 16.289062 31.929688 18.324219 29.886719 C 20.867188 27.351562 20.742188 27.648438 19.699219 26.613281 C 19.042969 25.949219 18.988281 25.90625 18.75 25.90625 C 18.519531 25.90625 18.457031 25.949219 17.9375 26.46875 L 17.375 27.03125 L 17.375 23.980469 C 17.375 20.738281 17.363281 20.601562 17.074219 20.445312 C 16.90625 20.355469 15.070312 20.355469 14.917969 20.445312 Z M 14.917969 20.445312 "/></g></g></svg>'),anchor:new google.maps.Point(30,60),id:"handleIconUp"};0;var f={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 52 52" style="enable-background:new 0 0 52 52;" xml:space="preserve"><g transform="scale(0.4 0.4) rotate(180 26 26)"><path style="fill:#ffa500;" d="M38.853,5.324L38.853,5.324c-7.098-7.098-18.607-7.098-25.706,0h0 C6.751,11.72,6.031,23.763,11.459,31L26,52l14.541-21C45.969,23.763,45.249,11.72,38.853,5.324z"/><g transform="translate(13.2 5.9) scale(0.8 0.8)"><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 15.78125 0.0546875 C 15.710938 0.0859375 14.742188 1.03125 13.625 2.148438 C 11.136719 4.644531 11.257812 4.351562 12.300781 5.386719 C 12.957031 6.050781 13.011719 6.09375 13.25 6.09375 C 13.480469 6.09375 13.542969 6.050781 14.0625 5.53125 L 14.625 4.96875 L 14.625 8.019531 C 14.625 11.261719 14.636719 11.398438 14.925781 11.554688 C 15.09375 11.648438 16.90625 11.648438 17.074219 11.554688 C 17.363281 11.398438 17.375 11.261719 17.375 8.019531 L 17.375 4.96875 L 17.9375 5.53125 C 18.457031 6.050781 18.519531 6.09375 18.75 6.09375 C 18.988281 6.09375 19.042969 6.050781 19.699219 5.386719 C 20.742188 4.351562 20.867188 4.648438 18.34375 2.125 C 16.210938 -0.0078125 16.105469 -0.0859375 15.78125 0.0546875 Z M 15.78125 0.0546875 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 4.21875 11.617188 C 4.148438 11.648438 3.179688 12.59375 2.0625 13.710938 C 0.0703125 15.710938 0.03125 15.75 0.03125 16 C 0.03125 16.25 0.0703125 16.289062 2.113281 18.324219 C 4.648438 20.867188 4.351562 20.742188 5.386719 19.699219 C 6.050781 19.042969 6.09375 18.988281 6.09375 18.75 C 6.09375 18.519531 6.050781 18.457031 5.53125 17.9375 L 4.96875 17.375 L 8.019531 17.375 C 11.261719 17.375 11.398438 17.363281 11.554688 17.074219 C 11.648438 16.90625 11.648438 15.09375 11.554688 14.925781 C 11.398438 14.636719 11.261719 14.625 8.019531 14.625 L 4.96875 14.625 L 5.53125 14.0625 C 6.050781 13.542969 6.09375 13.480469 6.09375 13.25 C 6.09375 13.011719 6.050781 12.957031 5.40625 12.3125 C 4.699219 11.613281 4.5 11.492188 4.21875 11.617188 Z M 4.21875 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 27.34375 11.617188 C 27.273438 11.648438 26.925781 11.976562 26.5625 12.335938 C 25.949219 12.957031 25.90625 13.011719 25.90625 13.25 C 25.90625 13.480469 25.949219 13.542969 26.46875 14.0625 L 27.03125 14.625 L 23.980469 14.625 C 20.738281 14.625 20.601562 14.636719 20.445312 14.925781 C 20.351562 15.09375 20.351562 16.90625 20.445312 17.074219 C 20.601562 17.363281 20.738281 17.375 23.980469 17.375 L 27.03125 17.375 L 26.46875 17.9375 C 25.949219 18.457031 25.90625 18.519531 25.90625 18.75 C 25.90625 18.988281 25.949219 19.042969 26.613281 19.699219 C 27.648438 20.742188 27.351562 20.867188 29.886719 18.324219 C 31.929688 16.289062 31.96875 16.25 31.96875 16 C 31.96875 15.75 31.929688 15.710938 29.90625 13.6875 C 27.773438 11.554688 27.675781 11.476562 27.34375 11.617188 Z M 27.34375 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 14.917969 20.445312 C 14.636719 20.605469 14.625 20.757812 14.625 23.980469 L 14.625 27.03125 L 14.0625 26.46875 C 13.542969 25.949219 13.480469 25.90625 13.25 25.90625 C 13.011719 25.90625 12.957031 25.949219 12.300781 26.613281 C 11.257812 27.648438 11.132812 27.351562 13.675781 29.886719 C 15.710938 31.929688 15.75 31.96875 16 31.96875 C 16.25 31.96875 16.289062 31.929688 18.324219 29.886719 C 20.867188 27.351562 20.742188 27.648438 19.699219 26.613281 C 19.042969 25.949219 18.988281 25.90625 18.75 25.90625 C 18.519531 25.90625 18.457031 25.949219 17.9375 26.46875 L 17.375 27.03125 L 17.375 23.980469 C 17.375 20.738281 17.363281 20.601562 17.074219 20.445312 C 16.90625 20.355469 15.070312 20.355469 14.917969 20.445312 Z M 14.917969 20.445312 "/></g></g></svg>'),anchor:new google.maps.Point(30,0),id:"handleIconDown"},v='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 48 48" width="48" height="48">';v+='<path fill="rgba(255,255,255,0.01)" d="M 0, 24 a 24,24 0 1,0 48,0 a 24,24 0 1,0 -48,0" />',v+='<path fill="rgba(255,255,255,1)" stroke="'+t.strokeColor+'" stroke-width="1" d="M24 24 m-4,0 a 4,4,0 0,1 8,0 a 4,4 0 0,1 -8,0z" />',v+="</svg>";var y={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(v),anchor:new google.maps.Point(24,24),id:"startPinIcon"},L={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(v),anchor:new google.maps.Point(24,24),id:"endPinIcon"}}else g={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconTop"},p={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconRight"},u={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconBottom"},d={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconLeft"},h={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"centerIcon"},y={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"startPinIcon"},L={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"endPinIcon"};function I(e,t){this.set("map",e),this.set("position",n);var i=new google.maps.Marker({icon:h,draggable:!0,raiseOnDrag:!1,title:"Move me!",id:"centerMarker"});i.bindTo("map",this),i.bindTo("position",this);var a=new C;return a.bindTo("map",this),a.bindTo("center",this,"position"),this.bindTo("distance",a),this.bindTo("bounds",a),s&&(google.maps.event.addListener(i,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),"centerIcon"==i.getIcon().id?i.setIcon(f):i.setIcon(h)})),google.maps.event.addListener(i,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),i.setIcon(f)})),r.push(i)),o}function C(){o=new google.maps.Polygon({id:t.id,strokeColor:t.strokeColor,strokeOpacity:t.strokeOpacity,strokeWeight:t.strokeWeight,fillColor:t.fillColor,fillOpacity:t.fillOpacity,zIndex:t.zIndex,isHole:t.isHole}),this.set("distance",i),this.bindTo("bounds",o),t.setVisible(!1),o.bindTo("map",this);var e=new google.maps.Circle({strokeColor:"#000000",strokeOpacity:.2,strokeWeight:2,fillColor:"#000000",fillOpacity:0});this.bindTo("bounds",e),e.bindTo("center",this),e.bindTo("map",this),e.bindTo("radius",this),this.addSizerTop_(),this.addSizerRight_(),this.addSizerBottom_(),this.addSizerLeft_(),this.addStartPin_(),this.addEndPin_()}return I.prototype=new google.maps.MVCObject,C.prototype=new google.maps.MVCObject,C.prototype.distance_changed=function(){this.set("radius",this.get("distance"))},C.prototype.addStartPin_=function(){var e=new google.maps.Marker({icon:y,draggable:!0,raiseOnDrag:!1,title:"Drag me!",id:"startPin"});e.bindTo("map",this),e.bindTo("position",this,"startPin_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),"startPinIcon"==e.getIcon().id?a>90&&a<270?e.setIcon(f):e.setIcon(m):e.setIcon(y)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),a>90&&a<270?e.setIcon(f):e.setIcon(m)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){var e=t.get("startPin_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);a=google.maps.geometry.spherical.computeHeading(o,e),n<5?t.set("startPin_position",google.maps.geometry.spherical.computeOffset(o,5,a)):n>2e3&&t.set("startPin_position",google.maps.geometry.spherical.computeOffset(o,2e3,a)),t.setDistanceRight()})),google.maps.event.addListener(e,"dragend",(function(){var e=t.get("startPin_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);a=google.maps.geometry.spherical.computeHeading(o,e),n<5?t.set("startPin_position",google.maps.geometry.spherical.computeOffset(o,5,a)):n>2e3&&t.set("startPin_position",google.maps.geometry.spherical.computeOffset(o,2e3,a)),t.setDistanceRight()}))},C.prototype.addEndPin_=function(){var e=new google.maps.Marker({icon:L,draggable:!0,crossOnDrag:!1,title:"Drag me!",id:"endPin"});e.bindTo("map",this),e.bindTo("position",this,"endPin_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),"endPinIcon"==e.getIcon().id?l>90&&l<270?e.setIcon(f):e.setIcon(m):e.setIcon(L)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),l>90&&l<270?e.setIcon(f):e.setIcon(m)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){var e=t.get("endPin_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);l=google.maps.geometry.spherical.computeHeading(o,e),n<5?t.set("endPin_position",google.maps.geometry.spherical.computeOffset(o,5,l)):n>2e3&&t.set("endPin_position",google.maps.geometry.spherical.computeOffset(o,2e3,l)),t.setDistanceRight()})),google.maps.event.addListener(e,"dragend",(function(){var e=t.get("endPin_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);l=google.maps.geometry.spherical.computeHeading(o,e),n<5?t.set("endPin_position",google.maps.geometry.spherical.computeOffset(o,5,l)):n>2e3&&t.set("endPin_position",google.maps.geometry.spherical.computeOffset(o,2e3,l)),t.setDistanceRight()}))},C.prototype.addSizerTop_=function(){var e=new google.maps.Marker({icon:g,draggable:!0,crossOnDrag:!1,title:"I'm the top radius sizer, drag me!",cursor:"row-resize",id:"sizerTop"});e.bindTo("map",this),e.bindTo("position",this,"sizerTop_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),"sizerIconTop"==e.getIcon().id?e.setIcon(m):e.setIcon(g)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),e.setIcon(m)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){t.set("sizerTop_position",new google.maps.LatLng(t.get("sizerTop_position").lat(),t.get("center").lng()));var e=t.get("sizerTop_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,5,0)):n>2e3&&t.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,2e3,0)),t.setDistanceTop()})),google.maps.event.addListener(e,"dragend",(function(){t.set("sizerTop_position",new google.maps.LatLng(t.get("sizerTop_position").lat(),t.get("center").lng()));var e=t.get("sizerTop_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,5,0)):n>2e3&&t.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,2e3,0)),t.setDistanceTop()}))},C.prototype.addSizerRight_=function(){var e=new google.maps.Marker({icon:p,draggable:!0,crossOnDrag:!1,title:"I'm the right radius sizer, drag me!",cursor:"col-resize",id:"sizerRight"});e.bindTo("map",this),e.bindTo("position",this,"sizerRight_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),"sizerIconRight"==e.getIcon().id?e.setIcon(f):e.setIcon(p)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),e.setIcon(f)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){t.set("sizerRight_position",new google.maps.LatLng(t.get("center").lat(),t.get("sizerRight_position").lng()));var e=t.get("sizerRight_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,5,90)):n>2e3&&t.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,2e3,90)),t.setDistanceRight()})),google.maps.event.addListener(e,"dragend",(function(){t.set("sizerRight_position",new google.maps.LatLng(t.get("center").lat(),t.get("sizerRight_position").lng()));var e=t.get("sizerRight_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,5,90)):n>2e3&&t.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,2e3,90)),t.setDistanceRight()}))},C.prototype.addSizerBottom_=function(){var e=new google.maps.Marker({icon:u,draggable:!0,crossOnDrag:!1,title:"I'm the bottom radius sizer, drag me!",cursor:"row-resize",id:"sizerBottom"});e.bindTo("map",this),e.bindTo("position",this,"sizerBottom_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),"sizerIconBottom"==e.getIcon().id?e.setIcon(f):e.setIcon(u)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),e.setIcon(f)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){t.set("sizerBottom_position",new google.maps.LatLng(t.get("sizerBottom_position").lat(),t.get("center").lng()));var e=t.get("sizerBottom_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,5,180)):n>2e3&&t.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,2e3,180)),t.setDistanceBottom()})),google.maps.event.addListener(e,"dragend",(function(){t.set("sizerBottom_position",new google.maps.LatLng(t.get("sizerBottom_position").lat(),t.get("center").lng()));var e=t.get("sizerBottom_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,5,180)):n>2e3&&t.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,2e3,180)),t.setDistanceBottom()}))},C.prototype.addSizerLeft_=function(){var e=new google.maps.Marker({icon:d,draggable:!0,crossOnDrag:!1,title:"I'm the left radius sizer, drag me!",cursor:"col-resize",id:"sizerLeft"});e.bindTo("map",this),e.bindTo("position",this,"sizerLeft_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),"sizerIconLeft"==e.getIcon().id?e.setIcon(f):e.setIcon(d)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),e.setIcon(f)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){t.set("sizerLeft_position",new google.maps.LatLng(t.get("center").lat(),t.get("sizerLeft_position").lng()));var e=t.get("sizerLeft_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,5,270)):n>2e3&&t.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,2e3,270)),t.setDistanceLeft()})),google.maps.event.addListener(e,"dragend",(function(){t.set("sizerLeft_position",new google.maps.LatLng(t.get("center").lat(),t.get("sizerLeft_position").lng()));var e=t.get("sizerLeft_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,5,270)):n>2e3&&t.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,2e3,270)),t.setDistanceLeft()}))},C.prototype.center_changed=function(){var e=this.get("bounds");this.get("center");var t=this.get("distance");if(e){var n=(new Zt).get(this.get("center").lat(),this.get("center").lng(),t,a,l);o.setPath(n);var i=e.getNorthEast().lat(),s=e.getNorthEast().lng(),r=e.getSouthWest().lat(),c=e.getSouthWest().lng(),g=new google.maps.LatLng(i,this.get("center").lng()),p=new google.maps.LatLng(this.get("center").lat(),s),u=new google.maps.LatLng(r,this.get("center").lng()),d=new google.maps.LatLng(this.get("center").lat(),c);this.set("sizerTop_position",g),this.set("sizerRight_position",p),this.set("sizerBottom_position",u),this.set("sizerLeft_position",d),this.set("startPin_position",n[1]),this.set("endPin_position",n[n.length-2])}},C.prototype.setDistanceTop=function(){var e=this.get("sizerTop_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Zt).get(t.lat(),t.lng(),n,a,l);o.setPath(i),this.set("startPin_position",i[1]),this.set("endPin_position",i[i.length-2]),this.set("distance",n),this.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(t,n,90)),this.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(t,n,180)),this.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(t,n,270))},C.prototype.setDistanceRight=function(){var e=this.get("sizerRight_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Zt).get(t.lat(),t.lng(),n,a,l);o.setPath(i),this.set("startPin_position",i[1]),this.set("endPin_position",i[i.length-2]),this.set("distance",n),this.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(t,n,0)),this.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(t,n,180)),this.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(t,n,270))},C.prototype.setDistanceBottom=function(){var e=this.get("sizerBottom_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Zt).get(t.lat(),t.lng(),n,a,l);o.setPath(i),this.set("startPin_position",i[1]),this.set("endPin_position",i[i.length-2]),this.set("distance",n),this.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(t,n,0)),this.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(t,n,90)),this.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(t,n,270))},C.prototype.setDistanceLeft=function(){var e=this.get("sizerLeft_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Zt).get(t.lat(),t.lng(),n,a,l);o.setPath(i),this.set("startPin_position",i[1]),this.set("endPin_position",i[i.length-2]),this.set("distance",n),this.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(t,n,0)),this.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(t,n,90)),this.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(t,n,180))},new I(e)}}class Ft{centerPoint=null;startHeading=0;endHeading=160;constructor(){}get(e,t,o,n,i){this.centerPoint=new google.maps.LatLng(e,t);var s=o/6378137*(180/Math.PI),r=s/Math.cos(e*(Math.PI/180)),a=[],l=0,c=0;i-n<0&&(i+=360);for(var g=n*Math.PI/180,p=i*Math.PI/180,u=0;g<p;u++)g=(n+u)*Math.PI/180,l=e+s*Math.cos(g),c=t+r*Math.sin(g),a.push(new google.maps.LatLng(l,c));return a.push(a[0]),a}reduce(e,t){for(var o=[],n=0;n<e.getLength()-2;n++)n%5==0&&o.push(e.getAt(n));return o.push(e.getAt(e.getLength()-2)),o.push(e.getAt(e.getLength()-1)),t?o.reverse():o}edit(e,t,o,n,i,s,r){var a=0,l=160,c=null,g=null,p=null,u=null,d=null;if(s){var h='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 48 48" width="48" height="48">';h+='<path fill="rgba(255,255,255,0.01)" d="M 0, 24 a 24,24 0 1,0 48,0 a 24,24 0 1,0 -48,0" />',h+='<path fill="rgba(255,255,255,1)" stroke="#303030" stroke-width="1" d="M24 24 m-4,0 a 4,4,0 0,1 8,0 a 4,4 0 0,1 -8,0z" />',h+="</svg>";var m={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(h),anchor:new google.maps.Point(24,24),id:"sizerIconTop"},f={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(h),anchor:new google.maps.Point(24,24),id:"sizerIconRight"},v={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(h),anchor:new google.maps.Point(24,24),id:"sizerIconBottom"},y={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(h),anchor:new google.maps.Point(24,24),id:"sizerIconLeft"},L={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(h),anchor:new google.maps.Point(24,24),id:"centerIcon"};0;var I={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 52 52" style="enable-background:new 0 0 52 52;" xml:space="preserve"><g transform="scale(0.4 0.4)"><path style="fill:#ffa500;" d="M38.853,5.324L38.853,5.324c-7.098-7.098-18.607-7.098-25.706,0h0 C6.751,11.72,6.031,23.763,11.459,31L26,52l14.541-21C45.969,23.763,45.249,11.72,38.853,5.324z"/><g transform="translate(13.2 5.9) scale(0.8 0.8)"><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 15.78125 0.0546875 C 15.710938 0.0859375 14.742188 1.03125 13.625 2.148438 C 11.136719 4.644531 11.257812 4.351562 12.300781 5.386719 C 12.957031 6.050781 13.011719 6.09375 13.25 6.09375 C 13.480469 6.09375 13.542969 6.050781 14.0625 5.53125 L 14.625 4.96875 L 14.625 8.019531 C 14.625 11.261719 14.636719 11.398438 14.925781 11.554688 C 15.09375 11.648438 16.90625 11.648438 17.074219 11.554688 C 17.363281 11.398438 17.375 11.261719 17.375 8.019531 L 17.375 4.96875 L 17.9375 5.53125 C 18.457031 6.050781 18.519531 6.09375 18.75 6.09375 C 18.988281 6.09375 19.042969 6.050781 19.699219 5.386719 C 20.742188 4.351562 20.867188 4.648438 18.34375 2.125 C 16.210938 -0.0078125 16.105469 -0.0859375 15.78125 0.0546875 Z M 15.78125 0.0546875 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 4.21875 11.617188 C 4.148438 11.648438 3.179688 12.59375 2.0625 13.710938 C 0.0703125 15.710938 0.03125 15.75 0.03125 16 C 0.03125 16.25 0.0703125 16.289062 2.113281 18.324219 C 4.648438 20.867188 4.351562 20.742188 5.386719 19.699219 C 6.050781 19.042969 6.09375 18.988281 6.09375 18.75 C 6.09375 18.519531 6.050781 18.457031 5.53125 17.9375 L 4.96875 17.375 L 8.019531 17.375 C 11.261719 17.375 11.398438 17.363281 11.554688 17.074219 C 11.648438 16.90625 11.648438 15.09375 11.554688 14.925781 C 11.398438 14.636719 11.261719 14.625 8.019531 14.625 L 4.96875 14.625 L 5.53125 14.0625 C 6.050781 13.542969 6.09375 13.480469 6.09375 13.25 C 6.09375 13.011719 6.050781 12.957031 5.40625 12.3125 C 4.699219 11.613281 4.5 11.492188 4.21875 11.617188 Z M 4.21875 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 27.34375 11.617188 C 27.273438 11.648438 26.925781 11.976562 26.5625 12.335938 C 25.949219 12.957031 25.90625 13.011719 25.90625 13.25 C 25.90625 13.480469 25.949219 13.542969 26.46875 14.0625 L 27.03125 14.625 L 23.980469 14.625 C 20.738281 14.625 20.601562 14.636719 20.445312 14.925781 C 20.351562 15.09375 20.351562 16.90625 20.445312 17.074219 C 20.601562 17.363281 20.738281 17.375 23.980469 17.375 L 27.03125 17.375 L 26.46875 17.9375 C 25.949219 18.457031 25.90625 18.519531 25.90625 18.75 C 25.90625 18.988281 25.949219 19.042969 26.613281 19.699219 C 27.648438 20.742188 27.351562 20.867188 29.886719 18.324219 C 31.929688 16.289062 31.96875 16.25 31.96875 16 C 31.96875 15.75 31.929688 15.710938 29.90625 13.6875 C 27.773438 11.554688 27.675781 11.476562 27.34375 11.617188 Z M 27.34375 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 14.917969 20.445312 C 14.636719 20.605469 14.625 20.757812 14.625 23.980469 L 14.625 27.03125 L 14.0625 26.46875 C 13.542969 25.949219 13.480469 25.90625 13.25 25.90625 C 13.011719 25.90625 12.957031 25.949219 12.300781 26.613281 C 11.257812 27.648438 11.132812 27.351562 13.675781 29.886719 C 15.710938 31.929688 15.75 31.96875 16 31.96875 C 16.25 31.96875 16.289062 31.929688 18.324219 29.886719 C 20.867188 27.351562 20.742188 27.648438 19.699219 26.613281 C 19.042969 25.949219 18.988281 25.90625 18.75 25.90625 C 18.519531 25.90625 18.457031 25.949219 17.9375 26.46875 L 17.375 27.03125 L 17.375 23.980469 C 17.375 20.738281 17.363281 20.601562 17.074219 20.445312 C 16.90625 20.355469 15.070312 20.355469 14.917969 20.445312 Z M 14.917969 20.445312 "/></g></g></svg>'),anchor:new google.maps.Point(30,60),id:"handleIconUp"};0;var C={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 52 52" style="enable-background:new 0 0 52 52;" xml:space="preserve"><g transform="scale(0.4 0.4) rotate(180 26 26)"><path style="fill:#ffa500;" d="M38.853,5.324L38.853,5.324c-7.098-7.098-18.607-7.098-25.706,0h0 C6.751,11.72,6.031,23.763,11.459,31L26,52l14.541-21C45.969,23.763,45.249,11.72,38.853,5.324z"/><g transform="translate(13.2 5.9) scale(0.8 0.8)"><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 15.78125 0.0546875 C 15.710938 0.0859375 14.742188 1.03125 13.625 2.148438 C 11.136719 4.644531 11.257812 4.351562 12.300781 5.386719 C 12.957031 6.050781 13.011719 6.09375 13.25 6.09375 C 13.480469 6.09375 13.542969 6.050781 14.0625 5.53125 L 14.625 4.96875 L 14.625 8.019531 C 14.625 11.261719 14.636719 11.398438 14.925781 11.554688 C 15.09375 11.648438 16.90625 11.648438 17.074219 11.554688 C 17.363281 11.398438 17.375 11.261719 17.375 8.019531 L 17.375 4.96875 L 17.9375 5.53125 C 18.457031 6.050781 18.519531 6.09375 18.75 6.09375 C 18.988281 6.09375 19.042969 6.050781 19.699219 5.386719 C 20.742188 4.351562 20.867188 4.648438 18.34375 2.125 C 16.210938 -0.0078125 16.105469 -0.0859375 15.78125 0.0546875 Z M 15.78125 0.0546875 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 4.21875 11.617188 C 4.148438 11.648438 3.179688 12.59375 2.0625 13.710938 C 0.0703125 15.710938 0.03125 15.75 0.03125 16 C 0.03125 16.25 0.0703125 16.289062 2.113281 18.324219 C 4.648438 20.867188 4.351562 20.742188 5.386719 19.699219 C 6.050781 19.042969 6.09375 18.988281 6.09375 18.75 C 6.09375 18.519531 6.050781 18.457031 5.53125 17.9375 L 4.96875 17.375 L 8.019531 17.375 C 11.261719 17.375 11.398438 17.363281 11.554688 17.074219 C 11.648438 16.90625 11.648438 15.09375 11.554688 14.925781 C 11.398438 14.636719 11.261719 14.625 8.019531 14.625 L 4.96875 14.625 L 5.53125 14.0625 C 6.050781 13.542969 6.09375 13.480469 6.09375 13.25 C 6.09375 13.011719 6.050781 12.957031 5.40625 12.3125 C 4.699219 11.613281 4.5 11.492188 4.21875 11.617188 Z M 4.21875 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 27.34375 11.617188 C 27.273438 11.648438 26.925781 11.976562 26.5625 12.335938 C 25.949219 12.957031 25.90625 13.011719 25.90625 13.25 C 25.90625 13.480469 25.949219 13.542969 26.46875 14.0625 L 27.03125 14.625 L 23.980469 14.625 C 20.738281 14.625 20.601562 14.636719 20.445312 14.925781 C 20.351562 15.09375 20.351562 16.90625 20.445312 17.074219 C 20.601562 17.363281 20.738281 17.375 23.980469 17.375 L 27.03125 17.375 L 26.46875 17.9375 C 25.949219 18.457031 25.90625 18.519531 25.90625 18.75 C 25.90625 18.988281 25.949219 19.042969 26.613281 19.699219 C 27.648438 20.742188 27.351562 20.867188 29.886719 18.324219 C 31.929688 16.289062 31.96875 16.25 31.96875 16 C 31.96875 15.75 31.929688 15.710938 29.90625 13.6875 C 27.773438 11.554688 27.675781 11.476562 27.34375 11.617188 Z M 27.34375 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 14.917969 20.445312 C 14.636719 20.605469 14.625 20.757812 14.625 23.980469 L 14.625 27.03125 L 14.0625 26.46875 C 13.542969 25.949219 13.480469 25.90625 13.25 25.90625 C 13.011719 25.90625 12.957031 25.949219 12.300781 26.613281 C 11.257812 27.648438 11.132812 27.351562 13.675781 29.886719 C 15.710938 31.929688 15.75 31.96875 16 31.96875 C 16.25 31.96875 16.289062 31.929688 18.324219 29.886719 C 20.867188 27.351562 20.742188 27.648438 19.699219 26.613281 C 19.042969 25.949219 18.988281 25.90625 18.75 25.90625 C 18.519531 25.90625 18.457031 25.949219 17.9375 26.46875 L 17.375 27.03125 L 17.375 23.980469 C 17.375 20.738281 17.363281 20.601562 17.074219 20.445312 C 16.90625 20.355469 15.070312 20.355469 14.917969 20.445312 Z M 14.917969 20.445312 "/></g></g></svg>'),anchor:new google.maps.Point(30,0),id:"handleIconDown"},b='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 48 48" width="48" height="48">';b+='<path fill="rgba(255,255,255,0.01)" d="M 0, 24 a 24,24 0 1,0 48,0 a 24,24 0 1,0 -48,0" />',b+='<path fill="rgba(255,255,255,1)" stroke="'+t.strokeColor+'" stroke-width="1" d="M24 24 m-4,0 a 4,4,0 0,1 8,0 a 4,4 0 0,1 -8,0z" />',b+="</svg>";var w={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(b),anchor:new google.maps.Point(24,24),id:"startPinIcon"},k={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(b),anchor:new google.maps.Point(24,24),id:"endPinIcon"}}else m={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconTop"},f={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconRight"},v={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconBottom"},y={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconLeft"},L={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"centerIcon"},w={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"startPinIcon"},k={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"endPinIcon"};function M(e,t){this.set("map",e),this.set("position",n),(c=new google.maps.Marker({icon:L,draggable:!0,raiseOnDrag:!1,title:"Move me!",id:"centerMarker"})).bindTo("map",this),c.bindTo("position",this);var i=new z;return i.bindTo("map",this),i.bindTo("center",this,"position"),this.bindTo("distance",i),this.bindTo("bounds",i),s&&(google.maps.event.addListener(c,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),"centerIcon"==c.getIcon().id?c.setIcon(C):c.setIcon(L)})),google.maps.event.addListener(c,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),c.setIcon(C)})),r.push(c)),o}function z(){o=new google.maps.Polygon({id:t.id,strokeColor:t.strokeColor,strokeOpacity:t.strokeOpacity,strokeWeight:t.strokeWeight,fillColor:t.fillColor,fillOpacity:t.fillOpacity,zIndex:t.zIndex,isHole:t.isHole}),this.set("distance",i),this.bindTo("bounds",o),t.setVisible(!1),o.bindTo("map",this);var e=new google.maps.Circle({strokeColor:"#000000",strokeOpacity:.2,strokeWeight:2,fillColor:"#000000",fillOpacity:0});this.bindTo("bounds",e),e.bindTo("center",this),e.bindTo("map",this),e.bindTo("radius",this),this.addSizerTop_(),this.addSizerRight_(),this.addSizerBottom_(),this.addSizerLeft_(),this.addStartPin_(),this.addEndPin_()}return M.prototype=new google.maps.MVCObject,z.prototype=new google.maps.MVCObject,z.prototype.distance_changed=function(){this.set("radius",this.get("distance"))},z.prototype.addStartPin_=function(){var e=new google.maps.Marker({icon:w,draggable:!0,raiseOnDrag:!1,title:"Drag me!",id:"startPin"});e.bindTo("map",this),e.bindTo("position",this,"startPin_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),"startPinIcon"==e.getIcon().id?a>90&&a<270?e.setIcon(C):e.setIcon(I):e.setIcon(w)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),a>90&&a<270?e.setIcon(C):e.setIcon(I)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){var e=t.get("startPin_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);a=google.maps.geometry.spherical.computeHeading(o,e),n<5?t.set("startPin_position",google.maps.geometry.spherical.computeOffset(o,5,a)):n>2e3&&t.set("startPin_position",google.maps.geometry.spherical.computeOffset(o,2e3,a)),t.setDistanceRight()})),google.maps.event.addListener(e,"dragend",(function(){var e=t.get("startPin_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);a=google.maps.geometry.spherical.computeHeading(o,e),n<5?t.set("startPin_position",google.maps.geometry.spherical.computeOffset(o,5,a)):n>2e3&&t.set("startPin_position",google.maps.geometry.spherical.computeOffset(o,2e3,a)),t.setDistanceRight()}))},z.prototype.addEndPin_=function(){var e=new google.maps.Marker({icon:k,draggable:!0,crossOnDrag:!1,title:"Drag me!",id:"endPin"});e.bindTo("map",this),e.bindTo("position",this,"endPin_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),"endPinIcon"==e.getIcon().id?l>90&&l<270?e.setIcon(C):e.setIcon(I):e.setIcon(k)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),l>90&&l<270?e.setIcon(C):e.setIcon(I)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){var e=t.get("endPin_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);l=google.maps.geometry.spherical.computeHeading(o,e),n<5?t.set("endPin_position",google.maps.geometry.spherical.computeOffset(o,5,l)):n>2e3&&t.set("endPin_position",google.maps.geometry.spherical.computeOffset(o,2e3,l)),t.setDistanceRight()})),google.maps.event.addListener(e,"dragend",(function(){var e=t.get("endPin_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);l=google.maps.geometry.spherical.computeHeading(o,e),n<5?t.set("endPin_position",google.maps.geometry.spherical.computeOffset(o,5,l)):n>2e3&&t.set("endPin_position",google.maps.geometry.spherical.computeOffset(o,2e3,l)),t.setDistanceRight()}))},z.prototype.addSizerTop_=function(){(g=new google.maps.Marker({icon:m,draggable:!0,crossOnDrag:!1,title:"I'm the top radius sizer, drag me!",cursor:"row-resize",id:"sizerTop"})).bindTo("map",this),g.bindTo("position",this,"sizerTop_position");var e=this;s&&(google.maps.event.addListener(g,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),"sizerIconTop"==g.getIcon().id?g.setIcon(I):g.setIcon(m)})),google.maps.event.addListener(g,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),g.setIcon(I)})),r.push(g)),google.maps.event.addListener(g,"drag",(function(){e.set("sizerTop_position",new google.maps.LatLng(e.get("sizerTop_position").lat(),e.get("center").lng()));var t=e.get("sizerTop_position"),o=e.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,t);n<5?e.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,5,0)):n>2e3&&e.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,2e3,0)),e.setDistanceTop()})),google.maps.event.addListener(g,"dragend",(function(){e.set("sizerTop_position",new google.maps.LatLng(e.get("sizerTop_position").lat(),e.get("center").lng()));var t=e.get("sizerTop_position"),o=e.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,t);n<5?e.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,5,0)):n>2e3&&e.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,2e3,0)),e.setDistanceTop()}))},z.prototype.addSizerRight_=function(){(u=new google.maps.Marker({icon:f,draggable:!0,crossOnDrag:!1,title:"I'm the right radius sizer, drag me!",cursor:"col-resize",id:"sizerRight"})).bindTo("map",this),u.bindTo("position",this,"sizerRight_position");var e=this;s&&(google.maps.event.addListener(u,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),"sizerIconRight"==u.getIcon().id?u.setIcon(C):u.setIcon(f)})),google.maps.event.addListener(u,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),u.setIcon(C)})),r.push(u)),google.maps.event.addListener(u,"drag",(function(){e.set("sizerRight_position",new google.maps.LatLng(e.get("center").lat(),e.get("sizerRight_position").lng()));var t=e.get("sizerRight_position"),o=e.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,t);n<5?e.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,5,90)):n>2e3&&e.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,2e3,90)),e.setDistanceRight()})),google.maps.event.addListener(u,"dragend",(function(){e.set("sizerRight_position",new google.maps.LatLng(e.get("center").lat(),e.get("sizerRight_position").lng()));var t=e.get("sizerRight_position"),o=e.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,t);n<5?e.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,5,90)):n>2e3&&e.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,2e3,90)),e.setDistanceRight()}))},z.prototype.addSizerBottom_=function(){(d=new google.maps.Marker({icon:v,draggable:!0,crossOnDrag:!1,title:"I'm the bottom radius sizer, drag me!",cursor:"row-resize",id:"sizerBottom"})).bindTo("map",this),d.bindTo("position",this,"sizerBottom_position");var e=this;s&&(google.maps.event.addListener(d,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),"sizerIconBottom"==d.getIcon().id?d.setIcon(C):d.setIcon(v)})),google.maps.event.addListener(d,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),d.setIcon(C)})),r.push(d)),google.maps.event.addListener(d,"drag",(function(){e.set("sizerBottom_position",new google.maps.LatLng(e.get("sizerBottom_position").lat(),e.get("center").lng()));var t=e.get("sizerBottom_position"),o=e.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,t);n<5?e.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,5,180)):n>2e3&&e.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,2e3,180)),e.setDistanceBottom()})),google.maps.event.addListener(d,"dragend",(function(){e.set("sizerBottom_position",new google.maps.LatLng(e.get("sizerBottom_position").lat(),e.get("center").lng()));var t=e.get("sizerBottom_position"),o=e.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,t);n<5?e.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,5,180)):n>2e3&&e.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,2e3,180)),e.setDistanceBottom()}))},z.prototype.addSizerLeft_=function(){(p=new google.maps.Marker({icon:y,draggable:!0,crossOnDrag:!1,title:"I'm the left radius sizer, drag me!",cursor:"col-resize",id:"sizerLeft"})).bindTo("map",this),p.bindTo("position",this,"sizerLeft_position");var e=this;s&&(google.maps.event.addListener(p,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),"sizerIconLeft"==p.getIcon().id?p.setIcon(C):p.setIcon(y)})),google.maps.event.addListener(p,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),p.setIcon(C)})),r.push(p)),google.maps.event.addListener(p,"drag",(function(){e.set("sizerLeft_position",new google.maps.LatLng(e.get("center").lat(),e.get("sizerLeft_position").lng()));var t=e.get("sizerLeft_position"),o=e.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,t);n<5?e.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,5,270)):n>2e3&&e.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,2e3,270)),e.setDistanceLeft()})),google.maps.event.addListener(p,"dragend",(function(){e.set("sizerLeft_position",new google.maps.LatLng(e.get("center").lat(),e.get("sizerLeft_position").lng()));var t=e.get("sizerLeft_position"),o=e.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,t);n<5?e.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,5,270)):n>2e3&&e.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,2e3,270)),e.setDistanceLeft()}))},z.prototype.center_changed=function(){var e=this.get("bounds");this.get("center");var t=this.get("distance");if(e){var n=(new Ft).get(this.get("center").lat(),this.get("center").lng(),t,a,l);o.setPath(n);var i=e.getNorthEast().lat(),s=e.getNorthEast().lng(),r=e.getSouthWest().lat(),c=e.getSouthWest().lng(),g=new google.maps.LatLng(i,this.get("center").lng()),p=new google.maps.LatLng(this.get("center").lat(),s),u=new google.maps.LatLng(r,this.get("center").lng()),d=new google.maps.LatLng(this.get("center").lat(),c);this.set("sizerTop_position",g),this.set("sizerRight_position",p),this.set("sizerBottom_position",u),this.set("sizerLeft_position",d),this.set("startPin_position",n[0]),this.set("endPin_position",n[n.length-2])}},z.prototype.setDistanceTop=function(){var e=this.get("sizerTop_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Ft).get(t.lat(),t.lng(),n,a,l);o.setPath(i),this.set("startPin_position",i[0]),this.set("endPin_position",i[i.length-2]),this.set("distance",n),this.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(t,n,90)),this.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(t,n,180)),this.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(t,n,270))},z.prototype.setDistanceRight=function(){var e=this.get("sizerRight_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Ft).get(t.lat(),t.lng(),n,a,l);o.setPath(i),this.set("startPin_position",i[0]),this.set("endPin_position",i[i.length-2]),this.set("distance",n),this.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(t,n,0)),this.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(t,n,180)),this.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(t,n,270))},z.prototype.setDistanceBottom=function(){var e=this.get("sizerBottom_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Ft).get(t.lat(),t.lng(),n,a,l);o.setPath(i),this.set("startPin_position",i[0]),this.set("endPin_position",i[i.length-2]),this.set("distance",n),this.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(t,n,0)),this.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(t,n,90)),this.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(t,n,270))},z.prototype.setDistanceLeft=function(){var e=this.get("sizerLeft_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Ft).get(t.lat(),t.lng(),n,a,l);o.setPath(i),this.set("startPin_position",i[0]),this.set("endPin_position",i[i.length-2]),this.set("distance",n),this.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(t,n,0)),this.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(t,n,90)),this.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(t,n,180))},new M(e)}}var jt,Nt={exports:{}};jt||(jt=1,function(e){var t={};function o(e,t){e=Math.round(e*t),(e<<=1)<0&&(e=~e);for(var o="";e>=32;)o+=String.fromCharCode(63+(32|31&e)),e>>=5;return o+=String.fromCharCode(e+63)}function n(e){for(var t=[],o=0;o<e.length;o++)t.push(e[o].slice().reverse());return t}t.decode=function(e,t){for(var o,n=0,i=0,s=0,r=[],a=0,l=0,c=null,g=Math.pow(10,t||5);n<e.length;){c=null,a=0,l=0;do{l|=(31&(c=e.charCodeAt(n++)-63))<<a,a+=5}while(c>=32);o=1&l?~(l>>1):l>>1,a=l=0;do{l|=(31&(c=e.charCodeAt(n++)-63))<<a,a+=5}while(c>=32);i+=o,s+=1&l?~(l>>1):l>>1,r.push([i/g,s/g])}return r},t.encode=function(e,t){if(!e.length)return"";for(var n=Math.pow(10,t||5),i=o(e[0][0],n)+o(e[0][1],n),s=1;s<e.length;s++){var r=e[s],a=e[s-1];i+=o(r[0]-a[0],n),i+=o(r[1]-a[1],n)}return i},t.fromGeoJSON=function(e,o){if(e&&"Feature"===e.type&&(e=e.geometry),!e||"LineString"!==e.type)throw new Error("Input must be a GeoJSON LineString");return t.encode(n(e.coordinates),o)},t.toGeoJSON=function(e,o){return{type:"LineString",coordinates:n(t.decode(e,o))}},e.exports&&(e.exports=t)}(Nt));class Vt{constructor(e){var t,o,n,i,s,r,a=this,l=e,c=null,g=null,p=[],u=[],d=[],h={},m=[],f=[],v=[],y=[],L=[],I=[],C=[],b=[],w=[],k=[],M=[],z=[],P=null,x=null,E=null,S=null,O=null,_=20,T=20,B=[];function R(e,t="white"){var o=D(e.Poly),n=o.y,i=o.x,s=`${e.Area} ha`,r=function(e,t,o,n){var i=document.createElement("div");i.id="locname"+e,i.style.display="inline-block",i.style.fontFamily="Arial, sans-serif",i.style.fontSize=n+"px",i.textContent=t;var s=document.createElement("div");s.id="locarea"+e,s.style.display="inline-block",s.style.fontFamily="Arial, sans-serif",s.style.fontSize=n+"px",s.textContent=o;var r=document.createElement("div");r.id="locnameContainer"+e,r.style.position="absolute",r.style.top="0",r.style.left="-1000px";var a=document.createElement("div");a.id="locareaContainer"+e,a.style.position="absolute",a.style.top="0",a.style.left="-1000px",r.appendChild(i),a.appendChild(s),document.body.appendChild(r),document.body.appendChild(a);var l=document.getElementById("locname"+e),c=document.getElementById("locarea"+e),g=document.getElementById("locnameContainer"+e),p=document.getElementById("locareaContainer"+e),u=l.clientWidth,d=c.clientWidth;return g.remove(),p.remove(),{nameWidth:u,areaWidth:d}}(e.Id,e.LocationName,s,8),a=`<svg viewBox="0 0 200 30" xmlns="http://www.w3.org/2000/svg">\n <text x="0" y="12" fill="${t}" font-family="Arial, sans-serif" font-size="8px">${Mt.clearString(e.LocationName)}</text>\n <line x1="0" y1="15" x2="${Math.max(r.nameWidth,r.areaWidth)}" y2="15" style="stroke:${t};stroke-width:0.6"/>\n <text x="0" y="24" fill="${t}" font-family="Arial, sans-serif" font-size="8px">${s}</text>\n </svg>`,c=new google.maps.Marker({map:l,position:new google.maps.LatLng(parseFloat(n),parseFloat(i)),icon:{anchor:new google.maps.Point(1.3*r.nameWidth/2,21),url:`data:image/svg+xml;utf-8, ${a}`},id:`pl_${e.Id}`});y.push(c)}function D(e){var t=_t(e,1e-5);return{x:t[0],y:t[1]}}function A(){j(),v.forEach((function(e){p.push(google.maps.event.addListener(e,"mouseover",(function(t){j(),U(t,e.content)}))),p.push(google.maps.event.addListener(e,"mousemove",Z)),p.push(google.maps.event.addListener(e,"mouseout",j)),p.push(google.maps.event.addListener(e,"click",(function(e){j(),h.FieldOnClick(this.id)})))}))}function U(e,t){!O&&e&&((O=document.createElement("div")).style.cssText="background: rgba(0, 0, 0, 0.5); color: #ffffff; border-radius: 4px; padding: 5px 10px; text-align: left; font-size: 12px; position: fixed;",O.innerHTML=t,O.style.top=e.domEvent.clientY+window.scrollY+T+"px",O.style.left=e.domEvent.clientX+window.scrollX+_+"px",document.body.appendChild(O))}function W(e,t){!O&&e&&((O=document.createElement("div")).style.cssText="background: rgba(0, 0, 0, 0.5); color: #ffffff; border-radius: 4px; padding: 5px 10px; text-align: left; font-size: 12px; position: fixed;",O.innerHTML=t,O.style.top=e.clientY+window.scrollY+T+"px",O.style.left=e.clientX+window.scrollX+_+"px",document.body.appendChild(O))}function Z(e){O&&e&&(O.style.top=e.domEvent.clientY+window.scrollY+T+"px",O.style.left=e.domEvent.clientX+window.scrollX+_+"px")}function F(e){O&&e&&(O.style.top=e.clientY+window.scrollY+T+"px",O.style.left=e.clientX+window.scrollX+_+"px")}function j(){O&&(document.body.removeChild(O),O=null)}function N(e,t,o="field",n,i,s){if(l.getMapCapabilities().isAdvancedMarkersAvailable&&e&&e.length>0){var r=new google.maps.LatLngBounds;if(e.forEach((function(e){var n,i=new google.maps.LatLngBounds;"farm"===o?(i.extend(new google.maps.LatLng(e.minLat,e.minLng)),i.extend(new google.maps.LatLng(e.maxLat,e.maxLng))):e.Poly[0].forEach((function(e){i.extend(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0])))})),r.extend(i.getCenter());var s=function(e){const{iconName:t="pinIcon",fillColor:o="#f1a81e",width:n=30,height:i=41,strokeColor:s="#000000",strokeWidth:r=1}=e,a="http://www.w3.org/2000/svg",l=document.createElementNS(a,"svg");l.setAttribute("viewBox","0 0 57.64 83.57"),l.setAttribute("width",n),l.setAttribute("height",i),l.style.opacity=.8,l.style.zIndex=11e3;const c=document.createElementNS(a,"defs"),g=document.createElementNS(a,"clipPath");g.setAttribute("id",`clippath-${t}`);const p=document.createElementNS(a,"rect");p.setAttribute("width","57.64"),p.setAttribute("height","83.57"),c.appendChild(g),g.appendChild(p);const u=document.createElementNS(a,"style");u.textContent=`\n .cls-1 { clip-path: url(#clippath-${t}); }\n .cls-2 { fill: none; stroke: ${s}; stroke-width: ${r}; }\n .cls-3 { fill: ${o}; }\n `,c.appendChild(u),l.appendChild(c);const d=document.createElementNS(a,"g");d.setAttribute("class","cls-1");const h={pinIcon:"M16.01,31.23c-.07,7.22,5.73,12.51,11.98,12.86,3.84.22,7.17-1.04,9.9-3.73,2.36-2.32,3.64-5.2,3.77-8.49.31-7.8-5.87-13.21-12.29-13.47-7.66-.3-13.54,6.01-13.37,12.83M28.82.1c.43,0,.87-.03,1.3,0,.98.07,1.97.16,2.95.27,1.85.21,3.65.69,5.4,1.31,1.89.66,3.68,1.52,5.38,2.57,1.49.91,2.88,1.95,4.18,3.12,1.68,1.51,3.21,3.15,4.45,5.04.84,1.29,1.65,2.62,2.35,4,1.05,2.06,1.76,4.25,2.2,6.52.25,1.25.41,2.53.5,3.81.1,1.31.15,2.64.07,3.95-.15,2.38-.58,4.72-1.32,6.99-.64,1.97-1.49,3.87-2.54,5.67-1.07,1.83-2.08,3.7-3.13,5.54-.82,1.44-1.67,2.87-2.49,4.31-.8,1.39-1.58,2.78-2.37,4.17-.83,1.45-1.68,2.89-2.51,4.33-.68,1.18-1.34,2.37-2.02,3.55-1.3,2.26-2.61,4.52-3.91,6.79-1.02,1.77-2.02,3.55-3.04,5.32-.92,1.6-1.79,3.24-2.79,4.79-1.33,2.04-4.29,1.81-5.44-.18-1.33-2.3-2.67-4.6-3.99-6.91-1.42-2.46-2.82-4.93-4.23-7.39-1.18-2.06-2.36-4.12-3.54-6.18-1.36-2.37-2.74-4.73-4.1-7.1-1.29-2.25-2.57-4.5-3.83-6.76-1.21-2.17-2.46-4.32-3.6-6.53-1-1.93-1.66-4.01-2.09-6.14-.31-1.54-.58-3.09-.58-4.67,0-.48-.08-.96-.06-1.43.07-1.28.16-2.57.28-3.85.18-1.93.66-3.8,1.3-5.62.75-2.13,1.72-4.16,2.94-6.06,1.27-1.98,2.75-3.79,4.45-5.41,1.55-1.47,3.26-2.75,5.1-3.85,1.63-.98,3.36-1.77,5.14-2.42,1.61-.59,3.28-1.02,4.97-1.26,1.53-.22,3.09-.28,4.63-.41v.1"},m=document.createElementNS(a,"path");m.setAttribute("class","cls-3"),m.setAttribute("d",h[t]||"");const f=document.createElementNS(a,"path");return f.setAttribute("class","cls-2"),f.setAttribute("d",h[t]||""),d.appendChild(m),d.appendChild(f),l.appendChild(d),l}({iconName:t.name,fillColor:t.style.color,width:t.style.width,height:t.style.height,strokeColor:t.style.strokeColor,strokeWidth:t.style.strokeWidth});n=new google.maps.marker.AdvancedMarkerElement({map:l,position:i.getCenter(),content:s});const a="farm"===o?`${e.farmId}|${e.farmOrganization}|${e.farmName}`:`${e.Id}|${e.OrganisationName}|${e.FarmName}`;n.setAttribute("id",a),"farm"===o?u.push(n.addListener("click",(()=>{j(),h.AdvancedMarkerOnClick({type:"SUCCESS",message:"farm marker with id "+n.id+" clicked",code:200,data:e})}))):u.push(n.addListener("click",(()=>{j(),h.AdvancedMarkerOnClick({type:"SUCCESS",message:"field marker with id "+n.id+" clicked",code:200,data:e})}))),M.push(n)})),"farm"===o){if(n){var a=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){te(l.getCenter(),i,s)}));d.push(a),l.fitBounds(r)}j(),M.forEach((function(e){var t=e.id.split("|");u.push(e.content.addEventListener("mouseover",(function(e){j(),W(e,t[1]+"<br>Farm "+t[2])}))),u.push(e.content.addEventListener("mousemove",F)),u.push(e.content.addEventListener("mouseout",j))}))}}}function V(){M.forEach((function(e){e.setMap(null),e=null})),M=[]}function H(){p.forEach((function(e){google.maps.event.removeListener(e)})),p=[]}function $(){u.forEach((function(e){google.maps.event.removeListener(e)})),u=[]}function G(){d.forEach((function(e){google.maps.event.removeListener(e)})),d=[]}function Y(){L.forEach((function(e,t){e.setMap(null),e=null})),L=[]}function J(e,a,c,g,p,u,d){var h;if(void 0===n||void 0===i){var v=l.getBounds();v&&(t=Math.abs(v.getSouthWest().lat()-v.getNorthEast().lat()),o=Math.abs(v.getNorthEast().lng()-v.getSouthWest().lng()),n=o/a,i=t/c)}f=[],m.forEach((function(e){for(var t=e.getPath(),o=[],n=0;n<t.length;n++)o.push([t.getAt(n).lng(),t.getAt(n).lat()]);t.getAt(0).lng()==t.getAt(t.length-1).lng()&&t.getAt(0).lat()==t.getAt(t.length-1).lat()||o.push([t.getAt(0).lng(),t.getAt(0).lat()]),f.push(o)}));var y=D(f);s=y.y,r=y.x;for(var L=20;L>0;L--){var I=[];I.push([r-2*L*n,s+1.5*L*i]),I.push([r+2*L*n,s+1.5*L*i]),I.push([r+2*L*n,s-1.5*L*i]),I.push([r-2*L*n,s-1.5*L*i]),I.push([r-2*L*n,s+1.5*L*i]),f.push(I);var C=0;if(I.forEach((function(e,t){google.maps.geometry.poly.containsLocation(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0])),m[0])||C++})),0==C){if(!(f.length>2)){h=q(L,e,g,p,u,d);break}for(var b=0,w=1;w<f.length-1;w++)for(var k=w+1;k<f.length;k++)K(f[w],f[k])&&b++;if(0==b){h=q(L,e,g,p,u,d);break}f.pop()}else f.pop()}return h}function K(e,t){const o=new google.maps.Polygon({paths:e.map((e=>new google.maps.LatLng(e[1],e[0])))}),n=new google.maps.Polygon({paths:t.map((e=>new google.maps.LatLng(e[1],e[0])))});for(let e=0;e<t.length;e++){const n=new google.maps.LatLng(t[e][1],t[e][0]);if(google.maps.geometry.poly.containsLocation(n,o))return!0}for(let t=0;t<e.length;t++){const o=new google.maps.LatLng(e[t][1],e[t][0]);if(google.maps.geometry.poly.containsLocation(o,n))return!0}return!1}function q(e,t,o,a,c,g){var p=[];p.push(new google.maps.LatLng(s+1.5*e*i,r-2*e*n)),p.push(new google.maps.LatLng(s+1.5*e*i,r+2*e*n)),p.push(new google.maps.LatLng(s-1.5*e*i,r+2*e*n)),p.push(new google.maps.LatLng(s-1.5*e*i,r-2*e*n)),p.reverse();var u=Date.now()+Math.floor(1e5*Math.random()),h=new google.maps.Polygon({path:p,id:u.toString(),content:"",strokeColor:t.strokeColor,strokeOpacity:t.strokeOpacity,strokeWeight:t.strokeWeight,fillColor:t.fillColor,fillOpacity:t.fillOpacity,zIndex:10200,clickable:!0,editable:!1,draggable:!1,isPolygon:!0,isCircle:!1,isCircleSector:!1,isCircleSegment:!1,isHole:!0,latitude:0,longitude:0,poly:0,area:0,perimeter:0});m.push(h);var f=new google.maps.LatLngBounds;m[0].getPath().forEach((function(e,t){f.extend(e)}));var v=!1,y=google.maps.event.addListener(l,"bounds_changed",(function(){if(!v){var e=l.getProjection().fromLatLngToPoint(f.getSouthWest()),t=l.getProjection().fromLatLngToPoint(f.getNorthEast()),n=l.getZoom(),i=1<<n;(t.x-e.x)*i>=c&&l.setZoom(n-1),te(f.getCenter(),o,a),v=!v,P=(new Et).edit(l,h,P,g)}}));return d.push(y),l.fitBounds(f),u}function X(e,t,o,n,i,s,r,a,c){var g=[];i.forEach((function(e){g.push(new google.maps.LatLng(e.lat(),e.lng()))}));var p=Date.now()+Math.floor(1e5*Math.random()),u=new google.maps.Polygon({map:l,path:g,id:p.toString(),content:"",strokeColor:e.strokeColor,strokeOpacity:e.strokeOpacity,strokeWeight:e.strokeWeight,fillColor:e.fillColor,fillOpacity:e.fillOpacity,zIndex:10200,clickable:!0,editable:!1,draggable:!1,visible:!1,isPolygon:!1,isCircle:!0,isCircleSector:!1,isCircleSegment:!1,isHole:!0,latitude:0,longitude:0,poly:0,area:0,perimeter:0});m.push(u),x=(x=new Wt).edit(l,u,x,s,r,a,c);var h=new google.maps.LatLngBounds;m[0].getPath().forEach((function(e,t){h.extend(e)}));var f=!1,v=google.maps.event.addListener(l,"bounds_changed",(function(){if(!f){var e=l.getProjection().fromLatLngToPoint(h.getSouthWest()),i=l.getProjection().fromLatLngToPoint(h.getNorthEast()),s=l.getZoom(),r=1<<s;(i.x-e.x)*r>=n&&l.setZoom(s-1),te(h.getCenter(),t,o),f=!f}}));return d.push(v),l.fitBounds(h),p}function Q(e,t,o,n,i,s,r,a,c){var g=[];i.forEach((function(e){g.push(new google.maps.LatLng(e.lat(),e.lng()))}));var p=Date.now()+Math.floor(1e5*Math.random()),u=new google.maps.Polygon({map:l,path:g,id:p.toString(),content:"",strokeColor:e.strokeColor,strokeOpacity:e.strokeOpacity,strokeWeight:e.strokeWeight,fillColor:e.fillColor,fillOpacity:e.fillOpacity,zIndex:10200,clickable:!0,editable:!1,draggable:!1,visible:!1,isPolygon:!1,isCircle:!1,isCircleSector:!0,isCircleSegment:!1,isHole:!0,latitude:0,longitude:0,poly:0,area:0,perimeter:0});m.push(u),E=(E=new Zt).edit(l,u,E,s,r,a,c);var h=new google.maps.LatLngBounds;m[0].getPath().forEach((function(e,t){h.extend(e)}));var f=!1,v=google.maps.event.addListener(l,"bounds_changed",(function(){if(!f){var e=l.getProjection().fromLatLngToPoint(h.getSouthWest()),i=l.getProjection().fromLatLngToPoint(h.getNorthEast()),s=l.getZoom(),r=1<<s;(i.x-e.x)*r>=n&&l.setZoom(s-1),te(h.getCenter(),t,o),f=!f}}));return d.push(v),l.fitBounds(h),p}function ee(e,t,o,n,i,s,r,a,c){var g=[];i.forEach((function(e){g.push(new google.maps.LatLng(e.lat(),e.lng()))}));var p=Date.now()+Math.floor(1e5*Math.random()),u=new google.maps.Polygon({map:l,path:g,id:p.toString(),content:"",strokeColor:e.strokeColor,strokeOpacity:e.strokeOpacity,strokeWeight:e.strokeWeight,fillColor:e.fillColor,fillOpacity:e.fillOpacity,zIndex:10200,clickable:!0,editable:!1,draggable:!1,visible:!1,isPolygon:!1,isCircle:!1,isCircleSector:!1,isCircleSegment:!0,isHole:!0,latitude:0,longitude:0,poly:0,area:0,perimeter:0});m.push(u),S=(S=new Ft).edit(l,u,S,s,r,a,c);var h=new google.maps.LatLngBounds;m[0].getPath().forEach((function(e,t){h.extend(e)}));var f=!1,v=google.maps.event.addListener(l,"bounds_changed",(function(){if(!f){var e=l.getProjection().fromLatLngToPoint(h.getSouthWest()),i=l.getProjection().fromLatLngToPoint(h.getNorthEast()),s=l.getZoom(),r=1<<s;(i.x-e.x)*r>=n&&l.setZoom(s-1),te(h.getCenter(),t,o),f=!f}}));return d.push(v),l.fitBounds(h),p}function te(e,t,o){var n=1<<l.getZoom(),i=l.getProjection().fromLatLngToPoint(e),s=new google.maps.Point(t/n||0,o/n||0),r=new google.maps.Point(i.x-s.x,i.y+s.y),a=l.getProjection().fromPointToLatLng(r);l.setCenter(a)}function oe(e,t,o,n,i,s,r,a,g){G(),H(),$(),V(),Y(),function(e,t,o,n,i,s,r,a,g){var u,m,f=e,v=null,y=null;c=new google.maps.LatLngBounds,f.forEach((function(e){u=e.poly.split(","),m=[],u.forEach((function(e){var t=Ut.decode(e);y=[],t.forEach((function(e){y.push(new google.maps.LatLng(parseFloat(e[0]),parseFloat(e[1]))),c.extend(new google.maps.LatLng(parseFloat(e[0]),parseFloat(e[1])))})),m.push(y)}));var t=e.name;"Ward"==e.type&&(t="Ward "+e.name),v=new google.maps.Polygon({paths:m,strokeColor:"#000000",strokeOpacity:1,strokeWeight:3,fillColor:"#000000",fillOpacity:.3,zIndex:1e4,id:e.id,content:t,type:e.type,map:l}),L.push(v)})),function(e){j(),L.forEach((function(t){p.push(google.maps.event.addListener(t,"mouseover",(function(e){t.setOptions({strokeColor:"#f1a81e",zIndex:10010}),j(),U(e,t.content)}))),p.push(google.maps.event.addListener(t,"mousemove",Z)),p.push(google.maps.event.addListener(t,"mouseout",(function(e){t.setOptions({strokeColor:"#000000",zIndex:1e4}),j()}))),e||p.push(google.maps.event.addListener(t,"click",(function(e){j(),h.SAAdminPolyOnClick(this.id)})))}))}(g);var I=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){te(l.getCenter(),s,r)}));d.push(I),l.fitBounds(c)}(e,0,0,0,0,s,r,0,g)}function ne(e,t,o,n,i,s){G(),H(),$(),V(),Y();var r=google.maps.event.addListener(l,"dragend",(function(){l.getZoom()>=12&&l.getZoom()<=17?h.ReloadCadastralData({type:"SUCCESS",message:"Reload cadastral data on dragend",code:200,data:null}):(G(),Y(),l.getZoom()<12&&l.setZoom(12),l.getZoom()>17&&l.setZoom(17),h.ReloadCadastralData({type:"SUCCESS",message:"Reload cadastral data on dragend, zoom outside range",code:200,data:null}))}));d.push(r);var a=google.maps.event.addListener(l,"zoom_changed",(function(){l.getZoom()>=12&&l.getZoom()<=17?h.ReloadCadastralData({type:"SUCCESS",message:"Reload cadastral data on zoom changed",code:200,data:null}):(G(),Y(),l.getZoom()<12&&l.setZoom(12),l.getZoom()>17&&l.setZoom(17),h.ReloadCadastralData({type:"SUCCESS",message:"Reload cadastral data on zoom changed, zoom outside range",code:200,data:null}))}));d.push(a);var g=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){l.getZoom()>=12&&l.getZoom()<=17?h.ReloadCadastralData({type:"SUCCESS",message:"Reload cadastral data on bounds changed",code:200,data:null}):(G(),Y(),l.getZoom()<12&&l.setZoom(12),l.getZoom()>17&&l.setZoom(17),h.ReloadCadastralData({type:"SUCCESS",message:"Reload cadastral data on bounds changed, zoom outside range",code:200,data:null}))}));d.push(g),l.getZoom()>=12&&l.getZoom()<=17&&function(e,t,o,n,i,s){var r=e.parentFarms,a=e.farmPortions,g=e.erven;r.length>0&&r.forEach((function(e){s&&(c=new google.maps.LatLngBounds);var t=JSON.parse(e.geojson,!0);if("Polygon"==t.type){var o=[],n=[];t.coordinates[0].forEach((function(e,t){n.push(new google.maps.LatLng(e[1],e[0])),s&&c.extend(new google.maps.LatLng(e[1],e[0]))})),o.push(n)}else if("MultiPolygon"==t.type){o=[];t.coordinates.forEach((function(e,t){var n=[];e[0].forEach((function(e,t){n.push(new google.maps.LatLng(e[1],e[0])),s&&c.extend(new google.maps.LatLng(e[1],e[0]))})),o.push(n)}))}var i=e.geomarea/1e4,r="Farm: "+e.name+"<br>"+e.lpi+"<br>"+i.toFixed(2)+" ha",a=new google.maps.Polygon({map:l,paths:o,strokeWeight:5,strokeColor:"#000000",strokeOpacity:1,fillColor:"#000000",fillOpacity:.01,id:e.id,content:r,type:"pf",zIndex:10001});s&&l.fitBounds(c),L.push(a)}));a.length>0&&a.forEach((function(e){s&&(c=new google.maps.LatLngBounds);var t=JSON.parse(e.geojson,!0);if("Polygon"==t.type){var o=[],n=[];t.coordinates[0].forEach((function(e,t){n.push(new google.maps.LatLng(e[1],e[0])),s&&c.extend(new google.maps.LatLng(e[1],e[0]))})),o.push(n)}else if("MultiPolygon"==t.type){o=[];t.coordinates.forEach((function(e,t){var n=[];e[0].forEach((function(e,t){n.push(new google.maps.LatLng(e[1],e[0])),s&&c.extend(new google.maps.LatLng(e[1],e[0]))})),o.push(n)}))}var i=e.geomarea/1e4,r="Farm: "+e.farm+"<br>Portion: "+e.name+"<br>"+e.lpi+"<br>"+i.toFixed(2)+" ha",a=new google.maps.Polygon({map:l,paths:o,strokeWeight:3,strokeColor:"#000000",strokeOpacity:1,fillColor:"#000000",fillOpacity:.01,id:e.id,content:r,type:"fp",zIndex:10002});s&&l.fitBounds(c),L.push(a)}));g.length>0&&g.forEach((function(e){s&&(c=new google.maps.LatLngBounds);var t=JSON.parse(e.geojson,!0);if("Polygon"==t.type){var o=[],n=[];t.coordinates[0].forEach((function(e,t){n.push(new google.maps.LatLng(e[1],e[0])),s&&c.extend(new google.maps.LatLng(e[1],e[0]))})),o.push(n)}else if("MultiPolygon"==t.type){o=[];t.coordinates.forEach((function(e,t){var n=[];e[0].forEach((function(e,t){n.push(new google.maps.LatLng(e[1],e[0])),s&&c.extend(new google.maps.LatLng(e[1],e[0]))})),o.push(n)}))}var i=e.geomarea/1e4,r="Erf: "+e.name+"<br>"+e.lpi+"<br>"+i.toFixed(2)+" ha",a=new google.maps.Polygon({map:l,paths:o,strokeWeight:2,strokeColor:"#000000",strokeOpacity:1,fillColor:"#000000",fillOpacity:.01,id:e.id,content:r,type:"er",zIndex:10003});s&&l.fitBounds(c),L.push(a)}));!function(e){j(),L.forEach((function(t){p.push(google.maps.event.addListener(t,"mouseover",(function(e){"pf"==t.type?t.setOptions({strokeColor:"#f1a81e",strokeWeight:5,zIndex:10011}):"fp"==t.type?t.setOptions({strokeColor:"#f1a81e",strokeWeight:3,zIndex:10012}):"er"==t.type&&t.setOptions({strokeColor:"#f1a81e",strokeWeight:2,zIndex:10013}),j(),U(e,t.content)}))),p.push(google.maps.event.addListener(t,"mousemove",Z)),p.push(google.maps.event.addListener(t,"mouseout",(function(e){"pf"==t.type?t.setOptions({strokeColor:"#000000",strokeWeight:5,zIndex:10001}):"fp"==t.type?t.setOptions({strokeColor:"#000000",strokeWeight:3,zIndex:10002}):"er"==t.type&&t.setOptions({strokeColor:"#000000",strokeWeight:2,zIndex:10003}),j()}))),e||p.push(google.maps.event.addListener(t,"click",(function(e){j(),h.SACadastralPolyOnClick(this.id)})))}))}(i)}(e,0,0,0,i,s)}function ie(e,t,o,n,i,s){G(),H(),$(),V(),Y();var r=google.maps.event.addListener(l,"dragend",(function(){l.getZoom()>=13&&l.getZoom()<=17?h.ReloadDelineatedFieldsData({type:"SUCCESS",message:"Reload delineated fields data on dragend",code:200,data:null}):(G(),Y(),l.getZoom()<13&&l.setZoom(13),l.getZoom()>17&&l.setZoom(17),h.ReloadDelineatedFieldsData({type:"SUCCESS",message:"Reload delineated fields data on dragend, zoom outside range",code:200,data:null}))}));d.push(r);var a=google.maps.event.addListener(l,"zoom_changed",(function(){l.getZoom()>=13&&l.getZoom()<=17?h.ReloadDelineatedFieldsData({type:"SUCCESS",message:"Reload delineated fields data on zoom changed",code:200,data:null}):(G(),Y(),l.getZoom()<13&&l.setZoom(13),l.getZoom()>17&&l.setZoom(17),h.ReloadDelineatedFieldsData({type:"SUCCESS",message:"Reload delineated fields data on zoom changed, zoom outside range",code:200,data:null}))}));d.push(a);var g=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){l.getZoom()>=13&&l.getZoom()<=17?h.ReloadDelineatedFieldsData({type:"SUCCESS",message:"Reload delineated fields data on bounds changed",code:200,data:null}):(G(),Y(),l.getZoom()<13&&l.setZoom(13),l.getZoom()>17&&l.setZoom(17),h.ReloadDelineatedFieldsData({type:"SUCCESS",message:"Reload delineated fields data on bounds changed, zoom outside range",code:200,data:null}))}));d.push(g),l.getZoom()>=13&&l.getZoom()<=17&&function(e,t,o,n,i,s){var r=e;r&&r.length>0&&r.forEach((function(e){s&&(c=new google.maps.LatLngBounds);var t=e.poly.split(","),o=[];t.forEach((function(e){var t=Ut.decode(e),n=[];t.forEach((function(e){n.push(new google.maps.LatLng(parseFloat(e[0]),parseFloat(e[1]))),s&&c.extend(new google.maps.LatLng(parseFloat(e[0]),parseFloat(e[1])))})),o.push(n)}));var n=e.area/1e4,i=e.category+"<br>"+n.toFixed(2)+" ha",r=new google.maps.Polygon({map:l,paths:o,strokeWeight:3,strokeColor:"#000000",strokeOpacity:1,fillColor:"#000000",fillOpacity:.01,id:e.id,content:i,zIndex:10001});s&&l.fitBounds(c),L.push(r)}));!function(e){j(),L.forEach((function(t){p.push(google.maps.event.addListener(t,"mouseover",(function(e){t.setOptions({strokeColor:"#f1a81e",strokeWeight:3,zIndex:10011}),j(),U(e,t.content)}))),p.push(google.maps.event.addListener(t,"mousemove",Z)),p.push(google.maps.event.addListener(t,"mouseout",(function(e){t.setOptions({strokeColor:"#000000",strokeWeight:3,zIndex:10001}),j()}))),e||p.push(google.maps.event.addListener(t,"click",(function(e){j(),h.SADelineatedFieldPolyOnClick(this.id)})))}))}(i)}(e,0,0,0,i,s)}function se(e,t,o,n){var i=e;c=new google.maps.LatLngBounds;var s=!1;if(i.forEach((function(e){var t=new google.maps.LatLng(e.latitude,e.longitude);c.extend(new google.maps.LatLng(e.latitude,e.longitude));var o=new DOMParser,n='<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" fill="none">';n+='<g transform="translate(0.5, 4)"><path d="M0,0 32,0 16,27.7Z" stroke="#000000" stroke-width="1" fill="'+e.iconColor+'" fill-opacity="0.9"></path></g>',n+="</svg>";var i=o.parseFromString(n,"image/svg+xml").documentElement,s=new google.maps.marker.AdvancedMarkerElement({map:l,position:t,content:i,zIndex:10002});s.setAttribute("id",e.id+"|"+e.name+"|"+e.companyName+"|"+e.jseAbbreviation+"|"+e.label+"|"+e.capacity+"|"+e.sagisCode),M.push(s)})),i.length>1){var r=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){if(!s){var e=l.getProjection().fromLatLngToPoint(c.getSouthWest()),i=l.getProjection().fromLatLngToPoint(c.getNorthEast()),r=l.getZoom(),a=1<<r;(i.x-e.x)*a>=n&&l.setZoom(r-1),l.getZoom()>16&&l.setZoom(16),te(c.getCenter(),t,o),s=!s}}));d.push(r),l.fitBounds(c)}else if(1==i.length){r=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){s||(te(l.getCenter(),t,o),s=!s)}));l.panTo(new google.maps.LatLng(i[0].latitude,i[0].longitude)),l.setZoom(9)}}function re(e,t,o,n,i,s,r){G(),H(),$(),V(),Y(),function(e,t){var o=null;e.forEach((function(e){if((e.id==t||0===t)&&e&&e.poly&&e.poly.length>0){var n=google.maps.geometry.encoding.decodePath(e.poly,5);o=new google.maps.Polygon({map:l,path:n,strokeColor:"#000000",strokeOpacity:1,strokeWeight:3,fillColor:"#000000",fillOpacity:.3,id:e.id,content:e.regionName,zIndex:1e4}),L.push(o)}}))}(e,o),function(e){j(),L.forEach((function(t){p.push(google.maps.event.addListener(t,"mouseover",(function(e){t.setOptions({strokeColor:"#f1a81e",strokeWeight:3,zIndex:10012}),j(),U(e,t.content)}))),p.push(google.maps.event.addListener(t,"mousemove",Z)),p.push(google.maps.event.addListener(t,"mouseout",(function(e){t.setOptions({strokeColor:"#000000",strokeWeight:3,zIndex:10002}),j()}))),e||p.push(google.maps.event.addListener(t,"click",(function(e){j(),h.CPRPolyOnClick({type:"SUCCESS",message:"CPRPoly clicked",code:200,data:t.id})})))}))}(r),se(t,n,i,s),le()}function ae(e,t,o,n,i,s,r){G(),H(),$(),V(),Y(),function(e,t){var o,n,i=null;e.forEach((function(e){e.id!=t&&0!==t||e&&e.poly&&e.poly.length>0&&(n=[],e.poly.split(",").forEach((function(e){o=google.maps.geometry.encoding.decodePath(e,5),n.push(o)})),i=new google.maps.Polygon({map:l,paths:n,strokeColor:"#000000",strokeOpacity:1,strokeWeight:3,fillColor:"#000000",fillOpacity:.3,id:e.id,content:e.name,zIndex:1e4}),L.push(i))}))}(e,o),function(e){j(),L.forEach((function(t){p.push(google.maps.event.addListener(t,"mouseover",(function(e){t.setOptions({strokeColor:"#f1a81e",strokeWeight:3,zIndex:10012}),j(),U(e,t.content)}))),p.push(google.maps.event.addListener(t,"mousemove",Z)),p.push(google.maps.event.addListener(t,"mouseout",(function(e){t.setOptions({strokeColor:"#000000",strokeWeight:3,zIndex:10002}),j()}))),e||p.push(google.maps.event.addListener(t,"click",(function(e){j(),h.CSProvincePolyOnClick({type:"SUCCESS",message:"CSProvincePoly clicked",code:200,data:t.id})})))}))}(r),se(t,n,i,s),le()}function le(e){j(),M.forEach((function(e){var t=e.id.split("|"),o="<b>"+t[1]+"</b><br>";o+="Company: "+t[2]+" ("+t[3]+")<br>",o+="Type: "+t[4]+"<br>",parseInt(t[5])>0?o+="Capacity: "+t[5]+"t<br>":o+="Capacity: n/a<br>",parseInt(t[6])>0?o+="Sagis Code: "+t[6]:o+="Sagis Code: n/a";var n=e.addListener("click",(function(e){h.GSMarkerOnClick({type:"SUCCESS",message:"GSMarker clicked",code:200,data:parseInt(t[0])})}));u.push(n);var i=e.content.addEventListener("mouseover",(function(e){j(),W(e,o)}));u.push(i);var s=e.content.addEventListener("mousemove",(function(e){F(e)}));u.push(s);var r=e.content.addEventListener("mouseout",(function(e){j()}));u.push(r)}))}a.eventHandlers_set=function(e){Object.assign(h,e)},a.eventHandlers_get=function(){return h},a.center_get=function(){return l.getCenter()},a.zoom_get=function(){return l.getZoom()},a.fpolies_get=function(){return L},a.locPolygons_get=function(){return m},a.overlayMapTypes_get=function(){return l.overlayMapTypes},a.RenderFields=function(e,t){var o=new google.maps.LatLngBounds;e.forEach((function(e){if(e&&e.Poly&&e.Poly.length>0&&e.Id.length>0){var n=e.Poly.map((e=>e.map((e=>new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0]))))));n[0].forEach((e=>o.extend(e)));let r=`${e.FarmName} - ${e.LocationName}<br>${e.Area} ha${e.IsIrrigated?", irrigated":""}`;e.CropPlanted&&(r+=`<br>${e.CropPlanted}`,e.CultivarPlanted&&(r+=` (${e.CultivarPlanted})`),e.PlantingDate&&(r+=`<br>Planted: ${e.PlantingDate.replace(/-/g,"/")}`));var i={paths:n,id:e.Id,content:r};i=e.MapLocationFeature?{...i,content:r,strokeColor:e.MapLocationFeature.StrokeColor,strokeOpacity:e.MapLocationFeature.StrokeOpacity,strokeWeight:e.MapLocationFeature.StrokeWeight,fillColor:e.MapLocationFeature.FillColor,fillOpacity:e.MapLocationFeature.FillOpacity,zIndex:e.MapLocationFeature.ZIndex}:{...i,...t.polygonOptions.unselected};var s=new google.maps.Polygon(i);v.push(s),t.labelVisable&&R(e)}})),l.fitBounds(o),A(),t.icon&&N(e,t.icon),v.forEach((function(e,t){e.setMap(l)})),m.forEach((function(e,t){e.setMap(l)})),l.getZoom()>=13?y.forEach((function(e,t){e.setMap(l)})):y.forEach((function(e,t){e.setMap(null)})),g=google.maps.event.addListener(l,"zoom_changed",(function(){l.getZoom()>=13?y.forEach((function(e,t){e.setMap(l)})):y.forEach((function(e,t){e.setMap(null)}))})),d.push(g)},a.destroy=function(){mapConfig=null,z=[],selectedProvinceFieldId=null,defaultCenterLatitude=null,defaultCenterLongitude=null,m=[],v=[],y=[],a.map_clear()},a.map_clear=function(){if(H(),$(),G(),C.forEach((function(e){e.setMap(null),e=null})),C=[],I.forEach((function(e){e.setMap(null),e=null})),I=[],V(),b.forEach((function(e){e.setMap(null),e=null})),b=[],y.forEach((function(e){e.setMap(null),e=null})),y=[],v.forEach((function(e){e.setMap(null),e=null})),v=[],function(){null!=P&&(P=(new Et).delete(l,P));m.forEach((function(e){e.setMap(null),e=null})),m=[]}(),Y(),w.forEach((function(e){e.setMap(null),e=null})),k.forEach((function(e){e.setMap(null),e=null})),P&&(P=(new Et).delete(l,P),P=null),x&&(x.setMap(null),x=null),E&&(E.setMap(null),E=null),S&&(S.setMap(null),S=null),l.overlayMapTypes)for(;l.overlayMapTypes.getLength()>0;)l.overlayMapTypes.pop();j(),B.length>0&&(B.forEach((e=>{e.setMap&&e.setMap(null)})),B=[]),m=[],f=[],v=[],y=[],L=[],I=[],C=[],b=[],w=[],k=[],M=[],c=null},a.fmarkers_clear=function(){M.forEach((function(e){e.setMap(null),e=null})),M=[]},a.mapListeners_clear=function(){d.forEach((function(e){google.maps.event.removeListener(e)})),d=[]},a.DrawField_DrawLocation=function(e,t,o){var n;z=JSON.parse(e,!0),c=new google.maps.LatLngBounds,z.forEach((function(e){if(e&&e.Poly&&e.Poly.length>0&&e.Id>0){var i=[];if(e.Poly.forEach((function(s,r){var a=[];if(s.forEach((function(e){a.push(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0]))),0==r&&(c.extend(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0]))),google.maps.geometry.spherical.computeSignedArea(a)),google.maps.geometry.spherical.computeSignedArea(a)})),i.push(a),e.Id==t){var g=google.maps.geometry.spherical.computeSignedArea(a)>0&&0!==r;n=Date.now()+Math.floor(1e5*Math.random());var p=new google.maps.Polygon({map:l,path:a,id:n,content:e.LocationName,strokeColor:o.StrokeColor_DrawEditShape,strokeOpacity:o.StrokeOpacity,strokeWeight:o.StrokeWeight,fillColor:o.FillColor,fillOpacity:o.FillOpacity,zIndex:g?10200:10100,clickable:!0,editable:!1,draggable:!0,isPolygon:!0,isCircle:!1,isCircleSector:!1,isCircleSegment:!1,isHole:g,latitude:e.Latitude,longitude:e.Longitude,poly:e.Poly,area:e.Area,perimeter:e.Perimeter});m.push(p)}})),e.Id!=t){n=Date.now()+Math.floor(1e5*Math.random());let t=`${e.FarmName} - ${e.LocationName}<br>${e.Area} ha${e.IsIrrigated?", irrigated":""}`;e.CropPlanted&&(t+=`<br>${e.CropPlanted}`,e.CultivarPlanted&&(t+=` (${e.CultivarPlanted})`),e.PlantingDate&&(t+=`<br>Planted: ${e.PlantingDate.replace(/-/g,"/")}`));var s=new google.maps.Polygon({map:l,paths:i,id:n,content:t,strokeColor:o.StrokeColor_Other,strokeOpacity:o.StrokeOpacity,strokeWeight:o.StrokeWeight,fillColor:o.FillColor,fillOpacity:.3,zIndex:1e4,clickable:!1,editable:!1,draggable:!1});v.push(s),A()}}})),l.fitBounds(c)},a.Shape_IsShapeHole=function(e){let t=!1;return m.forEach((function(o){o.id==e&&(t=o.isHole)})),t},a.SelectedShape_GetType=function(e,t){var o=m.find((t=>t.id==e));if(o.id==e){if(o.isPolygon)return t.ShapeTypeId_Polygon;if(o.isCircle)return t.ShapeTypeId_Circle;if(o.isCircleSector)return t.ShapeTypeId_CircleSector;if(o.isCircleSegment)return t.ShapeTypeId_CircleSegment}},a.SelectedShape_GetByShapeId=function(e){return m.find((t=>t.id==e))},a.selectShape=function(e,t,o){if(console.log("Selecting shape:",e),console.log("Current locPolygons:",m),m.forEach((function(e){e&&(console.log("Applying unselected style to polygon:",e.id),null!=P&&e.isPolygon&&(P=(new Et).delete(l,P),P=null,e.setMap(l)),null!=x&&e.isCircle&&(x.set("map",null),x=null),null!=E&&e.isCircleSector&&(E.set("map",null),E=null),null!=S&&e.isCircleSegment&&(S.set("map",null),S=null),e.setOptions({...o,editable:!1,draggable:!1}))})),e){const o=m.find((t=>t.id==e));o?(console.log("Applying selected style to shape:",e),o.setOptions(t)):console.warn("Shape not found in locPolygons:",e)}},a.isShapeInLocPolygons=function(e){return m.some((t=>t.id==e))},a.panAndZoomToShape=function(e){let t=m.find((t=>t.id==e))||v.find((t=>t.id==e));if(console.log("locPolygons - panAndZoomToShape",m),t&&l){const e=new google.maps.LatLngBounds;if(t.getPath)t.getPath().forEach((t=>e.extend(t)));else if(t.getCenter&&t.getRadius){const o=t.getCenter(),n=t.getRadius();e.extend(google.maps.geometry.spherical.computeOffset(o,n,0)),e.extend(google.maps.geometry.spherical.computeOffset(o,n,180))}else t.getBounds&&e.union(t.getBounds());const o=l.getZoom();l.fitBounds(e,{padding:50}),google.maps.event.addListenerOnce(l,"bounds_changed",(function(){const e=l.getZoom();Math.abs(e-o)>3&&l.setZoom(Math.min(e,18))}))}else console.error("Shape not found:",e)},a.Shape_Edit=function(e){m.forEach(((t,o)=>{t.id===e&&(t.setEditable(!0),o>0&&t.setDraggable(!0))}))},a.Shape_DrawingDone=function(e){m.forEach((function(t){if(t.id==e)if(t.isPolygon){if(null!=P){var o=P.getPath();t.setPath(o),P=(new Et).delete(l,P),P=null}t.setMap(l),t.setEditable(!1),t.setDraggable(!1),t.setVisible(!0)}else if(t.isCircle){var n=(new Wt).reduce(x.getPath(),t.isHole);t.setPath(n),t.isPolygon=!1,t.isCircle=!0,t.setEditable(!1),t.setDraggable(!1),x.setMap(null),x=null,t.setVisible(!0)}else if(t.isCircleSector){n=(new Zt).reduce(E.getPath(),t.isHole);t.setPath(n),t.isPolygon=!1,t.isCircleSector=!0,t.setEditable(!1),t.setDraggable(!1),E.setMap(null),E=null,t.setVisible(!0)}else if(t.isCircleSegment){n=(new Ft).reduce(S.getPath(),t.isHole);t.setPath(n),t.isPolygon=!1,t.isCircleSegment=!0,t.setEditable(!1),t.setDraggable(!1),S.setMap(null),S=null,t.setVisible(!0)}}))},a.Shape_Delete=function(e,t){const o=l.getBounds(),n=l.getCenter(),i=l.getZoom();H(),this.eventHandlers_set(t);if(m.length>0&&m[0].id==e)a.Shape_DeleteAll();else{var s=-1;m.forEach((function(t,o){t.id==e&&(null!=P&&(P=(new Et).delete(l,P),P=null),null!=x&&(x.set("map",null),x=null),null!=E&&(E.set("map",null),E=null),null!=S&&(S.set("map",null),S=null),t.setMap(null),s=o)})),s>=0&&m.splice(s,1),n&&o&&(l.setZoom(i),l.setCenter(n),l.fitBounds(o))}},a.Shape_DeleteAll=function(e){const t=l.getBounds(),o=l.getCenter(),n=l.getZoom();H(),m.forEach((function(e){null!=P&&(P=(new Et).delete(l,P),P=null),null!=x&&(x.set("map",null),x=null),null!=E&&(E.set("map",null),E=null),null!=S&&(S.set("map",null),S=null),e.setMap(null),e=null})),m=[],o&&t&&(l.setZoom(n),l.setCenter(o),l.fitBounds(t))},a.Shape_PolygonCustomEdit_Add=function(e,s,r,a,c,g,p,u){if(e)return J(s,a,c,p,u,g,r);var d=l.getBounds(),h=l.getCenter(),f=h.lat(),v=h.lng(),y=[];d&&(t=Math.abs(d.getSouthWest().lat()-d.getNorthEast().lat()),o=Math.abs(d.getNorthEast().lng()-d.getSouthWest().lng()),n=o/a,i=t/c,y.push(new google.maps.LatLng(f+u*i+60*i,v+p*n-80*n)),y.push(new google.maps.LatLng(f+u*i+60*i,v+p*n+80*n)),y.push(new google.maps.LatLng(f+u*i-60*i,v+p*n+80*n)),y.push(new google.maps.LatLng(f+u*i-60*i,v+p*n-80*n)));var L=Date.now()+Math.floor(1e5*Math.random()),I=new google.maps.Polygon({map:l,path:y,id:L.toString(),content:"",strokeColor:s.strokeColor,strokeOpacity:s.strokeOpacity,strokeWeight:s.strokeWeight,fillColor:s.fillColor,fillOpacity:s.fillOpacity,zIndex:10100,clickable:!0,editable:!1,draggable:!0,isPolygon:!0,isCircle:!1,isCircleSector:!1,isCircleSegment:!1,isHole:!1,latitude:0,longitude:0,poly:0,area:0,perimeter:0});return m.push(I),P=(new Et).edit(l,I,P,r),L},a.Shape_Polygon_Add=function(e,s,r,a,c,g,p,u){if(e)return J(s,a,c,p,u,g,r);var d=l.getBounds(),h=l.getCenter(),v=h.lat(),y=h.lng(),L=[],I=[];d&&(t=Math.abs(d.getSouthWest().lat()-d.getNorthEast().lat()),o=Math.abs(d.getNorthEast().lng()-d.getSouthWest().lng()),n=o/a,i=t/c,L.push(new google.maps.LatLng(v+u*i+60*i,y+p*n-80*n)),L.push(new google.maps.LatLng(v+u*i+60*i,y+p*n+80*n)),L.push(new google.maps.LatLng(v+u*i-60*i,y+p*n+80*n)),L.push(new google.maps.LatLng(v+u*i-60*i,y+p*n-80*n)),I.push([y+p*n-80*n,v+u*i+60*i]),I.push([y+p*n+80*n,v+u*i+60*i]),I.push([y+p*n+80*n,v+u*i-60*i]),I.push([y+p*n-80*n,v+u*i-60*i]),I.push([y+p*n-80*n,v+u*i+60*i]),f.push(I));var C=Date.now()+Math.floor(1e5*Math.random()),b=new google.maps.Polygon({map:l,path:L,id:C.toString(),content:"",strokeColor:s.strokeColor,strokeOpacity:s.strokeOpacity,strokeWeight:s.strokeWeight,fillColor:s.fillColor,fillOpacity:s.fillOpacity,zIndex:10100,clickable:!0,editable:!0,draggable:!0,isPolygon:!0,isCircle:!1,isCircleSector:!1,isCircleSegment:!1,isHole:e,latitude:0,longitude:0,poly:0,area:0,perimeter:0});return console.log("shape",b),m.push(b),C},a.Shape_CircleFull_Add=function(e,a,c,g,p,u,d,h,v,y){if(e){var L=function(e,a,c,g,p,u,d,h){var v;if(void 0===n||void 0===i){var y=l.getBounds();y&&(t=Math.abs(y.getSouthWest().lat()-y.getNorthEast().lat()),o=Math.abs(y.getNorthEast().lng()-y.getSouthWest().lng()),n=o/a,i=t/c)}f=[],m.forEach((function(e){for(var t=e.getPath(),o=[],n=0;n<t.length;n++)o.push([t.getAt(n).lng(),t.getAt(n).lat()]);t.getAt(0).lng()==t.getAt(t.length-1).lng()&&t.getAt(0).lat()==t.getAt(t.length-1).lat()||o.push([t.getAt(0).lng(),t.getAt(0).lat()]),f.push(o)}));var L=D(f);s=L.y,r=L.x;for(var I=0,C=360,b=20;b>0;b--){var w=[],k=s,M=r+2*b*n,z=new google.maps.LatLng(s,r),P=kt(s,r,k,M),x=(new Wt).get(s,r,P,I,C);x.forEach((function(e){w.push([e.lng(),e.lat()])})),f.push(w);var E=0;if(w.forEach((function(e,t){google.maps.geometry.poly.containsLocation(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0])),m[0])||E++})),0==E){if(!(f.length>2)){v=X(e,g,p,u,x,z,P,d,h);break}for(var S=0,O=1;O<f.length-1;O++)for(var _=O+1;_<f.length;_++)K(f[O],f[_])&&S++;if(0==S){v=X(e,g,p,u,x,z,P,d,h);break}f.pop()}else f.pop()}return v}(a,g,p,v,y,u,c,I);return L}var C=l.getBounds(),b=l.getCenter(),w=b.lat(),k=b.lng();t=Math.abs(C.getSouthWest().lat()-C.getNorthEast().lat()),o=Math.abs(C.getNorthEast().lng()-C.getSouthWest().lng());var M=w+y*(i=t/p),z=k+v*(n=o/g),P=new google.maps.LatLng(M,z),E=kt(M,z,M,z+80*n),S=(new Wt).get(M,z,E,0,360),O=Date.now()+Math.floor(1e5*Math.random()),_=new google.maps.Polygon({map:l,path:S,id:O.toString(),content:"",strokeColor:a.strokeColor,strokeOpacity:a.strokeOpacity,strokeWeight:a.strokeWeight,fillColor:a.fillColor,fillOpacity:a.fillOpacity,zIndex:10100,clickable:!0,editable:!1,draggable:!1,visible:!1,isPolygon:!1,isCircle:!0,isCircleSector:!1,isCircleSegment:!1,isHole:e,latitude:0,longitude:0,poly:0,area:0,perimeter:0});return m.push(_),x=(x=new Wt).edit(l,_,x,P,E,c,I),O},a.Shape_CircleSector_Add=function(e,a,c,g,p,u,d,h,v,y){if(e){var L=function(e,a,c,g,p,u,d,h){var v;if(void 0===n||void 0===i){var y=l.getBounds();y&&(t=Math.abs(y.getSouthWest().lat()-y.getNorthEast().lat()),o=Math.abs(y.getNorthEast().lng()-y.getSouthWest().lng()),n=o/a,i=t/c)}f=[],m.forEach((function(e){for(var t=e.getPath(),o=[],n=0;n<t.length;n++)o.push([t.getAt(n).lng(),t.getAt(n).lat()]);t.getAt(0).lng()==t.getAt(t.length-1).lng()&&t.getAt(0).lat()==t.getAt(t.length-1).lat()||o.push([t.getAt(0).lng(),t.getAt(0).lat()]),f.push(o)}));var L=D(f);s=L.y,r=L.x;for(var I=60,C=120,b=20;b>0;b--){var w=[],k=s,M=r+2*b*n,z=new google.maps.LatLng(s,r),P=kt(s,r,k,M),x=(new Zt).get(s,r,P,I,C);x.forEach((function(e){w.push([e.lng(),e.lat()])})),f.push(w);var E=0;if(w.forEach((function(e,t){google.maps.geometry.poly.containsLocation(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0])),m[0])||E++})),0==E){if(!(f.length>2)){v=Q(e,g,p,u,x,z,P,d,h);break}for(var S=0,O=1;O<f.length-1;O++)for(var _=O+1;_<f.length;_++)K(f[O],f[_])&&S++;if(0==S){v=Q(e,g,p,u,x,z,P,d,h);break}f.pop()}else f.pop()}return v}(a,g,p,v,y,u,c,I);return L}var C=l.getBounds(),b=l.getCenter(),w=b.lat(),k=b.lng();t=Math.abs(C.getSouthWest().lat()-C.getNorthEast().lat()),o=Math.abs(C.getNorthEast().lng()-C.getSouthWest().lng());var M=w+y*(i=t/p),z=k+v*(n=o/g),P=new google.maps.LatLng(M,z),x=kt(M,z,M,z+80*n),S=(new Zt).get(M,z,x,60,120),O=Date.now()+Math.floor(1e5*Math.random()),_=new google.maps.Polygon({map:l,path:S,id:O.toString(),content:"",strokeColor:a.strokeColor,strokeOpacity:a.strokeOpacity,strokeWeight:a.strokeWeight,fillColor:a.fillColor,fillOpacity:a.fillOpacity,zIndex:e?10200:10100,clickable:!0,editable:!1,draggable:!1,visible:!1,isPolygon:!1,isCircle:!1,isCircleSector:!0,isCircleSegment:!1,isHole:e,latitude:0,longitude:0,poly:0,area:0,perimeter:0});return m.push(_),E=(E=new Zt).edit(l,_,E,P,x,c,I),O},a.Shape_CircleSegment_Add=function(e,a,c,g,p,u,d,h,v,y){if(e){var L=function(e,a,c,g,p,u,d,h){var v;if(void 0===n||void 0===i){var y=l.getBounds();y&&(t=Math.abs(y.getSouthWest().lat()-y.getNorthEast().lat()),o=Math.abs(y.getNorthEast().lng()-y.getSouthWest().lng()),n=o/a,i=t/c)}f=[],m.forEach((function(e){for(var t=e.getPath(),o=[],n=0;n<t.length;n++)o.push([t.getAt(n).lng(),t.getAt(n).lat()]);t.getAt(0).lng()==t.getAt(t.length-1).lng()&&t.getAt(0).lat()==t.getAt(t.length-1).lat()||o.push([t.getAt(0).lng(),t.getAt(0).lat()]),f.push(o)}));var L=D(f);s=L.y,r=L.x;for(var I=0,C=160,b=20;b>0;b--){var w=[],k=s,M=r+2*b*n,z=new google.maps.LatLng(s,r),P=kt(s,r,k,M),x=(new Zt).get(s,r,P,I,C);x.forEach((function(e){w.push([e.lng(),e.lat()])})),f.push(w);var E=0;if(w.forEach((function(e,t){google.maps.geometry.poly.containsLocation(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0])),m[0])||E++})),0==E){if(!(f.length>2)){v=ee(e,g,p,u,x,z,P,d,h);break}for(var S=0,O=1;O<f.length-1;O++)for(var _=O+1;_<f.length;_++)K(f[O],f[_])&&S++;if(0==S){v=ee(e,g,p,u,x,z,P,d,h);break}f.pop()}else f.pop()}return v}(a,g,p,v,y,u,c,I);return L}var C=l.getBounds(),b=l.getCenter(),w=b.lat(),k=b.lng();t=Math.abs(C.getSouthWest().lat()-C.getNorthEast().lat()),o=Math.abs(C.getNorthEast().lng()-C.getSouthWest().lng());var M=w+y*(i=t/p),z=k+v*(n=o/g),P=new google.maps.LatLng(M,z),x=kt(M,z,M,z+80*n),E=(new Ft).get(M,z,x,0,160),O=Date.now()+Math.floor(1e5*Math.random()),_=new google.maps.Polygon({map:l,path:E,id:O.toString(),content:"",strokeColor:a.strokeColor,strokeOpacity:a.strokeOpacity,strokeWeight:a.strokeWeight,fillColor:a.fillColor,fillOpacity:a.fillOpacity,zIndex:e?10200:10100,clickable:!0,editable:!1,draggable:!1,visible:!1,isPolygon:!1,isCircle:!1,isCircleSector:!1,isCircleSegment:!0,isHole:e,latitude:0,longitude:0,poly:0,area:0,perimeter:0});return m.push(_),S=(S=new Ft).edit(l,_,S,P,x,c,I),O},a.RenderRegionFarms=function(e,t,o,n,i){t&&N(e,t,"farm",o,n,i)},a.TriggerField_ChangeEvent=function(){var e,t,o=0,n=0,i="",s=new google.maps.LatLngBounds,r="",l=[];return m.forEach((function(e,t){var r;r=e.getPath(),({perimeter:n,area:o,path:i}=function(e,t,o,n,i,s){var r,a=[];if(0===e){for(r=0;r<t.getLength();r++)a.push(t.getAt(r)),o.extend(t.getAt(r)),r<t.getLength()-1&&(n+=google.maps.geometry.spherical.computeDistanceBetween(t.getAt(r),t.getAt(r+1)));a[0].lat()!=a[a.length-1].lat()&&a[0].lng()!=a[a.length-1].lng()&&a.push(a[0]),google.maps.geometry.spherical.computeSignedArea(a)>0&&a.reverse(),i+=google.maps.geometry.spherical.computeSignedArea(a),s=google.maps.geometry.encoding.encodePath(a)+","}else{for(r=0;r<t.getLength();r++)a.push(t.getAt(r)),o.extend(t.getAt(r)),r<t.getLength()-1&&(n+=google.maps.geometry.spherical.computeDistanceBetween(t.getAt(r),t.getAt(r+1)));i+=google.maps.geometry.spherical.computeSignedArea(a),s+=google.maps.geometry.encoding.encodePath(a)+","}return{perimeter:n,area:i,path:s}}(t,r,s,n,o,i)),l.push({path:i.split(",")[t],isHole:e.isHole})})),""!==(i=i.substr(0,i.length-1))&&(console.log("Checking field overlaps..."),a.checkForBackgroundFieldOverlaps()||(console.log("Overlap detected - setting error message"),r="Error: Field overlaps with an existing field")),o=-o,e=parseFloat(s.getCenter().lat()),t=parseFloat(s.getCenter().lng()),new St(i,o,n,e,t,r)},a.DrawField_AttachEvents=function(e,t,o){m.forEach((function(n){var i=google.maps.event.addListener(n,"mouseover",(function(){e.JS_ShapeOnMouseIn(this.id)}));p.push(i);var s=google.maps.event.addListener(n,"mouseout",(function(){e.JS_ShapeOnMouseOut(this.id)}));p.push(s);var r=google.maps.event.addListener(n,"click",(function(){e.ShapeSelect(this.id)}));p.push(r),n.id==t&&void 0!==o&&n.setOptions({strokeColor:o,strokeWeight:3})}))},a.DrawField_DetachEvents=function(e,t){H(),m.forEach((function(o){o.id==t&&o.setOptions({strokeColor:e})}))},a.PolygonCustomEdit_Edit=function(e,t){var o=m.find((t=>t.id==e));if(o){var n=o.getPath();n.getAt(0).lat()==n.getAt(n.getLength()-1).lat()&&n.getAt(0).lng()==n.getAt(n.getLength()-1).lng()&&n.pop(),o.setPath(n),o.setMap(null),P=(new Et).edit(l,o,P,t)}},a.CircleSector_Edit=function(e,t){var o=m.find((t=>t.id==e));if(o){var n=new google.maps.LatLngBounds;o.getPath().forEach((e=>n.extend(e)));var i=n.getCenter(),s=google.maps.geometry.spherical.computeDistanceBetween(i,o.getPath().getAt(0));E=(new Zt).edit(l,o,E,i,s,t,I)}},a.CircleFull_Edit=function(e,t){var o=m.find((t=>t.id==e));if(o){var n=new google.maps.LatLngBounds;o.getPath().forEach((e=>n.extend(e)));var i=n.getCenter(),s=google.maps.geometry.spherical.computeDistanceBetween(i,o.getPath().getAt(0));x=(new Wt).edit(l,o,x,i,s,t,I)}},a.CircleSegment_Edit=function(e,t){var o=m.find((t=>t.id==e));if(o){a.Shape_Delete(e);var n=new google.maps.LatLngBounds;o.getPath().forEach((e=>n.extend(e)));var i=n.getCenter(),s=google.maps.geometry.spherical.computeDistanceBetween(i,o.getPath().getAt(0));S=(new Ft).edit(l,o,S,i,s,t,I)}},a.RenderRegions=function(e,t,o,n,i,s){var r=null,a=null,c=null;L=[],d=[];var g=new google.maps.LatLngBounds;e.forEach((function(e){const o="string"==typeof e.Id?e.Id.length>0:"number"==typeof e.Id&&e.Id>0;if(e&&o){var n=[];n=!e.Poly.length>0?e.Coords:e.Poly.split(",");var i=[];n.forEach((function(t,o){!e.Poly.length>0?(c=[],t.forEach((function(e){c.push(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0]))),g.extend(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0])))})),i.push(c)):(a=Ut.decode(t),c=[],a.forEach((function(e){c.push(new google.maps.LatLng(parseFloat(e[0]),parseFloat(e[1]))),g.extend(new google.maps.LatLng(parseFloat(e[0]),parseFloat(e[1])))})),i.push(c))}));var s={...t.polygonOptions.unselected,paths:i,id:e.Id,content:e.LocationName,map:l};r=new google.maps.Polygon(s),L.push(r)}}));var u=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){te(l.getCenter(),i,s)}));d.push(u),l.fitBounds(g),function(e,t){j(),L.forEach((function(e){e instanceof google.maps.Polygon?(p.push(google.maps.event.addListener(e,"mouseover",(function(t){j(),U(t,e.get("content"))}))),p.push(google.maps.event.addListener(e,"mousemove",Z)),p.push(google.maps.event.addListener(e,"mouseout",j)),p.push(google.maps.event.addListener(e,"click",(function(e){j()})))):console.warn("Invalid polygon object found in fpolies array:",e)})),N(e,t,"farm",!1)}(o,n)},a.Shape_Convert=function(e){m.forEach((function(t){if(t.id==e&&!t.isPolygon){var o,n=Date.now()+Math.floor(1e5*Math.random());if(t.isCircle){var i=function(e,t,o,n){for(var i,s,r,a,l,c,g,p,u=[],d=0;d<o;++d)u.push((i=e,s=t,r=2*Math.PI*-d/o,a=void 0,l=void 0,c=void 0,g=void 0,p=void 0,a=zt(i[1]),l=zt(i[0]),c=s/6378137,g=Math.asin(Math.sin(a)*Math.cos(c)+Math.cos(a)*Math.sin(c)*Math.cos(r)),p=l+Math.atan2(Math.sin(r)*Math.sin(c)*Math.cos(a),Math.cos(c)-Math.sin(a)*Math.sin(g)),new google.maps.LatLng({lat:Pt(g),lng:Pt(p)})));return n?u:u.reverse()}([t.getCenter().lng(),t.getCenter().lat()],t.getRadius(),72,t.isHole);o=new google.maps.Polygon({map:t.map,path:i,id:n,content:t.content,strokeColor:t.strokeColor,strokeOpacity:t.strokeOpacity,strokeWeight:t.strokeWeight,fillColor:t.fillColor,fillOpacity:t.fillOpacity,zIndex:t.zIndex,clickable:t.clickable,editable:t.editable,draggable:t.draggable,visible:!1,isPolygon:!0,isCircle:!1,isCircleSector:!1,isCircleSegment:!1,isHole:t.isHole,latitude:t.latitude,longitude:t.longitude,poly:t.poly,area:t.area,perimeter:t.perimeter})}else t.isCircleSector?o=new google.maps.Polygon({map:t.map,paths:t.paths,id:n,content:t.content,strokeColor:t.strokeColor,strokeOpacity:t.strokeOpacity,strokeWeight:t.strokeWeight,fillColor:t.fillColor,fillOpacity:t.fillOpacity,zIndex:t.zIndex,clickable:t.clickable,editable:t.editable,draggable:t.draggable,visible:!1,isPolygon:!0,isCircle:!1,isCircleSector:!1,isCircleSegment:!1,isHole:t.isHole,latitude:t.latitude,longitude:t.longitude,poly:t.poly,area:t.area,perimeter:t.perimeter}):t.isCircleSegment&&(o=new google.maps.Polygon({map:t.map,paths:t.paths,id:n,content:t.content,strokeColor:t.strokeColor,strokeOpacity:t.strokeOpacity,strokeWeight:t.strokeWeight,fillColor:t.fillColor,fillOpacity:t.fillOpacity,zIndex:t.zIndex,clickable:t.clickable,editable:t.editable,draggable:t.draggable,visible:!1,isPolygon:!0,isCircle:!1,isCircleSector:!1,isCircleSegment:!0,isHole:t.isHole,latitude:t.latitude,longitude:t.longitude,poly:t.poly,area:t.area,perimeter:t.perimeter}));return m.push(o),n}}))},a.addToLocPolygons=function(e){(m=[]).push(e)},a.RenderBackgroundFields=function(e,t){var o=new google.maps.LatLngBounds;B.forEach((e=>{e.setMap(null)})),B=[],e.forEach((function(e){if(e&&e.Poly&&e.Poly.length>0&&e.Id.length>0){var n=e.Poly.map((e=>e.map((e=>new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0]))))));n[0].forEach((e=>o.extend(e)));let r=`${e.FarmName} - ${e.LocationName}<br>${e.Area} ha${e.IsIrrigated?", irrigated":""}`;e.CropPlanted&&(r+=`<br>${e.CropPlanted}`,e.CultivarPlanted&&(r+=` (${e.CultivarPlanted})`),e.PlantingDate&&(r+=`<br>Planted: ${e.PlantingDate.replace(/-/g,"/")}`));var i={...t.polygonOptions.other,paths:n,id:e.Id,content:r,map:l},s=new google.maps.Polygon(i);B.push(s)}})),l.fitBounds(o)},a.clearBackgroundFields=function(){B.forEach((e=>{e.setMap(null)})),B=[]},a.checkForBackgroundFieldOverlaps=function(){if(console.log("Checking overlaps - Background Fields:",B.length,"Local Polygons:",m.length),!B.length||!m.length)return console.log("No fields to check for overlap"),!0;for(const e of m)for(const t of B){const o=e.getPath().getArray(),n=t.getPath().getArray();for(const e of o)if(google.maps.geometry.poly.containsLocation(e,t))return console.log("Overlap detected: Local polygon point inside background field"),!1;for(const t of n)if(google.maps.geometry.poly.containsLocation(t,e))return console.log("Overlap detected: Background field point inside local polygon"),!1}return console.log("No overlaps detected"),!0},a.RenderSAAdministrative=function(e,t,o,n,i,s,r,a,l){oe(e,0,0,0,0,s,r,0,l)},a.RenderSACadastral=function(e,t,o,n,i,s){ne(e,0,0,0,i,s)},a.RenderSADelineatedFields=function(e,t,o,n,i,s){ie(e,0,0,0,i,s)},a.RenderGSGPRegions=function(e,t,o,n,i,s,r){re(e,t,o,n,i,s,r)},a.RenderGSProvinces=function(e,t,o,n,i,s,r){ae(e,t,o,n,i,s,r)},a.NDVI_AddOverlay_DEA=function(e,t,o,n,i,s,r,a,c,g,p,u){var m,f,v=e[0],y=new google.maps.LatLngBounds;if(v&&v.Poly&&v.Poly.length>0&&v.Id>0){var L=D(v.Poly);m=L.y,f=L.x,v.Poly.forEach((function(e,t){e.forEach((function(e,o){0==t&&y.extend(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0])))}))}))}else m=r,f=a;var I=0;p&&(I=1);var C=o,b=!1;if(!b){const e=document.createElement("img");e.src=s,e.width=120,e.height=120,e.style.transform="translate(0, 50%)";const t=new google.maps.LatLng(m,f);var w=new google.maps.marker.AdvancedMarkerElement({map:l,position:t,content:e});M.push(w),b=!0}var k=[];if(l.getZoom()>17){var z=google.maps.event.addListenerOnce(l,"zoom_changed",(function(){k=[];var e=new google.maps.ImageMapType({getTileUrl:function(e,o){if(C.indexOf(o+"|"+e.x+"|"+e.y)>-1){const s=I?"true":"false";return k.push({eosLocationCropperRefId:n,eosViewId:i,z:o,x:e.x,y:e.y}),[t.replace(/{l}/,n).replace(/{v}/,i).replace(/{p}/,c).replace(/{f}/,s).replace(/{z}/,o).replace(/{x}/,e.x).replace(/{y}/,e.y)].join("")}},tileSize:new google.maps.Size(256,256),minZoom:13,maxZoom:17});e.addListener("tilesloaded",(function(){if(b&&M.forEach((function(e,t){e.setMap(null),M.splice(t,1),b=!1})),k.length>0&&k[0].fullView,k.length>0){const e=l.getZoom();let t=[];k.forEach((function(o){-1==t.indexOf(o.z+"|"+o.x+"|"+o.y)&&o.z==e&&t.push(o.z+"|"+o.x+"|"+o.y)}));let n=0;o.forEach((t=>{parseInt(t.substring(0,t.indexOf("|")))==e&&n++})),t.length==n?h.OverlayTilesLoaded({type:"SUCCESS",message:"NDVI overlay completed",code:200,data:k[0]}):h.OverlayTilesLoaded({type:"ERROR",message:"Not all tiles loaded",code:400,data:null})}else h.OverlayTilesLoaded({type:"ERROR",message:"No tiles loaded",code:400,data:null});k=[]})),l.overlayMapTypes.push(e)}));d.push(z),l.setZoom(17)}else if(l.getZoom()<13){z=google.maps.event.addListenerOnce(l,"zoom_changed",(function(){k=[];var e=new google.maps.ImageMapType({getTileUrl:function(e,o){if(C.indexOf(o+"|"+e.x+"|"+e.y)>-1){const s=I?"true":"false";return k.push({eosLocationCropperRefId:n,eosViewId:i,z:o,x:e.x,y:e.y}),[t.replace(/{l}/,n).replace(/{v}/,i).replace(/{p}/,c).replace(/{f}/,s).replace(/{z}/,o).replace(/{x}/,e.x).replace(/{y}/,e.y)].join("")}},tileSize:new google.maps.Size(256,256),minZoom:13,maxZoom:17});e.addListener("tilesloaded",(function(){if(b&&M.forEach((function(e,t){e.setMap(null),M.splice(t,1),b=!1})),k.length>0&&k[0].fullView,k.length>0){const e=l.getZoom();let t=[];k.forEach((function(o){-1==t.indexOf(o.z+"|"+o.x+"|"+o.y)&&o.z==e&&t.push(o.z+"|"+o.x+"|"+o.y)}));let n=0;o.forEach((t=>{parseInt(t.substring(0,t.indexOf("|")))==e&&n++})),t.length==n?h.OverlayTilesLoaded({type:"SUCCESS",message:"NDVI overlay completed",code:200,data:k[0]}):h.OverlayTilesLoaded({type:"ERROR",message:"Not all tiles loaded",code:400,data:null})}else h.OverlayTilesLoaded({type:"ERROR",message:"No tiles loaded",code:400,data:null});k=[]})),l.overlayMapTypes.push(e)}));d.push(z),l.setZoom(13)}else{k=[];var P=new google.maps.ImageMapType({getTileUrl:function(e,o){if(C.indexOf(o+"|"+e.x+"|"+e.y)>-1){const s=I?"true":"false";return k.push({eosLocationCropperRefId:n,eosViewId:i,z:o,x:e.x,y:e.y}),[t.replace(/{l}/,n).replace(/{v}/,i).replace(/{p}/,c).replace(/{f}/,s).replace(/{z}/,o).replace(/{x}/,e.x).replace(/{y}/,e.y)].join("")}},tileSize:new google.maps.Size(256,256),minZoom:13,maxZoom:17});P.addListener("tilesloaded",(function(){if(b&&M.forEach((function(e,t){e.setMap(null),M.splice(t,1),b=!1})),k.length>0&&k[0].fullView,k.length>0){const e=l.getZoom();let t=0,n=[];k.forEach((function(t){-1==n.indexOf(t.z+"|"+t.x+"|"+t.y)&&t.z==e&&n.push(t.z+"|"+t.x+"|"+t.y)})),o.forEach((o=>{parseInt(o.substring(0,o.indexOf("|")))==e&&t++})),n.length==t?h.OverlayTilesLoaded({type:"SUCCESS",message:"NDVI overlay completed",code:200,data:k[0]}):h.OverlayTilesLoaded({type:"ERROR",message:"Not all tiles loaded",code:400,data:null})}else h.OverlayTilesLoaded({type:"ERROR",message:"No tiles loaded",code:400,data:null});k=[]})),l.overlayMapTypes.push(P)}},a.NDVI_RemoveOverlay=function(){l.overlayMapTypes.clear()},a.NDVI_DrawLocation=function(e,t,o,n,i,s){var r=e[0],a=null,c=!1;if(r&&r.Poly&&r.Poly.length>0&&r.Id>0){var g=[],u=new google.maps.LatLngBounds;r.Poly.forEach((function(e,t){var o=[];e.forEach((function(e){o.push(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0]))),0==t&&u.extend(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0])))})),g.push(o)})),a=new google.maps.Polygon({map:l,paths:g,fillColor:"transparent",id:r.Id});var m=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){if(!c){var e=l.getProjection().fromLatLngToPoint(u.getSouthWest()),i=l.getProjection().fromLatLngToPoint(u.getNorthEast()),s=l.getZoom(),r=1<<s;(i.x-e.x)*r>=n&&l.setZoom(s-1),l.getZoom()>16&&l.setZoom(16),te(u.getCenter(),t,o),c=!c}}));if(d.push(m),l.fitBounds(u),i){var f=google.maps.event.addListener(a,"mouseover",(function(e){U(e,a.content)})),v=google.maps.event.addListener(a,"mousemove",(function(e){Z(e)})),I=google.maps.event.addListener(a,"mouseout",(function(e){j()}));p.push(f),p.push(v),p.push(I)}if(s){var C=google.maps.event.addListener(a,"click",(function(e){h.PolygonOnClick({id:r.Id,poly:r.Poly,lat:e.latLng.lat(),lng:e.latLng.lng()})}));p.push(C)}L.push(a)}l.getZoom()>=13?y.forEach((function(e){e.setMap(l)})):y.forEach((function(e){e.setMap(null)}));var b=google.maps.event.addListener(l,"zoom_changed",(function(){l.getZoom()>=13?y.forEach((function(e,t){e.setMap(l)})):y.forEach((function(e,t){e.setMap(null)}))}));d.push(b)},a.NLC_AddOverlay=function(e,t,o,n,i,s){if(t&&te(new google.maps.LatLng(o,n),i,s),l.getZoom()>14){var r=google.maps.event.addListenerOnce(l,"zoom_changed",(function(){var t=new google.maps.ImageMapType({getTileUrl:function(t,o){return console.log([e.replace(/{z}/,o).replace(/{x}/,t.x).replace(/{y}/,t.y)].join("")),[e.replace(/{z}/,o).replace(/{x}/,t.x).replace(/{y}/,t.y)].join("")},tileSize:new google.maps.Size(256,256),minZoom:5,maxZoom:14});l.overlayMapTypes.push(t)}));d.push(r),l.setZoom(14)}else if(l.getZoom()<5){r=google.maps.event.addListenerOnce(l,"zoom_changed",(function(){var t=new google.maps.ImageMapType({getTileUrl:function(t,o){return console.log([e.replace(/{z}/,o).replace(/{x}/,t.x).replace(/{y}/,t.y)].join("")),[e.replace(/{z}/,o).replace(/{x}/,t.x).replace(/{y}/,t.y)].join("")},tileSize:new google.maps.Size(256,256),minZoom:5,maxZoom:14});l.overlayMapTypes.push(t)}));d.push(r),l.setZoom(5)}else{var a=new google.maps.ImageMapType({getTileUrl:function(t,o){return console.log([e.replace(/{z}/,o).replace(/{x}/,t.x).replace(/{y}/,t.y)].join("")),[e.replace(/{z}/,o).replace(/{x}/,t.x).replace(/{y}/,t.y)].join("")},tileSize:new google.maps.Size(256,256),minZoom:5,maxZoom:14});l.overlayMapTypes.push(a)}},a.NLC_RemoveOverlay=function(){l.overlayMapTypes.clear()}}}var Ht={width:"100%",height:"100%"},$t={lat:-25.7652061,lng:28.2710333},Gt=["places","marker","geometry"],Yt={disableDefaultUI:!0,mapId:"JP_DEMO_MAP",mapTypeId:"hybrid",mapTypeControl:!0,zoomControl:!0},Jt=e.memo((function(t){var o=t.gmAPIkey,n=t.jpMap,i=e.useState(null),s=i[0],r=i[1],a=function(t){var o=t.mapInstance,n=e.useRef(null);return e.useEffect((function(){if(o){var e=new Vt(o);return n.current=e,function(){n.current&&n.current.map_clear()}}}),[o]),{mapManager:n.current}}({mapInstance:s}).mapManager,l=function(t){var o=t.id,n=void 0===o?W.id:o,i=t.version,s=void 0===i?W.version:i,r=t.nonce,a=t.googleMapsApiKey,l=t.language,c=t.region,g=t.libraries,p=void 0===g?$:g,u=t.preventGoogleFontsLoading,d=t.mapIds,h=t.authReferrerPolicy,m=e.useRef(!1),f=e.useState(!1),v=f[0],y=f[1],L=e.useState(void 0),I=L[0],C=L[1];e.useEffect((function(){return m.current=!0,function(){m.current=!1}}),[]);var b=e.useMemo((function(){return new H({id:n,apiKey:a,version:s,libraries:p,language:l||"en",region:c||"US",mapIds:d||[],nonce:r||"",authReferrerPolicy:h||"origin"})}),[n,a,s,p,l,c,d,r,h]);e.useEffect((function(){v||b.load().then((function(){m.current&&y(!0)})).catch((function(e){C(e)}))}),[]),e.useEffect((function(){O&&u&&B()}),[u]);var w=e.useRef();return e.useEffect((function(){w.current&&p!==w.current&&console.warn("Performance warning! LoadScript has been reloaded unintentionally! You should not pass `libraries` prop as new array. Please keep an array of libraries as static class property for Components and PureComponents, or just a const variable outside of component, or somewhere in config files or ENV variables"),w.current=p}),[p]),{isLoaded:v,loadError:I}}({id:"google-map-script",googleMapsApiKey:o,libraries:Gt}).isLoaded,c=e.useCallback((function(e){r(e)}),[]);e.useEffect((function(){null!==s&&n({isMapInitialized:!0,mapObject:s,mapManager:a})}),[s,n]);var g=e.useCallback((function(e){r(null)}),[]);return l?u.jsx(S,{mapContainerStyle:Ht,center:$t,zoom:5,options:Yt,onLoad:c,onUnmount:g,children:u.jsx(u.Fragment,{})}):u.jsx(u.Fragment,{})}));module.exports=Jt;
53
+ ***************************************************************************** */class Oe{static isAdvancedMarkerAvailable(e){return google.maps.marker&&!0===e.getMapCapabilities().isAdvancedMarkersAvailable}static isAdvancedMarker(e){return google.maps.marker&&e instanceof google.maps.marker.AdvancedMarkerElement}static setMap(e,t){this.isAdvancedMarker(e)?e.map=t:e.setMap(t)}static getPosition(e){if(this.isAdvancedMarker(e)){if(e.position){if(e.position instanceof google.maps.LatLng)return e.position;if(e.position.lat&&e.position.lng)return new google.maps.LatLng(e.position.lat,e.position.lng)}return new google.maps.LatLng(null)}return e.getPosition()}static getVisible(e){return!!this.isAdvancedMarker(e)||e.getVisible()}}class _e{constructor({markers:e,position:t}){this.markers=e,t&&(t instanceof google.maps.LatLng?this._position=t:this._position=new google.maps.LatLng(t))}get bounds(){if(0===this.markers.length&&!this._position)return;const e=new google.maps.LatLngBounds(this._position,this._position);for(const t of this.markers)e.extend(Oe.getPosition(t));return e}get position(){return this._position||this.bounds.getCenter()}get count(){return this.markers.filter((e=>Oe.getVisible(e))).length}push(e){this.markers.push(e)}delete(){this.marker&&(Oe.setMap(this.marker,null),this.marker=void 0),this.markers.length=0}}class Te{constructor({maxZoom:e=16}){this.maxZoom=e}noop({markers:e}){return Be(e)}}const Be=e=>e.map((e=>new _e({position:Oe.getPosition(e),markers:[e]})));class De extends Te{constructor(e){var{maxZoom:t,radius:o=60}=e,n=function(e,t){var o={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(o[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(o[n[i]]=e[n[i]])}return o}(e,["maxZoom","radius"]);super({maxZoom:t}),this.state={zoom:-1},this.superCluster=new Me(Object.assign({maxZoom:this.maxZoom,radius:o},n))}calculate(e){let t=!1;const o={zoom:e.map.getZoom()};if(!he(e.markers,this.markers)){t=!0,this.markers=[...e.markers];const o=this.markers.map((e=>{const t=Oe.getPosition(e);return{type:"Feature",geometry:{type:"Point",coordinates:[t.lng(),t.lat()]},properties:{marker:e}}}));this.superCluster.load(o)}return t||(this.state.zoom<=this.maxZoom||o.zoom<=this.maxZoom)&&(t=!he(this.state,o)),this.state=o,t&&(this.clusters=this.cluster(e)),{clusters:this.clusters,changed:t}}cluster({map:e}){return this.superCluster.getClusters([-180,-90,180,90],Math.round(e.getZoom())).map((e=>this.transformCluster(e)))}transformCluster({geometry:{coordinates:[e,t]},properties:o}){if(o.cluster)return new _e({markers:this.superCluster.getLeaves(o.cluster_id,1/0).map((e=>e.properties.marker)),position:{lat:t,lng:e}});const n=o.marker;return new _e({markers:[n],position:Oe.getPosition(n)})}}class Re{constructor(e,t){this.markers={sum:e.length};const o=t.map((e=>e.count)),n=o.reduce(((e,t)=>e+t),0);this.clusters={count:t.length,markers:{mean:n/t.length,sum:n,min:Math.min(...o),max:Math.max(...o)}}}}class Ae{render({count:e,position:t},o,n){const i=`<svg fill="${e>Math.max(10,o.clusters.markers.mean)?"#ff0000":"#0000ff"}" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 240" width="50" height="50">\n<circle cx="120" cy="120" opacity=".6" r="70" />\n<circle cx="120" cy="120" opacity=".3" r="90" />\n<circle cx="120" cy="120" opacity=".2" r="110" />\n<text x="50%" y="50%" style="fill:#fff" text-anchor="middle" font-size="50" dominant-baseline="middle" font-family="roboto,arial,sans-serif">${e}</text>\n</svg>`,s=`Cluster of ${e} markers`,r=Number(google.maps.Marker.MAX_ZINDEX)+e;if(Oe.isAdvancedMarkerAvailable(n)){const e=(new DOMParser).parseFromString(i,"image/svg+xml").documentElement;e.setAttribute("transform","translate(0 25)");const o={map:n,position:t,zIndex:r,title:s,content:e};return new google.maps.marker.AdvancedMarkerElement(o)}const a={position:t,zIndex:r,title:s,icon:{url:`data:image/svg+xml;base64,${btoa(i)}`,anchor:new google.maps.Point(25,25)}};return new google.maps.Marker(a)}}class Ue{constructor(){!function(e,t){for(let o in t.prototype)e.prototype[o]=t.prototype[o]}(Ue,google.maps.OverlayView)}}var We;!function(e){e.CLUSTERING_BEGIN="clusteringbegin",e.CLUSTERING_END="clusteringend",e.CLUSTER_CLICK="click"}(We||(We={}));const Ze=(e,t,o)=>{o.fitBounds(t.bounds)};class Fe extends Ue{constructor({map:e,markers:t=[],algorithmOptions:o={},algorithm:n=new De(o),renderer:i=new Ae,onClusterClick:s=Ze}){super(),this.markers=[...t],this.clusters=[],this.algorithm=n,this.renderer=i,this.onClusterClick=s,e&&this.setMap(e)}addMarker(e,t){this.markers.includes(e)||(this.markers.push(e),t||this.render())}addMarkers(e,t){e.forEach((e=>{this.addMarker(e,!0)})),t||this.render()}removeMarker(e,t){const o=this.markers.indexOf(e);return-1!==o&&(Oe.setMap(e,null),this.markers.splice(o,1),t||this.render(),!0)}removeMarkers(e,t){let o=!1;return e.forEach((e=>{o=this.removeMarker(e,!0)||o})),o&&!t&&this.render(),o}clearMarkers(e){this.markers.length=0,e||this.render()}render(){const e=this.getMap();if(e instanceof google.maps.Map&&e.getProjection()){google.maps.event.trigger(this,We.CLUSTERING_BEGIN,this);const{clusters:t,changed:o}=this.algorithm.calculate({markers:this.markers,map:e,mapCanvasProjection:this.getProjection()});if(o||null==o){const e=new Set;for(const o of t)1==o.markers.length&&e.add(o.markers[0]);const o=[];for(const t of this.clusters)null!=t.marker&&(1==t.markers.length?e.has(t.marker)||Oe.setMap(t.marker,null):o.push(t.marker));this.clusters=t,this.renderClusters(),requestAnimationFrame((()=>o.forEach((e=>Oe.setMap(e,null)))))}google.maps.event.trigger(this,We.CLUSTERING_END,this)}}onAdd(){this.idleListener=this.getMap().addListener("idle",this.render.bind(this)),this.render()}onRemove(){google.maps.event.removeListener(this.idleListener),this.reset()}reset(){this.markers.forEach((e=>Oe.setMap(e,null))),this.clusters.forEach((e=>e.delete())),this.clusters=[]}renderClusters(){const e=new Re(this.markers,this.clusters),t=this.getMap();this.clusters.forEach((o=>{1===o.markers.length?o.marker=o.markers[0]:(o.marker=this.renderer.render(o,e,t),o.markers.forEach((e=>Oe.setMap(e,null))),this.onClusterClick&&o.marker.addListener("click",(e=>{google.maps.event.trigger(this,We.CLUSTER_CLICK,o),this.onClusterClick(e,o,t)}))),Oe.setMap(o.marker,t)}))}}function je(t){var o=function(){C(!!e.useContext,"useGoogleMap is React hook and requires React version 16.8+");var t=e.useContext(b);return C(!!t,"useGoogleMap needs a GoogleMap available up in the tree"),t}(),n=e.useState(null),i=n[0],s=n[1];return e.useEffect((function(){if(o&&null===i){var e=new Fe(m(m({},t),{map:o}));s(e)}}),[o]),i}e.memo((function(e){var t=e.children,o=je(e.options);return null!==o?t(o):null}));var Ne={onCloseClick:"closeclick",onContentChanged:"content_changed",onDomReady:"domready",onPositionChanged:"position_changed",onZindexChanged:"zindex_changed"},Ve={options:function(e,t){e.setOptions(t)},position:function(e,t){e.setPosition(t)},zIndex:function(e,t){e.setZIndex(t)}};e.memo((function(o){var n=o.children,i=o.anchor,s=o.options,r=o.position,a=o.zIndex,l=o.onCloseClick,c=o.onDomReady,g=o.onContentChanged,p=o.onPositionChanged,u=o.onZindexChanged,d=o.onLoad,h=o.onUnmount,f=e.useContext(b),v=e.useState(null),y=v[0],L=v[1],I=e.useState(null),w=I[0],k=I[1],M=e.useState(null),P=M[0],z=M[1],x=e.useState(null),E=x[0],S=x[1],O=e.useState(null),_=O[0],T=O[1],B=e.useState(null),D=B[0],R=B[1],A=e.useRef(null);return e.useEffect((function(){null!==y&&(y.close(),i?y.open(f,i):y.getPosition()&&y.open(f))}),[f,y,i]),e.useEffect((function(){s&&null!==y&&y.setOptions(s)}),[y,s]),e.useEffect((function(){r&&null!==y&&y.setPosition(r)}),[r]),e.useEffect((function(){"number"==typeof a&&null!==y&&y.setZIndex(a)}),[a]),e.useEffect((function(){y&&l&&(null!==w&&google.maps.event.removeListener(w),k(google.maps.event.addListener(y,"closeclick",l)))}),[l]),e.useEffect((function(){y&&c&&(null!==P&&google.maps.event.removeListener(P),z(google.maps.event.addListener(y,"domready",c)))}),[c]),e.useEffect((function(){y&&g&&(null!==E&&google.maps.event.removeListener(E),S(google.maps.event.addListener(y,"content_changed",g)))}),[g]),e.useEffect((function(){y&&p&&(null!==_&&google.maps.event.removeListener(_),T(google.maps.event.addListener(y,"position_changed",p)))}),[p]),e.useEffect((function(){y&&u&&(null!==D&&google.maps.event.removeListener(D),R(google.maps.event.addListener(y,"zindex_changed",u)))}),[u]),e.useEffect((function(){var e=new google.maps.InfoWindow(m({},s||{}));return L(e),A.current=document.createElement("div"),l&&k(google.maps.event.addListener(e,"closeclick",l)),c&&z(google.maps.event.addListener(e,"domready",c)),g&&S(google.maps.event.addListener(e,"content_changed",g)),p&&T(google.maps.event.addListener(e,"position_changed",p)),u&&R(google.maps.event.addListener(e,"zindex_changed",u)),e.setContent(A.current),r&&e.setPosition(r),a&&e.setZIndex(a),i?e.open(f,i):e.getPosition()?e.open(f):C(!1,"You must provide either an anchor (typically render it inside a <Marker>) or a position props for <InfoWindow>."),d&&d(e),function(){w&&google.maps.event.removeListener(w),E&&google.maps.event.removeListener(E),P&&google.maps.event.removeListener(P),_&&google.maps.event.removeListener(_),D&&google.maps.event.removeListener(D),h&&h(e),e.close()}}),[]),A.current?t.createPortal(e.Children.only(n),A.current):null})),function(o){function n(){var e=null!==o&&o.apply(this,arguments)||this;return e.registeredEvents=[],e.containerElement=null,e.state={infoWindow:null},e.open=function(t,o){o?t.open(e.context,o):t.getPosition()?t.open(e.context):C(!1,"You must provide either an anchor (typically render it inside a <Marker>) or a position props for <InfoWindow>.")},e.setInfoWindowCallback=function(){null!==e.state.infoWindow&&null!==e.containerElement&&(e.state.infoWindow.setContent(e.containerElement),e.open(e.state.infoWindow,e.props.anchor),e.props.onLoad&&e.props.onLoad(e.state.infoWindow))},e}h(n,o),n.prototype.componentDidMount=function(){var e=new google.maps.InfoWindow(m({},this.props.options||{}));this.containerElement=document.createElement("div"),this.registeredEvents=z({updaterMap:Ve,eventMap:Ne,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{infoWindow:e}}),this.setInfoWindowCallback)},n.prototype.componentDidUpdate=function(e){null!==this.state.infoWindow&&(P(this.registeredEvents),this.registeredEvents=z({updaterMap:Ve,eventMap:Ne,prevProps:e,nextProps:this.props,instance:this.state.infoWindow}))},n.prototype.componentWillUnmount=function(){null!==this.state.infoWindow&&(P(this.registeredEvents),this.props.onUnmount&&this.props.onUnmount(this.state.infoWindow),this.state.infoWindow.close())},n.prototype.render=function(){return this.containerElement?t.createPortal(e.Children.only(this.props.children),this.containerElement):null},n.contextType=b}(e.PureComponent);var He={onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},$e={draggable:function(e,t){e.setDraggable(t)},editable:function(e,t){e.setEditable(t)},map:function(e,t){e.setMap(t)},options:function(e,t){e.setOptions(t)},path:function(e,t){e.setPath(t)},visible:function(e,t){e.setVisible(t)}},Ge={};e.memo((function(t){var o=t.options,n=t.draggable,i=t.editable,s=t.visible,r=t.path,a=t.onDblClick,l=t.onDragEnd,c=t.onDragStart,g=t.onMouseDown,p=t.onMouseMove,u=t.onMouseOut,d=t.onMouseOver,h=t.onMouseUp,f=t.onRightClick,v=t.onClick,y=t.onDrag,L=t.onLoad,I=t.onUnmount,C=e.useContext(b),w=e.useState(null),k=w[0],M=w[1],P=e.useState(null),z=P[0],x=P[1],E=e.useState(null),S=E[0],O=E[1],_=e.useState(null),T=_[0],B=_[1],D=e.useState(null),R=D[0],A=D[1],U=e.useState(null),W=U[0],Z=U[1],F=e.useState(null),j=F[0],N=F[1],V=e.useState(null),H=V[0],$=V[1],G=e.useState(null),Y=G[0],J=G[1],K=e.useState(null),q=K[0],X=K[1],Q=e.useState(null),ee=Q[0],te=Q[1],oe=e.useState(null),ne=oe[0],ie=oe[1];return e.useEffect((function(){null!==k&&k.setMap(C)}),[C]),e.useEffect((function(){void 0!==o&&null!==k&&k.setOptions(o)}),[k,o]),e.useEffect((function(){void 0!==n&&null!==k&&k.setDraggable(n)}),[k,n]),e.useEffect((function(){void 0!==i&&null!==k&&k.setEditable(i)}),[k,i]),e.useEffect((function(){void 0!==s&&null!==k&&k.setVisible(s)}),[k,s]),e.useEffect((function(){void 0!==r&&null!==k&&k.setPath(r)}),[k,r]),e.useEffect((function(){k&&a&&(null!==z&&google.maps.event.removeListener(z),x(google.maps.event.addListener(k,"dblclick",a)))}),[a]),e.useEffect((function(){k&&l&&(null!==S&&google.maps.event.removeListener(S),O(google.maps.event.addListener(k,"dragend",l)))}),[l]),e.useEffect((function(){k&&c&&(null!==T&&google.maps.event.removeListener(T),B(google.maps.event.addListener(k,"dragstart",c)))}),[c]),e.useEffect((function(){k&&g&&(null!==R&&google.maps.event.removeListener(R),A(google.maps.event.addListener(k,"mousedown",g)))}),[g]),e.useEffect((function(){k&&p&&(null!==W&&google.maps.event.removeListener(W),Z(google.maps.event.addListener(k,"mousemove",p)))}),[p]),e.useEffect((function(){k&&u&&(null!==j&&google.maps.event.removeListener(j),N(google.maps.event.addListener(k,"mouseout",u)))}),[u]),e.useEffect((function(){k&&d&&(null!==H&&google.maps.event.removeListener(H),$(google.maps.event.addListener(k,"mouseover",d)))}),[d]),e.useEffect((function(){k&&h&&(null!==Y&&google.maps.event.removeListener(Y),J(google.maps.event.addListener(k,"mouseup",h)))}),[h]),e.useEffect((function(){k&&f&&(null!==q&&google.maps.event.removeListener(q),X(google.maps.event.addListener(k,"rightclick",f)))}),[f]),e.useEffect((function(){k&&v&&(null!==ee&&google.maps.event.removeListener(ee),te(google.maps.event.addListener(k,"click",v)))}),[v]),e.useEffect((function(){k&&y&&(null!==ne&&google.maps.event.removeListener(ne),ie(google.maps.event.addListener(k,"drag",y)))}),[y]),e.useEffect((function(){var e=new google.maps.Polyline(m(m({},o||Ge),{map:C}));return r&&e.setPath(r),void 0!==s&&e.setVisible(s),void 0!==i&&e.setEditable(i),void 0!==n&&e.setDraggable(n),a&&x(google.maps.event.addListener(e,"dblclick",a)),l&&O(google.maps.event.addListener(e,"dragend",l)),c&&B(google.maps.event.addListener(e,"dragstart",c)),g&&A(google.maps.event.addListener(e,"mousedown",g)),p&&Z(google.maps.event.addListener(e,"mousemove",p)),u&&N(google.maps.event.addListener(e,"mouseout",u)),d&&$(google.maps.event.addListener(e,"mouseover",d)),h&&J(google.maps.event.addListener(e,"mouseup",h)),f&&X(google.maps.event.addListener(e,"rightclick",f)),v&&te(google.maps.event.addListener(e,"click",v)),y&&ie(google.maps.event.addListener(e,"drag",y)),M(e),L&&L(e),function(){null!==z&&google.maps.event.removeListener(z),null!==S&&google.maps.event.removeListener(S),null!==T&&google.maps.event.removeListener(T),null!==R&&google.maps.event.removeListener(R),null!==W&&google.maps.event.removeListener(W),null!==j&&google.maps.event.removeListener(j),null!==H&&google.maps.event.removeListener(H),null!==Y&&google.maps.event.removeListener(Y),null!==q&&google.maps.event.removeListener(q),null!==ee&&google.maps.event.removeListener(ee),I&&I(e),e.setMap(null)}}),[]),null})),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.state={polyline:null},t.setPolylineCallback=function(){null!==t.state.polyline&&t.props.onLoad&&t.props.onLoad(t.state.polyline)},t}h(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.Polyline(m(m({},this.props.options||{}),{map:this.context}));this.registeredEvents=z({updaterMap:$e,eventMap:He,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{polyline:e}}),this.setPolylineCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.polyline&&(P(this.registeredEvents),this.registeredEvents=z({updaterMap:$e,eventMap:He,prevProps:e,nextProps:this.props,instance:this.state.polyline}))},t.prototype.componentWillUnmount=function(){null!==this.state.polyline&&(this.props.onUnmount&&this.props.onUnmount(this.state.polyline),P(this.registeredEvents),this.state.polyline.setMap(null))},t.prototype.render=function(){return null},t.contextType=b}(e.PureComponent);var Ye={onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},Je={draggable:function(e,t){e.setDraggable(t)},editable:function(e,t){e.setEditable(t)},map:function(e,t){e.setMap(t)},options:function(e,t){e.setOptions(t)},path:function(e,t){e.setPath(t)},paths:function(e,t){e.setPaths(t)},visible:function(e,t){e.setVisible(t)}};e.memo((function(t){var o=t.options,n=t.draggable,i=t.editable,s=t.visible,r=t.path,a=t.paths,l=t.onDblClick,c=t.onDragEnd,g=t.onDragStart,p=t.onMouseDown,u=t.onMouseMove,d=t.onMouseOut,h=t.onMouseOver,f=t.onMouseUp,v=t.onRightClick,y=t.onClick,L=t.onDrag,I=t.onLoad,C=t.onUnmount,w=t.onEdit,k=e.useContext(b),M=e.useState(null),P=M[0],z=M[1],x=e.useState(null),E=x[0],S=x[1],O=e.useState(null),_=O[0],T=O[1],B=e.useState(null),D=B[0],R=B[1],A=e.useState(null),U=A[0],W=A[1],Z=e.useState(null),F=Z[0],j=Z[1],N=e.useState(null),V=N[0],H=N[1],$=e.useState(null),G=$[0],Y=$[1],J=e.useState(null),K=J[0],q=J[1],X=e.useState(null),Q=X[0],ee=X[1],te=e.useState(null),oe=te[0],ne=te[1],ie=e.useState(null),se=ie[0],re=ie[1];return e.useEffect((function(){null!==P&&P.setMap(k)}),[k]),e.useEffect((function(){void 0!==o&&null!==P&&P.setOptions(o)}),[P,o]),e.useEffect((function(){void 0!==n&&null!==P&&P.setDraggable(n)}),[P,n]),e.useEffect((function(){void 0!==i&&null!==P&&P.setEditable(i)}),[P,i]),e.useEffect((function(){void 0!==s&&null!==P&&P.setVisible(s)}),[P,s]),e.useEffect((function(){void 0!==r&&null!==P&&P.setPath(r)}),[P,r]),e.useEffect((function(){void 0!==a&&null!==P&&P.setPaths(a)}),[P,a]),e.useEffect((function(){P&&l&&(null!==E&&google.maps.event.removeListener(E),S(google.maps.event.addListener(P,"dblclick",l)))}),[l]),e.useEffect((function(){P&&(google.maps.event.addListener(P.getPath(),"insert_at",(function(){null==w||w(P)})),google.maps.event.addListener(P.getPath(),"set_at",(function(){null==w||w(P)})))}),[P,w]),e.useEffect((function(){P&&c&&(null!==_&&google.maps.event.removeListener(_),T(google.maps.event.addListener(P,"dragend",c)))}),[c]),e.useEffect((function(){P&&g&&(null!==D&&google.maps.event.removeListener(D),R(google.maps.event.addListener(P,"dragstart",g)))}),[g]),e.useEffect((function(){P&&p&&(null!==U&&google.maps.event.removeListener(U),W(google.maps.event.addListener(P,"mousedown",p)))}),[p]),e.useEffect((function(){P&&u&&(null!==F&&google.maps.event.removeListener(F),j(google.maps.event.addListener(P,"mousemove",u)))}),[u]),e.useEffect((function(){P&&d&&(null!==V&&google.maps.event.removeListener(V),H(google.maps.event.addListener(P,"mouseout",d)))}),[d]),e.useEffect((function(){P&&h&&(null!==G&&google.maps.event.removeListener(G),Y(google.maps.event.addListener(P,"mouseover",h)))}),[h]),e.useEffect((function(){P&&f&&(null!==K&&google.maps.event.removeListener(K),q(google.maps.event.addListener(P,"mouseup",f)))}),[f]),e.useEffect((function(){P&&v&&(null!==Q&&google.maps.event.removeListener(Q),ee(google.maps.event.addListener(P,"rightclick",v)))}),[v]),e.useEffect((function(){P&&y&&(null!==oe&&google.maps.event.removeListener(oe),ne(google.maps.event.addListener(P,"click",y)))}),[y]),e.useEffect((function(){P&&L&&(null!==se&&google.maps.event.removeListener(se),re(google.maps.event.addListener(P,"drag",L)))}),[L]),e.useEffect((function(){var e=new google.maps.Polygon(m(m({},o||{}),{map:k}));return r&&e.setPath(r),a&&e.setPaths(a),void 0!==s&&e.setVisible(s),void 0!==i&&e.setEditable(i),void 0!==n&&e.setDraggable(n),l&&S(google.maps.event.addListener(e,"dblclick",l)),c&&T(google.maps.event.addListener(e,"dragend",c)),g&&R(google.maps.event.addListener(e,"dragstart",g)),p&&W(google.maps.event.addListener(e,"mousedown",p)),u&&j(google.maps.event.addListener(e,"mousemove",u)),d&&H(google.maps.event.addListener(e,"mouseout",d)),h&&Y(google.maps.event.addListener(e,"mouseover",h)),f&&q(google.maps.event.addListener(e,"mouseup",f)),v&&ee(google.maps.event.addListener(e,"rightclick",v)),y&&ne(google.maps.event.addListener(e,"click",y)),L&&re(google.maps.event.addListener(e,"drag",L)),z(e),I&&I(e),function(){null!==E&&google.maps.event.removeListener(E),null!==_&&google.maps.event.removeListener(_),null!==D&&google.maps.event.removeListener(D),null!==U&&google.maps.event.removeListener(U),null!==F&&google.maps.event.removeListener(F),null!==V&&google.maps.event.removeListener(V),null!==G&&google.maps.event.removeListener(G),null!==K&&google.maps.event.removeListener(K),null!==Q&&google.maps.event.removeListener(Q),null!==oe&&google.maps.event.removeListener(oe),C&&C(e),e.setMap(null)}}),[]),null})),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.state={polygon:null},t.setPolygonCallback=function(){null!==t.state.polygon&&t.props.onLoad&&t.props.onLoad(t.state.polygon)},t}h(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.Polygon(m(m({},this.props.options||{}),{map:this.context}));this.registeredEvents=z({updaterMap:Je,eventMap:Ye,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{polygon:e}}),this.setPolygonCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.polygon&&(P(this.registeredEvents),this.registeredEvents=z({updaterMap:Je,eventMap:Ye,prevProps:e,nextProps:this.props,instance:this.state.polygon}))},t.prototype.componentWillUnmount=function(){null!==this.state.polygon&&(this.props.onUnmount&&this.props.onUnmount(this.state.polygon),P(this.registeredEvents),this.state.polygon&&this.state.polygon.setMap(null))},t.prototype.render=function(){return null},t.contextType=b}(e.PureComponent);var Ke={onBoundsChanged:"bounds_changed",onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},qe={bounds:function(e,t){e.setBounds(t)},draggable:function(e,t){e.setDraggable(t)},editable:function(e,t){e.setEditable(t)},map:function(e,t){e.setMap(t)},options:function(e,t){e.setOptions(t)},visible:function(e,t){e.setVisible(t)}};e.memo((function(t){var o=t.options,n=t.bounds,i=t.draggable,s=t.editable,r=t.visible,a=t.onDblClick,l=t.onDragEnd,c=t.onDragStart,g=t.onMouseDown,p=t.onMouseMove,u=t.onMouseOut,d=t.onMouseOver,h=t.onMouseUp,f=t.onRightClick,v=t.onClick,y=t.onDrag,L=t.onBoundsChanged,I=t.onLoad,C=t.onUnmount,w=e.useContext(b),k=e.useState(null),M=k[0],P=k[1],z=e.useState(null),x=z[0],E=z[1],S=e.useState(null),O=S[0],_=S[1],T=e.useState(null),B=T[0],D=T[1],R=e.useState(null),A=R[0],U=R[1],W=e.useState(null),Z=W[0],F=W[1],j=e.useState(null),N=j[0],V=j[1],H=e.useState(null),$=H[0],G=H[1],Y=e.useState(null),J=Y[0],K=Y[1],q=e.useState(null),X=q[0],Q=q[1],ee=e.useState(null),te=ee[0],oe=ee[1],ne=e.useState(null),ie=ne[0],se=ne[1],re=e.useState(null),ae=re[0],le=re[1];return e.useEffect((function(){null!==M&&M.setMap(w)}),[w]),e.useEffect((function(){void 0!==o&&null!==M&&M.setOptions(o)}),[M,o]),e.useEffect((function(){void 0!==i&&null!==M&&M.setDraggable(i)}),[M,i]),e.useEffect((function(){void 0!==s&&null!==M&&M.setEditable(s)}),[M,s]),e.useEffect((function(){void 0!==r&&null!==M&&M.setVisible(r)}),[M,r]),e.useEffect((function(){void 0!==n&&null!==M&&M.setBounds(n)}),[M,n]),e.useEffect((function(){M&&a&&(null!==x&&google.maps.event.removeListener(x),E(google.maps.event.addListener(M,"dblclick",a)))}),[a]),e.useEffect((function(){M&&l&&(null!==O&&google.maps.event.removeListener(O),_(google.maps.event.addListener(M,"dragend",l)))}),[l]),e.useEffect((function(){M&&c&&(null!==B&&google.maps.event.removeListener(B),D(google.maps.event.addListener(M,"dragstart",c)))}),[c]),e.useEffect((function(){M&&g&&(null!==A&&google.maps.event.removeListener(A),U(google.maps.event.addListener(M,"mousedown",g)))}),[g]),e.useEffect((function(){M&&p&&(null!==Z&&google.maps.event.removeListener(Z),F(google.maps.event.addListener(M,"mousemove",p)))}),[p]),e.useEffect((function(){M&&u&&(null!==N&&google.maps.event.removeListener(N),V(google.maps.event.addListener(M,"mouseout",u)))}),[u]),e.useEffect((function(){M&&d&&(null!==$&&google.maps.event.removeListener($),G(google.maps.event.addListener(M,"mouseover",d)))}),[d]),e.useEffect((function(){M&&h&&(null!==J&&google.maps.event.removeListener(J),K(google.maps.event.addListener(M,"mouseup",h)))}),[h]),e.useEffect((function(){M&&f&&(null!==X&&google.maps.event.removeListener(X),Q(google.maps.event.addListener(M,"rightclick",f)))}),[f]),e.useEffect((function(){M&&v&&(null!==te&&google.maps.event.removeListener(te),oe(google.maps.event.addListener(M,"click",v)))}),[v]),e.useEffect((function(){M&&y&&(null!==ie&&google.maps.event.removeListener(ie),se(google.maps.event.addListener(M,"drag",y)))}),[y]),e.useEffect((function(){M&&L&&(null!==ae&&google.maps.event.removeListener(ae),le(google.maps.event.addListener(M,"bounds_changed",L)))}),[L]),e.useEffect((function(){var e=new google.maps.Rectangle(m(m({},o||{}),{map:w}));return void 0!==r&&e.setVisible(r),void 0!==s&&e.setEditable(s),void 0!==i&&e.setDraggable(i),void 0!==n&&e.setBounds(n),a&&E(google.maps.event.addListener(e,"dblclick",a)),l&&_(google.maps.event.addListener(e,"dragend",l)),c&&D(google.maps.event.addListener(e,"dragstart",c)),g&&U(google.maps.event.addListener(e,"mousedown",g)),p&&F(google.maps.event.addListener(e,"mousemove",p)),u&&V(google.maps.event.addListener(e,"mouseout",u)),d&&G(google.maps.event.addListener(e,"mouseover",d)),h&&K(google.maps.event.addListener(e,"mouseup",h)),f&&Q(google.maps.event.addListener(e,"rightclick",f)),v&&oe(google.maps.event.addListener(e,"click",v)),y&&se(google.maps.event.addListener(e,"drag",y)),L&&le(google.maps.event.addListener(e,"bounds_changed",L)),P(e),I&&I(e),function(){null!==x&&google.maps.event.removeListener(x),null!==O&&google.maps.event.removeListener(O),null!==B&&google.maps.event.removeListener(B),null!==A&&google.maps.event.removeListener(A),null!==Z&&google.maps.event.removeListener(Z),null!==N&&google.maps.event.removeListener(N),null!==$&&google.maps.event.removeListener($),null!==J&&google.maps.event.removeListener(J),null!==X&&google.maps.event.removeListener(X),null!==te&&google.maps.event.removeListener(te),null!==ie&&google.maps.event.removeListener(ie),null!==ae&&google.maps.event.removeListener(ae),C&&C(e),e.setMap(null)}}),[]),null})),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.state={rectangle:null},t.setRectangleCallback=function(){null!==t.state.rectangle&&t.props.onLoad&&t.props.onLoad(t.state.rectangle)},t}h(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.Rectangle(m(m({},this.props.options||{}),{map:this.context}));this.registeredEvents=z({updaterMap:qe,eventMap:Ke,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{rectangle:e}}),this.setRectangleCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.rectangle&&(P(this.registeredEvents),this.registeredEvents=z({updaterMap:qe,eventMap:Ke,prevProps:e,nextProps:this.props,instance:this.state.rectangle}))},t.prototype.componentWillUnmount=function(){null!==this.state.rectangle&&(this.props.onUnmount&&this.props.onUnmount(this.state.rectangle),P(this.registeredEvents),this.state.rectangle.setMap(null))},t.prototype.render=function(){return null},t.contextType=b}(e.PureComponent);var Xe={onCenterChanged:"center_changed",onRadiusChanged:"radius_changed",onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},Qe={center:function(e,t){e.setCenter(t)},draggable:function(e,t){e.setDraggable(t)},editable:function(e,t){e.setEditable(t)},map:function(e,t){e.setMap(t)},options:function(e,t){e.setOptions(t)},radius:function(e,t){e.setRadius(t)},visible:function(e,t){e.setVisible(t)}},et={};e.memo((function(t){var o=t.options,n=t.center,i=t.radius,s=t.draggable,r=t.editable,a=t.visible,l=t.onDblClick,c=t.onDragEnd,g=t.onDragStart,p=t.onMouseDown,u=t.onMouseMove,d=t.onMouseOut,h=t.onMouseOver,f=t.onMouseUp,v=t.onRightClick,y=t.onClick,L=t.onDrag,I=t.onCenterChanged,C=t.onRadiusChanged,w=t.onLoad,k=t.onUnmount,M=e.useContext(b),P=e.useState(null),z=P[0],x=P[1],E=e.useState(null),S=E[0],O=E[1],_=e.useState(null),T=_[0],B=_[1],D=e.useState(null),R=D[0],A=D[1],U=e.useState(null),W=U[0],Z=U[1],F=e.useState(null),j=F[0],N=F[1],V=e.useState(null),H=V[0],$=V[1],G=e.useState(null),Y=G[0],J=G[1],K=e.useState(null),q=K[0],X=K[1],Q=e.useState(null),ee=Q[0],te=Q[1],oe=e.useState(null),ne=oe[0],ie=oe[1],se=e.useState(null),re=se[0],ae=se[1],le=e.useState(null),ce=le[0],ge=le[1],pe=e.useState(null),ue=pe[0],de=pe[1];return e.useEffect((function(){null!==z&&z.setMap(M)}),[M]),e.useEffect((function(){void 0!==o&&null!==z&&z.setOptions(o)}),[z,o]),e.useEffect((function(){void 0!==s&&null!==z&&z.setDraggable(s)}),[z,s]),e.useEffect((function(){void 0!==r&&null!==z&&z.setEditable(r)}),[z,r]),e.useEffect((function(){void 0!==a&&null!==z&&z.setVisible(a)}),[z,a]),e.useEffect((function(){"number"==typeof i&&null!==z&&z.setRadius(i)}),[z,i]),e.useEffect((function(){void 0!==n&&null!==z&&z.setCenter(n)}),[z,n]),e.useEffect((function(){z&&l&&(null!==S&&google.maps.event.removeListener(S),O(google.maps.event.addListener(z,"dblclick",l)))}),[l]),e.useEffect((function(){z&&c&&(null!==T&&google.maps.event.removeListener(T),B(google.maps.event.addListener(z,"dragend",c)))}),[c]),e.useEffect((function(){z&&g&&(null!==R&&google.maps.event.removeListener(R),A(google.maps.event.addListener(z,"dragstart",g)))}),[g]),e.useEffect((function(){z&&p&&(null!==W&&google.maps.event.removeListener(W),Z(google.maps.event.addListener(z,"mousedown",p)))}),[p]),e.useEffect((function(){z&&u&&(null!==j&&google.maps.event.removeListener(j),N(google.maps.event.addListener(z,"mousemove",u)))}),[u]),e.useEffect((function(){z&&d&&(null!==H&&google.maps.event.removeListener(H),$(google.maps.event.addListener(z,"mouseout",d)))}),[d]),e.useEffect((function(){z&&h&&(null!==Y&&google.maps.event.removeListener(Y),J(google.maps.event.addListener(z,"mouseover",h)))}),[h]),e.useEffect((function(){z&&f&&(null!==q&&google.maps.event.removeListener(q),X(google.maps.event.addListener(z,"mouseup",f)))}),[f]),e.useEffect((function(){z&&v&&(null!==ee&&google.maps.event.removeListener(ee),te(google.maps.event.addListener(z,"rightclick",v)))}),[v]),e.useEffect((function(){z&&y&&(null!==ne&&google.maps.event.removeListener(ne),ie(google.maps.event.addListener(z,"click",y)))}),[y]),e.useEffect((function(){z&&L&&(null!==re&&google.maps.event.removeListener(re),ae(google.maps.event.addListener(z,"drag",L)))}),[L]),e.useEffect((function(){z&&I&&(null!==ce&&google.maps.event.removeListener(ce),ge(google.maps.event.addListener(z,"center_changed",I)))}),[y]),e.useEffect((function(){z&&C&&(null!==ue&&google.maps.event.removeListener(ue),de(google.maps.event.addListener(z,"radius_changed",C)))}),[C]),e.useEffect((function(){var e=new google.maps.Circle(m(m({},o||et),{map:M}));return"number"==typeof i&&e.setRadius(i),void 0!==n&&e.setCenter(n),"number"==typeof i&&e.setRadius(i),void 0!==a&&e.setVisible(a),void 0!==r&&e.setEditable(r),void 0!==s&&e.setDraggable(s),l&&O(google.maps.event.addListener(e,"dblclick",l)),c&&B(google.maps.event.addListener(e,"dragend",c)),g&&A(google.maps.event.addListener(e,"dragstart",g)),p&&Z(google.maps.event.addListener(e,"mousedown",p)),u&&N(google.maps.event.addListener(e,"mousemove",u)),d&&$(google.maps.event.addListener(e,"mouseout",d)),h&&J(google.maps.event.addListener(e,"mouseover",h)),f&&X(google.maps.event.addListener(e,"mouseup",f)),v&&te(google.maps.event.addListener(e,"rightclick",v)),y&&ie(google.maps.event.addListener(e,"click",y)),L&&ae(google.maps.event.addListener(e,"drag",L)),I&&ge(google.maps.event.addListener(e,"center_changed",I)),C&&de(google.maps.event.addListener(e,"radius_changed",C)),x(e),w&&w(e),function(){null!==S&&google.maps.event.removeListener(S),null!==T&&google.maps.event.removeListener(T),null!==R&&google.maps.event.removeListener(R),null!==W&&google.maps.event.removeListener(W),null!==j&&google.maps.event.removeListener(j),null!==H&&google.maps.event.removeListener(H),null!==Y&&google.maps.event.removeListener(Y),null!==q&&google.maps.event.removeListener(q),null!==ee&&google.maps.event.removeListener(ee),null!==ne&&google.maps.event.removeListener(ne),null!==ce&&google.maps.event.removeListener(ce),null!==ue&&google.maps.event.removeListener(ue),k&&k(e),e.setMap(null)}}),[]),null})),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.state={circle:null},t.setCircleCallback=function(){null!==t.state.circle&&t.props.onLoad&&t.props.onLoad(t.state.circle)},t}h(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.Circle(m(m({},this.props.options||{}),{map:this.context}));this.registeredEvents=z({updaterMap:Qe,eventMap:Xe,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{circle:e}}),this.setCircleCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.circle&&(P(this.registeredEvents),this.registeredEvents=z({updaterMap:Qe,eventMap:Xe,prevProps:e,nextProps:this.props,instance:this.state.circle}))},t.prototype.componentWillUnmount=function(){var e;null!==this.state.circle&&(this.props.onUnmount&&this.props.onUnmount(this.state.circle),P(this.registeredEvents),null===(e=this.state.circle)||void 0===e||e.setMap(null))},t.prototype.render=function(){return null},t.contextType=b}(e.PureComponent);var tt={onClick:"click",onDblClick:"dblclick",onMouseDown:"mousedown",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick",onAddFeature:"addfeature",onRemoveFeature:"removefeature",onRemoveProperty:"removeproperty",onSetGeometry:"setgeometry",onSetProperty:"setproperty"},ot={add:function(e,t){e.add(t)},addgeojson:function(e,t,o){e.addGeoJson(t,o)},contains:function(e,t){e.contains(t)},foreach:function(e,t){e.forEach(t)},loadgeojson:function(e,t,o,n){e.loadGeoJson(t,o,n)},overridestyle:function(e,t,o){e.overrideStyle(t,o)},remove:function(e,t){e.remove(t)},revertstyle:function(e,t){e.revertStyle(t)},controlposition:function(e,t){e.setControlPosition(t)},controls:function(e,t){e.setControls(t)},drawingmode:function(e,t){e.setDrawingMode(t)},map:function(e,t){e.setMap(t)},style:function(e,t){e.setStyle(t)},togeojson:function(e,t){e.toGeoJson(t)}};e.memo((function(t){var o=t.options,n=t.onClick,i=t.onDblClick,s=t.onMouseDown,r=t.onMouseMove,a=t.onMouseOut,l=t.onMouseOver,c=t.onMouseUp,g=t.onRightClick,p=t.onAddFeature,u=t.onRemoveFeature,d=t.onRemoveProperty,h=t.onSetGeometry,f=t.onSetProperty,v=t.onLoad,y=t.onUnmount,L=e.useContext(b),I=e.useState(null),C=I[0],w=I[1],k=e.useState(null),M=k[0],P=k[1],z=e.useState(null),x=z[0],E=z[1],S=e.useState(null),O=S[0],_=S[1],T=e.useState(null),B=T[0],D=T[1],R=e.useState(null),A=R[0],U=R[1],W=e.useState(null),Z=W[0],F=W[1],j=e.useState(null),N=j[0],V=j[1],H=e.useState(null),$=H[0],G=H[1],Y=e.useState(null),J=Y[0],K=Y[1],q=e.useState(null),X=q[0],Q=q[1],ee=e.useState(null),te=ee[0],oe=ee[1],ne=e.useState(null),ie=ne[0],se=ne[1],re=e.useState(null),ae=re[0],le=re[1];return e.useEffect((function(){null!==C&&C.setMap(L)}),[L]),e.useEffect((function(){C&&i&&(null!==M&&google.maps.event.removeListener(M),P(google.maps.event.addListener(C,"dblclick",i)))}),[i]),e.useEffect((function(){C&&s&&(null!==x&&google.maps.event.removeListener(x),E(google.maps.event.addListener(C,"mousedown",s)))}),[s]),e.useEffect((function(){C&&r&&(null!==O&&google.maps.event.removeListener(O),_(google.maps.event.addListener(C,"mousemove",r)))}),[r]),e.useEffect((function(){C&&a&&(null!==B&&google.maps.event.removeListener(B),D(google.maps.event.addListener(C,"mouseout",a)))}),[a]),e.useEffect((function(){C&&l&&(null!==A&&google.maps.event.removeListener(A),U(google.maps.event.addListener(C,"mouseover",l)))}),[l]),e.useEffect((function(){C&&c&&(null!==Z&&google.maps.event.removeListener(Z),F(google.maps.event.addListener(C,"mouseup",c)))}),[c]),e.useEffect((function(){C&&g&&(null!==N&&google.maps.event.removeListener(N),V(google.maps.event.addListener(C,"rightclick",g)))}),[g]),e.useEffect((function(){C&&n&&(null!==$&&google.maps.event.removeListener($),G(google.maps.event.addListener(C,"click",n)))}),[n]),e.useEffect((function(){C&&p&&(null!==J&&google.maps.event.removeListener(J),K(google.maps.event.addListener(C,"addfeature",p)))}),[p]),e.useEffect((function(){C&&u&&(null!==X&&google.maps.event.removeListener(X),Q(google.maps.event.addListener(C,"removefeature",u)))}),[u]),e.useEffect((function(){C&&d&&(null!==te&&google.maps.event.removeListener(te),oe(google.maps.event.addListener(C,"removeproperty",d)))}),[d]),e.useEffect((function(){C&&h&&(null!==ie&&google.maps.event.removeListener(ie),se(google.maps.event.addListener(C,"setgeometry",h)))}),[h]),e.useEffect((function(){C&&f&&(null!==ae&&google.maps.event.removeListener(ae),le(google.maps.event.addListener(C,"setproperty",f)))}),[f]),e.useEffect((function(){if(null!==L){var e=new google.maps.Data(m(m({},o||{}),{map:L}));i&&P(google.maps.event.addListener(e,"dblclick",i)),s&&E(google.maps.event.addListener(e,"mousedown",s)),r&&_(google.maps.event.addListener(e,"mousemove",r)),a&&D(google.maps.event.addListener(e,"mouseout",a)),l&&U(google.maps.event.addListener(e,"mouseover",l)),c&&F(google.maps.event.addListener(e,"mouseup",c)),g&&V(google.maps.event.addListener(e,"rightclick",g)),n&&G(google.maps.event.addListener(e,"click",n)),p&&K(google.maps.event.addListener(e,"addfeature",p)),u&&Q(google.maps.event.addListener(e,"removefeature",u)),d&&oe(google.maps.event.addListener(e,"removeproperty",d)),h&&se(google.maps.event.addListener(e,"setgeometry",h)),f&&le(google.maps.event.addListener(e,"setproperty",f)),w(e),v&&v(e)}return function(){C&&(null!==M&&google.maps.event.removeListener(M),null!==x&&google.maps.event.removeListener(x),null!==O&&google.maps.event.removeListener(O),null!==B&&google.maps.event.removeListener(B),null!==A&&google.maps.event.removeListener(A),null!==Z&&google.maps.event.removeListener(Z),null!==N&&google.maps.event.removeListener(N),null!==$&&google.maps.event.removeListener($),null!==J&&google.maps.event.removeListener(J),null!==X&&google.maps.event.removeListener(X),null!==te&&google.maps.event.removeListener(te),null!==ie&&google.maps.event.removeListener(ie),null!==ae&&google.maps.event.removeListener(ae),y&&y(C),C.setMap(null))}}),[]),null})),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.state={data:null},t.setDataCallback=function(){null!==t.state.data&&t.props.onLoad&&t.props.onLoad(t.state.data)},t}h(t,e),t.prototype.componentDidMount=function(){if(null!==this.context){var e=new google.maps.Data(m(m({},this.props.options||{}),{map:this.context}));this.registeredEvents=z({updaterMap:ot,eventMap:tt,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{data:e}}),this.setDataCallback)}},t.prototype.componentDidUpdate=function(e){null!==this.state.data&&(P(this.registeredEvents),this.registeredEvents=z({updaterMap:ot,eventMap:tt,prevProps:e,nextProps:this.props,instance:this.state.data}))},t.prototype.componentWillUnmount=function(){null!==this.state.data&&(this.props.onUnmount&&this.props.onUnmount(this.state.data),P(this.registeredEvents),this.state.data&&this.state.data.setMap(null))},t.prototype.render=function(){return null},t.contextType=b}(e.PureComponent);var nt={onClick:"click",onDefaultViewportChanged:"defaultviewport_changed",onStatusChanged:"status_changed"},it={options:function(e,t){e.setOptions(t)},url:function(e,t){e.setUrl(t)},zIndex:function(e,t){e.setZIndex(t)}};function st(e,t){return"function"==typeof t?t(e.offsetWidth,e.offsetHeight):{x:0,y:0}}function rt(e,t){return new t(e.lat,e.lng)}function at(e,t){return new t(new google.maps.LatLng(e.ne.lat,e.ne.lng),new google.maps.LatLng(e.sw.lat,e.sw.lng))}function lt(e,t,o,n){return void 0!==o?function(e,t,o){var n=e&&e.fromLatLngToDivPixel(o.getNorthEast()),i=e&&e.fromLatLngToDivPixel(o.getSouthWest());return n&&i?{left:"".concat(i.x+t.x,"px"),top:"".concat(n.y+t.y,"px"),width:"".concat(n.x-i.x-t.x,"px"),height:"".concat(i.y-n.y-t.y,"px")}:{left:"-9999px",top:"-9999px"}}(e,t,(i=o,s=google.maps.LatLngBounds,r=at,i instanceof s?i:r(i,s))):function(e,t,o){var n=e&&e.fromLatLngToDivPixel(o);if(n){var i=n.x,s=n.y;return{left:"".concat(i+t.x,"px"),top:"".concat(s+t.y,"px")}}return{left:"-9999px",top:"-9999px"}}(e,t,function(e,t,o){return e instanceof t?e:o(e,t)}(n,google.maps.LatLng,rt));var i,s,r}function ct(e){return e?(e instanceof google.maps.LatLng?e:new google.maps.LatLng(e.lat,e.lng))+"":""}function gt(e){return e?(e instanceof google.maps.LatLngBounds?e:new google.maps.LatLngBounds(new google.maps.LatLng(e.south,e.east),new google.maps.LatLng(e.north,e.west)))+"":""}function pt(){}!function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.state={kmlLayer:null},t.setKmlLayerCallback=function(){null!==t.state.kmlLayer&&t.props.onLoad&&t.props.onLoad(t.state.kmlLayer)},t}h(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.KmlLayer(m(m({},this.props.options),{map:this.context}));this.registeredEvents=z({updaterMap:it,eventMap:nt,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{kmlLayer:e}}),this.setKmlLayerCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.kmlLayer&&(P(this.registeredEvents),this.registeredEvents=z({updaterMap:it,eventMap:nt,prevProps:e,nextProps:this.props,instance:this.state.kmlLayer}))},t.prototype.componentWillUnmount=function(){null!==this.state.kmlLayer&&(this.props.onUnmount&&this.props.onUnmount(this.state.kmlLayer),P(this.registeredEvents),this.state.kmlLayer.setMap(null))},t.prototype.render=function(){return null},t.contextType=b}(e.PureComponent),e.memo((function(t){var o=t.position,i=t.bounds,s=t.mapPaneName,r=t.zIndex,a=t.onLoad,l=t.onUnmount,c=t.getPixelPositionOffset,g=t.children,p=e.useContext(b),u=e.useMemo((function(){var e=document.createElement("div");return e.style.position="absolute",e}),[]),d=e.useMemo((function(){return function(e,t,o,n,i){var s=function(e){function t(t,o,n,i){var s=e.call(this)||this;return s.container=t,s.pane=o,s.position=n,s.bounds=i,s}return h(t,e),t.prototype.onAdd=function(){var e,t=null===(e=this.getPanes())||void 0===e?void 0:e[this.pane];null==t||t.appendChild(this.container)},t.prototype.draw=function(){for(var e=lt(this.getProjection(),m({},this.container?st(this.container,i):{x:0,y:0}),this.bounds,this.position),t=0,o=Object.entries(e);t<o.length;t++){var n=o[t],s=n[0],r=n[1];this.container.style[s]=r}},t.prototype.onRemove=function(){null!==this.container.parentNode&&this.container.parentNode.removeChild(this.container)},t}(google.maps.OverlayView);return new s(e,t,o,n)}(u,s,o,i,c)}),[u,s,o,i]);return e.useEffect((function(){return null==a||a(d),null==d||d.setMap(p),function(){null==l||l(d),null==d||d.setMap(null)}}),[p,d]),e.useEffect((function(){u.style.zIndex="".concat(r)}),[r,u]),n.createPortal(g,u)})),function(t){function o(o){var n=t.call(this,o)||this;n.state={paneEl:null,containerStyle:{position:"absolute"}},n.updatePane=function(){var e=n.props.mapPaneName,t=n.overlayView.getPanes();C(!!e,"OverlayView requires props.mapPaneName but got %s",e),t?n.setState({paneEl:t[e]}):n.setState({paneEl:null})},n.onAdd=function(){var e,t;n.updatePane(),null===(t=(e=n.props).onLoad)||void 0===t||t.call(e,n.overlayView)},n.onPositionElement=function(){var e=lt(n.overlayView.getProjection(),m({x:0,y:0},n.containerRef.current?st(n.containerRef.current,n.props.getPixelPositionOffset):{}),n.props.bounds,n.props.position),t=n.state.containerStyle,o=t.left,i=t.top;t.width;var s,r,a=t.height;r={left:o,top:i,height:a},((s=e).left!==r.left||s.top!==r.top||s.width!==r.height||s.height!==r.height)&&n.setState({containerStyle:{top:e.top||0,left:e.left||0,width:e.width||0,height:e.height||0,position:"absolute"}})},n.draw=function(){n.onPositionElement()},n.onRemove=function(){var e,t;n.setState((function(){return{paneEl:null}})),null===(t=(e=n.props).onUnmount)||void 0===t||t.call(e,n.overlayView)},n.containerRef=e.createRef();var i=new google.maps.OverlayView;return i.onAdd=n.onAdd,i.draw=n.draw,i.onRemove=n.onRemove,n.overlayView=i,n}h(o,t),o.prototype.componentDidMount=function(){this.overlayView.setMap(this.context)},o.prototype.componentDidUpdate=function(e){var t=ct(e.position),o=ct(this.props.position),n=gt(e.bounds),i=gt(this.props.bounds);t===o&&n===i||this.overlayView.draw(),e.mapPaneName!==this.props.mapPaneName&&this.updatePane()},o.prototype.componentWillUnmount=function(){this.overlayView.setMap(null)},o.prototype.render=function(){var t=this.state.paneEl;return t?n.createPortal(u.jsx("div",{ref:this.containerRef,style:this.state.containerStyle,children:e.Children.only(this.props.children)}),t):null},o.FLOAT_PANE="floatPane",o.MAP_PANE="mapPane",o.MARKER_LAYER="markerLayer",o.OVERLAY_LAYER="overlayLayer",o.OVERLAY_MOUSE_TARGET="overlayMouseTarget",o.contextType=b}(e.PureComponent);var ut={onDblClick:"dblclick",onClick:"click"},dt={opacity:function(e,t){e.setOpacity(t)}};e.memo((function(t){var o=t.url,n=t.bounds,i=t.options,s=t.visible,r=e.useContext(b),a=new google.maps.LatLngBounds(new google.maps.LatLng(n.south,n.west),new google.maps.LatLng(n.north,n.east)),l=e.useMemo((function(){return new google.maps.GroundOverlay(o,a,m({},i))}),[]);return e.useEffect((function(){null!==l&&l.setMap(r)}),[r]),e.useEffect((function(){void 0!==o&&null!==l&&(l.set("url",o),l.setMap(r))}),[l,o]),e.useEffect((function(){void 0!==s&&null!==l&&l.setOpacity(s?1:0)}),[l,s]),e.useEffect((function(){var e=new google.maps.LatLngBounds(new google.maps.LatLng(n.south,n.west),new google.maps.LatLng(n.north,n.east));void 0!==n&&null!==l&&(l.set("bounds",e),l.setMap(r))}),[l,n]),null})),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.state={groundOverlay:null},t.setGroundOverlayCallback=function(){null!==t.state.groundOverlay&&t.props.onLoad&&t.props.onLoad(t.state.groundOverlay)},t}h(t,e),t.prototype.componentDidMount=function(){C(!!this.props.url||!!this.props.bounds,"For GroundOverlay, url and bounds are passed in to constructor and are immutable after instantiated. This is the behavior of Google Maps JavaScript API v3 ( See https://developers.google.com/maps/documentation/javascript/reference#GroundOverlay) Hence, use the corresponding two props provided by `react-google-maps-api`, url and bounds. In some cases, you'll need the GroundOverlay component to reflect the changes of url and bounds. You can leverage the React's key property to remount the component. Typically, just `key={url}` would serve your need. See https://github.com/tomchentw/react-google-maps/issues/655");var e=new google.maps.GroundOverlay(this.props.url,this.props.bounds,m(m({},this.props.options),{map:this.context}));this.registeredEvents=z({updaterMap:dt,eventMap:ut,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{groundOverlay:e}}),this.setGroundOverlayCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.groundOverlay&&(P(this.registeredEvents),this.registeredEvents=z({updaterMap:dt,eventMap:ut,prevProps:e,nextProps:this.props,instance:this.state.groundOverlay}))},t.prototype.componentWillUnmount=function(){this.state.groundOverlay&&(this.props.onUnmount&&this.props.onUnmount(this.state.groundOverlay),this.state.groundOverlay.setMap(null))},t.prototype.render=function(){return null},t.defaultProps={onLoad:pt},t.contextType=b}(e.PureComponent);var ht={},mt={data:function(e,t){e.setData(t)},map:function(e,t){e.setMap(t)},options:function(e,t){e.setOptions(t)}};e.memo((function(t){var o=t.data,n=t.onLoad,i=t.onUnmount,s=t.options,r=e.useContext(b),a=e.useState(null),l=a[0],c=a[1];return e.useEffect((function(){google.maps.visualization||C(!!google.maps.visualization,'Did you include prop libraries={["visualization"]} in useJsApiScript? %s',google.maps.visualization)}),[]),e.useEffect((function(){C(!!o,"data property is required in HeatmapLayer %s",o)}),[o]),e.useEffect((function(){null!==l&&l.setMap(r)}),[r]),e.useEffect((function(){s&&null!==l&&l.setOptions(s)}),[l,s]),e.useEffect((function(){var e=new google.maps.visualization.HeatmapLayer(m(m({},s||{}),{data:o,map:r}));return c(e),n&&n(e),function(){null!==l&&(i&&i(l),l.setMap(null))}}),[]),null})),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.state={heatmapLayer:null},t.setHeatmapLayerCallback=function(){null!==t.state.heatmapLayer&&t.props.onLoad&&t.props.onLoad(t.state.heatmapLayer)},t}h(t,e),t.prototype.componentDidMount=function(){C(!!google.maps.visualization,'Did you include prop libraries={["visualization"]} to <LoadScript />? %s',google.maps.visualization),C(!!this.props.data,"data property is required in HeatmapLayer %s",this.props.data);var e=new google.maps.visualization.HeatmapLayer(m(m({},this.props.options||{}),{data:this.props.data,map:this.context}));this.registeredEvents=z({updaterMap:mt,eventMap:ht,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{heatmapLayer:e}}),this.setHeatmapLayerCallback)},t.prototype.componentDidUpdate=function(e){P(this.registeredEvents),this.registeredEvents=z({updaterMap:mt,eventMap:ht,prevProps:e,nextProps:this.props,instance:this.state.heatmapLayer})},t.prototype.componentWillUnmount=function(){null!==this.state.heatmapLayer&&(this.props.onUnmount&&this.props.onUnmount(this.state.heatmapLayer),P(this.registeredEvents),this.state.heatmapLayer.setMap(null))},t.prototype.render=function(){return null},t.contextType=b}(e.PureComponent);var ft={onCloseClick:"closeclick",onPanoChanged:"pano_changed",onPositionChanged:"position_changed",onPovChanged:"pov_changed",onResize:"resize",onStatusChanged:"status_changed",onVisibleChanged:"visible_changed",onZoomChanged:"zoom_changed"},vt={register:function(e,t,o){e.registerPanoProvider(t,o)},links:function(e,t){e.setLinks(t)},motionTracking:function(e,t){e.setMotionTracking(t)},options:function(e,t){e.setOptions(t)},pano:function(e,t){e.setPano(t)},position:function(e,t){e.setPosition(t)},pov:function(e,t){e.setPov(t)},visible:function(e,t){e.setVisible(t)},zoom:function(e,t){e.setZoom(t)}};!function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.state={streetViewPanorama:null},t.setStreetViewPanoramaCallback=function(){null!==t.state.streetViewPanorama&&t.props.onLoad&&t.props.onLoad(t.state.streetViewPanorama)},t}h(t,e),t.prototype.componentDidMount=function(){var e,t,o=null!==(t=null===(e=this.context)||void 0===e?void 0:e.getStreetView())&&void 0!==t?t:null;this.registeredEvents=z({updaterMap:vt,eventMap:ft,prevProps:{},nextProps:this.props,instance:o}),this.setState((function(){return{streetViewPanorama:o}}),this.setStreetViewPanoramaCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.streetViewPanorama&&(P(this.registeredEvents),this.registeredEvents=z({updaterMap:vt,eventMap:ft,prevProps:e,nextProps:this.props,instance:this.state.streetViewPanorama}))},t.prototype.componentWillUnmount=function(){null!==this.state.streetViewPanorama&&(this.props.onUnmount&&this.props.onUnmount(this.state.streetViewPanorama),P(this.registeredEvents),this.state.streetViewPanorama.setVisible(!1))},t.prototype.render=function(){return null},t.contextType=b}(e.PureComponent),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={streetViewService:null},t.setStreetViewServiceCallback=function(){null!==t.state.streetViewService&&t.props.onLoad&&t.props.onLoad(t.state.streetViewService)},t}h(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.StreetViewService;this.setState((function(){return{streetViewService:e}}),this.setStreetViewServiceCallback)},t.prototype.componentWillUnmount=function(){null!==this.state.streetViewService&&this.props.onUnmount&&this.props.onUnmount(this.state.streetViewService)},t.prototype.render=function(){return null},t.contextType=b}(e.PureComponent),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={directionsService:null},t.setDirectionsServiceCallback=function(){null!==t.state.directionsService&&t.props.onLoad&&t.props.onLoad(t.state.directionsService)},t}h(t,e),t.prototype.componentDidMount=function(){C(!!this.props.options,"DirectionsService expected options object as parameter, but got %s",this.props.options);var e=new google.maps.DirectionsService;this.setState((function(){return{directionsService:e}}),this.setDirectionsServiceCallback)},t.prototype.componentDidUpdate=function(){null!==this.state.directionsService&&this.state.directionsService.route(this.props.options,this.props.callback)},t.prototype.componentWillUnmount=function(){null!==this.state.directionsService&&this.props.onUnmount&&this.props.onUnmount(this.state.directionsService)},t.prototype.render=function(){return null}}(e.PureComponent);var yt={onDirectionsChanged:"directions_changed"},Lt={directions:function(e,t){e.setDirections(t)},map:function(e,t){e.setMap(t)},options:function(e,t){e.setOptions(t)},panel:function(e,t){e.setPanel(t)},routeIndex:function(e,t){e.setRouteIndex(t)}};!function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.registeredEvents=[],t.state={directionsRenderer:null},t.setDirectionsRendererCallback=function(){null!==t.state.directionsRenderer&&(t.state.directionsRenderer.setMap(t.context),t.props.onLoad&&t.props.onLoad(t.state.directionsRenderer))},t}h(t,e),t.prototype.componentDidMount=function(){var e=new google.maps.DirectionsRenderer(this.props.options);this.registeredEvents=z({updaterMap:Lt,eventMap:yt,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{directionsRenderer:e}}),this.setDirectionsRendererCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.directionsRenderer&&(P(this.registeredEvents),this.registeredEvents=z({updaterMap:Lt,eventMap:yt,prevProps:e,nextProps:this.props,instance:this.state.directionsRenderer}))},t.prototype.componentWillUnmount=function(){null!==this.state.directionsRenderer&&(this.props.onUnmount&&this.props.onUnmount(this.state.directionsRenderer),P(this.registeredEvents),this.state.directionsRenderer&&this.state.directionsRenderer.setMap(null))},t.prototype.render=function(){return u.jsx(u.Fragment,{})},t.contextType=b}(e.PureComponent),function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.state={distanceMatrixService:null},t.setDistanceMatrixServiceCallback=function(){null!==t.state.distanceMatrixService&&t.props.onLoad&&t.props.onLoad(t.state.distanceMatrixService)},t}h(t,e),t.prototype.componentDidMount=function(){C(!!this.props.options,"DistanceMatrixService expected options object as parameter, but go %s",this.props.options);var e=new google.maps.DistanceMatrixService;this.setState((function(){return{distanceMatrixService:e}}),this.setDistanceMatrixServiceCallback)},t.prototype.componentDidUpdate=function(){null!==this.state.distanceMatrixService&&this.state.distanceMatrixService.getDistanceMatrix(this.props.options,this.props.callback)},t.prototype.componentWillUnmount=function(){null!==this.state.distanceMatrixService&&this.props.onUnmount&&this.props.onUnmount(this.state.distanceMatrixService)},t.prototype.render=function(){return null}}(e.PureComponent);var It={onPlacesChanged:"places_changed"},Ct={bounds:function(e,t){e.setBounds(t)}};!function(t){function o(){var o=null!==t&&t.apply(this,arguments)||this;return o.registeredEvents=[],o.containerElement=e.createRef(),o.state={searchBox:null},o.setSearchBoxCallback=function(){null!==o.state.searchBox&&o.props.onLoad&&o.props.onLoad(o.state.searchBox)},o}h(o,t),o.prototype.componentDidMount=function(){if(C(!!google.maps.places,'You need to provide libraries={["places"]} prop to <LoadScript /> component %s',google.maps.places),null!==this.containerElement&&null!==this.containerElement.current){var e=this.containerElement.current.querySelector("input");if(null!==e){var t=new google.maps.places.SearchBox(e,this.props.options);this.registeredEvents=z({updaterMap:Ct,eventMap:It,prevProps:{},nextProps:this.props,instance:t}),this.setState((function(){return{searchBox:t}}),this.setSearchBoxCallback)}}},o.prototype.componentDidUpdate=function(e){null!==this.state.searchBox&&(P(this.registeredEvents),this.registeredEvents=z({updaterMap:Ct,eventMap:It,prevProps:e,nextProps:this.props,instance:this.state.searchBox}))},o.prototype.componentWillUnmount=function(){null!==this.state.searchBox&&(this.props.onUnmount&&this.props.onUnmount(this.state.searchBox),P(this.registeredEvents))},o.prototype.render=function(){return u.jsx("div",{ref:this.containerElement,children:e.Children.only(this.props.children)})},o.contextType=b}(e.PureComponent);var bt={onPlaceChanged:"place_changed"},wt={bounds:function(e,t){e.setBounds(t)},restrictions:function(e,t){e.setComponentRestrictions(t)},fields:function(e,t){e.setFields(t)},options:function(e,t){e.setOptions(t)},types:function(e,t){e.setTypes(t)}};function kt(e,t,o,n){var i=o*Math.PI/180-e*Math.PI/180,s=n*Math.PI/180-t*Math.PI/180,r=Math.sin(i/2)*Math.sin(i/2)+Math.cos(e*Math.PI/180)*Math.cos(o*Math.PI/180)*Math.sin(s/2)*Math.sin(s/2);return 6378137*(2*Math.atan2(Math.sqrt(r),Math.sqrt(1-r)))}!function(t){function o(){var o=null!==t&&t.apply(this,arguments)||this;return o.registeredEvents=[],o.containerElement=e.createRef(),o.state={autocomplete:null},o.setAutocompleteCallback=function(){null!==o.state.autocomplete&&o.props.onLoad&&o.props.onLoad(o.state.autocomplete)},o}h(o,t),o.prototype.componentDidMount=function(){var e;C(!!google.maps.places,'You need to provide libraries={["places"]} prop to <LoadScript /> component %s',google.maps.places);var t=null===(e=this.containerElement.current)||void 0===e?void 0:e.querySelector("input");if(t){var o=new google.maps.places.Autocomplete(t,this.props.options);this.registeredEvents=z({updaterMap:wt,eventMap:bt,prevProps:{},nextProps:this.props,instance:o}),this.setState((function(){return{autocomplete:o}}),this.setAutocompleteCallback)}},o.prototype.componentDidUpdate=function(e){P(this.registeredEvents),this.registeredEvents=z({updaterMap:wt,eventMap:bt,prevProps:e,nextProps:this.props,instance:this.state.autocomplete})},o.prototype.componentWillUnmount=function(){null!==this.state.autocomplete&&P(this.registeredEvents)},o.prototype.render=function(){return u.jsx("div",{ref:this.containerElement,className:this.props.className,children:e.Children.only(this.props.children)})},o.defaultProps={className:""},o.contextType=b}(e.PureComponent);var Mt=function(){function e(){}return e.clearString=function(e){return e.replace(/&/g,"&amp;").replace(/>/g,"&gt;").replace(/</g,"&lt;").replace(/"/g,"&quot;")},e}();function Pt(e){return e*Math.PI/180}function zt(e){return 180*e/Math.PI}const xt=[];class Et{constructor(){}delete(e,t){if(!t)return null;const o=t.getPath().getLength();for(let e=0;e<o;e++){const t=xt[e];t&&(t.ghostMarker&&(google.maps.event.clearInstanceListeners(t.ghostMarker),t.ghostMarker.setMap(null),delete t.ghostMarker.marker,delete t.ghostMarker),t.marker&&(google.maps.event.clearInstanceListeners(t.marker),t.marker.setMap(null),t.marker=null))}return xt.length=0,t}edit(e,t,o,n){let i,s,r,a;if(n){i={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="48" height="48"><path fill="rgba(255,255,255,0.01)" d="M 0, 24 a 24,24 0 1,0 48,0 a 24,24 0 1,0 -48,0" /><path fill="rgba(255,255,255,1)" stroke="#303030" stroke-width="1" d="M24 24 m-4,0 a 4,4,0 0,1 8,0 a 4,4 0 0,1 -8,0z" /></svg>'),anchor:new google.maps.Point(24,24)};s={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="48" height="48"><path fill="rgba(255,255,255,0.01)" d="M 0, 24 a 24,24 0 1,0 48,0 a 24,24 0 1,0 -48,0" /><path fill="rgba(255,255,255,0.4)" stroke="#303030" stroke-width="0.3" stroke-opacity="0.01" d="M24 24 m-4,0 a 4,4,0 0,1 8,0 a 4,4 0 0,1 -8,0z" /></svg>'),anchor:new google.maps.Point(24,24)};r={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 52 52"><g transform="scale(0.4 0.4)"><path style="fill:#f1a81e;" d="M38.853,5.324L38.853,5.324c-7.098-7.098-18.607-7.098-25.706,0h0 C6.751,11.72,6.031,23.763,11.459,31L26,52l14.541-21C45.969,23.763,45.249,11.72,38.853,5.324z"/><g transform="translate(13.2 5.9) scale(0.8 0.8)"></g></g></svg>'),anchor:new google.maps.Point(30,60)};a={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 52 52"><g transform="scale(0.4 0.4) rotate(180 26 26)"><path style="fill:#f1a81e;" d="M38.853,5.324L38.853,5.324c-7.098-7.098-18.607-7.098-25.706,0h0 C6.751,11.72,6.031,23.763,11.459,31L26,52l14.541-21C45.969,23.763,45.249,11.72,38.853,5.324z"/><g transform="translate(13.2 5.9) scale(0.8 0.8)"></g></g></svg>'),anchor:new google.maps.Point(30,0)}}else i={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1},s={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:.4,anchor:new google.maps.Point(4,4),strokeWeight:.3,strokeOpacity:.01,strokeColor:"#303030",scale:1};const l=new google.maps.Polyline({map:e,strokeColor:"#ffff00",strokeOpacity:.6,strokeWeight:2,clickable:!1,zIndex:10100}),c=function(){for(let e=0;e<xt.length;e++){const t=xt[e]?.marker;t&&t.setIcon(i)}const e=t.getPath(),o=new google.maps.LatLngBounds;for(let t=0,n=e.getLength();t<n;t++)o.extend(e.getAt(t));if(n&&r&&a){const e=o.getCenter(),t=this.getPosition();if(!t)return;this.setIcon(t.lat()>=e.lat()?r:a)}},g=function(){const e=this.marker.editIndex,o=t.getPath(),n=o.getLength()-1,i=this.marker.getPosition(),s=this.getPosition(),r=e<n?o.getAt(e+1):o.getAt(0);0===l.getPath().getLength()?l.setPath([i,s,r]):l.getPath().setAt(1,s)},p=function(){const o=this.marker;if(!o)return;const n=this.getPosition();if(!n)return;const s=t.getPath(),r=s.getLength();if(r<1)return;const a=o.editIndex,c=a===r-1?0:a+1,g=xt[a];google.maps.event.clearInstanceListeners(this),this.setMap(null),s.insertAt(c,n);const p=new google.maps.Marker({map:e,icon:i,draggable:!0,raiseOnDrag:!1,position:n});google.maps.event.addListener(p,"dragstart",u),google.maps.event.addListener(p,"drag",d),google.maps.event.addListener(p,"dragend",h),xt.splice(c,0,{marker:p,ghostMarker:void 0});for(let e=c;e<xt.length;e++){const t=xt[e]?.marker;t&&(t.editIndex=e)}const m=g?.ghostMarker;m&&m!==this?(google.maps.event.clearInstanceListeners(m),m.setMap(null),delete m.marker,delete g.ghostMarker):g&&delete g?.ghostMarker;const v=0===c?s.getLength()-1:c-1;for(f(v),f(c);l.getPath().getLength()>0;)l.getPath().pop();google.maps.event.trigger(t,"insert_at",c,n)},u=function(){for(let e=0;e<xt.length;e++){const t=xt[e]?.marker;t&&t.setIcon(i)}const e=t.getPath(),o=new google.maps.LatLngBounds;for(let t=0,n=e.getLength();t<n;t++)o.extend(e.getAt(t));if(n&&r&&a){const e=o.getCenter(),t=this.getPosition();if(!t)return;this.setIcon(t.lat()>=e.lat()?r:a)}},d=function(){const e=this.editIndex,o=this.getPosition();t.getPath().setAt(e,o);const n=t.getPath(),i=0===e?n.getLength()-1:e-1;f(i),f(e)},h=function(){google.maps.event.trigger(t,"update_at",this.editIndex,this.getPosition())},m=(o,n)=>{const i=t.getPath().getAt(o);let s=xt[o]?.marker;return s?(s.setPosition(i),s.editIndex=o):(s=new google.maps.Marker({position:i,map:e,icon:n,draggable:!0,raiseOnDrag:!1}),google.maps.event.addListener(s,"dragstart",u),google.maps.event.addListener(s,"drag",d),google.maps.event.addListener(s,"dragend",h),s.editIndex=o,xt[o]={marker:s}),s},f=o=>{const n=t.getPath(),i=n.getLength();if(i<2)return null;const r=n.getAt(o),a=o<i-1?o+1:0,l=n.getAt(a),u=google.maps.geometry?google.maps.geometry.spherical.interpolate(r,l,.5):new google.maps.LatLng(r.lat()+.5*(l.lat()-r.lat()),r.lng()+.5*(l.lng()-r.lng())),d=xt[o]?.marker;if(!d)return null;let h=xt[o]?.ghostMarker;return h&&null!==h.getMap()?h.marker=d:(h=new google.maps.Marker({map:e,icon:s,draggable:!0,raiseOnDrag:!1}),h.marker=d,google.maps.event.addListener(h,"dragstart",c),google.maps.event.addListener(h,"drag",g),google.maps.event.addListener(h,"dragend",p),xt[o].ghostMarker=h),h.setPosition(u),h},v=()=>{const e=t.getPath();for(let t=0;t<e.getLength();t++){const o=e.getAt(t),n=xt[t];if(!n)continue;const i=n.marker;i&&(i.setPosition(o),i.editIndex=t),f(t)}},y=e=>{for(let t=0;t<xt.length;t++){const o=xt[t];o?.marker?.setDraggable(e),o?.ghostMarker?.setDraggable(e)}};function L(e,t,o,n){return t.setMap(e),t.getPath().forEach(((e,t)=>{m(t,n&&r&&1===t?r:i).editIndex=t,f(t)})),t}return google.maps.event.addListener(t,"dragstart",(()=>{y(!1)})),google.maps.event.addListener(t,"drag",(()=>{v()})),google.maps.event.addListener(t,"dragend",(()=>{v(),y(!0)})),L.prototype=new google.maps.MVCObject,new L(e,t,o,n)}}class St{IsValid="";Poly="";Area=0;Perimeter=0;Latitude=0;Longitude=0;constructor(e,t,o,n,i,s){this.Poly=e,this.Area=t,this.Perimeter=o,this.Latitude=n,this.Longitude=i,this.IsValid=s,this.GeoJSON=void 0}}class Ot{constructor(e=[],t=(e,t)=>e<t?-1:e>t?1:0){if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let e=(this.length>>1)-1;e>=0;e--)this._down(e)}push(e){this.data.push(e),this._up(this.length++)}pop(){if(0===this.length)return;const e=this.data[0],t=this.data.pop();return--this.length>0&&(this.data[0]=t,this._down(0)),e}peek(){return this.data[0]}_up(e){const{data:t,compare:o}=this,n=t[e];for(;e>0;){const i=e-1>>1,s=t[i];if(o(n,s)>=0)break;t[e]=s,e=i}t[e]=n}_down(e){const{data:t,compare:o}=this,n=this.length>>1,i=t[e];for(;e<n;){let n=1+(e<<1);const s=n+1;if(s<this.length&&o(t[s],t[n])<0&&(n=s),o(t[n],i)>=0)break;t[e]=t[n],e=n}t[e]=i}}function _t(e,t=1,o=!1){let n=1/0,i=1/0,s=-1/0,r=-1/0;for(const[t,o]of e[0])t<n&&(n=t),o<i&&(i=o),t>s&&(s=t),o>r&&(r=o);const a=s-n,l=r-i,c=Math.max(t,Math.min(a,l));if(c===t){const e=[n,i];return e.distance=0,e}const g=new Ot([],((e,t)=>t.max-e.max));let p=function(e){let t=0,o=0,n=0;const i=e[0];for(let e=0,s=i.length,r=s-1;e<s;r=e++){const s=i[e],a=i[r],l=s[0]*a[1]-a[0]*s[1];o+=(s[0]+a[0])*l,n+=(s[1]+a[1])*l,t+=3*l}const s=new Tt(o/t,n/t,0,e);return 0===t||s.d<0?new Tt(i[0][0],i[0][1],0,e):s}(e);const u=new Tt(n+a/2,i+l/2,0,e);u.d>p.d&&(p=u);let d=2;function h(n,i,s){const r=new Tt(n,i,s,e);d++,r.max>p.d+t&&g.push(r),r.d>p.d&&(p=r,o&&console.log(`found best ${Math.round(1e4*r.d)/1e4} after ${d} probes`))}let m=c/2;for(let e=n;e<s;e+=c)for(let t=i;t<r;t+=c)h(e+m,t+m,m);for(;g.length;){const{max:e,x:o,y:n,h:i}=g.pop();if(e-p.d<=t)break;m=i/2,h(o-m,n-m,m),h(o+m,n-m,m),h(o-m,n+m,m),h(o+m,n+m,m)}o&&console.log(`num probes: ${d}\nbest distance: ${p.d}`);const f=[p.x,p.y];return f.distance=p.d,f}function Tt(e,t,o,n){this.x=e,this.y=t,this.h=o,this.d=function(e,t,o){let n=!1,i=1/0;for(const s of o)for(let o=0,r=s.length,a=r-1;o<r;a=o++){const r=s[o],l=s[a];r[1]>t!=l[1]>t&&e<(l[0]-r[0])*(t-r[1])/(l[1]-r[1])+r[0]&&(n=!n),i=Math.min(i,Bt(e,t,r,l))}return 0===i?0:(n?1:-1)*Math.sqrt(i)}(e,t,n),this.max=this.d+this.h*Math.SQRT2}function Bt(e,t,o,n){let i=o[0],s=o[1],r=n[0]-i,a=n[1]-s;if(0!==r||0!==a){const o=((e-i)*r+(t-s)*a)/(r*r+a*a);o>1?(i=n[0],s=n[1]):o>0&&(i+=r*o,s+=a*o)}return r=e-i,a=t-s,r*r+a*a}var Dt,Rt={exports:{}};var At=(Dt||(Dt=1,function(e){var t={};function o(e){return Math.floor(Math.abs(e)+.5)*(e>=0?1:-1)}function n(e,t,n){var i=2*((e=o(e*n))-(t=o(t*n)));i<0&&(i=-i-1);for(var s="";i>=32;)s+=String.fromCharCode(63+(32|31&i)),i/=32;return s+=String.fromCharCode(63+(0|i))}function i(e){for(var t=[],o=0;o<e.length;o++){var n=e[o].slice();t.push([n[1],n[0]])}return t}t.decode=function(e,t){for(var o,n=0,i=0,s=0,r=[],a=0,l=0,c=null,g=Math.pow(10,Number.isInteger(t)?t:5);n<e.length;){c=null,a=1,l=0;do{l+=(31&(c=e.charCodeAt(n++)-63))*a,a*=32}while(c>=32);o=1&l?(-l-1)/2:l/2,a=1,l=0;do{l+=(31&(c=e.charCodeAt(n++)-63))*a,a*=32}while(c>=32);i+=o,s+=1&l?(-l-1)/2:l/2,r.push([i/g,s/g])}return r},t.encode=function(e,t){if(!e.length)return"";for(var o=Math.pow(10,Number.isInteger(t)?t:5),i=n(e[0][0],0,o)+n(e[0][1],0,o),s=1;s<e.length;s++){var r=e[s],a=e[s-1];i+=n(r[0],a[0],o),i+=n(r[1],a[1],o)}return i},t.fromGeoJSON=function(e,o){if(e&&"Feature"===e.type&&(e=e.geometry),!e||"LineString"!==e.type)throw new Error("Input must be a GeoJSON LineString");return t.encode(i(e.coordinates),o)},t.toGeoJSON=function(e,o){return{type:"LineString",coordinates:i(t.decode(e,o))}},e.exports&&(e.exports=t)}(Rt)),Rt.exports),Ut=i(At);class Wt{centerPoint=null;constructor(){}get(e,t,o,n,i){this.centerPoint=new google.maps.LatLng(e,t);var s=o/6378137*(180/Math.PI),r=s/Math.cos(e*(Math.PI/180)),a=[],l=0,c=0;i-n<0&&(i+=360);for(var g=n*Math.PI/180,p=i*Math.PI/180,u=0;g<p;u++)g=(n+u)*Math.PI/180,l=e+s*Math.cos(g),c=t+r*Math.sin(g),a.push(new google.maps.LatLng(l,c));return a}reduce(e,t){var o=[];o.push(e.getAt(0));for(var n=1;n<e.getLength()-2;n++)n%10==1&&o.push(e.getAt(n));return o.push(e.getAt(e.getLength()-2)),o.push(e.getAt(e.getLength()-1)),t?o.reverse():o}edit(e,t,o,n,i,s,r){var a=360;if(s){var l='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 48 48" width="48" height="48">';l+='<path fill="rgba(255,255,255,0.01)" d="M 0, 24 a 24,24 0 1,0 48,0 a 24,24 0 1,0 -48,0" />',l+='<path fill="rgba(255,255,255,1)" stroke="#303030" stroke-width="1" d="M24 24 m-4,0 a 4,4,0 0,1 8,0 a 4,4 0 0,1 -8,0z" />',l+="</svg>";var c={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(l),anchor:new google.maps.Point(24,24),id:"sizerIconTop"},g={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(l),anchor:new google.maps.Point(24,24),id:"sizerIconRight"},p={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(l),anchor:new google.maps.Point(24,24),id:"sizerIconBottom"},u={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(l),anchor:new google.maps.Point(24,24),id:"sizerIconLeft"},d={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(l),anchor:new google.maps.Point(24,24),id:"centerIcon"};0;var h={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 52 52" style="enable-background:new 0 0 52 52;" xml:space="preserve"><g transform="scale(0.4 0.4)"><path style="fill:#ffa500;" d="M38.853,5.324L38.853,5.324c-7.098-7.098-18.607-7.098-25.706,0h0 C6.751,11.72,6.031,23.763,11.459,31L26,52l14.541-21C45.969,23.763,45.249,11.72,38.853,5.324z"/><g transform="translate(13.2 5.9) scale(0.8 0.8)"><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 15.78125 0.0546875 C 15.710938 0.0859375 14.742188 1.03125 13.625 2.148438 C 11.136719 4.644531 11.257812 4.351562 12.300781 5.386719 C 12.957031 6.050781 13.011719 6.09375 13.25 6.09375 C 13.480469 6.09375 13.542969 6.050781 14.0625 5.53125 L 14.625 4.96875 L 14.625 8.019531 C 14.625 11.261719 14.636719 11.398438 14.925781 11.554688 C 15.09375 11.648438 16.90625 11.648438 17.074219 11.554688 C 17.363281 11.398438 17.375 11.261719 17.375 8.019531 L 17.375 4.96875 L 17.9375 5.53125 C 18.457031 6.050781 18.519531 6.09375 18.75 6.09375 C 18.988281 6.09375 19.042969 6.050781 19.699219 5.386719 C 20.742188 4.351562 20.867188 4.648438 18.34375 2.125 C 16.210938 -0.0078125 16.105469 -0.0859375 15.78125 0.0546875 Z M 15.78125 0.0546875 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 4.21875 11.617188 C 4.148438 11.648438 3.179688 12.59375 2.0625 13.710938 C 0.0703125 15.710938 0.03125 15.75 0.03125 16 C 0.03125 16.25 0.0703125 16.289062 2.113281 18.324219 C 4.648438 20.867188 4.351562 20.742188 5.386719 19.699219 C 6.050781 19.042969 6.09375 18.988281 6.09375 18.75 C 6.09375 18.519531 6.050781 18.457031 5.53125 17.9375 L 4.96875 17.375 L 8.019531 17.375 C 11.261719 17.375 11.398438 17.363281 11.554688 17.074219 C 11.648438 16.90625 11.648438 15.09375 11.554688 14.925781 C 11.398438 14.636719 11.261719 14.625 8.019531 14.625 L 4.96875 14.625 L 5.53125 14.0625 C 6.050781 13.542969 6.09375 13.480469 6.09375 13.25 C 6.09375 13.011719 6.050781 12.957031 5.40625 12.3125 C 4.699219 11.613281 4.5 11.492188 4.21875 11.617188 Z M 4.21875 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 27.34375 11.617188 C 27.273438 11.648438 26.925781 11.976562 26.5625 12.335938 C 25.949219 12.957031 25.90625 13.011719 25.90625 13.25 C 25.90625 13.480469 25.949219 13.542969 26.46875 14.0625 L 27.03125 14.625 L 23.980469 14.625 C 20.738281 14.625 20.601562 14.636719 20.445312 14.925781 C 20.351562 15.09375 20.351562 16.90625 20.445312 17.074219 C 20.601562 17.363281 20.738281 17.375 23.980469 17.375 L 27.03125 17.375 L 26.46875 17.9375 C 25.949219 18.457031 25.90625 18.519531 25.90625 18.75 C 25.90625 18.988281 25.949219 19.042969 26.613281 19.699219 C 27.648438 20.742188 27.351562 20.867188 29.886719 18.324219 C 31.929688 16.289062 31.96875 16.25 31.96875 16 C 31.96875 15.75 31.929688 15.710938 29.90625 13.6875 C 27.773438 11.554688 27.675781 11.476562 27.34375 11.617188 Z M 27.34375 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 14.917969 20.445312 C 14.636719 20.605469 14.625 20.757812 14.625 23.980469 L 14.625 27.03125 L 14.0625 26.46875 C 13.542969 25.949219 13.480469 25.90625 13.25 25.90625 C 13.011719 25.90625 12.957031 25.949219 12.300781 26.613281 C 11.257812 27.648438 11.132812 27.351562 13.675781 29.886719 C 15.710938 31.929688 15.75 31.96875 16 31.96875 C 16.25 31.96875 16.289062 31.929688 18.324219 29.886719 C 20.867188 27.351562 20.742188 27.648438 19.699219 26.613281 C 19.042969 25.949219 18.988281 25.90625 18.75 25.90625 C 18.519531 25.90625 18.457031 25.949219 17.9375 26.46875 L 17.375 27.03125 L 17.375 23.980469 C 17.375 20.738281 17.363281 20.601562 17.074219 20.445312 C 16.90625 20.355469 15.070312 20.355469 14.917969 20.445312 Z M 14.917969 20.445312 "/></g></g></svg>'),anchor:new google.maps.Point(30,60),id:"handleIconUp"};0;var m={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 52 52" style="enable-background:new 0 0 52 52;" xml:space="preserve"><g transform="scale(0.4 0.4) rotate(180 26 26)"><path style="fill:#ffa500;" d="M38.853,5.324L38.853,5.324c-7.098-7.098-18.607-7.098-25.706,0h0 C6.751,11.72,6.031,23.763,11.459,31L26,52l14.541-21C45.969,23.763,45.249,11.72,38.853,5.324z"/><g transform="translate(13.2 5.9) scale(0.8 0.8)"><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 15.78125 0.0546875 C 15.710938 0.0859375 14.742188 1.03125 13.625 2.148438 C 11.136719 4.644531 11.257812 4.351562 12.300781 5.386719 C 12.957031 6.050781 13.011719 6.09375 13.25 6.09375 C 13.480469 6.09375 13.542969 6.050781 14.0625 5.53125 L 14.625 4.96875 L 14.625 8.019531 C 14.625 11.261719 14.636719 11.398438 14.925781 11.554688 C 15.09375 11.648438 16.90625 11.648438 17.074219 11.554688 C 17.363281 11.398438 17.375 11.261719 17.375 8.019531 L 17.375 4.96875 L 17.9375 5.53125 C 18.457031 6.050781 18.519531 6.09375 18.75 6.09375 C 18.988281 6.09375 19.042969 6.050781 19.699219 5.386719 C 20.742188 4.351562 20.867188 4.648438 18.34375 2.125 C 16.210938 -0.0078125 16.105469 -0.0859375 15.78125 0.0546875 Z M 15.78125 0.0546875 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 4.21875 11.617188 C 4.148438 11.648438 3.179688 12.59375 2.0625 13.710938 C 0.0703125 15.710938 0.03125 15.75 0.03125 16 C 0.03125 16.25 0.0703125 16.289062 2.113281 18.324219 C 4.648438 20.867188 4.351562 20.742188 5.386719 19.699219 C 6.050781 19.042969 6.09375 18.988281 6.09375 18.75 C 6.09375 18.519531 6.050781 18.457031 5.53125 17.9375 L 4.96875 17.375 L 8.019531 17.375 C 11.261719 17.375 11.398438 17.363281 11.554688 17.074219 C 11.648438 16.90625 11.648438 15.09375 11.554688 14.925781 C 11.398438 14.636719 11.261719 14.625 8.019531 14.625 L 4.96875 14.625 L 5.53125 14.0625 C 6.050781 13.542969 6.09375 13.480469 6.09375 13.25 C 6.09375 13.011719 6.050781 12.957031 5.40625 12.3125 C 4.699219 11.613281 4.5 11.492188 4.21875 11.617188 Z M 4.21875 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 27.34375 11.617188 C 27.273438 11.648438 26.925781 11.976562 26.5625 12.335938 C 25.949219 12.957031 25.90625 13.011719 25.90625 13.25 C 25.90625 13.480469 25.949219 13.542969 26.46875 14.0625 L 27.03125 14.625 L 23.980469 14.625 C 20.738281 14.625 20.601562 14.636719 20.445312 14.925781 C 20.351562 15.09375 20.351562 16.90625 20.445312 17.074219 C 20.601562 17.363281 20.738281 17.375 23.980469 17.375 L 27.03125 17.375 L 26.46875 17.9375 C 25.949219 18.457031 25.90625 18.519531 25.90625 18.75 C 25.90625 18.988281 25.949219 19.042969 26.613281 19.699219 C 27.648438 20.742188 27.351562 20.867188 29.886719 18.324219 C 31.929688 16.289062 31.96875 16.25 31.96875 16 C 31.96875 15.75 31.929688 15.710938 29.90625 13.6875 C 27.773438 11.554688 27.675781 11.476562 27.34375 11.617188 Z M 27.34375 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 14.917969 20.445312 C 14.636719 20.605469 14.625 20.757812 14.625 23.980469 L 14.625 27.03125 L 14.0625 26.46875 C 13.542969 25.949219 13.480469 25.90625 13.25 25.90625 C 13.011719 25.90625 12.957031 25.949219 12.300781 26.613281 C 11.257812 27.648438 11.132812 27.351562 13.675781 29.886719 C 15.710938 31.929688 15.75 31.96875 16 31.96875 C 16.25 31.96875 16.289062 31.929688 18.324219 29.886719 C 20.867188 27.351562 20.742188 27.648438 19.699219 26.613281 C 19.042969 25.949219 18.988281 25.90625 18.75 25.90625 C 18.519531 25.90625 18.457031 25.949219 17.9375 26.46875 L 17.375 27.03125 L 17.375 23.980469 C 17.375 20.738281 17.363281 20.601562 17.074219 20.445312 C 16.90625 20.355469 15.070312 20.355469 14.917969 20.445312 Z M 14.917969 20.445312 "/></g></g></svg>'),anchor:new google.maps.Point(30,0),id:"handleIconDown"}}else c={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconTop"},g={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconRight"},p={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconBottom"},u={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconLeft"},d={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"centerIcon"};function f(e,t){this.set("map",e),this.set("position",n);var i=new google.maps.Marker({icon:d,draggable:!0,raiseOnDrag:!1,title:"Move me!",id:"centerMarker"});i.bindTo("map",this),i.bindTo("position",this);var a=new v;return a.bindTo("map",this),a.bindTo("center",this,"position"),this.bindTo("distance",a),this.bindTo("bounds",a),s&&(google.maps.event.addListener(i,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(d):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(c):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(g):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(p):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),"centerIcon"==i.getIcon().id?i.setIcon(m):i.setIcon(d)})),google.maps.event.addListener(i,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(d):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(c):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(g):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(p):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),i.setIcon(m)})),r.push(i)),o}function v(){o=new google.maps.Polygon({id:t.id,strokeColor:t.strokeColor,strokeOpacity:t.strokeOpacity,strokeWeight:t.strokeWeight,fillColor:t.fillColor,fillOpacity:t.fillOpacity,zIndex:t.zIndex,isHole:t.isHole}),this.set("distance",i),this.bindTo("bounds",o),t.setVisible(!1),o.bindTo("map",this);var e=new google.maps.Circle({strokeColor:"#000000",strokeOpacity:.2,strokeWeight:2,fillColor:"#000000",fillOpacity:0});this.bindTo("bounds",e),e.bindTo("center",this),e.bindTo("map",this),e.bindTo("radius",this),this.addSizerTop_(),this.addSizerRight_(),this.addSizerBottom_(),this.addSizerLeft_()}return f.prototype=new google.maps.MVCObject,v.prototype=new google.maps.MVCObject,v.prototype.distance_changed=function(){this.set("radius",this.get("distance"))},v.prototype.addSizerTop_=function(){var e=new google.maps.Marker({icon:c,draggable:!0,crossOnDrag:!1,title:"I'm the top radius sizer, drag me!",cursor:"row-resize",id:"sizerTop"});e.bindTo("map",this),e.bindTo("position",this,"sizerTop_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(d):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(c):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(g):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(p):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),"sizerIconTop"==e.getIcon().id?e.setIcon(h):e.setIcon(c)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(d):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(c):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(g):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(p):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),e.setIcon(h)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){t.set("sizerTop_position",new google.maps.LatLng(t.get("sizerTop_position").lat(),t.get("center").lng()));var e=t.get("sizerTop_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,5,0)):n>2e3&&t.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,2e3,0)),t.setDistanceTop()})),google.maps.event.addListener(e,"dragend",(function(){t.set("sizerTop_position",new google.maps.LatLng(t.get("sizerTop_position").lat(),t.get("center").lng()));var e=t.get("sizerTop_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,5,0)):n>2e3&&t.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,2e3,0)),t.setDistanceTop()}))},v.prototype.addSizerRight_=function(){var e=new google.maps.Marker({icon:g,draggable:!0,crossOnDrag:!1,title:"I'm the right radius sizer, drag me!",cursor:"col-resize",id:"sizerRight"});e.bindTo("map",this),e.bindTo("position",this,"sizerRight_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(d):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(c):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(g):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(p):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),"sizerIconRight"==e.getIcon().id?e.setIcon(m):e.setIcon(g)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(d):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(c):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(g):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(p):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),e.setIcon(m)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){t.set("sizerRight_position",new google.maps.LatLng(t.get("center").lat(),t.get("sizerRight_position").lng()));var e=t.get("sizerRight_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,5,90)):n>2e3&&t.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,2e3,90)),t.setDistanceRight()})),google.maps.event.addListener(e,"dragend",(function(){t.set("sizerRight_position",new google.maps.LatLng(t.get("center").lat(),t.get("sizerRight_position").lng()));var e=t.get("sizerRight_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,5,90)):n>2e3&&t.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,2e3,90)),t.setDistanceRight()}))},v.prototype.addSizerBottom_=function(){var e=new google.maps.Marker({icon:p,draggable:!0,crossOnDrag:!1,title:"I'm the bottom radius sizer, drag me!",cursor:"row-resize",id:"sizerBottom"});e.bindTo("map",this),e.bindTo("position",this,"sizerBottom_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(d):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(c):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(g):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(p):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),"sizerIconBottom"==e.getIcon().id?e.setIcon(m):e.setIcon(p)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(d):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(c):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(g):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(p):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),e.setIcon(m)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){t.set("sizerBottom_position",new google.maps.LatLng(t.get("sizerBottom_position").lat(),t.get("center").lng()));var e=t.get("sizerBottom_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,5,180)):n>2e3&&t.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,2e3,180)),t.setDistanceBottom()})),google.maps.event.addListener(e,"dragend",(function(){t.set("sizerBottom_position",new google.maps.LatLng(t.get("sizerBottom_position").lat(),t.get("center").lng()));var e=t.get("sizerBottom_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,5,180)):n>2e3&&t.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,2e3,180)),t.setDistanceBottom()}))},v.prototype.addSizerLeft_=function(){var e=new google.maps.Marker({icon:u,draggable:!0,crossOnDrag:!1,title:"I'm the left radius sizer, drag me!",cursor:"col-resize",id:"sizerLeft"});e.bindTo("map",this),e.bindTo("position",this,"sizerLeft_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(d):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(c):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(g):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(p):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),"sizerIconLeft"==e.getIcon().id?e.setIcon(m):e.setIcon(u)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(d):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(c):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(g):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(p):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(u)})),e.setIcon(m)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){t.set("sizerLeft_position",new google.maps.LatLng(t.get("center").lat(),t.get("sizerLeft_position").lng()));var e=t.get("sizerLeft_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,5,270)):n>2e3&&t.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,2e3,270)),t.setDistanceLeft()})),google.maps.event.addListener(e,"dragend",(function(){t.set("sizerLeft_position",new google.maps.LatLng(t.get("center").lat(),t.get("sizerLeft_position").lng()));var e=t.get("sizerLeft_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,5,270)):n>2e3&&t.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,2e3,270)),t.setDistanceLeft()}))},v.prototype.center_changed=function(){var e=this.get("bounds");this.get("center");var t=this.get("distance");if(e){var n=(new Wt).get(this.get("center").lat(),this.get("center").lng(),t,0,a);o.setPath(n);var i=e.getNorthEast().lat(),s=e.getNorthEast().lng(),r=e.getSouthWest().lat(),l=e.getSouthWest().lng(),c=new google.maps.LatLng(i,this.get("center").lng()),g=new google.maps.LatLng(this.get("center").lat(),s),p=new google.maps.LatLng(r,this.get("center").lng()),u=new google.maps.LatLng(this.get("center").lat(),l);this.set("sizerTop_position",c),this.set("sizerRight_position",g),this.set("sizerBottom_position",p),this.set("sizerLeft_position",u)}},v.prototype.setDistanceTop=function(){var e=this.get("sizerTop_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Wt).get(this.get("center").lat(),this.get("center").lng(),n,0,a);o.setPath(i),this.set("distance",n),this.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(t,n,90)),this.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(t,n,180)),this.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(t,n,270))},v.prototype.setDistanceRight=function(){var e=this.get("sizerRight_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Wt).get(this.get("center").lat(),this.get("center").lng(),n,0,a);o.setPath(i),this.set("distance",n),this.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(t,n,0)),this.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(t,n,180)),this.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(t,n,270))},v.prototype.setDistanceBottom=function(){var e=this.get("sizerBottom_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Wt).get(this.get("center").lat(),this.get("center").lng(),n,0,a);o.setPath(i),this.set("distance",n),this.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(t,n,0)),this.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(t,n,90)),this.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(t,n,270))},v.prototype.setDistanceLeft=function(){var e=this.get("sizerLeft_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Wt).get(this.get("center").lat(),this.get("center").lng(),n,0,a);o.setPath(i),this.set("distance",n),this.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(t,n,0)),this.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(t,n,90)),this.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(t,n,180))},new f(e)}}class Zt{centerPoint=null;constructor(){}get(e,t,o,n,i){this.centerPoint=new google.maps.LatLng(e,t);var s=o/6378137*(180/Math.PI),r=s/Math.cos(e*(Math.PI/180)),a=[],l=0,c=0;a.push(this.centerPoint),i-n<0&&(i+=360);for(var g=n*Math.PI/180,p=i*Math.PI/180,u=0;g<p;u++)g=(n+u)*Math.PI/180,l=e+s*Math.cos(g),c=t+r*Math.sin(g),a.push(new google.maps.LatLng(l,c));return a.push(this.centerPoint),a}reduce(e,t){for(var o=[],n=1;n<e.getLength()-2;n++)n%5==1&&o.push(e.getAt(n));return o.push(e.getAt(e.getLength()-2)),o.push(e.getAt(e.getLength()-1)),t?o.reverse():o}edit(e,t,o,n,i,s,r){var a=60,l=120;if(s){var c='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 48 48" width="48" height="48">';c+='<path fill="rgba(255,255,255,0.01)" d="M 0, 24 a 24,24 0 1,0 48,0 a 24,24 0 1,0 -48,0" />',c+='<path fill="rgba(255,255,255,1)" stroke="#303030" stroke-width="1" d="M24 24 m-4,0 a 4,4,0 0,1 8,0 a 4,4 0 0,1 -8,0z" />',c+="</svg>";var g={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(c),anchor:new google.maps.Point(24,24),id:"sizerIconTop"},p={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(c),anchor:new google.maps.Point(24,24),id:"sizerIconRight"},u={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(c),anchor:new google.maps.Point(24,24),id:"sizerIconBottom"},d={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(c),anchor:new google.maps.Point(24,24),id:"sizerIconLeft"},h={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(c),anchor:new google.maps.Point(24,24),id:"centerIcon"};0;var m={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 52 52" style="enable-background:new 0 0 52 52;" xml:space="preserve"><g transform="scale(0.4 0.4)"><path style="fill:#ffa500;" d="M38.853,5.324L38.853,5.324c-7.098-7.098-18.607-7.098-25.706,0h0 C6.751,11.72,6.031,23.763,11.459,31L26,52l14.541-21C45.969,23.763,45.249,11.72,38.853,5.324z"/><g transform="translate(13.2 5.9) scale(0.8 0.8)"><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 15.78125 0.0546875 C 15.710938 0.0859375 14.742188 1.03125 13.625 2.148438 C 11.136719 4.644531 11.257812 4.351562 12.300781 5.386719 C 12.957031 6.050781 13.011719 6.09375 13.25 6.09375 C 13.480469 6.09375 13.542969 6.050781 14.0625 5.53125 L 14.625 4.96875 L 14.625 8.019531 C 14.625 11.261719 14.636719 11.398438 14.925781 11.554688 C 15.09375 11.648438 16.90625 11.648438 17.074219 11.554688 C 17.363281 11.398438 17.375 11.261719 17.375 8.019531 L 17.375 4.96875 L 17.9375 5.53125 C 18.457031 6.050781 18.519531 6.09375 18.75 6.09375 C 18.988281 6.09375 19.042969 6.050781 19.699219 5.386719 C 20.742188 4.351562 20.867188 4.648438 18.34375 2.125 C 16.210938 -0.0078125 16.105469 -0.0859375 15.78125 0.0546875 Z M 15.78125 0.0546875 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 4.21875 11.617188 C 4.148438 11.648438 3.179688 12.59375 2.0625 13.710938 C 0.0703125 15.710938 0.03125 15.75 0.03125 16 C 0.03125 16.25 0.0703125 16.289062 2.113281 18.324219 C 4.648438 20.867188 4.351562 20.742188 5.386719 19.699219 C 6.050781 19.042969 6.09375 18.988281 6.09375 18.75 C 6.09375 18.519531 6.050781 18.457031 5.53125 17.9375 L 4.96875 17.375 L 8.019531 17.375 C 11.261719 17.375 11.398438 17.363281 11.554688 17.074219 C 11.648438 16.90625 11.648438 15.09375 11.554688 14.925781 C 11.398438 14.636719 11.261719 14.625 8.019531 14.625 L 4.96875 14.625 L 5.53125 14.0625 C 6.050781 13.542969 6.09375 13.480469 6.09375 13.25 C 6.09375 13.011719 6.050781 12.957031 5.40625 12.3125 C 4.699219 11.613281 4.5 11.492188 4.21875 11.617188 Z M 4.21875 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 27.34375 11.617188 C 27.273438 11.648438 26.925781 11.976562 26.5625 12.335938 C 25.949219 12.957031 25.90625 13.011719 25.90625 13.25 C 25.90625 13.480469 25.949219 13.542969 26.46875 14.0625 L 27.03125 14.625 L 23.980469 14.625 C 20.738281 14.625 20.601562 14.636719 20.445312 14.925781 C 20.351562 15.09375 20.351562 16.90625 20.445312 17.074219 C 20.601562 17.363281 20.738281 17.375 23.980469 17.375 L 27.03125 17.375 L 26.46875 17.9375 C 25.949219 18.457031 25.90625 18.519531 25.90625 18.75 C 25.90625 18.988281 25.949219 19.042969 26.613281 19.699219 C 27.648438 20.742188 27.351562 20.867188 29.886719 18.324219 C 31.929688 16.289062 31.96875 16.25 31.96875 16 C 31.96875 15.75 31.929688 15.710938 29.90625 13.6875 C 27.773438 11.554688 27.675781 11.476562 27.34375 11.617188 Z M 27.34375 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 14.917969 20.445312 C 14.636719 20.605469 14.625 20.757812 14.625 23.980469 L 14.625 27.03125 L 14.0625 26.46875 C 13.542969 25.949219 13.480469 25.90625 13.25 25.90625 C 13.011719 25.90625 12.957031 25.949219 12.300781 26.613281 C 11.257812 27.648438 11.132812 27.351562 13.675781 29.886719 C 15.710938 31.929688 15.75 31.96875 16 31.96875 C 16.25 31.96875 16.289062 31.929688 18.324219 29.886719 C 20.867188 27.351562 20.742188 27.648438 19.699219 26.613281 C 19.042969 25.949219 18.988281 25.90625 18.75 25.90625 C 18.519531 25.90625 18.457031 25.949219 17.9375 26.46875 L 17.375 27.03125 L 17.375 23.980469 C 17.375 20.738281 17.363281 20.601562 17.074219 20.445312 C 16.90625 20.355469 15.070312 20.355469 14.917969 20.445312 Z M 14.917969 20.445312 "/></g></g></svg>'),anchor:new google.maps.Point(30,60),id:"handleIconUp"};0;var f={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 52 52" style="enable-background:new 0 0 52 52;" xml:space="preserve"><g transform="scale(0.4 0.4) rotate(180 26 26)"><path style="fill:#ffa500;" d="M38.853,5.324L38.853,5.324c-7.098-7.098-18.607-7.098-25.706,0h0 C6.751,11.72,6.031,23.763,11.459,31L26,52l14.541-21C45.969,23.763,45.249,11.72,38.853,5.324z"/><g transform="translate(13.2 5.9) scale(0.8 0.8)"><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 15.78125 0.0546875 C 15.710938 0.0859375 14.742188 1.03125 13.625 2.148438 C 11.136719 4.644531 11.257812 4.351562 12.300781 5.386719 C 12.957031 6.050781 13.011719 6.09375 13.25 6.09375 C 13.480469 6.09375 13.542969 6.050781 14.0625 5.53125 L 14.625 4.96875 L 14.625 8.019531 C 14.625 11.261719 14.636719 11.398438 14.925781 11.554688 C 15.09375 11.648438 16.90625 11.648438 17.074219 11.554688 C 17.363281 11.398438 17.375 11.261719 17.375 8.019531 L 17.375 4.96875 L 17.9375 5.53125 C 18.457031 6.050781 18.519531 6.09375 18.75 6.09375 C 18.988281 6.09375 19.042969 6.050781 19.699219 5.386719 C 20.742188 4.351562 20.867188 4.648438 18.34375 2.125 C 16.210938 -0.0078125 16.105469 -0.0859375 15.78125 0.0546875 Z M 15.78125 0.0546875 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 4.21875 11.617188 C 4.148438 11.648438 3.179688 12.59375 2.0625 13.710938 C 0.0703125 15.710938 0.03125 15.75 0.03125 16 C 0.03125 16.25 0.0703125 16.289062 2.113281 18.324219 C 4.648438 20.867188 4.351562 20.742188 5.386719 19.699219 C 6.050781 19.042969 6.09375 18.988281 6.09375 18.75 C 6.09375 18.519531 6.050781 18.457031 5.53125 17.9375 L 4.96875 17.375 L 8.019531 17.375 C 11.261719 17.375 11.398438 17.363281 11.554688 17.074219 C 11.648438 16.90625 11.648438 15.09375 11.554688 14.925781 C 11.398438 14.636719 11.261719 14.625 8.019531 14.625 L 4.96875 14.625 L 5.53125 14.0625 C 6.050781 13.542969 6.09375 13.480469 6.09375 13.25 C 6.09375 13.011719 6.050781 12.957031 5.40625 12.3125 C 4.699219 11.613281 4.5 11.492188 4.21875 11.617188 Z M 4.21875 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 27.34375 11.617188 C 27.273438 11.648438 26.925781 11.976562 26.5625 12.335938 C 25.949219 12.957031 25.90625 13.011719 25.90625 13.25 C 25.90625 13.480469 25.949219 13.542969 26.46875 14.0625 L 27.03125 14.625 L 23.980469 14.625 C 20.738281 14.625 20.601562 14.636719 20.445312 14.925781 C 20.351562 15.09375 20.351562 16.90625 20.445312 17.074219 C 20.601562 17.363281 20.738281 17.375 23.980469 17.375 L 27.03125 17.375 L 26.46875 17.9375 C 25.949219 18.457031 25.90625 18.519531 25.90625 18.75 C 25.90625 18.988281 25.949219 19.042969 26.613281 19.699219 C 27.648438 20.742188 27.351562 20.867188 29.886719 18.324219 C 31.929688 16.289062 31.96875 16.25 31.96875 16 C 31.96875 15.75 31.929688 15.710938 29.90625 13.6875 C 27.773438 11.554688 27.675781 11.476562 27.34375 11.617188 Z M 27.34375 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 14.917969 20.445312 C 14.636719 20.605469 14.625 20.757812 14.625 23.980469 L 14.625 27.03125 L 14.0625 26.46875 C 13.542969 25.949219 13.480469 25.90625 13.25 25.90625 C 13.011719 25.90625 12.957031 25.949219 12.300781 26.613281 C 11.257812 27.648438 11.132812 27.351562 13.675781 29.886719 C 15.710938 31.929688 15.75 31.96875 16 31.96875 C 16.25 31.96875 16.289062 31.929688 18.324219 29.886719 C 20.867188 27.351562 20.742188 27.648438 19.699219 26.613281 C 19.042969 25.949219 18.988281 25.90625 18.75 25.90625 C 18.519531 25.90625 18.457031 25.949219 17.9375 26.46875 L 17.375 27.03125 L 17.375 23.980469 C 17.375 20.738281 17.363281 20.601562 17.074219 20.445312 C 16.90625 20.355469 15.070312 20.355469 14.917969 20.445312 Z M 14.917969 20.445312 "/></g></g></svg>'),anchor:new google.maps.Point(30,0),id:"handleIconDown"},v='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 48 48" width="48" height="48">';v+='<path fill="rgba(255,255,255,0.01)" d="M 0, 24 a 24,24 0 1,0 48,0 a 24,24 0 1,0 -48,0" />',v+='<path fill="rgba(255,255,255,1)" stroke="'+t.strokeColor+'" stroke-width="1" d="M24 24 m-4,0 a 4,4,0 0,1 8,0 a 4,4 0 0,1 -8,0z" />',v+="</svg>";var y={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(v),anchor:new google.maps.Point(24,24),id:"startPinIcon"},L={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(v),anchor:new google.maps.Point(24,24),id:"endPinIcon"}}else g={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconTop"},p={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconRight"},u={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconBottom"},d={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconLeft"},h={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"centerIcon"},y={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"startPinIcon"},L={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"endPinIcon"};function I(e,t){this.set("map",e),this.set("position",n);var i=new google.maps.Marker({icon:h,draggable:!0,raiseOnDrag:!1,title:"Move me!",id:"centerMarker"});i.bindTo("map",this),i.bindTo("position",this);var a=new C;return a.bindTo("map",this),a.bindTo("center",this,"position"),this.bindTo("distance",a),this.bindTo("bounds",a),s&&(google.maps.event.addListener(i,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),"centerIcon"==i.getIcon().id?i.setIcon(f):i.setIcon(h)})),google.maps.event.addListener(i,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),i.setIcon(f)})),r.push(i)),o}function C(){o=new google.maps.Polygon({id:t.id,strokeColor:t.strokeColor,strokeOpacity:t.strokeOpacity,strokeWeight:t.strokeWeight,fillColor:t.fillColor,fillOpacity:t.fillOpacity,zIndex:t.zIndex,isHole:t.isHole}),this.set("distance",i),this.bindTo("bounds",o),t.setVisible(!1),o.bindTo("map",this);var e=new google.maps.Circle({strokeColor:"#000000",strokeOpacity:.2,strokeWeight:2,fillColor:"#000000",fillOpacity:0});this.bindTo("bounds",e),e.bindTo("center",this),e.bindTo("map",this),e.bindTo("radius",this),this.addSizerTop_(),this.addSizerRight_(),this.addSizerBottom_(),this.addSizerLeft_(),this.addStartPin_(),this.addEndPin_()}return I.prototype=new google.maps.MVCObject,C.prototype=new google.maps.MVCObject,C.prototype.distance_changed=function(){this.set("radius",this.get("distance"))},C.prototype.addStartPin_=function(){var e=new google.maps.Marker({icon:y,draggable:!0,raiseOnDrag:!1,title:"Drag me!",id:"startPin"});e.bindTo("map",this),e.bindTo("position",this,"startPin_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),"startPinIcon"==e.getIcon().id?a>90&&a<270?e.setIcon(f):e.setIcon(m):e.setIcon(y)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),a>90&&a<270?e.setIcon(f):e.setIcon(m)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){var e=t.get("startPin_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);a=google.maps.geometry.spherical.computeHeading(o,e),n<5?t.set("startPin_position",google.maps.geometry.spherical.computeOffset(o,5,a)):n>2e3&&t.set("startPin_position",google.maps.geometry.spherical.computeOffset(o,2e3,a)),t.setDistanceRight()})),google.maps.event.addListener(e,"dragend",(function(){var e=t.get("startPin_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);a=google.maps.geometry.spherical.computeHeading(o,e),n<5?t.set("startPin_position",google.maps.geometry.spherical.computeOffset(o,5,a)):n>2e3&&t.set("startPin_position",google.maps.geometry.spherical.computeOffset(o,2e3,a)),t.setDistanceRight()}))},C.prototype.addEndPin_=function(){var e=new google.maps.Marker({icon:L,draggable:!0,crossOnDrag:!1,title:"Drag me!",id:"endPin"});e.bindTo("map",this),e.bindTo("position",this,"endPin_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),"endPinIcon"==e.getIcon().id?l>90&&l<270?e.setIcon(f):e.setIcon(m):e.setIcon(L)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),l>90&&l<270?e.setIcon(f):e.setIcon(m)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){var e=t.get("endPin_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);l=google.maps.geometry.spherical.computeHeading(o,e),n<5?t.set("endPin_position",google.maps.geometry.spherical.computeOffset(o,5,l)):n>2e3&&t.set("endPin_position",google.maps.geometry.spherical.computeOffset(o,2e3,l)),t.setDistanceRight()})),google.maps.event.addListener(e,"dragend",(function(){var e=t.get("endPin_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);l=google.maps.geometry.spherical.computeHeading(o,e),n<5?t.set("endPin_position",google.maps.geometry.spherical.computeOffset(o,5,l)):n>2e3&&t.set("endPin_position",google.maps.geometry.spherical.computeOffset(o,2e3,l)),t.setDistanceRight()}))},C.prototype.addSizerTop_=function(){var e=new google.maps.Marker({icon:g,draggable:!0,crossOnDrag:!1,title:"I'm the top radius sizer, drag me!",cursor:"row-resize",id:"sizerTop"});e.bindTo("map",this),e.bindTo("position",this,"sizerTop_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),"sizerIconTop"==e.getIcon().id?e.setIcon(m):e.setIcon(g)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),e.setIcon(m)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){t.set("sizerTop_position",new google.maps.LatLng(t.get("sizerTop_position").lat(),t.get("center").lng()));var e=t.get("sizerTop_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,5,0)):n>2e3&&t.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,2e3,0)),t.setDistanceTop()})),google.maps.event.addListener(e,"dragend",(function(){t.set("sizerTop_position",new google.maps.LatLng(t.get("sizerTop_position").lat(),t.get("center").lng()));var e=t.get("sizerTop_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,5,0)):n>2e3&&t.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,2e3,0)),t.setDistanceTop()}))},C.prototype.addSizerRight_=function(){var e=new google.maps.Marker({icon:p,draggable:!0,crossOnDrag:!1,title:"I'm the right radius sizer, drag me!",cursor:"col-resize",id:"sizerRight"});e.bindTo("map",this),e.bindTo("position",this,"sizerRight_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),"sizerIconRight"==e.getIcon().id?e.setIcon(f):e.setIcon(p)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),e.setIcon(f)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){t.set("sizerRight_position",new google.maps.LatLng(t.get("center").lat(),t.get("sizerRight_position").lng()));var e=t.get("sizerRight_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,5,90)):n>2e3&&t.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,2e3,90)),t.setDistanceRight()})),google.maps.event.addListener(e,"dragend",(function(){t.set("sizerRight_position",new google.maps.LatLng(t.get("center").lat(),t.get("sizerRight_position").lng()));var e=t.get("sizerRight_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,5,90)):n>2e3&&t.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,2e3,90)),t.setDistanceRight()}))},C.prototype.addSizerBottom_=function(){var e=new google.maps.Marker({icon:u,draggable:!0,crossOnDrag:!1,title:"I'm the bottom radius sizer, drag me!",cursor:"row-resize",id:"sizerBottom"});e.bindTo("map",this),e.bindTo("position",this,"sizerBottom_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),"sizerIconBottom"==e.getIcon().id?e.setIcon(f):e.setIcon(u)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),e.setIcon(f)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){t.set("sizerBottom_position",new google.maps.LatLng(t.get("sizerBottom_position").lat(),t.get("center").lng()));var e=t.get("sizerBottom_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,5,180)):n>2e3&&t.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,2e3,180)),t.setDistanceBottom()})),google.maps.event.addListener(e,"dragend",(function(){t.set("sizerBottom_position",new google.maps.LatLng(t.get("sizerBottom_position").lat(),t.get("center").lng()));var e=t.get("sizerBottom_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,5,180)):n>2e3&&t.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,2e3,180)),t.setDistanceBottom()}))},C.prototype.addSizerLeft_=function(){var e=new google.maps.Marker({icon:d,draggable:!0,crossOnDrag:!1,title:"I'm the left radius sizer, drag me!",cursor:"col-resize",id:"sizerLeft"});e.bindTo("map",this),e.bindTo("position",this,"sizerLeft_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),"sizerIconLeft"==e.getIcon().id?e.setIcon(f):e.setIcon(d)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(h):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(y):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(L):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(g):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(p):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(u):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(d)})),e.setIcon(f)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){t.set("sizerLeft_position",new google.maps.LatLng(t.get("center").lat(),t.get("sizerLeft_position").lng()));var e=t.get("sizerLeft_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,5,270)):n>2e3&&t.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,2e3,270)),t.setDistanceLeft()})),google.maps.event.addListener(e,"dragend",(function(){t.set("sizerLeft_position",new google.maps.LatLng(t.get("center").lat(),t.get("sizerLeft_position").lng()));var e=t.get("sizerLeft_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);n<5?t.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,5,270)):n>2e3&&t.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,2e3,270)),t.setDistanceLeft()}))},C.prototype.center_changed=function(){var e=this.get("bounds");this.get("center");var t=this.get("distance");if(e){var n=(new Zt).get(this.get("center").lat(),this.get("center").lng(),t,a,l);o.setPath(n);var i=e.getNorthEast().lat(),s=e.getNorthEast().lng(),r=e.getSouthWest().lat(),c=e.getSouthWest().lng(),g=new google.maps.LatLng(i,this.get("center").lng()),p=new google.maps.LatLng(this.get("center").lat(),s),u=new google.maps.LatLng(r,this.get("center").lng()),d=new google.maps.LatLng(this.get("center").lat(),c);this.set("sizerTop_position",g),this.set("sizerRight_position",p),this.set("sizerBottom_position",u),this.set("sizerLeft_position",d),this.set("startPin_position",n[1]),this.set("endPin_position",n[n.length-2])}},C.prototype.setDistanceTop=function(){var e=this.get("sizerTop_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Zt).get(t.lat(),t.lng(),n,a,l);o.setPath(i),this.set("startPin_position",i[1]),this.set("endPin_position",i[i.length-2]),this.set("distance",n),this.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(t,n,90)),this.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(t,n,180)),this.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(t,n,270))},C.prototype.setDistanceRight=function(){var e=this.get("sizerRight_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Zt).get(t.lat(),t.lng(),n,a,l);o.setPath(i),this.set("startPin_position",i[1]),this.set("endPin_position",i[i.length-2]),this.set("distance",n),this.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(t,n,0)),this.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(t,n,180)),this.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(t,n,270))},C.prototype.setDistanceBottom=function(){var e=this.get("sizerBottom_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Zt).get(t.lat(),t.lng(),n,a,l);o.setPath(i),this.set("startPin_position",i[1]),this.set("endPin_position",i[i.length-2]),this.set("distance",n),this.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(t,n,0)),this.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(t,n,90)),this.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(t,n,270))},C.prototype.setDistanceLeft=function(){var e=this.get("sizerLeft_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Zt).get(t.lat(),t.lng(),n,a,l);o.setPath(i),this.set("startPin_position",i[1]),this.set("endPin_position",i[i.length-2]),this.set("distance",n),this.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(t,n,0)),this.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(t,n,90)),this.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(t,n,180))},new I(e)}}class Ft{centerPoint=null;startHeading=0;endHeading=160;constructor(){}get(e,t,o,n,i){this.centerPoint=new google.maps.LatLng(e,t);var s=o/6378137*(180/Math.PI),r=s/Math.cos(e*(Math.PI/180)),a=[],l=0,c=0;i-n<0&&(i+=360);for(var g=n*Math.PI/180,p=i*Math.PI/180,u=0;g<p;u++)g=(n+u)*Math.PI/180,l=e+s*Math.cos(g),c=t+r*Math.sin(g),a.push(new google.maps.LatLng(l,c));return a.push(a[0]),a}reduce(e,t){for(var o=[],n=0;n<e.getLength()-2;n++)n%5==0&&o.push(e.getAt(n));return o.push(e.getAt(e.getLength()-2)),o.push(e.getAt(e.getLength()-1)),t?o.reverse():o}edit(e,t,o,n,i,s,r){var a=0,l=160,c=null,g=null,p=null,u=null,d=null;if(s){var h='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 48 48" width="48" height="48">';h+='<path fill="rgba(255,255,255,0.01)" d="M 0, 24 a 24,24 0 1,0 48,0 a 24,24 0 1,0 -48,0" />',h+='<path fill="rgba(255,255,255,1)" stroke="#303030" stroke-width="1" d="M24 24 m-4,0 a 4,4,0 0,1 8,0 a 4,4 0 0,1 -8,0z" />',h+="</svg>";var m={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(h),anchor:new google.maps.Point(24,24),id:"sizerIconTop"},f={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(h),anchor:new google.maps.Point(24,24),id:"sizerIconRight"},v={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(h),anchor:new google.maps.Point(24,24),id:"sizerIconBottom"},y={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(h),anchor:new google.maps.Point(24,24),id:"sizerIconLeft"},L={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(h),anchor:new google.maps.Point(24,24),id:"centerIcon"};0;var I={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 52 52" style="enable-background:new 0 0 52 52;" xml:space="preserve"><g transform="scale(0.4 0.4)"><path style="fill:#ffa500;" d="M38.853,5.324L38.853,5.324c-7.098-7.098-18.607-7.098-25.706,0h0 C6.751,11.72,6.031,23.763,11.459,31L26,52l14.541-21C45.969,23.763,45.249,11.72,38.853,5.324z"/><g transform="translate(13.2 5.9) scale(0.8 0.8)"><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 15.78125 0.0546875 C 15.710938 0.0859375 14.742188 1.03125 13.625 2.148438 C 11.136719 4.644531 11.257812 4.351562 12.300781 5.386719 C 12.957031 6.050781 13.011719 6.09375 13.25 6.09375 C 13.480469 6.09375 13.542969 6.050781 14.0625 5.53125 L 14.625 4.96875 L 14.625 8.019531 C 14.625 11.261719 14.636719 11.398438 14.925781 11.554688 C 15.09375 11.648438 16.90625 11.648438 17.074219 11.554688 C 17.363281 11.398438 17.375 11.261719 17.375 8.019531 L 17.375 4.96875 L 17.9375 5.53125 C 18.457031 6.050781 18.519531 6.09375 18.75 6.09375 C 18.988281 6.09375 19.042969 6.050781 19.699219 5.386719 C 20.742188 4.351562 20.867188 4.648438 18.34375 2.125 C 16.210938 -0.0078125 16.105469 -0.0859375 15.78125 0.0546875 Z M 15.78125 0.0546875 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 4.21875 11.617188 C 4.148438 11.648438 3.179688 12.59375 2.0625 13.710938 C 0.0703125 15.710938 0.03125 15.75 0.03125 16 C 0.03125 16.25 0.0703125 16.289062 2.113281 18.324219 C 4.648438 20.867188 4.351562 20.742188 5.386719 19.699219 C 6.050781 19.042969 6.09375 18.988281 6.09375 18.75 C 6.09375 18.519531 6.050781 18.457031 5.53125 17.9375 L 4.96875 17.375 L 8.019531 17.375 C 11.261719 17.375 11.398438 17.363281 11.554688 17.074219 C 11.648438 16.90625 11.648438 15.09375 11.554688 14.925781 C 11.398438 14.636719 11.261719 14.625 8.019531 14.625 L 4.96875 14.625 L 5.53125 14.0625 C 6.050781 13.542969 6.09375 13.480469 6.09375 13.25 C 6.09375 13.011719 6.050781 12.957031 5.40625 12.3125 C 4.699219 11.613281 4.5 11.492188 4.21875 11.617188 Z M 4.21875 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 27.34375 11.617188 C 27.273438 11.648438 26.925781 11.976562 26.5625 12.335938 C 25.949219 12.957031 25.90625 13.011719 25.90625 13.25 C 25.90625 13.480469 25.949219 13.542969 26.46875 14.0625 L 27.03125 14.625 L 23.980469 14.625 C 20.738281 14.625 20.601562 14.636719 20.445312 14.925781 C 20.351562 15.09375 20.351562 16.90625 20.445312 17.074219 C 20.601562 17.363281 20.738281 17.375 23.980469 17.375 L 27.03125 17.375 L 26.46875 17.9375 C 25.949219 18.457031 25.90625 18.519531 25.90625 18.75 C 25.90625 18.988281 25.949219 19.042969 26.613281 19.699219 C 27.648438 20.742188 27.351562 20.867188 29.886719 18.324219 C 31.929688 16.289062 31.96875 16.25 31.96875 16 C 31.96875 15.75 31.929688 15.710938 29.90625 13.6875 C 27.773438 11.554688 27.675781 11.476562 27.34375 11.617188 Z M 27.34375 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 14.917969 20.445312 C 14.636719 20.605469 14.625 20.757812 14.625 23.980469 L 14.625 27.03125 L 14.0625 26.46875 C 13.542969 25.949219 13.480469 25.90625 13.25 25.90625 C 13.011719 25.90625 12.957031 25.949219 12.300781 26.613281 C 11.257812 27.648438 11.132812 27.351562 13.675781 29.886719 C 15.710938 31.929688 15.75 31.96875 16 31.96875 C 16.25 31.96875 16.289062 31.929688 18.324219 29.886719 C 20.867188 27.351562 20.742188 27.648438 19.699219 26.613281 C 19.042969 25.949219 18.988281 25.90625 18.75 25.90625 C 18.519531 25.90625 18.457031 25.949219 17.9375 26.46875 L 17.375 27.03125 L 17.375 23.980469 C 17.375 20.738281 17.363281 20.601562 17.074219 20.445312 C 16.90625 20.355469 15.070312 20.355469 14.917969 20.445312 Z M 14.917969 20.445312 "/></g></g></svg>'),anchor:new google.maps.Point(30,60),id:"handleIconUp"};0;var C={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 52 52" style="enable-background:new 0 0 52 52;" xml:space="preserve"><g transform="scale(0.4 0.4) rotate(180 26 26)"><path style="fill:#ffa500;" d="M38.853,5.324L38.853,5.324c-7.098-7.098-18.607-7.098-25.706,0h0 C6.751,11.72,6.031,23.763,11.459,31L26,52l14.541-21C45.969,23.763,45.249,11.72,38.853,5.324z"/><g transform="translate(13.2 5.9) scale(0.8 0.8)"><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 15.78125 0.0546875 C 15.710938 0.0859375 14.742188 1.03125 13.625 2.148438 C 11.136719 4.644531 11.257812 4.351562 12.300781 5.386719 C 12.957031 6.050781 13.011719 6.09375 13.25 6.09375 C 13.480469 6.09375 13.542969 6.050781 14.0625 5.53125 L 14.625 4.96875 L 14.625 8.019531 C 14.625 11.261719 14.636719 11.398438 14.925781 11.554688 C 15.09375 11.648438 16.90625 11.648438 17.074219 11.554688 C 17.363281 11.398438 17.375 11.261719 17.375 8.019531 L 17.375 4.96875 L 17.9375 5.53125 C 18.457031 6.050781 18.519531 6.09375 18.75 6.09375 C 18.988281 6.09375 19.042969 6.050781 19.699219 5.386719 C 20.742188 4.351562 20.867188 4.648438 18.34375 2.125 C 16.210938 -0.0078125 16.105469 -0.0859375 15.78125 0.0546875 Z M 15.78125 0.0546875 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 4.21875 11.617188 C 4.148438 11.648438 3.179688 12.59375 2.0625 13.710938 C 0.0703125 15.710938 0.03125 15.75 0.03125 16 C 0.03125 16.25 0.0703125 16.289062 2.113281 18.324219 C 4.648438 20.867188 4.351562 20.742188 5.386719 19.699219 C 6.050781 19.042969 6.09375 18.988281 6.09375 18.75 C 6.09375 18.519531 6.050781 18.457031 5.53125 17.9375 L 4.96875 17.375 L 8.019531 17.375 C 11.261719 17.375 11.398438 17.363281 11.554688 17.074219 C 11.648438 16.90625 11.648438 15.09375 11.554688 14.925781 C 11.398438 14.636719 11.261719 14.625 8.019531 14.625 L 4.96875 14.625 L 5.53125 14.0625 C 6.050781 13.542969 6.09375 13.480469 6.09375 13.25 C 6.09375 13.011719 6.050781 12.957031 5.40625 12.3125 C 4.699219 11.613281 4.5 11.492188 4.21875 11.617188 Z M 4.21875 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 27.34375 11.617188 C 27.273438 11.648438 26.925781 11.976562 26.5625 12.335938 C 25.949219 12.957031 25.90625 13.011719 25.90625 13.25 C 25.90625 13.480469 25.949219 13.542969 26.46875 14.0625 L 27.03125 14.625 L 23.980469 14.625 C 20.738281 14.625 20.601562 14.636719 20.445312 14.925781 C 20.351562 15.09375 20.351562 16.90625 20.445312 17.074219 C 20.601562 17.363281 20.738281 17.375 23.980469 17.375 L 27.03125 17.375 L 26.46875 17.9375 C 25.949219 18.457031 25.90625 18.519531 25.90625 18.75 C 25.90625 18.988281 25.949219 19.042969 26.613281 19.699219 C 27.648438 20.742188 27.351562 20.867188 29.886719 18.324219 C 31.929688 16.289062 31.96875 16.25 31.96875 16 C 31.96875 15.75 31.929688 15.710938 29.90625 13.6875 C 27.773438 11.554688 27.675781 11.476562 27.34375 11.617188 Z M 27.34375 11.617188 "/><path style=" stroke:none;fill-rule:nonzero;fill:rgb(255,255,255);fill-opacity:1;" d="M 14.917969 20.445312 C 14.636719 20.605469 14.625 20.757812 14.625 23.980469 L 14.625 27.03125 L 14.0625 26.46875 C 13.542969 25.949219 13.480469 25.90625 13.25 25.90625 C 13.011719 25.90625 12.957031 25.949219 12.300781 26.613281 C 11.257812 27.648438 11.132812 27.351562 13.675781 29.886719 C 15.710938 31.929688 15.75 31.96875 16 31.96875 C 16.25 31.96875 16.289062 31.929688 18.324219 29.886719 C 20.867188 27.351562 20.742188 27.648438 19.699219 26.613281 C 19.042969 25.949219 18.988281 25.90625 18.75 25.90625 C 18.519531 25.90625 18.457031 25.949219 17.9375 26.46875 L 17.375 27.03125 L 17.375 23.980469 C 17.375 20.738281 17.363281 20.601562 17.074219 20.445312 C 16.90625 20.355469 15.070312 20.355469 14.917969 20.445312 Z M 14.917969 20.445312 "/></g></g></svg>'),anchor:new google.maps.Point(30,0),id:"handleIconDown"},b='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 48 48" width="48" height="48">';b+='<path fill="rgba(255,255,255,0.01)" d="M 0, 24 a 24,24 0 1,0 48,0 a 24,24 0 1,0 -48,0" />',b+='<path fill="rgba(255,255,255,1)" stroke="'+t.strokeColor+'" stroke-width="1" d="M24 24 m-4,0 a 4,4,0 0,1 8,0 a 4,4 0 0,1 -8,0z" />',b+="</svg>";var w={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(b),anchor:new google.maps.Point(24,24),id:"startPinIcon"},k={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa(b),anchor:new google.maps.Point(24,24),id:"endPinIcon"}}else m={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconTop"},f={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconRight"},v={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconBottom"},y={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"sizerIconLeft"},L={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"centerIcon"},w={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"startPinIcon"},k={path:"M4 4m-4,0a4,4,0 0,1 8,0a 4,4 0 0,1 -8,0z",fillColor:"#ffffff",fillOpacity:1,anchor:new google.maps.Point(4,4),strokeWeight:1,strokeOpacity:1,strokeColor:"#303030",scale:1,id:"endPinIcon"};function M(e,t){this.set("map",e),this.set("position",n),(c=new google.maps.Marker({icon:L,draggable:!0,raiseOnDrag:!1,title:"Move me!",id:"centerMarker"})).bindTo("map",this),c.bindTo("position",this);var i=new P;return i.bindTo("map",this),i.bindTo("center",this,"position"),this.bindTo("distance",i),this.bindTo("bounds",i),s&&(google.maps.event.addListener(c,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),"centerIcon"==c.getIcon().id?c.setIcon(C):c.setIcon(L)})),google.maps.event.addListener(c,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),c.setIcon(C)})),r.push(c)),o}function P(){o=new google.maps.Polygon({id:t.id,strokeColor:t.strokeColor,strokeOpacity:t.strokeOpacity,strokeWeight:t.strokeWeight,fillColor:t.fillColor,fillOpacity:t.fillOpacity,zIndex:t.zIndex,isHole:t.isHole}),this.set("distance",i),this.bindTo("bounds",o),t.setVisible(!1),o.bindTo("map",this);var e=new google.maps.Circle({strokeColor:"#000000",strokeOpacity:.2,strokeWeight:2,fillColor:"#000000",fillOpacity:0});this.bindTo("bounds",e),e.bindTo("center",this),e.bindTo("map",this),e.bindTo("radius",this),this.addSizerTop_(),this.addSizerRight_(),this.addSizerBottom_(),this.addSizerLeft_(),this.addStartPin_(),this.addEndPin_()}return M.prototype=new google.maps.MVCObject,P.prototype=new google.maps.MVCObject,P.prototype.distance_changed=function(){this.set("radius",this.get("distance"))},P.prototype.addStartPin_=function(){var e=new google.maps.Marker({icon:w,draggable:!0,raiseOnDrag:!1,title:"Drag me!",id:"startPin"});e.bindTo("map",this),e.bindTo("position",this,"startPin_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),"startPinIcon"==e.getIcon().id?a>90&&a<270?e.setIcon(C):e.setIcon(I):e.setIcon(w)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),a>90&&a<270?e.setIcon(C):e.setIcon(I)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){var e=t.get("startPin_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);a=google.maps.geometry.spherical.computeHeading(o,e),n<5?t.set("startPin_position",google.maps.geometry.spherical.computeOffset(o,5,a)):n>2e3&&t.set("startPin_position",google.maps.geometry.spherical.computeOffset(o,2e3,a)),t.setDistanceRight()})),google.maps.event.addListener(e,"dragend",(function(){var e=t.get("startPin_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);a=google.maps.geometry.spherical.computeHeading(o,e),n<5?t.set("startPin_position",google.maps.geometry.spherical.computeOffset(o,5,a)):n>2e3&&t.set("startPin_position",google.maps.geometry.spherical.computeOffset(o,2e3,a)),t.setDistanceRight()}))},P.prototype.addEndPin_=function(){var e=new google.maps.Marker({icon:k,draggable:!0,crossOnDrag:!1,title:"Drag me!",id:"endPin"});e.bindTo("map",this),e.bindTo("position",this,"endPin_position");var t=this;s&&(google.maps.event.addListener(e,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),"endPinIcon"==e.getIcon().id?l>90&&l<270?e.setIcon(C):e.setIcon(I):e.setIcon(k)})),google.maps.event.addListener(e,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),l>90&&l<270?e.setIcon(C):e.setIcon(I)})),r.push(e)),google.maps.event.addListener(e,"drag",(function(){var e=t.get("endPin_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);l=google.maps.geometry.spherical.computeHeading(o,e),n<5?t.set("endPin_position",google.maps.geometry.spherical.computeOffset(o,5,l)):n>2e3&&t.set("endPin_position",google.maps.geometry.spherical.computeOffset(o,2e3,l)),t.setDistanceRight()})),google.maps.event.addListener(e,"dragend",(function(){var e=t.get("endPin_position"),o=t.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,e);l=google.maps.geometry.spherical.computeHeading(o,e),n<5?t.set("endPin_position",google.maps.geometry.spherical.computeOffset(o,5,l)):n>2e3&&t.set("endPin_position",google.maps.geometry.spherical.computeOffset(o,2e3,l)),t.setDistanceRight()}))},P.prototype.addSizerTop_=function(){(g=new google.maps.Marker({icon:m,draggable:!0,crossOnDrag:!1,title:"I'm the top radius sizer, drag me!",cursor:"row-resize",id:"sizerTop"})).bindTo("map",this),g.bindTo("position",this,"sizerTop_position");var e=this;s&&(google.maps.event.addListener(g,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),"sizerIconTop"==g.getIcon().id?g.setIcon(I):g.setIcon(m)})),google.maps.event.addListener(g,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),g.setIcon(I)})),r.push(g)),google.maps.event.addListener(g,"drag",(function(){e.set("sizerTop_position",new google.maps.LatLng(e.get("sizerTop_position").lat(),e.get("center").lng()));var t=e.get("sizerTop_position"),o=e.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,t);n<5?e.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,5,0)):n>2e3&&e.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,2e3,0)),e.setDistanceTop()})),google.maps.event.addListener(g,"dragend",(function(){e.set("sizerTop_position",new google.maps.LatLng(e.get("sizerTop_position").lat(),e.get("center").lng()));var t=e.get("sizerTop_position"),o=e.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,t);n<5?e.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,5,0)):n>2e3&&e.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(o,2e3,0)),e.setDistanceTop()}))},P.prototype.addSizerRight_=function(){(u=new google.maps.Marker({icon:f,draggable:!0,crossOnDrag:!1,title:"I'm the right radius sizer, drag me!",cursor:"col-resize",id:"sizerRight"})).bindTo("map",this),u.bindTo("position",this,"sizerRight_position");var e=this;s&&(google.maps.event.addListener(u,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),"sizerIconRight"==u.getIcon().id?u.setIcon(C):u.setIcon(f)})),google.maps.event.addListener(u,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),u.setIcon(C)})),r.push(u)),google.maps.event.addListener(u,"drag",(function(){e.set("sizerRight_position",new google.maps.LatLng(e.get("center").lat(),e.get("sizerRight_position").lng()));var t=e.get("sizerRight_position"),o=e.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,t);n<5?e.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,5,90)):n>2e3&&e.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,2e3,90)),e.setDistanceRight()})),google.maps.event.addListener(u,"dragend",(function(){e.set("sizerRight_position",new google.maps.LatLng(e.get("center").lat(),e.get("sizerRight_position").lng()));var t=e.get("sizerRight_position"),o=e.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,t);n<5?e.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,5,90)):n>2e3&&e.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(o,2e3,90)),e.setDistanceRight()}))},P.prototype.addSizerBottom_=function(){(d=new google.maps.Marker({icon:v,draggable:!0,crossOnDrag:!1,title:"I'm the bottom radius sizer, drag me!",cursor:"row-resize",id:"sizerBottom"})).bindTo("map",this),d.bindTo("position",this,"sizerBottom_position");var e=this;s&&(google.maps.event.addListener(d,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),"sizerIconBottom"==d.getIcon().id?d.setIcon(C):d.setIcon(v)})),google.maps.event.addListener(d,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),d.setIcon(C)})),r.push(d)),google.maps.event.addListener(d,"drag",(function(){e.set("sizerBottom_position",new google.maps.LatLng(e.get("sizerBottom_position").lat(),e.get("center").lng()));var t=e.get("sizerBottom_position"),o=e.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,t);n<5?e.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,5,180)):n>2e3&&e.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,2e3,180)),e.setDistanceBottom()})),google.maps.event.addListener(d,"dragend",(function(){e.set("sizerBottom_position",new google.maps.LatLng(e.get("sizerBottom_position").lat(),e.get("center").lng()));var t=e.get("sizerBottom_position"),o=e.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,t);n<5?e.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,5,180)):n>2e3&&e.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(o,2e3,180)),e.setDistanceBottom()}))},P.prototype.addSizerLeft_=function(){(p=new google.maps.Marker({icon:y,draggable:!0,crossOnDrag:!1,title:"I'm the left radius sizer, drag me!",cursor:"col-resize",id:"sizerLeft"})).bindTo("map",this),p.bindTo("position",this,"sizerLeft_position");var e=this;s&&(google.maps.event.addListener(p,"click",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),"sizerIconLeft"==p.getIcon().id?p.setIcon(C):p.setIcon(y)})),google.maps.event.addListener(p,"dragstart",(function(){r.length>0&&r.forEach((function(e,t){"centerMarker"==e.id&&"centerIcon"!=e.getIcon().id?e.setIcon(L):"startPin"==e.id&&"startPinIcon"!=e.getIcon().id?e.setIcon(w):"endPin"==e.id&&"endPinIcon"!=e.getIcon().id?e.setIcon(k):"sizerTop"==e.id&&"sizerIconTop"!=e.getIcon().id?e.setIcon(m):"sizerRight"==e.id&&"sizerIconRight"!=e.getIcon().id?e.setIcon(f):"sizerBottom"==e.id&&"sizerIconBottom"!=e.getIcon().id?e.setIcon(v):"sizerLeft"==e.id&&"sizerIconLeft"!=e.getIcon().id&&e.setIcon(y)})),p.setIcon(C)})),r.push(p)),google.maps.event.addListener(p,"drag",(function(){e.set("sizerLeft_position",new google.maps.LatLng(e.get("center").lat(),e.get("sizerLeft_position").lng()));var t=e.get("sizerLeft_position"),o=e.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,t);n<5?e.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,5,270)):n>2e3&&e.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,2e3,270)),e.setDistanceLeft()})),google.maps.event.addListener(p,"dragend",(function(){e.set("sizerLeft_position",new google.maps.LatLng(e.get("center").lat(),e.get("sizerLeft_position").lng()));var t=e.get("sizerLeft_position"),o=e.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(o,t);n<5?e.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,5,270)):n>2e3&&e.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(o,2e3,270)),e.setDistanceLeft()}))},P.prototype.center_changed=function(){var e=this.get("bounds");this.get("center");var t=this.get("distance");if(e){var n=(new Ft).get(this.get("center").lat(),this.get("center").lng(),t,a,l);o.setPath(n);var i=e.getNorthEast().lat(),s=e.getNorthEast().lng(),r=e.getSouthWest().lat(),c=e.getSouthWest().lng(),g=new google.maps.LatLng(i,this.get("center").lng()),p=new google.maps.LatLng(this.get("center").lat(),s),u=new google.maps.LatLng(r,this.get("center").lng()),d=new google.maps.LatLng(this.get("center").lat(),c);this.set("sizerTop_position",g),this.set("sizerRight_position",p),this.set("sizerBottom_position",u),this.set("sizerLeft_position",d),this.set("startPin_position",n[0]),this.set("endPin_position",n[n.length-2])}},P.prototype.setDistanceTop=function(){var e=this.get("sizerTop_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Ft).get(t.lat(),t.lng(),n,a,l);o.setPath(i),this.set("startPin_position",i[0]),this.set("endPin_position",i[i.length-2]),this.set("distance",n),this.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(t,n,90)),this.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(t,n,180)),this.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(t,n,270))},P.prototype.setDistanceRight=function(){var e=this.get("sizerRight_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Ft).get(t.lat(),t.lng(),n,a,l);o.setPath(i),this.set("startPin_position",i[0]),this.set("endPin_position",i[i.length-2]),this.set("distance",n),this.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(t,n,0)),this.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(t,n,180)),this.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(t,n,270))},P.prototype.setDistanceBottom=function(){var e=this.get("sizerBottom_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Ft).get(t.lat(),t.lng(),n,a,l);o.setPath(i),this.set("startPin_position",i[0]),this.set("endPin_position",i[i.length-2]),this.set("distance",n),this.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(t,n,0)),this.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(t,n,90)),this.set("sizerLeft_position",google.maps.geometry.spherical.computeOffset(t,n,270))},P.prototype.setDistanceLeft=function(){var e=this.get("sizerLeft_position"),t=this.get("center"),n=google.maps.geometry.spherical.computeDistanceBetween(t,e),i=(new Ft).get(t.lat(),t.lng(),n,a,l);o.setPath(i),this.set("startPin_position",i[0]),this.set("endPin_position",i[i.length-2]),this.set("distance",n),this.set("sizerTop_position",google.maps.geometry.spherical.computeOffset(t,n,0)),this.set("sizerRight_position",google.maps.geometry.spherical.computeOffset(t,n,90)),this.set("sizerBottom_position",google.maps.geometry.spherical.computeOffset(t,n,180))},new M(e)}}var jt,Nt={exports:{}};jt||(jt=1,function(e){var t={};function o(e,t){e=Math.round(e*t),(e<<=1)<0&&(e=~e);for(var o="";e>=32;)o+=String.fromCharCode(63+(32|31&e)),e>>=5;return o+=String.fromCharCode(e+63)}function n(e){for(var t=[],o=0;o<e.length;o++)t.push(e[o].slice().reverse());return t}t.decode=function(e,t){for(var o,n=0,i=0,s=0,r=[],a=0,l=0,c=null,g=Math.pow(10,t||5);n<e.length;){c=null,a=0,l=0;do{l|=(31&(c=e.charCodeAt(n++)-63))<<a,a+=5}while(c>=32);o=1&l?~(l>>1):l>>1,a=l=0;do{l|=(31&(c=e.charCodeAt(n++)-63))<<a,a+=5}while(c>=32);i+=o,s+=1&l?~(l>>1):l>>1,r.push([i/g,s/g])}return r},t.encode=function(e,t){if(!e.length)return"";for(var n=Math.pow(10,t||5),i=o(e[0][0],n)+o(e[0][1],n),s=1;s<e.length;s++){var r=e[s],a=e[s-1];i+=o(r[0]-a[0],n),i+=o(r[1]-a[1],n)}return i},t.fromGeoJSON=function(e,o){if(e&&"Feature"===e.type&&(e=e.geometry),!e||"LineString"!==e.type)throw new Error("Input must be a GeoJSON LineString");return t.encode(n(e.coordinates),o)},t.toGeoJSON=function(e,o){return{type:"LineString",coordinates:n(t.decode(e,o))}},e.exports&&(e.exports=t)}(Nt));class Vt{constructor(e){var t,o,n,i,s,r,a=this,l=e,c=null,g=null,p=[],u=[],d=[],h={},m=[],f=[],v=[],y=[],L=[],I=[],C=[],b=[],w=[],k=[],M=[],P=[],z=null,x=null,E=null,S=null,O=null,_=20,T=20,B=[];function D(e,t="white"){var o=R(e.Poly),n=o.y,i=o.x,s=`${e.Area} ha`,r=function(e,t,o,n){var i=document.createElement("div");i.id="locname"+e,i.style.display="inline-block",i.style.fontFamily="Arial, sans-serif",i.style.fontSize=n+"px",i.textContent=t;var s=document.createElement("div");s.id="locarea"+e,s.style.display="inline-block",s.style.fontFamily="Arial, sans-serif",s.style.fontSize=n+"px",s.textContent=o;var r=document.createElement("div");r.id="locnameContainer"+e,r.style.position="absolute",r.style.top="0",r.style.left="-1000px";var a=document.createElement("div");a.id="locareaContainer"+e,a.style.position="absolute",a.style.top="0",a.style.left="-1000px",r.appendChild(i),a.appendChild(s),document.body.appendChild(r),document.body.appendChild(a);var l=document.getElementById("locname"+e),c=document.getElementById("locarea"+e),g=document.getElementById("locnameContainer"+e),p=document.getElementById("locareaContainer"+e),u=l.clientWidth,d=c.clientWidth;return g.remove(),p.remove(),{nameWidth:u,areaWidth:d}}(e.Id,e.LocationName,s,8),a=`<svg viewBox="0 0 200 30" xmlns="http://www.w3.org/2000/svg">\n <text x="0" y="12" fill="${t}" font-family="Arial, sans-serif" font-size="8px">${Mt.clearString(e.LocationName)}</text>\n <line x1="0" y1="15" x2="${Math.max(r.nameWidth,r.areaWidth)}" y2="15" style="stroke:${t};stroke-width:0.6"/>\n <text x="0" y="24" fill="${t}" font-family="Arial, sans-serif" font-size="8px">${s}</text>\n </svg>`,c=new google.maps.Marker({map:l,position:new google.maps.LatLng(parseFloat(n),parseFloat(i)),icon:{anchor:new google.maps.Point(1.3*r.nameWidth/2,21),url:`data:image/svg+xml;utf-8, ${a}`},id:`pl_${e.Id}`});y.push(c)}function R(e){var t=_t(e,1e-5);return{x:t[0],y:t[1]}}function A(){j(),v.forEach((function(e){p.push(google.maps.event.addListener(e,"mouseover",(function(t){j(),U(t,e.content)}))),p.push(google.maps.event.addListener(e,"mousemove",Z)),p.push(google.maps.event.addListener(e,"mouseout",j)),p.push(google.maps.event.addListener(e,"click",(function(e){j(),h.FieldOnClick(this.id)})))}))}function U(e,t){!O&&e&&((O=document.createElement("div")).style.cssText="background: rgba(0, 0, 0, 0.5); color: #ffffff; border-radius: 4px; padding: 5px 10px; text-align: left; font-size: 12px; position: fixed;",O.innerHTML=t,O.style.top=e.domEvent.clientY+window.scrollY+T+"px",O.style.left=e.domEvent.clientX+window.scrollX+_+"px",document.body.appendChild(O))}function W(e,t){!O&&e&&((O=document.createElement("div")).style.cssText="background: rgba(0, 0, 0, 0.5); color: #ffffff; border-radius: 4px; padding: 5px 10px; text-align: left; font-size: 12px; position: fixed;",O.innerHTML=t,O.style.top=e.clientY+window.scrollY+T+"px",O.style.left=e.clientX+window.scrollX+_+"px",document.body.appendChild(O))}function Z(e){O&&e&&(O.style.top=e.domEvent.clientY+window.scrollY+T+"px",O.style.left=e.domEvent.clientX+window.scrollX+_+"px")}function F(e){O&&e&&(O.style.top=e.clientY+window.scrollY+T+"px",O.style.left=e.clientX+window.scrollX+_+"px")}function j(){O&&(document.body.removeChild(O),O=null)}function N(e,t,o="field",n,i,s){if(l.getMapCapabilities().isAdvancedMarkersAvailable&&e&&e.length>0){var r=new google.maps.LatLngBounds;if(e.forEach((function(e){var n,i=new google.maps.LatLngBounds;"farm"===o?(i.extend(new google.maps.LatLng(e.minLat,e.minLng)),i.extend(new google.maps.LatLng(e.maxLat,e.maxLng))):e.Poly[0].forEach((function(e){i.extend(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0])))})),r.extend(i.getCenter());var s=function(e){const{iconName:t="pinIcon",fillColor:o="#f1a81e",width:n=30,height:i=41,strokeColor:s="#000000",strokeWidth:r=1}=e,a="http://www.w3.org/2000/svg",l=document.createElementNS(a,"svg");l.setAttribute("viewBox","0 0 57.64 83.57"),l.setAttribute("width",n),l.setAttribute("height",i),l.style.opacity=.8,l.style.zIndex=11e3;const c=document.createElementNS(a,"defs"),g=document.createElementNS(a,"clipPath");g.setAttribute("id",`clippath-${t}`);const p=document.createElementNS(a,"rect");p.setAttribute("width","57.64"),p.setAttribute("height","83.57"),c.appendChild(g),g.appendChild(p);const u=document.createElementNS(a,"style");u.textContent=`\n .cls-1 { clip-path: url(#clippath-${t}); }\n .cls-2 { fill: none; stroke: ${s}; stroke-width: ${r}; }\n .cls-3 { fill: ${o}; }\n `,c.appendChild(u),l.appendChild(c);const d=document.createElementNS(a,"g");d.setAttribute("class","cls-1");const h={pinIcon:"M16.01,31.23c-.07,7.22,5.73,12.51,11.98,12.86,3.84.22,7.17-1.04,9.9-3.73,2.36-2.32,3.64-5.2,3.77-8.49.31-7.8-5.87-13.21-12.29-13.47-7.66-.3-13.54,6.01-13.37,12.83M28.82.1c.43,0,.87-.03,1.3,0,.98.07,1.97.16,2.95.27,1.85.21,3.65.69,5.4,1.31,1.89.66,3.68,1.52,5.38,2.57,1.49.91,2.88,1.95,4.18,3.12,1.68,1.51,3.21,3.15,4.45,5.04.84,1.29,1.65,2.62,2.35,4,1.05,2.06,1.76,4.25,2.2,6.52.25,1.25.41,2.53.5,3.81.1,1.31.15,2.64.07,3.95-.15,2.38-.58,4.72-1.32,6.99-.64,1.97-1.49,3.87-2.54,5.67-1.07,1.83-2.08,3.7-3.13,5.54-.82,1.44-1.67,2.87-2.49,4.31-.8,1.39-1.58,2.78-2.37,4.17-.83,1.45-1.68,2.89-2.51,4.33-.68,1.18-1.34,2.37-2.02,3.55-1.3,2.26-2.61,4.52-3.91,6.79-1.02,1.77-2.02,3.55-3.04,5.32-.92,1.6-1.79,3.24-2.79,4.79-1.33,2.04-4.29,1.81-5.44-.18-1.33-2.3-2.67-4.6-3.99-6.91-1.42-2.46-2.82-4.93-4.23-7.39-1.18-2.06-2.36-4.12-3.54-6.18-1.36-2.37-2.74-4.73-4.1-7.1-1.29-2.25-2.57-4.5-3.83-6.76-1.21-2.17-2.46-4.32-3.6-6.53-1-1.93-1.66-4.01-2.09-6.14-.31-1.54-.58-3.09-.58-4.67,0-.48-.08-.96-.06-1.43.07-1.28.16-2.57.28-3.85.18-1.93.66-3.8,1.3-5.62.75-2.13,1.72-4.16,2.94-6.06,1.27-1.98,2.75-3.79,4.45-5.41,1.55-1.47,3.26-2.75,5.1-3.85,1.63-.98,3.36-1.77,5.14-2.42,1.61-.59,3.28-1.02,4.97-1.26,1.53-.22,3.09-.28,4.63-.41v.1"},m=document.createElementNS(a,"path");m.setAttribute("class","cls-3"),m.setAttribute("d",h[t]||"");const f=document.createElementNS(a,"path");return f.setAttribute("class","cls-2"),f.setAttribute("d",h[t]||""),d.appendChild(m),d.appendChild(f),l.appendChild(d),l}({iconName:t.name,fillColor:t.style.color,width:t.style.width,height:t.style.height,strokeColor:t.style.strokeColor,strokeWidth:t.style.strokeWidth});n=new google.maps.marker.AdvancedMarkerElement({map:l,position:i.getCenter(),content:s});const a="farm"===o?`${e.farmId}|${e.farmOrganization}|${e.farmName}`:`${e.Id}|${e.OrganisationName}|${e.FarmName}`;n.setAttribute("id",a),"farm"===o?u.push(n.addListener("click",(()=>{j(),h.AdvancedMarkerOnClick({type:"SUCCESS",message:"farm marker with id "+n.id+" clicked",code:200,data:e})}))):u.push(n.addListener("click",(()=>{j(),h.AdvancedMarkerOnClick({type:"SUCCESS",message:"field marker with id "+n.id+" clicked",code:200,data:e})}))),M.push(n)})),"farm"===o){if(n){var a=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){te(l.getCenter(),i,s)}));d.push(a),l.fitBounds(r)}j(),M.forEach((function(e){var t=e.id.split("|");u.push(e.content.addEventListener("mouseover",(function(e){j(),W(e,t[1]+"<br>Farm "+t[2])}))),u.push(e.content.addEventListener("mousemove",F)),u.push(e.content.addEventListener("mouseout",j))}))}}}function V(){M.forEach((function(e){e.setMap(null),e=null})),M=[]}function H(){p.forEach((function(e){google.maps.event.removeListener(e)})),p=[]}function $(){u.forEach((function(e){google.maps.event.removeListener(e)})),u=[]}function G(){d.forEach((function(e){google.maps.event.removeListener(e)})),d=[]}function Y(){L.forEach((function(e,t){e.setMap(null),e=null})),L=[]}function J(e,a,c,g,p,u,d){var h;if(void 0===n||void 0===i){var v=l.getBounds();v&&(t=Math.abs(v.getSouthWest().lat()-v.getNorthEast().lat()),o=Math.abs(v.getNorthEast().lng()-v.getSouthWest().lng()),n=o/a,i=t/c)}f=[],m.forEach((function(e){for(var t=e.getPath(),o=[],n=0;n<t.length;n++)o.push([t.getAt(n).lng(),t.getAt(n).lat()]);t.getAt(0).lng()==t.getAt(t.length-1).lng()&&t.getAt(0).lat()==t.getAt(t.length-1).lat()||o.push([t.getAt(0).lng(),t.getAt(0).lat()]),f.push(o)}));var y=R(f);s=y.y,r=y.x;for(var L=20;L>0;L--){var I=[];I.push([r-2*L*n,s+1.5*L*i]),I.push([r+2*L*n,s+1.5*L*i]),I.push([r+2*L*n,s-1.5*L*i]),I.push([r-2*L*n,s-1.5*L*i]),I.push([r-2*L*n,s+1.5*L*i]),f.push(I);var C=0;if(I.forEach((function(e,t){google.maps.geometry.poly.containsLocation(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0])),m[0])||C++})),0==C){if(!(f.length>2)){h=q(L,e,g,p,u,d);break}for(var b=0,w=1;w<f.length-1;w++)for(var k=w+1;k<f.length;k++)K(f[w],f[k])&&b++;if(0==b){h=q(L,e,g,p,u,d);break}f.pop()}else f.pop()}return h}function K(e,t){const o=new google.maps.Polygon({paths:e.map((e=>new google.maps.LatLng(e[1],e[0])))}),n=new google.maps.Polygon({paths:t.map((e=>new google.maps.LatLng(e[1],e[0])))});for(let e=0;e<t.length;e++){const n=new google.maps.LatLng(t[e][1],t[e][0]);if(google.maps.geometry.poly.containsLocation(n,o))return!0}for(let t=0;t<e.length;t++){const o=new google.maps.LatLng(e[t][1],e[t][0]);if(google.maps.geometry.poly.containsLocation(o,n))return!0}return!1}function q(e,t,o,a,c,g){var p=[];p.push(new google.maps.LatLng(s+1.5*e*i,r-2*e*n)),p.push(new google.maps.LatLng(s+1.5*e*i,r+2*e*n)),p.push(new google.maps.LatLng(s-1.5*e*i,r+2*e*n)),p.push(new google.maps.LatLng(s-1.5*e*i,r-2*e*n)),p.reverse();var u=Date.now()+Math.floor(1e5*Math.random()),h=new google.maps.Polygon({path:p,id:u.toString(),content:"",strokeColor:t.strokeColor,strokeOpacity:t.strokeOpacity,strokeWeight:t.strokeWeight,fillColor:t.fillColor,fillOpacity:t.fillOpacity,zIndex:10200,clickable:!0,editable:!1,draggable:!1,isPolygon:!0,isCircle:!1,isCircleSector:!1,isCircleSegment:!1,isHole:!0,latitude:0,longitude:0,poly:0,area:0,perimeter:0});m.push(h);var f=new google.maps.LatLngBounds;m[0].getPath().forEach((function(e,t){f.extend(e)}));var v=!1,y=google.maps.event.addListener(l,"bounds_changed",(function(){if(!v){var e=l.getProjection().fromLatLngToPoint(f.getSouthWest()),t=l.getProjection().fromLatLngToPoint(f.getNorthEast()),n=l.getZoom(),i=1<<n;(t.x-e.x)*i>=c&&l.setZoom(n-1),te(f.getCenter(),o,a),v=!v,z=(new Et).edit(l,h,z,g)}}));return d.push(y),l.fitBounds(f),u}function X(e,t,o,n,i,s,r,a,c){var g=[];i.forEach((function(e){g.push(new google.maps.LatLng(e.lat(),e.lng()))}));var p=Date.now()+Math.floor(1e5*Math.random()),u=new google.maps.Polygon({map:l,path:g,id:p.toString(),content:"",strokeColor:e.strokeColor,strokeOpacity:e.strokeOpacity,strokeWeight:e.strokeWeight,fillColor:e.fillColor,fillOpacity:e.fillOpacity,zIndex:10200,clickable:!0,editable:!1,draggable:!1,visible:!1,isPolygon:!1,isCircle:!0,isCircleSector:!1,isCircleSegment:!1,isHole:!0,latitude:0,longitude:0,poly:0,area:0,perimeter:0});m.push(u),x=(x=new Wt).edit(l,u,x,s,r,a,c);var h=new google.maps.LatLngBounds;m[0].getPath().forEach((function(e,t){h.extend(e)}));var f=!1,v=google.maps.event.addListener(l,"bounds_changed",(function(){if(!f){var e=l.getProjection().fromLatLngToPoint(h.getSouthWest()),i=l.getProjection().fromLatLngToPoint(h.getNorthEast()),s=l.getZoom(),r=1<<s;(i.x-e.x)*r>=n&&l.setZoom(s-1),te(h.getCenter(),t,o),f=!f}}));return d.push(v),l.fitBounds(h),p}function Q(e,t,o,n,i,s,r,a,c){var g=[];i.forEach((function(e){g.push(new google.maps.LatLng(e.lat(),e.lng()))}));var p=Date.now()+Math.floor(1e5*Math.random()),u=new google.maps.Polygon({map:l,path:g,id:p.toString(),content:"",strokeColor:e.strokeColor,strokeOpacity:e.strokeOpacity,strokeWeight:e.strokeWeight,fillColor:e.fillColor,fillOpacity:e.fillOpacity,zIndex:10200,clickable:!0,editable:!1,draggable:!1,visible:!1,isPolygon:!1,isCircle:!1,isCircleSector:!0,isCircleSegment:!1,isHole:!0,latitude:0,longitude:0,poly:0,area:0,perimeter:0});m.push(u),E=(E=new Zt).edit(l,u,E,s,r,a,c);var h=new google.maps.LatLngBounds;m[0].getPath().forEach((function(e,t){h.extend(e)}));var f=!1,v=google.maps.event.addListener(l,"bounds_changed",(function(){if(!f){var e=l.getProjection().fromLatLngToPoint(h.getSouthWest()),i=l.getProjection().fromLatLngToPoint(h.getNorthEast()),s=l.getZoom(),r=1<<s;(i.x-e.x)*r>=n&&l.setZoom(s-1),te(h.getCenter(),t,o),f=!f}}));return d.push(v),l.fitBounds(h),p}function ee(e,t,o,n,i,s,r,a,c){var g=[];i.forEach((function(e){g.push(new google.maps.LatLng(e.lat(),e.lng()))}));var p=Date.now()+Math.floor(1e5*Math.random()),u=new google.maps.Polygon({map:l,path:g,id:p.toString(),content:"",strokeColor:e.strokeColor,strokeOpacity:e.strokeOpacity,strokeWeight:e.strokeWeight,fillColor:e.fillColor,fillOpacity:e.fillOpacity,zIndex:10200,clickable:!0,editable:!1,draggable:!1,visible:!1,isPolygon:!1,isCircle:!1,isCircleSector:!1,isCircleSegment:!0,isHole:!0,latitude:0,longitude:0,poly:0,area:0,perimeter:0});m.push(u),S=(S=new Ft).edit(l,u,S,s,r,a,c);var h=new google.maps.LatLngBounds;m[0].getPath().forEach((function(e,t){h.extend(e)}));var f=!1,v=google.maps.event.addListener(l,"bounds_changed",(function(){if(!f){var e=l.getProjection().fromLatLngToPoint(h.getSouthWest()),i=l.getProjection().fromLatLngToPoint(h.getNorthEast()),s=l.getZoom(),r=1<<s;(i.x-e.x)*r>=n&&l.setZoom(s-1),te(h.getCenter(),t,o),f=!f}}));return d.push(v),l.fitBounds(h),p}function te(e,t,o){var n=1<<l.getZoom(),i=l.getProjection().fromLatLngToPoint(e),s=new google.maps.Point(t/n||0,o/n||0),r=new google.maps.Point(i.x-s.x,i.y+s.y),a=l.getProjection().fromPointToLatLng(r);l.setCenter(a)}function oe(e,t,o,n,i,s,r,a,g){G(),H(),$(),V(),Y(),function(e,t,o,n,i,s,r,a,g){var u,m,f=e,v=null,y=null;c=new google.maps.LatLngBounds,f.forEach((function(e){u=e.poly.split(","),m=[],u.forEach((function(e){var t=Ut.decode(e);y=[],t.forEach((function(e){y.push(new google.maps.LatLng(parseFloat(e[0]),parseFloat(e[1]))),c.extend(new google.maps.LatLng(parseFloat(e[0]),parseFloat(e[1])))})),m.push(y)}));var t=e.name;"Ward"==e.type&&(t="Ward "+e.name),v=new google.maps.Polygon({paths:m,strokeColor:"#000000",strokeOpacity:1,strokeWeight:3,fillColor:"#000000",fillOpacity:.3,zIndex:1e4,id:e.id,content:t,type:e.type,map:l}),L.push(v)})),function(e){j(),L.forEach((function(t){p.push(google.maps.event.addListener(t,"mouseover",(function(e){t.setOptions({strokeColor:"#f1a81e",zIndex:10010}),j(),U(e,t.content)}))),p.push(google.maps.event.addListener(t,"mousemove",Z)),p.push(google.maps.event.addListener(t,"mouseout",(function(e){t.setOptions({strokeColor:"#000000",zIndex:1e4}),j()}))),e||p.push(google.maps.event.addListener(t,"click",(function(e){j(),h.SAAdminPolyOnClick(this.id)})))}))}(g);var I=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){te(l.getCenter(),s,r)}));d.push(I),l.fitBounds(c)}(e,0,0,0,0,s,r,0,g)}function ne(e,t,o,n,i,s){G(),H(),$(),V(),Y();var r=google.maps.event.addListener(l,"dragend",(function(){l.getZoom()>=12&&l.getZoom()<=17?h.ReloadCadastralData({type:"SUCCESS",message:"Reload cadastral data on dragend",code:200,data:null}):(G(),Y(),l.getZoom()<12&&l.setZoom(12),l.getZoom()>17&&l.setZoom(17),h.ReloadCadastralData({type:"SUCCESS",message:"Reload cadastral data on dragend, zoom outside range",code:200,data:null}))}));d.push(r);var a=google.maps.event.addListener(l,"zoom_changed",(function(){l.getZoom()>=12&&l.getZoom()<=17?h.ReloadCadastralData({type:"SUCCESS",message:"Reload cadastral data on zoom changed",code:200,data:null}):(G(),Y(),l.getZoom()<12&&l.setZoom(12),l.getZoom()>17&&l.setZoom(17),h.ReloadCadastralData({type:"SUCCESS",message:"Reload cadastral data on zoom changed, zoom outside range",code:200,data:null}))}));d.push(a);var g=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){l.getZoom()>=12&&l.getZoom()<=17?h.ReloadCadastralData({type:"SUCCESS",message:"Reload cadastral data on bounds changed",code:200,data:null}):(G(),Y(),l.getZoom()<12&&l.setZoom(12),l.getZoom()>17&&l.setZoom(17),h.ReloadCadastralData({type:"SUCCESS",message:"Reload cadastral data on bounds changed, zoom outside range",code:200,data:null}))}));d.push(g),l.getZoom()>=12&&l.getZoom()<=17&&function(e,t,o,n,i,s){var r=e.parentFarms,a=e.farmPortions,g=e.erven;r.length>0&&r.forEach((function(e){s&&(c=new google.maps.LatLngBounds);var t=JSON.parse(e.geojson,!0);if("Polygon"==t.type){var o=[],n=[];t.coordinates[0].forEach((function(e,t){n.push(new google.maps.LatLng(e[1],e[0])),s&&c.extend(new google.maps.LatLng(e[1],e[0]))})),o.push(n)}else if("MultiPolygon"==t.type){o=[];t.coordinates.forEach((function(e,t){var n=[];e[0].forEach((function(e,t){n.push(new google.maps.LatLng(e[1],e[0])),s&&c.extend(new google.maps.LatLng(e[1],e[0]))})),o.push(n)}))}var i=e.geomarea/1e4,r="Farm: "+e.name+"<br>"+e.lpi+"<br>"+i.toFixed(2)+" ha",a=new google.maps.Polygon({map:l,paths:o,strokeWeight:5,strokeColor:"#000000",strokeOpacity:1,fillColor:"#000000",fillOpacity:.01,id:e.id,content:r,type:"pf",zIndex:10001});s&&l.fitBounds(c),L.push(a)}));a.length>0&&a.forEach((function(e){s&&(c=new google.maps.LatLngBounds);var t=JSON.parse(e.geojson,!0);if("Polygon"==t.type){var o=[],n=[];t.coordinates[0].forEach((function(e,t){n.push(new google.maps.LatLng(e[1],e[0])),s&&c.extend(new google.maps.LatLng(e[1],e[0]))})),o.push(n)}else if("MultiPolygon"==t.type){o=[];t.coordinates.forEach((function(e,t){var n=[];e[0].forEach((function(e,t){n.push(new google.maps.LatLng(e[1],e[0])),s&&c.extend(new google.maps.LatLng(e[1],e[0]))})),o.push(n)}))}var i=e.geomarea/1e4,r="Farm: "+e.farm+"<br>Portion: "+e.name+"<br>"+e.lpi+"<br>"+i.toFixed(2)+" ha",a=new google.maps.Polygon({map:l,paths:o,strokeWeight:3,strokeColor:"#000000",strokeOpacity:1,fillColor:"#000000",fillOpacity:.01,id:e.id,content:r,type:"fp",zIndex:10002});s&&l.fitBounds(c),L.push(a)}));g.length>0&&g.forEach((function(e){s&&(c=new google.maps.LatLngBounds);var t=JSON.parse(e.geojson,!0);if("Polygon"==t.type){var o=[],n=[];t.coordinates[0].forEach((function(e,t){n.push(new google.maps.LatLng(e[1],e[0])),s&&c.extend(new google.maps.LatLng(e[1],e[0]))})),o.push(n)}else if("MultiPolygon"==t.type){o=[];t.coordinates.forEach((function(e,t){var n=[];e[0].forEach((function(e,t){n.push(new google.maps.LatLng(e[1],e[0])),s&&c.extend(new google.maps.LatLng(e[1],e[0]))})),o.push(n)}))}var i=e.geomarea/1e4,r="Erf: "+e.name+"<br>"+e.lpi+"<br>"+i.toFixed(2)+" ha",a=new google.maps.Polygon({map:l,paths:o,strokeWeight:2,strokeColor:"#000000",strokeOpacity:1,fillColor:"#000000",fillOpacity:.01,id:e.id,content:r,type:"er",zIndex:10003});s&&l.fitBounds(c),L.push(a)}));!function(e){j(),L.forEach((function(t){p.push(google.maps.event.addListener(t,"mouseover",(function(e){"pf"==t.type?t.setOptions({strokeColor:"#f1a81e",strokeWeight:5,zIndex:10011}):"fp"==t.type?t.setOptions({strokeColor:"#f1a81e",strokeWeight:3,zIndex:10012}):"er"==t.type&&t.setOptions({strokeColor:"#f1a81e",strokeWeight:2,zIndex:10013}),j(),U(e,t.content)}))),p.push(google.maps.event.addListener(t,"mousemove",Z)),p.push(google.maps.event.addListener(t,"mouseout",(function(e){"pf"==t.type?t.setOptions({strokeColor:"#000000",strokeWeight:5,zIndex:10001}):"fp"==t.type?t.setOptions({strokeColor:"#000000",strokeWeight:3,zIndex:10002}):"er"==t.type&&t.setOptions({strokeColor:"#000000",strokeWeight:2,zIndex:10003}),j()}))),e||p.push(google.maps.event.addListener(t,"click",(function(e){j(),h.SACadastralPolyOnClick(this.id)})))}))}(i)}(e,0,0,0,i,s)}function ie(e,t,o,n,i,s){G(),H(),$(),V(),Y();var r=google.maps.event.addListener(l,"dragend",(function(){l.getZoom()>=13&&l.getZoom()<=17?h.ReloadDelineatedFieldsData({type:"SUCCESS",message:"Reload delineated fields data on dragend",code:200,data:null}):(G(),Y(),l.getZoom()<13&&l.setZoom(13),l.getZoom()>17&&l.setZoom(17),h.ReloadDelineatedFieldsData({type:"SUCCESS",message:"Reload delineated fields data on dragend, zoom outside range",code:200,data:null}))}));d.push(r);var a=google.maps.event.addListener(l,"zoom_changed",(function(){l.getZoom()>=13&&l.getZoom()<=17?h.ReloadDelineatedFieldsData({type:"SUCCESS",message:"Reload delineated fields data on zoom changed",code:200,data:null}):(G(),Y(),l.getZoom()<13&&l.setZoom(13),l.getZoom()>17&&l.setZoom(17),h.ReloadDelineatedFieldsData({type:"SUCCESS",message:"Reload delineated fields data on zoom changed, zoom outside range",code:200,data:null}))}));d.push(a);var g=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){l.getZoom()>=13&&l.getZoom()<=17?h.ReloadDelineatedFieldsData({type:"SUCCESS",message:"Reload delineated fields data on bounds changed",code:200,data:null}):(G(),Y(),l.getZoom()<13&&l.setZoom(13),l.getZoom()>17&&l.setZoom(17),h.ReloadDelineatedFieldsData({type:"SUCCESS",message:"Reload delineated fields data on bounds changed, zoom outside range",code:200,data:null}))}));d.push(g),l.getZoom()>=13&&l.getZoom()<=17&&function(e,t,o,n,i,s){var r=e;r&&r.length>0&&r.forEach((function(e){s&&(c=new google.maps.LatLngBounds);var t=e.poly.split(","),o=[];t.forEach((function(e){var t=Ut.decode(e),n=[];t.forEach((function(e){n.push(new google.maps.LatLng(parseFloat(e[0]),parseFloat(e[1]))),s&&c.extend(new google.maps.LatLng(parseFloat(e[0]),parseFloat(e[1])))})),o.push(n)}));var n=e.area/1e4,i=e.category+"<br>"+n.toFixed(2)+" ha",r=new google.maps.Polygon({map:l,paths:o,strokeWeight:3,strokeColor:"#000000",strokeOpacity:1,fillColor:"#000000",fillOpacity:.01,id:e.id,content:i,zIndex:10001});s&&l.fitBounds(c),L.push(r)}));!function(e){j(),L.forEach((function(t){p.push(google.maps.event.addListener(t,"mouseover",(function(e){t.setOptions({strokeColor:"#f1a81e",strokeWeight:3,zIndex:10011}),j(),U(e,t.content)}))),p.push(google.maps.event.addListener(t,"mousemove",Z)),p.push(google.maps.event.addListener(t,"mouseout",(function(e){t.setOptions({strokeColor:"#000000",strokeWeight:3,zIndex:10001}),j()}))),e||p.push(google.maps.event.addListener(t,"click",(function(e){j(),h.SADelineatedFieldPolyOnClick(this.id)})))}))}(i)}(e,0,0,0,i,s)}function se(e,t,o,n){var i=e;c=new google.maps.LatLngBounds;var s=!1;if(i.forEach((function(e){var t=new google.maps.LatLng(e.latitude,e.longitude);c.extend(new google.maps.LatLng(e.latitude,e.longitude));var o=new DOMParser,n='<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" fill="none">';n+='<g transform="translate(0.5, 4)"><path d="M0,0 32,0 16,27.7Z" stroke="#000000" stroke-width="1" fill="'+e.iconColor+'" fill-opacity="0.9"></path></g>',n+="</svg>";var i=o.parseFromString(n,"image/svg+xml").documentElement,s=new google.maps.marker.AdvancedMarkerElement({map:l,position:t,content:i,zIndex:10002});s.setAttribute("id",e.id+"|"+e.name+"|"+e.companyName+"|"+e.jseAbbreviation+"|"+e.label+"|"+e.capacity+"|"+e.sagisCode),M.push(s)})),i.length>1){var r=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){if(!s){var e=l.getProjection().fromLatLngToPoint(c.getSouthWest()),i=l.getProjection().fromLatLngToPoint(c.getNorthEast()),r=l.getZoom(),a=1<<r;(i.x-e.x)*a>=n&&l.setZoom(r-1),l.getZoom()>16&&l.setZoom(16),te(c.getCenter(),t,o),s=!s}}));d.push(r),l.fitBounds(c)}else if(1==i.length){r=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){s||(te(l.getCenter(),t,o),s=!s)}));l.panTo(new google.maps.LatLng(i[0].latitude,i[0].longitude)),l.setZoom(9)}}function re(e,t,o,n,i,s,r){G(),H(),$(),V(),Y(),function(e,t){var o=null;e.forEach((function(e){if((e.id==t||0===t)&&e&&e.poly&&e.poly.length>0){var n=google.maps.geometry.encoding.decodePath(e.poly,5);o=new google.maps.Polygon({map:l,path:n,strokeColor:"#000000",strokeOpacity:1,strokeWeight:3,fillColor:"#000000",fillOpacity:.3,id:e.id,content:e.regionName,zIndex:1e4}),L.push(o)}}))}(e,o),function(e){j(),L.forEach((function(t){p.push(google.maps.event.addListener(t,"mouseover",(function(e){t.setOptions({strokeColor:"#f1a81e",strokeWeight:3,zIndex:10012}),j(),U(e,t.content)}))),p.push(google.maps.event.addListener(t,"mousemove",Z)),p.push(google.maps.event.addListener(t,"mouseout",(function(e){t.setOptions({strokeColor:"#000000",strokeWeight:3,zIndex:10002}),j()}))),e||p.push(google.maps.event.addListener(t,"click",(function(e){j(),h.CPRPolyOnClick({type:"SUCCESS",message:"CPRPoly clicked",code:200,data:t.id})})))}))}(r),se(t,n,i,s),le()}function ae(e,t,o,n,i,s,r){G(),H(),$(),V(),Y(),function(e,t){var o,n,i=null;e.forEach((function(e){e.id!=t&&0!==t||e&&e.poly&&e.poly.length>0&&(n=[],e.poly.split(",").forEach((function(e){o=google.maps.geometry.encoding.decodePath(e,5),n.push(o)})),i=new google.maps.Polygon({map:l,paths:n,strokeColor:"#000000",strokeOpacity:1,strokeWeight:3,fillColor:"#000000",fillOpacity:.3,id:e.id,content:e.name,zIndex:1e4}),L.push(i))}))}(e,o),function(e){j(),L.forEach((function(t){p.push(google.maps.event.addListener(t,"mouseover",(function(e){t.setOptions({strokeColor:"#f1a81e",strokeWeight:3,zIndex:10012}),j(),U(e,t.content)}))),p.push(google.maps.event.addListener(t,"mousemove",Z)),p.push(google.maps.event.addListener(t,"mouseout",(function(e){t.setOptions({strokeColor:"#000000",strokeWeight:3,zIndex:10002}),j()}))),e||p.push(google.maps.event.addListener(t,"click",(function(e){j(),h.CSProvincePolyOnClick({type:"SUCCESS",message:"CSProvincePoly clicked",code:200,data:t.id})})))}))}(r),se(t,n,i,s),le()}function le(e){j(),M.forEach((function(e){var t=e.id.split("|"),o="<b>"+t[1]+"</b><br>";o+="Company: "+t[2]+" ("+t[3]+")<br>",o+="Type: "+t[4]+"<br>",parseInt(t[5])>0?o+="Capacity: "+t[5]+"t<br>":o+="Capacity: n/a<br>",parseInt(t[6])>0?o+="Sagis Code: "+t[6]:o+="Sagis Code: n/a";var n=e.addListener("click",(function(e){h.GSMarkerOnClick({type:"SUCCESS",message:"GSMarker clicked",code:200,data:parseInt(t[0])})}));u.push(n);var i=e.content.addEventListener("mouseover",(function(e){j(),W(e,o)}));u.push(i);var s=e.content.addEventListener("mousemove",(function(e){F(e)}));u.push(s);var r=e.content.addEventListener("mouseout",(function(e){j()}));u.push(r)}))}a.eventHandlers_set=function(e){Object.assign(h,e)},a.eventHandlers_get=function(){return h},a.center_get=function(){return l.getCenter()},a.zoom_get=function(){return l.getZoom()},a.fpolies_get=function(){return L},a.locPolygons_get=function(){return m},a.overlayMapTypes_get=function(){return l.overlayMapTypes},a.RenderFields=function(e,t){var o=new google.maps.LatLngBounds;e.forEach((function(e){if(e&&e.Poly&&e.Poly.length>0&&e.Id.length>0){var n=e.Poly.map((e=>e.map((e=>new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0]))))));n[0].forEach((e=>o.extend(e)));let r=`${e.FarmName} - ${e.LocationName}<br>${e.Area} ha${e.IsIrrigated?", irrigated":""}`;e.CropPlanted&&(r+=`<br>${e.CropPlanted}`,e.CultivarPlanted&&(r+=` (${e.CultivarPlanted})`),e.PlantingDate&&(r+=`<br>Planted: ${e.PlantingDate.replace(/-/g,"/")}`));var i={paths:n,id:e.Id,content:r};i=e.MapLocationFeature?{...i,content:r,strokeColor:e.MapLocationFeature.StrokeColor,strokeOpacity:e.MapLocationFeature.StrokeOpacity,strokeWeight:e.MapLocationFeature.StrokeWeight,fillColor:e.MapLocationFeature.FillColor,fillOpacity:e.MapLocationFeature.FillOpacity,zIndex:e.MapLocationFeature.ZIndex}:{...i,...t.polygonOptions.unselected};var s=new google.maps.Polygon(i);v.push(s),t.labelVisable&&D(e)}})),l.fitBounds(o),A(),t.icon&&N(e,t.icon),v.forEach((function(e,t){e.setMap(l)})),m.forEach((function(e,t){e.setMap(l)})),l.getZoom()>=13?y.forEach((function(e,t){e.setMap(l)})):y.forEach((function(e,t){e.setMap(null)})),g=google.maps.event.addListener(l,"zoom_changed",(function(){l.getZoom()>=13?y.forEach((function(e,t){e.setMap(l)})):y.forEach((function(e,t){e.setMap(null)}))})),d.push(g)},a.destroy=function(){mapConfig=null,P=[],selectedProvinceFieldId=null,defaultCenterLatitude=null,defaultCenterLongitude=null,m=[],v=[],y=[],a.map_clear()},a.map_clear=function(){if(H(),$(),G(),C.forEach((function(e){e.setMap(null),e=null})),C=[],I.forEach((function(e){e.setMap(null),e=null})),I=[],V(),b.forEach((function(e){e.setMap(null),e=null})),b=[],y.forEach((function(e){e.setMap(null),e=null})),y=[],v.forEach((function(e){e.setMap(null),e=null})),v=[],function(){null!=z&&(z=(new Et).delete(l,z));m.forEach((function(e){e.setMap(null),e=null})),m=[]}(),Y(),w.forEach((function(e){e.setMap(null),e=null})),k.forEach((function(e){e.setMap(null),e=null})),z&&(z=(new Et).delete(l,z),z=null),x&&(x.setMap(null),x=null),E&&(E.setMap(null),E=null),S&&(S.setMap(null),S=null),l.overlayMapTypes)for(;l.overlayMapTypes.getLength()>0;)l.overlayMapTypes.pop();j(),B.length>0&&(B.forEach((e=>{e.setMap&&e.setMap(null)})),B=[]),m=[],f=[],v=[],y=[],L=[],I=[],C=[],b=[],w=[],k=[],M=[],c=null},a.fmarkers_clear=function(){M.forEach((function(e){e.setMap(null),e=null})),M=[]},a.mapListeners_clear=function(){d.forEach((function(e){google.maps.event.removeListener(e)})),d=[]},a.DrawField_DrawLocation=function(e,t,o){var n;P=JSON.parse(e,!0);var i=new google.maps.LatLngBounds;P.forEach((function(e){if(e&&e.Poly&&e.Poly.length>0&&e.Id>0){var s=e.Poly.map((e=>e.map((e=>new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0]))))));s[0].forEach((e=>i.extend(e)));let a=`${e.FarmName} - ${e.LocationName}<br>${e.Area} ha${e.IsIrrigated?", irrigated":""}`;if(e.CropPlanted&&(a+=`<br>${e.CropPlanted}`,e.CultivarPlanted&&(a+=` (${e.CultivarPlanted})`),e.PlantingDate&&(a+=`<br>Planted: ${e.PlantingDate.replace(/-/g,"/")}`)),e.Poly.forEach((function(i,r){if(e.Id==t){var a=google.maps.geometry.spherical.computeSignedArea(path)>0&&0!==r;n=Date.now()+Math.floor(1e5*Math.random());var c=new google.maps.Polygon({map:l,path:s[r],id:n,strokeColor:o.StrokeColor_DrawEditShape,strokeOpacity:o.StrokeOpacity,strokeWeight:o.StrokeWeight,fillColor:o.FillColor,fillOpacity:o.FillOpacity,zIndex:a?10200:10100,clickable:!0,editable:!1,draggable:!0,isPolygon:!0,isCircle:!1,isCircleSector:!1,isCircleSegment:!1,isHole:a,latitude:e.Latitude,longitude:e.Longitude,poly:e.Poly,area:e.Area,perimeter:e.Perimeter});m.push(c)}})),e.Id!=t){n=Date.now()+Math.floor(1e5*Math.random());let t=`${e.FarmName} - ${e.LocationName}<br>${e.Area} ha${e.IsIrrigated?", irrigated":""}`;e.CropPlanted&&(t+=`<br>${e.CropPlanted}`,e.CultivarPlanted&&(t+=` (${e.CultivarPlanted})`),e.PlantingDate&&(t+=`<br>Planted: ${e.PlantingDate.replace(/-/g,"/")}`));var r=new google.maps.Polygon({map:l,paths:s,id:n,content:t,strokeColor:o.StrokeColor_Other,strokeOpacity:o.StrokeOpacity,strokeWeight:o.StrokeWeight,fillColor:o.FillColor,fillOpacity:.3,zIndex:1e4,clickable:!1,editable:!1,draggable:!1});v.push(r)}}})),l.fitBounds(i),A()},a.Shape_IsShapeHole=function(e){let t=!1;return m.forEach((function(o){o.id==e&&(t=o.isHole)})),t},a.SelectedShape_GetType=function(e,t){var o=m.find((t=>t.id==e));if(o.id==e){if(o.isPolygon)return t.ShapeTypeId_Polygon;if(o.isCircle)return t.ShapeTypeId_Circle;if(o.isCircleSector)return t.ShapeTypeId_CircleSector;if(o.isCircleSegment)return t.ShapeTypeId_CircleSegment}},a.SelectedShape_GetByShapeId=function(e){return m.find((t=>t.id==e))},a.selectShape=function(e,t,o){if(console.log("Selecting shape:",e),console.log("Current locPolygons:",m),m.forEach((function(e){e&&(console.log("Applying unselected style to polygon:",e.id),null!=z&&e.isPolygon&&(z=(new Et).delete(l,z),z=null,e.setMap(l)),null!=x&&e.isCircle&&(x.set("map",null),x=null),null!=E&&e.isCircleSector&&(E.set("map",null),E=null),null!=S&&e.isCircleSegment&&(S.set("map",null),S=null),e.setOptions({...o,editable:!1,draggable:!1}))})),e){const o=m.find((t=>t.id==e));o?(console.log("Applying selected style to shape:",e),o.setOptions(t)):console.warn("Shape not found in locPolygons:",e)}},a.isShapeInLocPolygons=function(e){return m.some((t=>t.id==e))},a.panAndZoomToShape=function(e){let t=m.find((t=>t.id==e))||v.find((t=>t.id==e));if(console.log("locPolygons - panAndZoomToShape",m),t&&l){const e=new google.maps.LatLngBounds;if(t.getPath)t.getPath().forEach((t=>e.extend(t)));else if(t.getCenter&&t.getRadius){const o=t.getCenter(),n=t.getRadius();e.extend(google.maps.geometry.spherical.computeOffset(o,n,0)),e.extend(google.maps.geometry.spherical.computeOffset(o,n,180))}else t.getBounds&&e.union(t.getBounds());const o=l.getZoom();l.fitBounds(e,{padding:50}),google.maps.event.addListenerOnce(l,"bounds_changed",(function(){const e=l.getZoom();Math.abs(e-o)>3&&l.setZoom(Math.min(e,18))}))}else console.error("Shape not found:",e)},a.Shape_Edit=function(e){m.forEach(((t,o)=>{t.id===e&&(t.setEditable(!0),o>0&&t.setDraggable(!0))}))},a.Shape_DrawingDone=function(e){m.forEach((function(t){if(t.id==e)if(t.isPolygon){if(null!=z){var o=z.getPath();t.setPath(o),z=(new Et).delete(l,z),z=null}t.setMap(l),t.setEditable(!1),t.setDraggable(!1),t.setVisible(!0)}else if(t.isCircle){var n=(new Wt).reduce(x.getPath(),t.isHole);t.setPath(n),t.isPolygon=!1,t.isCircle=!0,t.setEditable(!1),t.setDraggable(!1),x.setMap(null),x=null,t.setVisible(!0)}else if(t.isCircleSector){n=(new Zt).reduce(E.getPath(),t.isHole);t.setPath(n),t.isPolygon=!1,t.isCircleSector=!0,t.setEditable(!1),t.setDraggable(!1),E.setMap(null),E=null,t.setVisible(!0)}else if(t.isCircleSegment){n=(new Ft).reduce(S.getPath(),t.isHole);t.setPath(n),t.isPolygon=!1,t.isCircleSegment=!0,t.setEditable(!1),t.setDraggable(!1),S.setMap(null),S=null,t.setVisible(!0)}}))},a.Shape_Delete=function(e,t){const o=l.getBounds(),n=l.getCenter(),i=l.getZoom();H(),this.eventHandlers_set(t);if(m.length>0&&m[0].id==e)a.Shape_DeleteAll();else{var s=-1;m.forEach((function(t,o){t.id==e&&(null!=z&&(z=(new Et).delete(l,z),z=null),null!=x&&(x.set("map",null),x=null),null!=E&&(E.set("map",null),E=null),null!=S&&(S.set("map",null),S=null),t.setMap(null),s=o)})),s>=0&&m.splice(s,1),n&&o&&(l.setZoom(i),l.setCenter(n),l.fitBounds(o))}},a.Shape_DeleteAll=function(e){const t=l.getBounds(),o=l.getCenter(),n=l.getZoom();H(),m.forEach((function(e){null!=z&&(z=(new Et).delete(l,z),z=null),null!=x&&(x.set("map",null),x=null),null!=E&&(E.set("map",null),E=null),null!=S&&(S.set("map",null),S=null),e.setMap(null),e=null})),m=[],o&&t&&(l.setZoom(n),l.setCenter(o),l.fitBounds(t))},a.Shape_PolygonCustomEdit_Add=function(e,s,r,a,c,g,p,u){if(e)return J(s,a,c,p,u,g,r);var d=l.getBounds(),h=l.getCenter(),f=h.lat(),v=h.lng(),y=[];d&&(t=Math.abs(d.getSouthWest().lat()-d.getNorthEast().lat()),o=Math.abs(d.getNorthEast().lng()-d.getSouthWest().lng()),n=o/a,i=t/c,y.push(new google.maps.LatLng(f+u*i+60*i,v+p*n-80*n)),y.push(new google.maps.LatLng(f+u*i+60*i,v+p*n+80*n)),y.push(new google.maps.LatLng(f+u*i-60*i,v+p*n+80*n)),y.push(new google.maps.LatLng(f+u*i-60*i,v+p*n-80*n)));var L=Date.now()+Math.floor(1e5*Math.random()),I=new google.maps.Polygon({map:l,path:y,id:L.toString(),content:"",strokeColor:s.strokeColor,strokeOpacity:s.strokeOpacity,strokeWeight:s.strokeWeight,fillColor:s.fillColor,fillOpacity:s.fillOpacity,zIndex:10100,clickable:!0,editable:!1,draggable:!0,isPolygon:!0,isCircle:!1,isCircleSector:!1,isCircleSegment:!1,isHole:!1,latitude:0,longitude:0,poly:0,area:0,perimeter:0});return m.push(I),z=(new Et).edit(l,I,z,r),L},a.Shape_Polygon_Add=function(e,s,r,a,c,g,p,u){if(e)return J(s,a,c,p,u,g,r);var d=l.getBounds(),h=l.getCenter(),v=h.lat(),y=h.lng(),L=[],I=[];d&&(t=Math.abs(d.getSouthWest().lat()-d.getNorthEast().lat()),o=Math.abs(d.getNorthEast().lng()-d.getSouthWest().lng()),n=o/a,i=t/c,L.push(new google.maps.LatLng(v+u*i+60*i,y+p*n-80*n)),L.push(new google.maps.LatLng(v+u*i+60*i,y+p*n+80*n)),L.push(new google.maps.LatLng(v+u*i-60*i,y+p*n+80*n)),L.push(new google.maps.LatLng(v+u*i-60*i,y+p*n-80*n)),I.push([y+p*n-80*n,v+u*i+60*i]),I.push([y+p*n+80*n,v+u*i+60*i]),I.push([y+p*n+80*n,v+u*i-60*i]),I.push([y+p*n-80*n,v+u*i-60*i]),I.push([y+p*n-80*n,v+u*i+60*i]),f.push(I));var C=Date.now()+Math.floor(1e5*Math.random()),b=new google.maps.Polygon({map:l,path:L,id:C.toString(),content:"",strokeColor:s.strokeColor,strokeOpacity:s.strokeOpacity,strokeWeight:s.strokeWeight,fillColor:s.fillColor,fillOpacity:s.fillOpacity,zIndex:10100,clickable:!0,editable:!0,draggable:!0,isPolygon:!0,isCircle:!1,isCircleSector:!1,isCircleSegment:!1,isHole:e,latitude:0,longitude:0,poly:0,area:0,perimeter:0});return console.log("shape",b),m.push(b),C},a.Shape_CircleFull_Add=function(e,a,c,g,p,u,d,h,v,y){if(e){var L=function(e,a,c,g,p,u,d,h){var v;if(void 0===n||void 0===i){var y=l.getBounds();y&&(t=Math.abs(y.getSouthWest().lat()-y.getNorthEast().lat()),o=Math.abs(y.getNorthEast().lng()-y.getSouthWest().lng()),n=o/a,i=t/c)}f=[],m.forEach((function(e){for(var t=e.getPath(),o=[],n=0;n<t.length;n++)o.push([t.getAt(n).lng(),t.getAt(n).lat()]);t.getAt(0).lng()==t.getAt(t.length-1).lng()&&t.getAt(0).lat()==t.getAt(t.length-1).lat()||o.push([t.getAt(0).lng(),t.getAt(0).lat()]),f.push(o)}));var L=R(f);s=L.y,r=L.x;for(var I=0,C=360,b=20;b>0;b--){var w=[],k=s,M=r+2*b*n,P=new google.maps.LatLng(s,r),z=kt(s,r,k,M),x=(new Wt).get(s,r,z,I,C);x.forEach((function(e){w.push([e.lng(),e.lat()])})),f.push(w);var E=0;if(w.forEach((function(e,t){google.maps.geometry.poly.containsLocation(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0])),m[0])||E++})),0==E){if(!(f.length>2)){v=X(e,g,p,u,x,P,z,d,h);break}for(var S=0,O=1;O<f.length-1;O++)for(var _=O+1;_<f.length;_++)K(f[O],f[_])&&S++;if(0==S){v=X(e,g,p,u,x,P,z,d,h);break}f.pop()}else f.pop()}return v}(a,g,p,v,y,u,c,I);return L}var C=l.getBounds(),b=l.getCenter(),w=b.lat(),k=b.lng();t=Math.abs(C.getSouthWest().lat()-C.getNorthEast().lat()),o=Math.abs(C.getNorthEast().lng()-C.getSouthWest().lng());var M=w+y*(i=t/p),P=k+v*(n=o/g),z=new google.maps.LatLng(M,P),E=kt(M,P,M,P+80*n),S=(new Wt).get(M,P,E,0,360),O=Date.now()+Math.floor(1e5*Math.random()),_=new google.maps.Polygon({map:l,path:S,id:O.toString(),content:"",strokeColor:a.strokeColor,strokeOpacity:a.strokeOpacity,strokeWeight:a.strokeWeight,fillColor:a.fillColor,fillOpacity:a.fillOpacity,zIndex:10100,clickable:!0,editable:!1,draggable:!1,visible:!1,isPolygon:!1,isCircle:!0,isCircleSector:!1,isCircleSegment:!1,isHole:e,latitude:0,longitude:0,poly:0,area:0,perimeter:0});return m.push(_),x=(x=new Wt).edit(l,_,x,z,E,c,I),O},a.Shape_CircleSector_Add=function(e,a,c,g,p,u,d,h,v,y){if(e){var L=function(e,a,c,g,p,u,d,h){var v;if(void 0===n||void 0===i){var y=l.getBounds();y&&(t=Math.abs(y.getSouthWest().lat()-y.getNorthEast().lat()),o=Math.abs(y.getNorthEast().lng()-y.getSouthWest().lng()),n=o/a,i=t/c)}f=[],m.forEach((function(e){for(var t=e.getPath(),o=[],n=0;n<t.length;n++)o.push([t.getAt(n).lng(),t.getAt(n).lat()]);t.getAt(0).lng()==t.getAt(t.length-1).lng()&&t.getAt(0).lat()==t.getAt(t.length-1).lat()||o.push([t.getAt(0).lng(),t.getAt(0).lat()]),f.push(o)}));var L=R(f);s=L.y,r=L.x;for(var I=60,C=120,b=20;b>0;b--){var w=[],k=s,M=r+2*b*n,P=new google.maps.LatLng(s,r),z=kt(s,r,k,M),x=(new Zt).get(s,r,z,I,C);x.forEach((function(e){w.push([e.lng(),e.lat()])})),f.push(w);var E=0;if(w.forEach((function(e,t){google.maps.geometry.poly.containsLocation(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0])),m[0])||E++})),0==E){if(!(f.length>2)){v=Q(e,g,p,u,x,P,z,d,h);break}for(var S=0,O=1;O<f.length-1;O++)for(var _=O+1;_<f.length;_++)K(f[O],f[_])&&S++;if(0==S){v=Q(e,g,p,u,x,P,z,d,h);break}f.pop()}else f.pop()}return v}(a,g,p,v,y,u,c,I);return L}var C=l.getBounds(),b=l.getCenter(),w=b.lat(),k=b.lng();t=Math.abs(C.getSouthWest().lat()-C.getNorthEast().lat()),o=Math.abs(C.getNorthEast().lng()-C.getSouthWest().lng());var M=w+y*(i=t/p),P=k+v*(n=o/g),z=new google.maps.LatLng(M,P),x=kt(M,P,M,P+80*n),S=(new Zt).get(M,P,x,60,120),O=Date.now()+Math.floor(1e5*Math.random()),_=new google.maps.Polygon({map:l,path:S,id:O.toString(),content:"",strokeColor:a.strokeColor,strokeOpacity:a.strokeOpacity,strokeWeight:a.strokeWeight,fillColor:a.fillColor,fillOpacity:a.fillOpacity,zIndex:e?10200:10100,clickable:!0,editable:!1,draggable:!1,visible:!1,isPolygon:!1,isCircle:!1,isCircleSector:!0,isCircleSegment:!1,isHole:e,latitude:0,longitude:0,poly:0,area:0,perimeter:0});return m.push(_),E=(E=new Zt).edit(l,_,E,z,x,c,I),O},a.Shape_CircleSegment_Add=function(e,a,c,g,p,u,d,h,v,y){if(e){var L=function(e,a,c,g,p,u,d,h){var v;if(void 0===n||void 0===i){var y=l.getBounds();y&&(t=Math.abs(y.getSouthWest().lat()-y.getNorthEast().lat()),o=Math.abs(y.getNorthEast().lng()-y.getSouthWest().lng()),n=o/a,i=t/c)}f=[],m.forEach((function(e){for(var t=e.getPath(),o=[],n=0;n<t.length;n++)o.push([t.getAt(n).lng(),t.getAt(n).lat()]);t.getAt(0).lng()==t.getAt(t.length-1).lng()&&t.getAt(0).lat()==t.getAt(t.length-1).lat()||o.push([t.getAt(0).lng(),t.getAt(0).lat()]),f.push(o)}));var L=R(f);s=L.y,r=L.x;for(var I=0,C=160,b=20;b>0;b--){var w=[],k=s,M=r+2*b*n,P=new google.maps.LatLng(s,r),z=kt(s,r,k,M),x=(new Zt).get(s,r,z,I,C);x.forEach((function(e){w.push([e.lng(),e.lat()])})),f.push(w);var E=0;if(w.forEach((function(e,t){google.maps.geometry.poly.containsLocation(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0])),m[0])||E++})),0==E){if(!(f.length>2)){v=ee(e,g,p,u,x,P,z,d,h);break}for(var S=0,O=1;O<f.length-1;O++)for(var _=O+1;_<f.length;_++)K(f[O],f[_])&&S++;if(0==S){v=ee(e,g,p,u,x,P,z,d,h);break}f.pop()}else f.pop()}return v}(a,g,p,v,y,u,c,I);return L}var C=l.getBounds(),b=l.getCenter(),w=b.lat(),k=b.lng();t=Math.abs(C.getSouthWest().lat()-C.getNorthEast().lat()),o=Math.abs(C.getNorthEast().lng()-C.getSouthWest().lng());var M=w+y*(i=t/p),P=k+v*(n=o/g),z=new google.maps.LatLng(M,P),x=kt(M,P,M,P+80*n),E=(new Ft).get(M,P,x,0,160),O=Date.now()+Math.floor(1e5*Math.random()),_=new google.maps.Polygon({map:l,path:E,id:O.toString(),content:"",strokeColor:a.strokeColor,strokeOpacity:a.strokeOpacity,strokeWeight:a.strokeWeight,fillColor:a.fillColor,fillOpacity:a.fillOpacity,zIndex:e?10200:10100,clickable:!0,editable:!1,draggable:!1,visible:!1,isPolygon:!1,isCircle:!1,isCircleSector:!1,isCircleSegment:!0,isHole:e,latitude:0,longitude:0,poly:0,area:0,perimeter:0});return m.push(_),S=(S=new Ft).edit(l,_,S,z,x,c,I),O},a.RenderRegionFarms=function(e,t,o,n,i){t&&N(e,t,"farm",o,n,i)},a.TriggerField_ChangeEvent=function(){var e,t,o=0,n=0,i="",s=new google.maps.LatLngBounds,r="",l=[];return m.forEach((function(e,t){var r;r=e.getPath(),({perimeter:n,area:o,path:i}=function(e,t,o,n,i,s){var r,a=[];if(0===e){for(r=0;r<t.getLength();r++)a.push(t.getAt(r)),o.extend(t.getAt(r)),r<t.getLength()-1&&(n+=google.maps.geometry.spherical.computeDistanceBetween(t.getAt(r),t.getAt(r+1)));a[0].lat()!=a[a.length-1].lat()&&a[0].lng()!=a[a.length-1].lng()&&a.push(a[0]),google.maps.geometry.spherical.computeSignedArea(a)>0&&a.reverse(),i+=google.maps.geometry.spherical.computeSignedArea(a),s=google.maps.geometry.encoding.encodePath(a)+","}else{for(r=0;r<t.getLength();r++)a.push(t.getAt(r)),o.extend(t.getAt(r)),r<t.getLength()-1&&(n+=google.maps.geometry.spherical.computeDistanceBetween(t.getAt(r),t.getAt(r+1)));i+=google.maps.geometry.spherical.computeSignedArea(a),s+=google.maps.geometry.encoding.encodePath(a)+","}return{perimeter:n,area:i,path:s}}(t,r,s,n,o,i)),l.push({path:i.split(",")[t],isHole:e.isHole})})),""!==(i=i.substr(0,i.length-1))&&(console.log("Checking field overlaps..."),a.checkForBackgroundFieldOverlaps()||(console.log("Overlap detected - setting error message"),r="Error: Field overlaps with an existing field")),o=-o,e=parseFloat(s.getCenter().lat()),t=parseFloat(s.getCenter().lng()),new St(i,o,n,e,t,r)},a.DrawField_AttachEvents=function(e,t,o){m.forEach((function(n){var i=google.maps.event.addListener(n,"mouseover",(function(){e.JS_ShapeOnMouseIn(this.id)}));p.push(i);var s=google.maps.event.addListener(n,"mouseout",(function(){e.JS_ShapeOnMouseOut(this.id)}));p.push(s);var r=google.maps.event.addListener(n,"click",(function(){e.ShapeSelect(this.id)}));p.push(r),n.id==t&&void 0!==o&&n.setOptions({strokeColor:o,strokeWeight:3})}))},a.DrawField_DetachEvents=function(e,t){H(),m.forEach((function(o){o.id==t&&o.setOptions({strokeColor:e})}))},a.PolygonCustomEdit_Edit=function(e,t){var o=m.find((t=>t.id==e));if(o){var n=o.getPath();n.getAt(0).lat()==n.getAt(n.getLength()-1).lat()&&n.getAt(0).lng()==n.getAt(n.getLength()-1).lng()&&n.pop(),o.setPath(n),o.setMap(null),z=(new Et).edit(l,o,z,t)}},a.CircleSector_Edit=function(e,t){var o=m.find((t=>t.id==e));if(o){var n=new google.maps.LatLngBounds;o.getPath().forEach((e=>n.extend(e)));var i=n.getCenter(),s=google.maps.geometry.spherical.computeDistanceBetween(i,o.getPath().getAt(0));E=(new Zt).edit(l,o,E,i,s,t,I)}},a.CircleFull_Edit=function(e,t){var o=m.find((t=>t.id==e));if(o){var n=new google.maps.LatLngBounds;o.getPath().forEach((e=>n.extend(e)));var i=n.getCenter(),s=google.maps.geometry.spherical.computeDistanceBetween(i,o.getPath().getAt(0));x=(new Wt).edit(l,o,x,i,s,t,I)}},a.CircleSegment_Edit=function(e,t){var o=m.find((t=>t.id==e));if(o){a.Shape_Delete(e);var n=new google.maps.LatLngBounds;o.getPath().forEach((e=>n.extend(e)));var i=n.getCenter(),s=google.maps.geometry.spherical.computeDistanceBetween(i,o.getPath().getAt(0));S=(new Ft).edit(l,o,S,i,s,t,I)}},a.RenderRegions=function(e,t,o,n,i,s){var r=null,a=null,c=null;L=[],d=[];var g=new google.maps.LatLngBounds;e.forEach((function(e){const o="string"==typeof e.Id?e.Id.length>0:"number"==typeof e.Id&&e.Id>0;if(e&&o){var n=[];n=!e.Poly.length>0?e.Coords:e.Poly.split(",");var i=[];n.forEach((function(t,o){!e.Poly.length>0?(c=[],t.forEach((function(e){c.push(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0]))),g.extend(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0])))})),i.push(c)):(a=Ut.decode(t),c=[],a.forEach((function(e){c.push(new google.maps.LatLng(parseFloat(e[0]),parseFloat(e[1]))),g.extend(new google.maps.LatLng(parseFloat(e[0]),parseFloat(e[1])))})),i.push(c))}));var s={...t.polygonOptions.unselected,paths:i,id:e.Id,content:e.LocationName,map:l};r=new google.maps.Polygon(s),L.push(r)}}));var u=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){te(l.getCenter(),i,s)}));d.push(u),l.fitBounds(g),function(e,t){j(),L.forEach((function(e){e instanceof google.maps.Polygon?(p.push(google.maps.event.addListener(e,"mouseover",(function(t){j(),U(t,e.get("content"))}))),p.push(google.maps.event.addListener(e,"mousemove",Z)),p.push(google.maps.event.addListener(e,"mouseout",j)),p.push(google.maps.event.addListener(e,"click",(function(e){j()})))):console.warn("Invalid polygon object found in fpolies array:",e)})),N(e,t,"farm",!1)}(o,n)},a.Shape_Convert=function(e){m.forEach((function(t){if(t.id==e&&!t.isPolygon){var o,n=Date.now()+Math.floor(1e5*Math.random());if(t.isCircle){var i=function(e,t,o,n){for(var i,s,r,a,l,c,g,p,u=[],d=0;d<o;++d)u.push((i=e,s=t,r=2*Math.PI*-d/o,a=void 0,l=void 0,c=void 0,g=void 0,p=void 0,a=Pt(i[1]),l=Pt(i[0]),c=s/6378137,g=Math.asin(Math.sin(a)*Math.cos(c)+Math.cos(a)*Math.sin(c)*Math.cos(r)),p=l+Math.atan2(Math.sin(r)*Math.sin(c)*Math.cos(a),Math.cos(c)-Math.sin(a)*Math.sin(g)),new google.maps.LatLng({lat:zt(g),lng:zt(p)})));return n?u:u.reverse()}([t.getCenter().lng(),t.getCenter().lat()],t.getRadius(),72,t.isHole);o=new google.maps.Polygon({map:t.map,path:i,id:n,content:t.content,strokeColor:t.strokeColor,strokeOpacity:t.strokeOpacity,strokeWeight:t.strokeWeight,fillColor:t.fillColor,fillOpacity:t.fillOpacity,zIndex:t.zIndex,clickable:t.clickable,editable:t.editable,draggable:t.draggable,visible:!1,isPolygon:!0,isCircle:!1,isCircleSector:!1,isCircleSegment:!1,isHole:t.isHole,latitude:t.latitude,longitude:t.longitude,poly:t.poly,area:t.area,perimeter:t.perimeter})}else t.isCircleSector?o=new google.maps.Polygon({map:t.map,paths:t.paths,id:n,content:t.content,strokeColor:t.strokeColor,strokeOpacity:t.strokeOpacity,strokeWeight:t.strokeWeight,fillColor:t.fillColor,fillOpacity:t.fillOpacity,zIndex:t.zIndex,clickable:t.clickable,editable:t.editable,draggable:t.draggable,visible:!1,isPolygon:!0,isCircle:!1,isCircleSector:!1,isCircleSegment:!1,isHole:t.isHole,latitude:t.latitude,longitude:t.longitude,poly:t.poly,area:t.area,perimeter:t.perimeter}):t.isCircleSegment&&(o=new google.maps.Polygon({map:t.map,paths:t.paths,id:n,content:t.content,strokeColor:t.strokeColor,strokeOpacity:t.strokeOpacity,strokeWeight:t.strokeWeight,fillColor:t.fillColor,fillOpacity:t.fillOpacity,zIndex:t.zIndex,clickable:t.clickable,editable:t.editable,draggable:t.draggable,visible:!1,isPolygon:!0,isCircle:!1,isCircleSector:!1,isCircleSegment:!0,isHole:t.isHole,latitude:t.latitude,longitude:t.longitude,poly:t.poly,area:t.area,perimeter:t.perimeter}));return m.push(o),n}}))},a.addToLocPolygons=function(e){(m=[]).push(e)},a.RenderBackgroundFields=function(e,t){var o=new google.maps.LatLngBounds;B.forEach((e=>{e.setMap(null)})),B=[],e.forEach((function(e){if(e&&e.Poly&&e.Poly.length>0&&e.Id.length>0){var n=e.Poly.map((e=>e.map((e=>new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0]))))));n[0].forEach((e=>o.extend(e)));let r=`${e.FarmName} - ${e.LocationName}<br>${e.Area} ha${e.IsIrrigated?", irrigated":""}`;e.CropPlanted&&(r+=`<br>${e.CropPlanted}`,e.CultivarPlanted&&(r+=` (${e.CultivarPlanted})`),e.PlantingDate&&(r+=`<br>Planted: ${e.PlantingDate.replace(/-/g,"/")}`));var i={...t.polygonOptions.other,paths:n,id:e.Id,content:r,map:l},s=new google.maps.Polygon(i);B.push(s)}})),l.fitBounds(o)},a.clearBackgroundFields=function(){B.forEach((e=>{e.setMap(null)})),B=[]},a.checkForBackgroundFieldOverlaps=function(){if(console.log("Checking overlaps - Background Fields:",B.length,"Local Polygons:",m.length),!B.length||!m.length)return console.log("No fields to check for overlap"),!0;for(const e of m)for(const t of B){const o=e.getPath().getArray(),n=t.getPath().getArray();for(const e of o)if(google.maps.geometry.poly.containsLocation(e,t))return console.log("Overlap detected: Local polygon point inside background field"),!1;for(const t of n)if(google.maps.geometry.poly.containsLocation(t,e))return console.log("Overlap detected: Background field point inside local polygon"),!1}return console.log("No overlaps detected"),!0},a.RenderSAAdministrative=function(e,t,o,n,i,s,r,a,l){oe(e,0,0,0,0,s,r,0,l)},a.RenderSACadastral=function(e,t,o,n,i,s){ne(e,0,0,0,i,s)},a.RenderSADelineatedFields=function(e,t,o,n,i,s){ie(e,0,0,0,i,s)},a.RenderGSGPRegions=function(e,t,o,n,i,s,r){re(e,t,o,n,i,s,r)},a.RenderGSProvinces=function(e,t,o,n,i,s,r){ae(e,t,o,n,i,s,r)},a.NDVI_AddOverlay_DEA=function(e,t,o,n,i,s,r,a,c,g,p,u){var m,f,v=e[0],y=new google.maps.LatLngBounds;if(v&&v.Poly&&v.Poly.length>0&&v.Id>0){var L=R(v.Poly);m=L.y,f=L.x,v.Poly.forEach((function(e,t){e.forEach((function(e,o){0==t&&y.extend(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0])))}))}))}else m=r,f=a;var I=0;p&&(I=1);var C=o,b=!1;if(!b){const e=document.createElement("img");e.src=s,e.width=120,e.height=120,e.style.transform="translate(0, 50%)";const t=new google.maps.LatLng(m,f);var w=new google.maps.marker.AdvancedMarkerElement({map:l,position:t,content:e});M.push(w),b=!0}var k=[];if(l.getZoom()>17){var P=google.maps.event.addListenerOnce(l,"zoom_changed",(function(){k=[];var e=new google.maps.ImageMapType({getTileUrl:function(e,o){if(C.indexOf(o+"|"+e.x+"|"+e.y)>-1){const s=I?"true":"false";return k.push({eosLocationCropperRefId:n,eosViewId:i,z:o,x:e.x,y:e.y}),[t.replace(/{l}/,n).replace(/{v}/,i).replace(/{p}/,c).replace(/{f}/,s).replace(/{z}/,o).replace(/{x}/,e.x).replace(/{y}/,e.y)].join("")}},tileSize:new google.maps.Size(256,256),minZoom:13,maxZoom:17});e.addListener("tilesloaded",(function(){if(b&&M.forEach((function(e,t){e.setMap(null),M.splice(t,1),b=!1})),k.length>0&&k[0].fullView,k.length>0){const e=l.getZoom();let t=[];k.forEach((function(o){-1==t.indexOf(o.z+"|"+o.x+"|"+o.y)&&o.z==e&&t.push(o.z+"|"+o.x+"|"+o.y)}));let n=0;o.forEach((t=>{parseInt(t.substring(0,t.indexOf("|")))==e&&n++})),t.length==n?h.OverlayTilesLoaded({type:"SUCCESS",message:"NDVI overlay completed",code:200,data:k[0]}):h.OverlayTilesLoaded({type:"ERROR",message:"Not all tiles loaded",code:400,data:null})}else h.OverlayTilesLoaded({type:"ERROR",message:"No tiles loaded",code:400,data:null});k=[]})),l.overlayMapTypes.push(e)}));d.push(P),l.setZoom(17)}else if(l.getZoom()<13){P=google.maps.event.addListenerOnce(l,"zoom_changed",(function(){k=[];var e=new google.maps.ImageMapType({getTileUrl:function(e,o){if(C.indexOf(o+"|"+e.x+"|"+e.y)>-1){const s=I?"true":"false";return k.push({eosLocationCropperRefId:n,eosViewId:i,z:o,x:e.x,y:e.y}),[t.replace(/{l}/,n).replace(/{v}/,i).replace(/{p}/,c).replace(/{f}/,s).replace(/{z}/,o).replace(/{x}/,e.x).replace(/{y}/,e.y)].join("")}},tileSize:new google.maps.Size(256,256),minZoom:13,maxZoom:17});e.addListener("tilesloaded",(function(){if(b&&M.forEach((function(e,t){e.setMap(null),M.splice(t,1),b=!1})),k.length>0&&k[0].fullView,k.length>0){const e=l.getZoom();let t=[];k.forEach((function(o){-1==t.indexOf(o.z+"|"+o.x+"|"+o.y)&&o.z==e&&t.push(o.z+"|"+o.x+"|"+o.y)}));let n=0;o.forEach((t=>{parseInt(t.substring(0,t.indexOf("|")))==e&&n++})),t.length==n?h.OverlayTilesLoaded({type:"SUCCESS",message:"NDVI overlay completed",code:200,data:k[0]}):h.OverlayTilesLoaded({type:"ERROR",message:"Not all tiles loaded",code:400,data:null})}else h.OverlayTilesLoaded({type:"ERROR",message:"No tiles loaded",code:400,data:null});k=[]})),l.overlayMapTypes.push(e)}));d.push(P),l.setZoom(13)}else{k=[];var z=new google.maps.ImageMapType({getTileUrl:function(e,o){if(C.indexOf(o+"|"+e.x+"|"+e.y)>-1){const s=I?"true":"false";return k.push({eosLocationCropperRefId:n,eosViewId:i,z:o,x:e.x,y:e.y}),[t.replace(/{l}/,n).replace(/{v}/,i).replace(/{p}/,c).replace(/{f}/,s).replace(/{z}/,o).replace(/{x}/,e.x).replace(/{y}/,e.y)].join("")}},tileSize:new google.maps.Size(256,256),minZoom:13,maxZoom:17});z.addListener("tilesloaded",(function(){if(b&&M.forEach((function(e,t){e.setMap(null),M.splice(t,1),b=!1})),k.length>0&&k[0].fullView,k.length>0){const e=l.getZoom();let t=0,n=[];k.forEach((function(t){-1==n.indexOf(t.z+"|"+t.x+"|"+t.y)&&t.z==e&&n.push(t.z+"|"+t.x+"|"+t.y)})),o.forEach((o=>{parseInt(o.substring(0,o.indexOf("|")))==e&&t++})),n.length==t?h.OverlayTilesLoaded({type:"SUCCESS",message:"NDVI overlay completed",code:200,data:k[0]}):h.OverlayTilesLoaded({type:"ERROR",message:"Not all tiles loaded",code:400,data:null})}else h.OverlayTilesLoaded({type:"ERROR",message:"No tiles loaded",code:400,data:null});k=[]})),l.overlayMapTypes.push(z)}},a.NDVI_RemoveOverlay=function(){l.overlayMapTypes.clear()},a.NDVI_DrawLocation=function(e,t,o,n,i,s){var r=e[0],a=null,c=!1;if(r&&r.Poly&&r.Poly.length>0&&r.Id>0){var g=[],u=new google.maps.LatLngBounds;r.Poly.forEach((function(e,t){var o=[];e.forEach((function(e){o.push(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0]))),0==t&&u.extend(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0])))})),g.push(o)})),a=new google.maps.Polygon({map:l,paths:g,fillColor:"transparent",id:r.Id});var m=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){if(!c){var e=l.getProjection().fromLatLngToPoint(u.getSouthWest()),i=l.getProjection().fromLatLngToPoint(u.getNorthEast()),s=l.getZoom(),r=1<<s;(i.x-e.x)*r>=n&&l.setZoom(s-1),l.getZoom()>16&&l.setZoom(16),te(u.getCenter(),t,o),c=!c}}));if(d.push(m),l.fitBounds(u),i){var f=google.maps.event.addListener(a,"mouseover",(function(e){U(e,a.content)})),v=google.maps.event.addListener(a,"mousemove",(function(e){Z(e)})),I=google.maps.event.addListener(a,"mouseout",(function(e){j()}));p.push(f),p.push(v),p.push(I)}if(s){var C=google.maps.event.addListener(a,"click",(function(e){h.PolygonOnClick({id:r.Id,poly:r.Poly,lat:e.latLng.lat(),lng:e.latLng.lng()})}));p.push(C)}L.push(a)}l.getZoom()>=13?y.forEach((function(e){e.setMap(l)})):y.forEach((function(e){e.setMap(null)}));var b=google.maps.event.addListener(l,"zoom_changed",(function(){l.getZoom()>=13?y.forEach((function(e,t){e.setMap(l)})):y.forEach((function(e,t){e.setMap(null)}))}));d.push(b)},a.NLC_AddOverlay=function(e,t,o,n,i,s){if(t&&te(new google.maps.LatLng(o,n),i,s),l.getZoom()>14){var r=google.maps.event.addListenerOnce(l,"zoom_changed",(function(){var t=new google.maps.ImageMapType({getTileUrl:function(t,o){return console.log([e.replace(/{z}/,o).replace(/{x}/,t.x).replace(/{y}/,t.y)].join("")),[e.replace(/{z}/,o).replace(/{x}/,t.x).replace(/{y}/,t.y)].join("")},tileSize:new google.maps.Size(256,256),minZoom:5,maxZoom:14});l.overlayMapTypes.push(t)}));d.push(r),l.setZoom(14)}else if(l.getZoom()<5){r=google.maps.event.addListenerOnce(l,"zoom_changed",(function(){var t=new google.maps.ImageMapType({getTileUrl:function(t,o){return console.log([e.replace(/{z}/,o).replace(/{x}/,t.x).replace(/{y}/,t.y)].join("")),[e.replace(/{z}/,o).replace(/{x}/,t.x).replace(/{y}/,t.y)].join("")},tileSize:new google.maps.Size(256,256),minZoom:5,maxZoom:14});l.overlayMapTypes.push(t)}));d.push(r),l.setZoom(5)}else{var a=new google.maps.ImageMapType({getTileUrl:function(t,o){return console.log([e.replace(/{z}/,o).replace(/{x}/,t.x).replace(/{y}/,t.y)].join("")),[e.replace(/{z}/,o).replace(/{x}/,t.x).replace(/{y}/,t.y)].join("")},tileSize:new google.maps.Size(256,256),minZoom:5,maxZoom:14});l.overlayMapTypes.push(a)}},a.NLC_RemoveOverlay=function(){l.overlayMapTypes.clear()}}}var Ht={width:"100%",height:"100%"},$t={lat:-25.7652061,lng:28.2710333},Gt=["places","marker","geometry"],Yt={disableDefaultUI:!0,mapId:"JP_DEMO_MAP",mapTypeId:"hybrid",mapTypeControl:!0,zoomControl:!0},Jt=e.memo((function(t){var o=t.gmAPIkey,n=t.jpMap,i=e.useState(null),s=i[0],r=i[1],a=function(t){var o=t.mapInstance,n=e.useRef(null);return e.useEffect((function(){if(o){var e=new Vt(o);return n.current=e,function(){n.current&&n.current.map_clear()}}}),[o]),{mapManager:n.current}}({mapInstance:s}).mapManager,l=function(t){var o=t.id,n=void 0===o?W.id:o,i=t.version,s=void 0===i?W.version:i,r=t.nonce,a=t.googleMapsApiKey,l=t.language,c=t.region,g=t.libraries,p=void 0===g?$:g,u=t.preventGoogleFontsLoading,d=t.mapIds,h=t.authReferrerPolicy,m=e.useRef(!1),f=e.useState(!1),v=f[0],y=f[1],L=e.useState(void 0),I=L[0],C=L[1];e.useEffect((function(){return m.current=!0,function(){m.current=!1}}),[]);var b=e.useMemo((function(){return new H({id:n,apiKey:a,version:s,libraries:p,language:l||"en",region:c||"US",mapIds:d||[],nonce:r||"",authReferrerPolicy:h||"origin"})}),[n,a,s,p,l,c,d,r,h]);e.useEffect((function(){v||b.load().then((function(){m.current&&y(!0)})).catch((function(e){C(e)}))}),[]),e.useEffect((function(){O&&u&&B()}),[u]);var w=e.useRef();return e.useEffect((function(){w.current&&p!==w.current&&console.warn("Performance warning! LoadScript has been reloaded unintentionally! You should not pass `libraries` prop as new array. Please keep an array of libraries as static class property for Components and PureComponents, or just a const variable outside of component, or somewhere in config files or ENV variables"),w.current=p}),[p]),{isLoaded:v,loadError:I}}({id:"google-map-script",googleMapsApiKey:o,libraries:Gt}).isLoaded,c=e.useCallback((function(e){r(e)}),[]);e.useEffect((function(){null!==s&&n({isMapInitialized:!0,mapObject:s,mapManager:a})}),[s,n]);var g=e.useCallback((function(e){r(null)}),[]);return l?u.jsx(S,{mapContainerStyle:Ht,center:$t,zoom:5,options:Yt,onLoad:c,onUnmount:g,children:u.jsx(u.Fragment,{})}):u.jsx(u.Fragment,{})}));module.exports=Jt;
54
54
  //# sourceMappingURL=index.js.map