mapping-component-package-jp 0.0.39 → 0.0.42

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 C(e){return e.displayName||"Context"}function I(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 C(e)+".Consumer";case a:return C(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:I(e.type)||"Memo";case h:var o=e,g=o._payload,m=o._init;try{return I(m(g))}catch(e){return null}}return null}L=Symbol.for("react.module.reference");var b,w,k,M,x,z,P,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,x=console.group,z=console.groupCollapsed,P=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:x}),groupCollapsed:E({},e,{value:z}),groupEnd:E({},e,{value:P})})}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,j={},N=v.ReactDebugCurrentFrame;function F(e){if(e){var t=e._owner,o=W(e.type,e._source,t?t.type:null);N.setExtraStackFrame(o)}else N.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,q=v.ReactCurrentOwner,X={key:!0,ref:!0,__self:!0,__source:!0};K={};function Q(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,t){if("string"==typeof e.ref&&q.current&&t&&q.current.stateNode!==t){var o=I(q.current.type);K[o]||(y('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',I(q.current.type),e.ref),K[o]=!0)}}(t,s)),t)Z.call(t,r)&&!X.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,q.current,a)}var ee,te=v.ReactCurrentOwner,oe=v.ReactDebugCurrentFrame;function ne(e){if(e){var t=e._owner,o=W(e.type,e._source,t?t.type:null);oe.setExtraStackFrame(o)}else oe.setExtraStackFrame(null)}function ie(e){return"object"==typeof e&&null!==e&&e.$$typeof===o}function se(){if(te.current){var e=I(te.current.type);if(e)return"\n\nCheck the render method of `"+e+"`."}return""}ee=!1;var re={};function ae(e,t){if(e._store&&!e._store.validated&&null==e.key){e._store.validated=!0;var o=function(e){var t=se();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(!re[o]){re[o]=!0;var n="";e&&e._owner&&e._owner!==te.current&&(n=" It was passed a child from "+I(e._owner.type)+"."),ne(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),ne(null)}}}function le(e,t){if("object"==typeof e)if(H(e))for(var o=0;o<e.length;o++){var n=e[o];ie(n)&&ae(n,t)}else if(ie(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;)ie(s.value)&&ae(s.value,t)}}function ce(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=I(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||(F(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),F(null)),a instanceof Error&&!(a.message in j)&&(j[a.message]=!0,F(i),y("Failed %s type: %s",o,a.message),F(null))}}(t,e.props,"prop",n,e)}else if(void 0!==o.PropTypes&&!ee){ee=!0,y("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",I(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 ge={};function pe(e,t,n,g,f,v){var C=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(!C){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+=se(),null===e?w="null":H(e)?w="array":void 0!==e&&e.$$typeof===o?(w="<"+(I(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=Q(e,t,n,f,v);if(null==k)return k;if(C){var M=t.children;if(void 0!==M)if(g)if(H(M)){for(var x=0;x<M.length;x++)le(M[x],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 le(M,e)}if(Z.call(t,"key")){var z=I(e),P=Object.keys(t).filter((function(e){return"key"!==e})),E=P.length>0?"{key: someKey, "+P.join(": ..., ")+": ...}":"{key: someKey}";if(!ge[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,P.length>0?"{"+P.join(": ..., ")+": ...}":"{}",z),ge[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){ne(e),y("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",n),ne(null);break}}null!==e.ref&&(ne(e),y("Invalid attribute `ref` supplied to `React.Fragment`."),ne(null))}(k):ce(k),k}var ue=function(e,t,o){return pe(e,t,o,!1)},de=function(e,t,o){return pe(e,t,o,!0)};g.Fragment=i,g.jsx=ue,g.jsxs=de}()),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 C(e){return e.displayName||"Context"}function I(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 C(e)+".Consumer";case a:return C(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:I(e.type)||"Memo";case h:var o=e,g=o._payload,m=o._init;try{return I(m(g))}catch(e){return null}}return null}L=Symbol.for("react.module.reference");var b,w,k,M,x,z,P,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,x=console.group,z=console.groupCollapsed,P=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:x}),groupCollapsed:E({},e,{value:z}),groupEnd:E({},e,{value:P})})}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,j={},N=v.ReactDebugCurrentFrame;function F(e){if(e){var t=e._owner,o=W(e.type,e._source,t?t.type:null);N.setExtraStackFrame(o)}else N.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,K,J,q=v.ReactCurrentOwner,X={key:!0,ref:!0,__self:!0,__source:!0};J={};function Q(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,t){if("string"==typeof e.ref&&q.current&&t&&q.current.stateNode!==t){var o=I(q.current.type);J[o]||(y('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',I(q.current.type),e.ref),J[o]=!0)}}(t,s)),t)Z.call(t,r)&&!X.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(){K||(K=!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,q.current,a)}var ee,te=v.ReactCurrentOwner,oe=v.ReactDebugCurrentFrame;function ne(e){if(e){var t=e._owner,o=W(e.type,e._source,t?t.type:null);oe.setExtraStackFrame(o)}else oe.setExtraStackFrame(null)}function ie(e){return"object"==typeof e&&null!==e&&e.$$typeof===o}function se(){if(te.current){var e=I(te.current.type);if(e)return"\n\nCheck the render method of `"+e+"`."}return""}ee=!1;var re={};function ae(e,t){if(e._store&&!e._store.validated&&null==e.key){e._store.validated=!0;var o=function(e){var t=se();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(!re[o]){re[o]=!0;var n="";e&&e._owner&&e._owner!==te.current&&(n=" It was passed a child from "+I(e._owner.type)+"."),ne(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),ne(null)}}}function le(e,t){if("object"==typeof e)if(H(e))for(var o=0;o<e.length;o++){var n=e[o];ie(n)&&ae(n,t)}else if(ie(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;)ie(s.value)&&ae(s.value,t)}}function ce(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=I(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||(F(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),F(null)),a instanceof Error&&!(a.message in j)&&(j[a.message]=!0,F(i),y("Failed %s type: %s",o,a.message),F(null))}}(t,e.props,"prop",n,e)}else if(void 0!==o.PropTypes&&!ee){ee=!0,y("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",I(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 ge={};function pe(e,t,n,g,f,v){var C=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(!C){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+=se(),null===e?w="null":H(e)?w="array":void 0!==e&&e.$$typeof===o?(w="<"+(I(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=Q(e,t,n,f,v);if(null==k)return k;if(C){var M=t.children;if(void 0!==M)if(g)if(H(M)){for(var x=0;x<M.length;x++)le(M[x],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 le(M,e)}if(Z.call(t,"key")){var z=I(e),P=Object.keys(t).filter((function(e){return"key"!==e})),E=P.length>0?"{key: someKey, "+P.join(": ..., ")+": ...}":"{key: someKey}";if(!ge[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,P.length>0?"{"+P.join(": ..., ")+": ...}":"{}",z),ge[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){ne(e),y("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",n),ne(null);break}}null!==e.ref&&(ne(e),y("Invalid attribute `ref` supplied to `React.Fragment`."),ne(null))}(k):ce(k),k}var ue=function(e,t,o){return pe(e,t,o,!1)},de=function(e,t,o){return pe(e,t,o,!0)};g.Fragment=i,g.jsx=ue,g.jsxs=de}()),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 C=process.env.NODE_ENV,I=L((function(e,t,o,n,i,s,r,a){if("production"!==C&&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 x(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 P={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,C=t.onCenterChanged,I=t.onLoad,w=t.onUnmount,k=e.useState(null),M=k[0],x=k[1],z=e.useRef(null),P=e.useState(null),E=P[0],S=P[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),j=Z[0],N=Z[1],F=e.useState(null),V=F[0],H=F[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!==j&&google.maps.event.removeListener(j),N(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&&C&&(null!==E&&google.maps.event.removeListener(E),S(google.maps.event.addListener(M,"center_changed",C)))}),[l]),e.useEffect((function(){var e=null===z.current?null:new google.maps.Map(z.current,n);return x(e),null!==e&&I&&I(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:P,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{map:e}}),this.setMapCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.map&&(x(this.registeredEvents),this.registeredEvents=z({updaterMap:E,eventMap:P,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),x(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 I(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(),I(!!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 C=process.env.NODE_ENV,I=L((function(e,t,o,n,i,s,r,a){if("production"!==C&&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 x(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 P={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,C=t.onCenterChanged,I=t.onLoad,w=t.onUnmount,k=e.useState(null),M=k[0],x=k[1],z=e.useRef(null),P=e.useState(null),E=P[0],S=P[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),j=Z[0],N=Z[1],F=e.useState(null),V=F[0],H=F[1],$=e.useState(null),G=$[0],Y=$[1],K=e.useState(null),J=K[0],q=K[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!==j&&google.maps.event.removeListener(j),N(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!==J&&google.maps.event.removeListener(J),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&&C&&(null!==E&&google.maps.event.removeListener(E),S(google.maps.event.addListener(M,"center_changed",C)))}),[l]),e.useEffect((function(){var e=null===z.current?null:new google.maps.Map(z.current,n);return x(e),null!==e&&I&&I(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:P,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{map:e}}),this.setMapCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.map&&(x(this.registeredEvents),this.registeredEvents=z({updaterMap:E,eventMap:P,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),x(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 I(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(),I(!!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,{});
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 j(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],C=e.useState(void 0),b=C[0],w=C[1];e.useEffect((function(){return f.current=!0,function(){f.current=!1}}),[]),e.useEffect((function(){O&&u&&B()}),[u]),e.useEffect((function(){y&&I(!!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 N=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 F="__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=F,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||F,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(!N(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)=>j(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&&(x(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),x(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],C=e.useState(null),w=C[0],k=C[1],M=e.useState(null),x=M[0],z=M[1],P=e.useState(null),E=P[0],S=P[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!==x&&google.maps.event.removeListener(x),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!==R&&google.maps.event.removeListener(R),D(google.maps.event.addListener(h,"rectanglecomplete",c)))}),[h,c]),e.useEffect((function(){I(!!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&&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),x&&google.maps.event.removeListener(x),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)},I(!!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&&(x(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),x(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,C=t.onClick,I=t.onDblClick,w=t.onDrag,k=t.onDragEnd,M=t.onDragStart,x=t.onMouseOut,z=t.onMouseOver,P=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,j=t.onZindexChanged,N=t.onLoad,F=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),Ce=Le[0],Ie=Le[1],be=e.useState(null),we=be[0],ke=be[1],Me=e.useState(null),xe=Me[0],ze=Me[1],Pe=e.useState(null),Ee=Pe[0],Se=Pe[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),je=Ze[0],Ne=Ze[1],Fe=e.useState(null),Ve=Fe[0],He=Fe[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(){$&&I&&(null!==J&&google.maps.event.removeListener(J),K(google.maps.event.addListener($,"dblclick",I)))}),[I]),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(){$&&x&&(null!==le&&google.maps.event.removeListener(le),ce(google.maps.event.addListener($,"mouseout",x)))}),[x]),e.useEffect((function(){$&&z&&(null!==pe&&google.maps.event.removeListener(pe),ue(google.maps.event.addListener($,"mouseover",z)))}),[z]),e.useEffect((function(){$&&P&&(null!==he&&google.maps.event.removeListener(he),me(google.maps.event.addListener($,"mouseup",P)))}),[P]),e.useEffect((function(){$&&S&&(null!==ve&&google.maps.event.removeListener(ve),ye(google.maps.event.addListener($,"rightclick",S)))}),[S]),e.useEffect((function(){$&&C&&(null!==Ce&&google.maps.event.removeListener(Ce),Ie(google.maps.event.addListener($,"click",C)))}),[C]),e.useEffect((function(){$&&w&&(null!==we&&google.maps.event.removeListener(we),ke(google.maps.event.addListener($,"drag",w)))}),[w]),e.useEffect((function(){$&&O&&(null!==xe&&google.maps.event.removeListener(xe),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!==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!==je&&google.maps.event.removeListener(je),Ne(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(){$&&j&&(null!==ot&&google.maps.event.removeListener(ot),nt(google.maps.event.addListener($,"zindex_changed",j)))}),[j]),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),I&&K(google.maps.event.addListener(t,"dblclick",I)),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)),x&&ce(google.maps.event.addListener(t,"mouseout",x)),z&&ue(google.maps.event.addListener(t,"mouseover",z)),P&&me(google.maps.event.addListener(t,"mouseup",P)),S&&ye(google.maps.event.addListener(t,"rightclick",S)),C&&Ie(google.maps.event.addListener(t,"click",C)),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&&De(google.maps.event.addListener(t,"draggable_changed",B)),R&&We(google.maps.event.addListener(t,"flat_changed",R)),D&&Ne(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)),j&&nt(google.maps.event.addListener(t,"zindex_changed",j)),G(t),N&&N(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!==Ce&&google.maps.event.removeListener(Ce),null!==xe&&google.maps.event.removeListener(xe),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!==je&&google.maps.event.removeListener(je),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),F&&F(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&&(x(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),x(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,C=t.onClick,I=t.onClusteringBegin,w=t.onClusteringEnd,k=t.onMouseOver,M=t.onMouseOut,x=t.onLoad,z=t.onUnmount,P=e.useState(null),E=P[0],S=P[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],j=e.useState(null),N=j[0],F=j[1],V=e.useState(null),H=V[0],$=V[1];return e.useEffect((function(){E&&M&&(null!==N&&google.maps.event.removeListener(N),F(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&&C&&(null!==T&&google.maps.event.removeListener(T),B(google.maps.event.addListener(E,se.onClick,C)))}),[C]),e.useEffect((function(){E&&I&&(null!==D&&google.maps.event.removeListener(D),A(google.maps.event.addListener(E,se.onClusteringBegin,I)))}),[I]),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&&F(google.maps.event.addListener(t,se.onMouseOut,M)),k&&$(google.maps.event.addListener(t,se.onMouseOver,k)),C&&B(google.maps.event.addListener(t,se.onClick,C)),I&&A(google.maps.event.addListener(t,se.onClusteringBegin,I)),w&&Z(google.maps.event.addListener(t,se.onClusteringEnd,w)),S(t),x&&x(t),function(){null!==N&&google.maps.event.removeListener(N),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),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&&(x(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),x(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],C=y[1],w=e.useState(null),k=w[0],M=w[1],x=e.useState(null),z=x[0],P=x[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!==z&&google.maps.event.removeListener(z),P(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"),C(r),l&&M(google.maps.event.addListener(r,"closeclick",l)),c&&P(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):I(!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),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):I(!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&&(x(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),x(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++)Ie(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];Ie(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){Ce(e,o,n),Ce(t,2*o,2*n),Ce(t,2*o+1,2*n+1)}function Ce(e,t,o){const n=e[t];e[t]=e[o],e[o]=n}function Ie(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(Pe(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(Pe(o),Ee(s),Pe(i),Ee(n)),l=r.data,c=[];for(const e of a){const t=this.stride*e;c.push(l[t+5]>1?xe(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?xe(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=Pe(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 xe(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 Pe(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 j(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],C=e.useState(void 0),b=C[0],w=C[1];e.useEffect((function(){return f.current=!0,function(){f.current=!1}}),[]),e.useEffect((function(){O&&u&&B()}),[u]),e.useEffect((function(){y&&I(!!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 N=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 F="__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=F,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||F,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(!N(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)=>j(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&&(x(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),x(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 K={onCircleComplete:"circlecomplete",onMarkerComplete:"markercomplete",onOverlayComplete:"overlaycomplete",onPolygonComplete:"polygoncomplete",onPolylineComplete:"polylinecomplete",onRectangleComplete:"rectanglecomplete"},J={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],C=e.useState(null),w=C[0],k=C[1],M=e.useState(null),x=M[0],z=M[1],P=e.useState(null),E=P[0],S=P[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!==x&&google.maps.event.removeListener(x),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!==R&&google.maps.event.removeListener(R),D(google.maps.event.addListener(h,"rectanglecomplete",c)))}),[h,c]),e.useEffect((function(){I(!!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&&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),x&&google.maps.event.removeListener(x),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)},I(!!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:J,eventMap:K,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{drawingManager:e}}),this.setDrawingManagerCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.drawingManager&&(x(this.registeredEvents),this.registeredEvents=z({updaterMap:J,eventMap:K,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),x(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,C=t.onClick,I=t.onDblClick,w=t.onDrag,k=t.onDragEnd,M=t.onDragStart,x=t.onMouseOut,z=t.onMouseOver,P=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,j=t.onZindexChanged,N=t.onLoad,F=t.onUnmount,V=e.useContext(b),H=e.useState(null),$=H[0],G=H[1],Y=e.useState(null),K=Y[0],J=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),Ce=Le[0],Ie=Le[1],be=e.useState(null),we=be[0],ke=be[1],Me=e.useState(null),xe=Me[0],ze=Me[1],Pe=e.useState(null),Ee=Pe[0],Se=Pe[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),je=Ze[0],Ne=Ze[1],Fe=e.useState(null),Ve=Fe[0],He=Fe[1],$e=e.useState(null),Ge=$e[0],Ye=$e[1],Ke=e.useState(null),Je=Ke[0],qe=Ke[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(){$&&I&&(null!==K&&google.maps.event.removeListener(K),J(google.maps.event.addListener($,"dblclick",I)))}),[I]),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(){$&&x&&(null!==le&&google.maps.event.removeListener(le),ce(google.maps.event.addListener($,"mouseout",x)))}),[x]),e.useEffect((function(){$&&z&&(null!==pe&&google.maps.event.removeListener(pe),ue(google.maps.event.addListener($,"mouseover",z)))}),[z]),e.useEffect((function(){$&&P&&(null!==he&&google.maps.event.removeListener(he),me(google.maps.event.addListener($,"mouseup",P)))}),[P]),e.useEffect((function(){$&&S&&(null!==ve&&google.maps.event.removeListener(ve),ye(google.maps.event.addListener($,"rightclick",S)))}),[S]),e.useEffect((function(){$&&C&&(null!==Ce&&google.maps.event.removeListener(Ce),Ie(google.maps.event.addListener($,"click",C)))}),[C]),e.useEffect((function(){$&&w&&(null!==we&&google.maps.event.removeListener(we),ke(google.maps.event.addListener($,"drag",w)))}),[w]),e.useEffect((function(){$&&O&&(null!==xe&&google.maps.event.removeListener(xe),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!==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!==je&&google.maps.event.removeListener(je),Ne(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!==Je&&google.maps.event.removeListener(Je),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(){$&&j&&(null!==ot&&google.maps.event.removeListener(ot),nt(google.maps.event.addListener($,"zindex_changed",j)))}),[j]),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),I&&J(google.maps.event.addListener(t,"dblclick",I)),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)),x&&ce(google.maps.event.addListener(t,"mouseout",x)),z&&ue(google.maps.event.addListener(t,"mouseover",z)),P&&me(google.maps.event.addListener(t,"mouseup",P)),S&&ye(google.maps.event.addListener(t,"rightclick",S)),C&&Ie(google.maps.event.addListener(t,"click",C)),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&&De(google.maps.event.addListener(t,"draggable_changed",B)),R&&We(google.maps.event.addListener(t,"flat_changed",R)),D&&Ne(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)),j&&nt(google.maps.event.addListener(t,"zindex_changed",j)),G(t),N&&N(t),function(){null!==K&&google.maps.event.removeListener(K),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!==Ce&&google.maps.event.removeListener(Ce),null!==xe&&google.maps.event.removeListener(xe),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!==je&&google.maps.event.removeListener(je),null!==Ve&&google.maps.event.removeListener(Ve),null!==Je&&google.maps.event.removeListener(Je),null!==Qe&&google.maps.event.removeListener(Qe),null!==ot&&google.maps.event.removeListener(ot),F&&F(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&&(x(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),x(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,C=t.onClick,I=t.onClusteringBegin,w=t.onClusteringEnd,k=t.onMouseOver,M=t.onMouseOut,x=t.onLoad,z=t.onUnmount,P=e.useState(null),E=P[0],S=P[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],j=e.useState(null),N=j[0],F=j[1],V=e.useState(null),H=V[0],$=V[1];return e.useEffect((function(){E&&M&&(null!==N&&google.maps.event.removeListener(N),F(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&&C&&(null!==T&&google.maps.event.removeListener(T),B(google.maps.event.addListener(E,se.onClick,C)))}),[C]),e.useEffect((function(){E&&I&&(null!==D&&google.maps.event.removeListener(D),A(google.maps.event.addListener(E,se.onClusteringBegin,I)))}),[I]),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&&F(google.maps.event.addListener(t,se.onMouseOut,M)),k&&$(google.maps.event.addListener(t,se.onMouseOver,k)),C&&B(google.maps.event.addListener(t,se.onClick,C)),I&&A(google.maps.event.addListener(t,se.onClusteringBegin,I)),w&&Z(google.maps.event.addListener(t,se.onClusteringEnd,w)),S(t),x&&x(t),function(){null!==N&&google.maps.event.removeListener(N),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),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&&(x(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),x(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],C=y[1],w=e.useState(null),k=w[0],M=w[1],x=e.useState(null),z=x[0],P=x[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!==z&&google.maps.event.removeListener(z),P(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"),C(r),l&&M(google.maps.event.addListener(r,"closeclick",l)),c&&P(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):I(!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),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):I(!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&&(x(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),x(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++)Ie(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];Ie(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){Ce(e,o,n),Ce(t,2*o,2*n),Ce(t,2*o+1,2*n+1)}function Ce(e,t,o){const n=e[t];e[t]=e[o],e[o]=n}function Ie(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(Pe(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(Pe(o),Ee(s),Pe(i),Ee(n)),l=r.data,c=[];for(const e of a){const t=this.stride*e;c.push(l[t+5]>1?xe(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?xe(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=Pe(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 xe(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 Pe(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 je 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 Ne(t){var o=function(){I(!!e.useContext,"useGoogleMap is React hook and requires React version 16.8+");var t=e.useContext(b);return I(!!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 je(m(m({},t),{map:o}));s(e)}}),[o]),i}e.memo((function(e){var t=e.children,o=Ne(e.options);return null!==o?t(o):null}));var Fe={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],C=e.useState(null),w=C[0],k=C[1],M=e.useState(null),x=M[0],z=M[1],P=e.useState(null),E=P[0],S=P[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!==x&&google.maps.event.removeListener(x),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!==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&&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&&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):I(!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),x&&google.maps.event.removeListener(x),_&&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):I(!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:Fe,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{infoWindow:e}}),this.setInfoWindowCallback)},n.prototype.componentDidUpdate=function(e){null!==this.state.infoWindow&&(x(this.registeredEvents),this.registeredEvents=z({updaterMap:Ve,eventMap:Fe,prevProps:e,nextProps:this.props,instance:this.state.infoWindow}))},n.prototype.componentWillUnmount=function(){null!==this.state.infoWindow&&(x(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,C=t.onUnmount,I=e.useContext(b),w=e.useState(null),k=w[0],M=w[1],x=e.useState(null),z=x[0],P=x[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],j=e.useState(null),N=j[0],F=j[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(I)}),[I]),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),P(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!==N&&google.maps.event.removeListener(N),F(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:I}));return r&&e.setPath(r),void 0!==s&&e.setVisible(s),void 0!==i&&e.setEditable(i),void 0!==n&&e.setDraggable(n),a&&P(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&&F(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!==D&&google.maps.event.removeListener(D),null!==W&&google.maps.event.removeListener(W),null!==N&&google.maps.event.removeListener(N),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),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={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&&(x(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),x(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,C=t.onLoad,I=t.onUnmount,w=t.onEdit,k=e.useContext(b),M=e.useState(null),x=M[0],z=M[1],P=e.useState(null),E=P[0],S=P[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),j=Z[0],N=Z[1],F=e.useState(null),V=F[0],H=F[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!==x&&x.setMap(k)}),[k]),e.useEffect((function(){void 0!==o&&null!==x&&x.setOptions(o)}),[x,o]),e.useEffect((function(){void 0!==n&&null!==x&&x.setDraggable(n)}),[x,n]),e.useEffect((function(){void 0!==i&&null!==x&&x.setEditable(i)}),[x,i]),e.useEffect((function(){void 0!==s&&null!==x&&x.setVisible(s)}),[x,s]),e.useEffect((function(){void 0!==r&&null!==x&&x.setPath(r)}),[x,r]),e.useEffect((function(){void 0!==a&&null!==x&&x.setPaths(a)}),[x,a]),e.useEffect((function(){x&&l&&(null!==E&&google.maps.event.removeListener(E),S(google.maps.event.addListener(x,"dblclick",l)))}),[l]),e.useEffect((function(){x&&(google.maps.event.addListener(x.getPath(),"insert_at",(function(){null==w||w(x)})),google.maps.event.addListener(x.getPath(),"set_at",(function(){null==w||w(x)})))}),[x,w]),e.useEffect((function(){x&&c&&(null!==_&&google.maps.event.removeListener(_),T(google.maps.event.addListener(x,"dragend",c)))}),[c]),e.useEffect((function(){x&&g&&(null!==R&&google.maps.event.removeListener(R),D(google.maps.event.addListener(x,"dragstart",g)))}),[g]),e.useEffect((function(){x&&p&&(null!==U&&google.maps.event.removeListener(U),W(google.maps.event.addListener(x,"mousedown",p)))}),[p]),e.useEffect((function(){x&&u&&(null!==j&&google.maps.event.removeListener(j),N(google.maps.event.addListener(x,"mousemove",u)))}),[u]),e.useEffect((function(){x&&d&&(null!==V&&google.maps.event.removeListener(V),H(google.maps.event.addListener(x,"mouseout",d)))}),[d]),e.useEffect((function(){x&&h&&(null!==G&&google.maps.event.removeListener(G),Y(google.maps.event.addListener(x,"mouseover",h)))}),[h]),e.useEffect((function(){x&&f&&(null!==K&&google.maps.event.removeListener(K),q(google.maps.event.addListener(x,"mouseup",f)))}),[f]),e.useEffect((function(){x&&v&&(null!==Q&&google.maps.event.removeListener(Q),ee(google.maps.event.addListener(x,"rightclick",v)))}),[v]),e.useEffect((function(){x&&y&&(null!==oe&&google.maps.event.removeListener(oe),ne(google.maps.event.addListener(x,"click",y)))}),[y]),e.useEffect((function(){x&&L&&(null!==se&&google.maps.event.removeListener(se),re(google.maps.event.addListener(x,"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&&N(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),C&&C(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!==j&&google.maps.event.removeListener(j),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),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={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&&(x(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),x(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,C=t.onLoad,I=t.onUnmount,w=e.useContext(b),k=e.useState(null),M=k[0],x=k[1],z=e.useState(null),P=z[0],E=z[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],j=W[1],N=e.useState(null),F=N[0],V=N[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!==P&&google.maps.event.removeListener(P),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),j(google.maps.event.addListener(M,"mousemove",p)))}),[p]),e.useEffect((function(){M&&u&&(null!==F&&google.maps.event.removeListener(F),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&&j(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)),x(e),C&&C(e),function(){null!==P&&google.maps.event.removeListener(P),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!==F&&google.maps.event.removeListener(F),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),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={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&&(x(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),x(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,C=t.onCenterChanged,I=t.onRadiusChanged,w=t.onLoad,k=t.onUnmount,M=e.useContext(b),x=e.useState(null),z=x[0],P=x[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],j=e.useState(null),N=j[0],F=j[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!==D&&google.maps.event.removeListener(D),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!==N&&google.maps.event.removeListener(N),F(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&&C&&(null!==ce&&google.maps.event.removeListener(ce),ge(google.maps.event.addListener(z,"center_changed",C)))}),[y]),e.useEffect((function(){z&&I&&(null!==ue&&google.maps.event.removeListener(ue),de(google.maps.event.addListener(z,"radius_changed",I)))}),[I]),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&&F(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)),C&&ge(google.maps.event.addListener(e,"center_changed",C)),I&&de(google.maps.event.addListener(e,"radius_changed",I)),P(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!==N&&google.maps.event.removeListener(N),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&&(x(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),x(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),C=e.useState(null),I=C[0],w=C[1],k=e.useState(null),M=k[0],x=k[1],z=e.useState(null),P=z[0],E=z[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],j=W[1],N=e.useState(null),F=N[0],V=N[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!==I&&I.setMap(L)}),[L]),e.useEffect((function(){I&&i&&(null!==M&&google.maps.event.removeListener(M),x(google.maps.event.addListener(I,"dblclick",i)))}),[i]),e.useEffect((function(){I&&s&&(null!==P&&google.maps.event.removeListener(P),E(google.maps.event.addListener(I,"mousedown",s)))}),[s]),e.useEffect((function(){I&&r&&(null!==O&&google.maps.event.removeListener(O),_(google.maps.event.addListener(I,"mousemove",r)))}),[r]),e.useEffect((function(){I&&a&&(null!==B&&google.maps.event.removeListener(B),R(google.maps.event.addListener(I,"mouseout",a)))}),[a]),e.useEffect((function(){I&&l&&(null!==A&&google.maps.event.removeListener(A),U(google.maps.event.addListener(I,"mouseover",l)))}),[l]),e.useEffect((function(){I&&c&&(null!==Z&&google.maps.event.removeListener(Z),j(google.maps.event.addListener(I,"mouseup",c)))}),[c]),e.useEffect((function(){I&&g&&(null!==F&&google.maps.event.removeListener(F),V(google.maps.event.addListener(I,"rightclick",g)))}),[g]),e.useEffect((function(){I&&n&&(null!==$&&google.maps.event.removeListener($),G(google.maps.event.addListener(I,"click",n)))}),[n]),e.useEffect((function(){I&&p&&(null!==J&&google.maps.event.removeListener(J),K(google.maps.event.addListener(I,"addfeature",p)))}),[p]),e.useEffect((function(){I&&u&&(null!==X&&google.maps.event.removeListener(X),Q(google.maps.event.addListener(I,"removefeature",u)))}),[u]),e.useEffect((function(){I&&d&&(null!==te&&google.maps.event.removeListener(te),oe(google.maps.event.addListener(I,"removeproperty",d)))}),[d]),e.useEffect((function(){I&&h&&(null!==ie&&google.maps.event.removeListener(ie),se(google.maps.event.addListener(I,"setgeometry",h)))}),[h]),e.useEffect((function(){I&&f&&(null!==ae&&google.maps.event.removeListener(ae),le(google.maps.event.addListener(I,"setproperty",f)))}),[f]),e.useEffect((function(){if(null!==L){var e=new google.maps.Data(m(m({},o||{}),{map:L}));i&&x(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&&j(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(){I&&(null!==M&&google.maps.event.removeListener(M),null!==P&&google.maps.event.removeListener(P),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!==F&&google.maps.event.removeListener(F),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(I),I.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&&(x(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),x(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&&(x(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),x(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();I(!!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,t,o=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),i=n.state.containerStyle,s=i.left,r=i.top,a=i.width,l=i.height;t={left:s,top:r,width:a,height:l},((e=o).left!==t.left||e.top!==t.top||e.width!==t.height||e.height!==t.height)&&n.setState({containerStyle:{top:o.top||0,left:o.left||0,width:o.width||0,height:o.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(){I(!!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&&(x(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||I(!!google.maps.visualization,'Did you include prop libraries={["visualization"]} in useJsApiScript? %s',google.maps.visualization)}),[]),e.useEffect((function(){I(!!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(){I(!!google.maps.visualization,'Did you include prop libraries={["visualization"]} to <LoadScript />? %s',google.maps.visualization),I(!!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){x(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),x(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&&(x(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),x(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(){I(!!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&&(x(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),x(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(){I(!!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 Ct={onPlacesChanged:"places_changed"},It={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(I(!!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:It,eventMap:Ct,prevProps:{},nextProps:this.props,instance:t}),this.setState((function(){return{searchBox:t}}),this.setSearchBoxCallback)}}},o.prototype.componentDidUpdate=function(e){null!==this.state.searchBox&&(x(this.registeredEvents),this.registeredEvents=z({updaterMap:It,eventMap:Ct,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),x(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;I(!!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){x(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&&x(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 xt(e){return e*Math.PI/180}function zt(e){return 180*e/Math.PI}class Pt{constructor(){}delete(e,t){return t.getPath().forEach((function(e,t){e.marker&&(e.marker.setMap(null),e.marker=void 0),e.ghostMarker&&(e.ghostMarker.setMap(null),e.ghostMarker=void 0)})),t}edit(e,t,o,n){if(n){0;var i={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<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"><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)};0;var s={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<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"><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)};0;var r={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:#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)"><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)};0;var a={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:#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)"><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)}}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};var l=new google.maps.Polyline({map:e,strokeColor:"#ffa500",strokeOpacity:1,strokeWeight:3});function c(e){return t.getPath().getAt(e)}function g(){var e=new google.maps.LatLngBounds;if(t.getPath().forEach((function(t,o){t.marker.setIcon(i),e.extend(t)})),n){var o=e.getCenter();this.position.lat()>=o.lat()?this.setIcon(r):this.setIcon(a)}}function p(){0===l.getPath().getLength()&&(this.marker.editIndex<t.getPath().getLength()-1?l.setPath([this.marker.getPosition(),this.getPosition(),c(this.marker.editIndex+1)]):this.marker.editIndex==t.getPath().getLength()-1&&l.setPath([this.marker.getPosition(),this.getPosition(),c(0)])),l.getPath().setAt(1,this.getPosition())}function u(e){var o,n,i,s=c(e.editIndex);o=0===e.editIndex?c(t.getPath().getLength()-1):c(e.editIndex-1),n=e.editIndex==t.getPath().getLength()-1?c(0):c(e.editIndex+1),i=e.getPosition(),s&&s.ghostMarker&&(google.maps.geometry?s.ghostMarker.setPosition(google.maps.geometry.spherical.interpolate(s,n,.5)):s.ghostMarker.setPosition(new google.maps.LatLng(s.lat()+.5*(n.lat()-s.lat()),s.lng()+.5*(n.lng()-s.lng())))),o&&o.ghostMarker&&(google.maps.geometry?o.ghostMarker.setPosition(google.maps.geometry.spherical.interpolate(o,i,.5)):o.ghostMarker.setPosition(new google.maps.LatLng(o.lat()+.5*(i.lat()-o.lat()),o.lng()+.5*(i.lng()-o.lng()))))}function d(){this.setIcon(s);var e=this.getPosition(),o=this.marker.editIndex+1;l.getPath().forEach((function(){l.getPath().pop()})),t.getPath().insertAt(o,e),y(c(o),i).editIndex=o,u(this.marker),h(c(o)),t.getPath().forEach((function(e,t){e.marker&&(e.marker.editIndex=t)})),google.maps.event.trigger(t,"insert_at",o,e)}function h(o){if(o.marker.editIndex<t.getPath().getLength()-1){var n=c(o.marker.editIndex+1);return i=google.maps.geometry?google.maps.geometry.spherical.interpolate(o,n,.5):new google.maps.LatLng(o.lat()+.5*(n.lat()-o.lat()),o.lng()+.5*(n.lng()-o.lng())),(r=o.ghostMarker)||(r=new google.maps.Marker({map:e,icon:s,draggable:!0,raiseOnDrag:!1}),google.maps.event.addListener(r,"dragstart",g),google.maps.event.addListener(r,"drag",p),google.maps.event.addListener(r,"dragend",d),o.ghostMarker=r,r.marker=o.marker),r.setPosition(i),r}if(o.marker.editIndex==t.getPath().getLength()-1){var i,r;n=c(0);return i=google.maps.geometry?google.maps.geometry.spherical.interpolate(o,n,.5):new google.maps.LatLng(o.lat()+.5*(n.lat()-o.lat()),o.lng()+.5*(n.lng()-o.lng())),(r=o.ghostMarker)||(r=new google.maps.Marker({map:e,icon:s,draggable:!0,raiseOnDrag:!1}),google.maps.event.addListener(r,"dragstart",g),google.maps.event.addListener(r,"drag",p),google.maps.event.addListener(r,"dragend",d),o.ghostMarker=r,r.marker=o.marker),r.setPosition(i),r}return null}function m(){var e=new google.maps.LatLngBounds;if(t.getPath().forEach((function(t,o){t.marker.setIcon(i),e.extend(t)})),n){var o=e.getCenter();this.position.lat()>=o.lat()?this.setIcon(r):this.setIcon(a)}}function f(){var e=this.getPosition();e.marker=this,e.ghostMarker=c(this.editIndex).ghostMarker,t.getPath().setAt(this.editIndex,e),u(this)}function v(){google.maps.event.trigger(t,"update_at",this.editIndex,this.getPosition())}function y(t,o){var n=t.marker;return n||(n=new google.maps.Marker({position:t,map:e,icon:o,draggable:!0,raiseOnDrag:!1}),google.maps.event.addListener(n,"dragstart",m),google.maps.event.addListener(n,"drag",f),google.maps.event.addListener(n,"dragend",v),t.marker=n),n.setPosition(t),n}function L(e,t,o,n){return t.setMap(e),t.getPath().forEach((function(e,t){var o=i;n&&1===t&&(o=r),y(e,o).editIndex=t,h(e)})),t}return L.prototype=new google.maps.MVCObject,new L(e,t,o,n)}}class Et{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 St{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 Ot(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 St([],((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 _t(o/t,n/t,0,e);return 0===t||s.d<0?new _t(i[0][0],i[0][1],0,e):s}(e);const u=new _t(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 _t(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 _t(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,Tt(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 Tt(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 Bt,Rt={exports:{}};var Dt=(Bt||(Bt=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),At=i(Dt);class Ut{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 Ut).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 Ut).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 Ut).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 Ut).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 Ut).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 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;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"};function C(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 I;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 I(){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 C.prototype=new google.maps.MVCObject,I.prototype=new google.maps.MVCObject,I.prototype.distance_changed=function(){this.set("radius",this.get("distance"))},I.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()}))},I.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()}))},I.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()}))},I.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()}))},I.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()}))},I.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()}))},I.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,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])}},I.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(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))},I.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(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))},I.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(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))},I.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(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 C(e)}}class Zt{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 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)"><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 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) 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"};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 x;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(I):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(I)})),r.push(c)),o}function x(){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,x.prototype=new google.maps.MVCObject,x.prototype.distance_changed=function(){this.set("radius",this.get("distance"))},x.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(I):e.setIcon(C):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(I):e.setIcon(C)})),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()}))},x.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(I):e.setIcon(C):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(I):e.setIcon(C)})),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()}))},x.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(C):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(C)})),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()}))},x.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(I):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(I)})),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()}))},x.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(I):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(I)})),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()}))},x.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(I):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(I)})),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()}))},x.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[0]),this.set("endPin_position",n[n.length-2])}},x.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[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))},x.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[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))},x.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[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))},x.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[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 Ft{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=[],C=[],I=[],b=[],w=[],k=[],M=[],x=null,z=null,P=null,E=null,S=null,O=20,_=20,T=[];function B(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=Ot(e,1e-5);return{x:t[0],y:t[1]}}function D(e,t){!S&&e&&((S=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;",S.innerHTML=t,S.style.top=e.domEvent.clientY+window.scrollY+_+"px",S.style.left=e.domEvent.clientX+window.scrollX+O+"px",document.body.appendChild(S))}function A(e,t){!S&&e&&((S=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;",S.innerHTML=t,S.style.top=e.clientY+window.scrollY+_+"px",S.style.left=e.clientX+window.scrollX+O+"px",document.body.appendChild(S))}function U(e){S&&e&&(S.style.top=e.domEvent.clientY+window.scrollY+_+"px",S.style.left=e.domEvent.clientX+window.scrollX+O+"px")}function W(e){S&&e&&(S.style.top=e.clientY+window.scrollY+_+"px",S.style.left=e.clientX+window.scrollX+O+"px")}function Z(){S&&(document.body.removeChild(S),S=null)}function j(e,t,o="field",n){if(l.getMapCapabilities().isAdvancedMarkersAvailable&&e&&e.length>0){var i=new google.maps.LatLngBounds;e.forEach((function(e){var n,s=new google.maps.LatLngBounds;"farm"===o?(s.extend(new google.maps.LatLng(e.minLat,e.minLng)),s.extend(new google.maps.LatLng(e.maxLat,e.maxLng))):e.Poly[0].forEach((function(e){s.extend(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0])))})),i.extend(s.getCenter());var r=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:s.getCenter(),content:r});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",(()=>{Z(),h.AdvancedMarkerOnClick({type:"SUCCESS",message:"farm marker with id "+n.id+" clicked",code:200,data:e})}))):u.push(n.addListener("click",(()=>{Z(),h.AdvancedMarkerOnClick({type:"SUCCESS",message:"field marker with id "+n.id+" clicked",code:200,data:e})}))),M.push(n)})),"farm"===o&&(n&&l.fitBounds(i),Z(),M.forEach((function(e){var t=e.id.split("|");u.push(e.content.addEventListener("mouseover",(function(e){Z(),A(e,t[1]+"<br>Farm "+t[2])}))),u.push(e.content.addEventListener("mousemove",W)),u.push(e.content.addEventListener("mouseout",Z))})))}}function N(){M.forEach((function(e){e.setMap(null),e=null})),M=[]}function F(){p.forEach((function(e){google.maps.event.removeListener(e)})),p=[]}function V(){u.forEach((function(e){google.maps.event.removeListener(e)})),u=[]}function H(){d.forEach((function(e){google.maps.event.removeListener(e)})),d=[]}function $(){L.forEach((function(e,t){e.setMap(null),e=null})),L=[]}function G(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 C=[];C.push([r-2*L*n,s+1.5*L*i]),C.push([r+2*L*n,s+1.5*L*i]),C.push([r+2*L*n,s-1.5*L*i]),C.push([r-2*L*n,s-1.5*L*i]),C.push([r-2*L*n,s+1.5*L*i]),f.push(C);var I=0;if(C.forEach((function(e,t){google.maps.geometry.poly.containsLocation(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0])),m[0])||I++})),0==I){if(!(f.length>2)){h=J(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++)Y(f[w],f[k])&&b++;if(0==b){h=J(L,e,g,p,u,d);break}f.pop()}else f.pop()}return h}function Y(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 J(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),Q(f.getCenter(),o,a),v=!v,x=(new Pt).edit(l,h,x,g)}}));return d.push(y),l.fitBounds(f),u}function K(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),z=(z=new Ut).edit(l,u,z,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),Q(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),P=(P=new Wt).edit(l,u,P,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),Q(h.getCenter(),t,o),f=!f}}));return d.push(v),l.fitBounds(h),p}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:!1,isCircleSector:!1,isCircleSegment:!0,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),Q(h.getCenter(),t,o),f=!f}}));return d.push(v),l.fitBounds(h),p}function Q(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 ee(e,t,o,n,i,s,r,a,g){H(),F(),V(),N(),$(),function(e,t,o,n,i,s,r,a,g){console.log("Display_SAAdministrative"),console.log(e);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=At.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){Z(),L.forEach((function(t){p.push(google.maps.event.addListener(t,"mouseover",(function(e){t.setOptions({strokeColor:"#f1a81e",zIndex:10010}),Z(),D(e,t.content)}))),p.push(google.maps.event.addListener(t,"mousemove",U)),p.push(google.maps.event.addListener(t,"mouseout",(function(e){t.setOptions({strokeColor:"#000000",zIndex:1e4}),Z()}))),e||p.push(google.maps.event.addListener(t,"click",(function(e){Z(),h.SAAdminPolyOnClick(this.id)})))}))}(g);var C=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){Q(l.getCenter(),s,r)}));d.push(C),l.fitBounds(c)}(e,0,0,0,0,s,r,0,g)}function te(e,t,o,n,i,s){H(),F(),V(),N(),$();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}):(H(),$(),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}):(H(),$(),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}):(H(),$(),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){Z(),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}),Z(),D(e,t.content)}))),p.push(google.maps.event.addListener(t,"mousemove",U)),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}),Z()}))),e||p.push(google.maps.event.addListener(t,"click",(function(e){Z(),h.SACadastralPolyOnClick(this.id)})))}))}(i)}(e,0,0,0,i,s)}function oe(e,t,o,n,i,s,r){locations=e,H(),F(),V(),N(),$(),function(e,t){var o=null;locations=e,locations.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){Z(),L.forEach((function(t){p.push(google.maps.event.addListener(t,"mouseover",(function(e){t.setOptions({strokeColor:"#f1a81e",strokeWeight:3,zIndex:10012}),Z(),D(e,t.content)}))),p.push(google.maps.event.addListener(t,"mousemove",U)),p.push(google.maps.event.addListener(t,"mouseout",(function(e){t.setOptions({strokeColor:"#000000",strokeWeight:3,zIndex:10002}),Z()}))),e||p.push(google.maps.event.addListener(t,"click",(function(e){Z(),h.CPRPolyOnClick({type:"SUCCESS",message:"CPRPoly clicked",code:200,data:t.id})})))}))}(r),function(e,t,o,n){locations=e,c=new google.maps.LatLngBounds;var i=!1;if(locations.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)})),locations.length>1){var s=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){if(!i){var e=l.getProjection().fromLatLngToPoint(c.getSouthWest()),s=l.getProjection().fromLatLngToPoint(c.getNorthEast()),r=l.getZoom(),a=1<<r;(s.x-e.x)*a>=n&&l.setZoom(r-1),l.getZoom()>16&&l.setZoom(16),Q(c.getCenter(),t,o),i=!i}}));d.push(s),l.fitBounds(c)}else 1==locations.length&&(s=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){i||(Q(l.getCenter(),t,o),i=!i)})),l.panTo(new google.maps.LatLng(locations[0].latitude,locations[0].longitude)),l.setZoom(9))}(t,n,i,s),Z(),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:t[0]})}));u.push(n);var i=e.content.addEventListener("mouseover",(function(e){Z(),A(e,o)}));u.push(i);var s=e.content.addEventListener("mousemove",(function(e){W(e)}));u.push(s);var r=e.content.addEventListener("mouseout",(function(e){Z()}));u.push(r)}))}a.eventHandlers_set=function(e){Object.assign(h,e)},a.eventHandlers_get=function(){return h},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&&B(e)}})),l.fitBounds(o),Z(),v.forEach((function(e){p.push(google.maps.event.addListener(e,"mouseover",(function(t){Z(),D(t,e.content)}))),p.push(google.maps.event.addListener(e,"mousemove",U)),p.push(google.maps.event.addListener(e,"mouseout",Z)),p.push(google.maps.event.addListener(e,"click",(function(e){Z(),h.FieldOnClick(this.id)})))})),t.icon&&j(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,locations=[],selectedProvinceFieldId=null,defaultCenterLatitude=null,defaultCenterLongitude=null,m=[],v=[],y=[],a.map_clear()},a.map_clear=function(){if(F(),V(),H(),I.forEach((function(e){e.setMap(null),e=null})),I=[],C.forEach((function(e){e.setMap(null),e=null})),C=[],N(),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!=x&&(x=(new Pt).delete(l,x));m.forEach((function(e){e.setMap(null),e=null})),m=[]}(),$(),w.forEach((function(e){e.setMap(null),e=null})),k.forEach((function(e){e.setMap(null),e=null})),x&&(x=(new Pt).delete(l,x),x=null),z&&(z.setMap(null),z=null),P&&(P.setMap(null),P=null),E&&(E.setMap(null),E=null),l.overlayMapTypes)for(;l.overlayMapTypes.getLength()>0;)l.overlayMapTypes.pop();Z(),T.length>0&&(T.forEach((e=>{e.setMap&&e.setMap(null)})),T=[]),m=[],f=[],v=[],y=[],L=[],C=[],I=[],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.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!=x&&e.isPolygon&&(x=(new Pt).delete(l,x),x=null,e.setMap(l)),null!=z&&e.isCircle&&(z.set("map",null),z=null),null!=P&&e.isCircleSector&&(P.set("map",null),P=null),null!=E&&e.isCircleSegment&&(E.set("map",null),E=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!=x){var o=x.getPath();t.setPath(o),x=(new Pt).delete(l,x),x=null}t.setMap(l),t.setEditable(!1),t.setDraggable(!1),t.setVisible(!0)}else if(t.isCircle){var n=(new Ut).reduce(z.getPath(),t.isHole);t.setPath(n),t.isPolygon=!1,t.isCircle=!0,t.setEditable(!1),t.setDraggable(!1),z.setMap(null),z=null,t.setVisible(!0)}else if(t.isCircleSector){n=(new Wt).reduce(P.getPath(),t.isHole);t.setPath(n),t.isPolygon=!1,t.isCircleSector=!0,t.setEditable(!1),t.setDraggable(!1),P.setMap(null),P=null,t.setVisible(!0)}else if(t.isCircleSegment){n=(new Zt).reduce(E.getPath(),t.isHole);t.setPath(n),t.isPolygon=!1,t.isCircleSegment=!0,t.setEditable(!1),t.setDraggable(!1),E.setMap(null),E=null,t.setVisible(!0)}}))},a.Shape_Delete=function(e,t){const o=l.getBounds(),n=l.getCenter(),i=l.getZoom();F(),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!=x&&(x=(new Pt).delete(l,x),x=null),null!=z&&(z.set("map",null),z=null),null!=P&&(P.set("map",null),P=null),null!=E&&(E.set("map",null),E=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();F(),m.forEach((function(e){null!=x&&(x=(new Pt).delete(l,x),x=null),null!=z&&(z.set("map",null),z=null),null!=P&&(P.set("map",null),P=null),null!=E&&(E.set("map",null),E=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 G(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()),C=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:!1,isPolygon:!0,isCircle:!1,isCircleSector:!1,isCircleSegment:!1,isHole:!1,latitude:0,longitude:0,poly:0,area:0,perimeter:0});return m.push(C),x=(new Pt).edit(l,C,x,r),L},a.Shape_Polygon_Add=function(e,s,r,a,c,g,p,u){if(e)return G(s,a,c,p,u,g,r);var d=l.getBounds(),h=l.getCenter(),v=h.lat(),y=h.lng(),L=[],C=[];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)),C.push([y+p*n-80*n,v+u*i+60*i]),C.push([y+p*n+80*n,v+u*i+60*i]),C.push([y+p*n+80*n,v+u*i-60*i]),C.push([y+p*n-80*n,v+u*i-60*i]),C.push([y+p*n-80*n,v+u*i+60*i]),f.push(C));var I=Date.now()+Math.floor(1e5*Math.random()),b=new google.maps.Polygon({map:l,path:L,id:I.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),I},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 C=0,I=360,b=20;b>0;b--){var w=[],k=s,M=r+2*b*n,x=new google.maps.LatLng(s,r),z=kt(s,r,k,M),P=(new Ut).get(s,r,z,C,I);P.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=K(e,g,p,u,P,x,z,d,h);break}for(var S=0,O=1;O<f.length-1;O++)for(var _=O+1;_<f.length;_++)Y(f[O],f[_])&&S++;if(0==S){v=K(e,g,p,u,P,x,z,d,h);break}f.pop()}else f.pop()}return v}(a,g,p,v,y,u,c,C);return L}var I=l.getBounds(),b=l.getCenter(),w=b.lat(),k=b.lng();t=Math.abs(I.getSouthWest().lat()-I.getNorthEast().lat()),o=Math.abs(I.getNorthEast().lng()-I.getSouthWest().lng());var M=w+y*(i=t/p),x=k+v*(n=o/g),P=new google.maps.LatLng(M,x),E=kt(M,x,M,x+80*n),S=(new Ut).get(M,x,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(_),z=(z=new Ut).edit(l,_,z,P,E,c,C),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 C=60,I=120,b=20;b>0;b--){var w=[],k=s,M=r+2*b*n,x=new google.maps.LatLng(s,r),z=kt(s,r,k,M),P=(new Wt).get(s,r,z,C,I);P.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,P,x,z,d,h);break}for(var S=0,O=1;O<f.length-1;O++)for(var _=O+1;_<f.length;_++)Y(f[O],f[_])&&S++;if(0==S){v=q(e,g,p,u,P,x,z,d,h);break}f.pop()}else f.pop()}return v}(a,g,p,v,y,u,c,C);return L}var I=l.getBounds(),b=l.getCenter(),w=b.lat(),k=b.lng();t=Math.abs(I.getSouthWest().lat()-I.getNorthEast().lat()),o=Math.abs(I.getNorthEast().lng()-I.getSouthWest().lng());var M=w+y*(i=t/p),x=k+v*(n=o/g),z=new google.maps.LatLng(M,x),E=kt(M,x,M,x+80*n),S=(new Wt).get(M,x,E,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(_),P=(P=new Wt).edit(l,_,P,z,E,c,C),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 C=0,I=160,b=20;b>0;b--){var w=[],k=s,M=r+2*b*n,x=new google.maps.LatLng(s,r),z=kt(s,r,k,M),P=(new Wt).get(s,r,z,C,I);P.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,P,x,z,d,h);break}for(var S=0,O=1;O<f.length-1;O++)for(var _=O+1;_<f.length;_++)Y(f[O],f[_])&&S++;if(0==S){v=X(e,g,p,u,P,x,z,d,h);break}f.pop()}else f.pop()}return v}(a,g,p,v,y,u,c,C);return L}var I=l.getBounds(),b=l.getCenter(),w=b.lat(),k=b.lng();t=Math.abs(I.getSouthWest().lat()-I.getNorthEast().lat()),o=Math.abs(I.getNorthEast().lng()-I.getSouthWest().lng());var M=w+y*(i=t/p),x=k+v*(n=o/g),z=new google.maps.LatLng(M,x),P=kt(M,x,M,x+80*n),S=(new Zt).get(M,x,P,0,160),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:!1,isCircleSegment:!0,isHole:e,latitude:0,longitude:0,poly:0,area:0,perimeter:0});return m.push(_),E=(E=new Zt).edit(l,_,E,z,P,c,C),O},a.RenderRegionFarms=function(e,t,o){t&&j(e,t,"farm",o)},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 Et(i,o,n,e,t,r)},a.DrawField_AttachEvents=function(e){m.forEach((function(t){var o=google.maps.event.addListener(t,"mouseover",(function(){e.JS_ShapeOnMouseIn(this.id)}));p.push(o);var n=google.maps.event.addListener(t,"mouseout",(function(){e.JS_ShapeOnMouseOut(this.id)}));p.push(n);var i=google.maps.event.addListener(t,"click",(function(){e.ShapeSelect(this.id)}));p.push(i)}))},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),x=(new Pt).edit(l,o,x,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));P=(new Wt).edit(l,o,P,i,s,t,C)}},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));z=(new Ut).edit(l,o,z,i,s,t,C)}},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));E=(new Zt).edit(l,o,E,i,s,t,C)}},a.RenderRegions=function(e,t,o,n){var i=null,s=null,r=null;L=[],d=[];var a=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 c=[];n.forEach((function(t,o){!e.Poly.length>0?(r=[],t.forEach((function(e){r.push(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0]))),a.extend(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0])))})),c.push(r)):(s=At.decode(t),r=[],s.forEach((function(e){r.push(new google.maps.LatLng(parseFloat(e[0]),parseFloat(e[1]))),a.extend(new google.maps.LatLng(parseFloat(e[0]),parseFloat(e[1])))})),c.push(r))}));var g={...t.polygonOptions.unselected,paths:c,id:e.Id,content:e.LocationName,map:l};i=new google.maps.Polygon(g),L.push(i)}})),l.fitBounds(a),function(e,t){Z(),L.forEach((function(e){e instanceof google.maps.Polygon?(p.push(google.maps.event.addListener(e,"mouseover",(function(t){Z(),D(t,e.get("content"))}))),p.push(google.maps.event.addListener(e,"mousemove",U)),p.push(google.maps.event.addListener(e,"mouseout",Z)),p.push(google.maps.event.addListener(e,"click",(function(e){Z()})))):console.warn("Invalid polygon object found in fpolies array:",e)})),j(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=xt(i[1]),l=xt(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;T.forEach((e=>{e.setMap(null)})),T=[],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);T.push(s)}})),l.fitBounds(o)},a.clearBackgroundFields=function(){T.forEach((e=>{e.setMap(null)})),T=[]},a.checkForBackgroundFieldOverlaps=function(){if(console.log("Checking overlaps - Background Fields:",T.length,"Local Polygons:",m.length),!T.length||!m.length)return console.log("No fields to check for overlap"),!0;for(const e of m)for(const t of T){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){ee(e,0,0,0,0,s,r,0,l)},a.RenderSACadastral=function(e,t,o,n,i,s){te(e,0,0,0,i,s)},a.RenderGPRegions=function(e,t,o,n,i,s,r){oe(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 C=0;p&&(C=1);var I=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 x=google.maps.event.addListenerOnce(l,"zoom_changed",(function(){k=[];var e=new google.maps.ImageMapType({getTileUrl:function(e,o){if(I.indexOf(o+"|"+e.x+"|"+e.y)>-1){const s=C?"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(x),l.setZoom(17)}else if(l.getZoom()<13){x=google.maps.event.addListenerOnce(l,"zoom_changed",(function(){k=[];var e=new google.maps.ImageMapType({getTileUrl:function(e,o){if(I.indexOf(o+"|"+e.x+"|"+e.y)>-1){const s=C?"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(x),l.setZoom(13)}else{k=[];var z=new google.maps.ImageMapType({getTileUrl:function(e,o){if(I.indexOf(o+"|"+e.x+"|"+e.y)>-1){const s=C?"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){var s=e[0],r=null,a=!1;if(s&&s.Poly&&s.Poly.length>0&&s.Id>0){var c=[],g=new google.maps.LatLngBounds;s.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&&g.extend(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0])))})),c.push(o)})),r=new google.maps.Polygon({map:l,paths:c,fillColor:"transparent"});var u=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){if(!a){var e=l.getProjection().fromLatLngToPoint(g.getSouthWest()),i=l.getProjection().fromLatLngToPoint(g.getNorthEast()),s=l.getZoom(),r=1<<s;(i.x-e.x)*r>=n&&l.setZoom(s-1),l.getZoom()>16&&l.setZoom(16),Q(g.getCenter(),t,o),a=!a}}));if(d.push(u),l.fitBounds(g),i){var h=google.maps.event.addListener(r,"mouseover",(function(e){D(e,r.content)})),m=google.maps.event.addListener(r,"mousemove",(function(e){U(e)})),f=google.maps.event.addListener(r,"mouseout",(function(e){Z()}));p.push(h),p.push(m),p.push(f)}L.push(r)}l.getZoom()>=13?y.forEach((function(e){e.setMap(l)})):y.forEach((function(e){e.setMap(null)}));var v=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(v)}}}var Vt={width:"100%",height:"100%"},Ht={lat:-25.7652061,lng:28.2710333},$t=["places","marker","geometry"],Gt={disableDefaultUI:!0,mapId:"JP_DEMO_MAP",mapTypeId:"hybrid",mapTypeControl:!0,zoomControl:!0},Yt=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 Ft(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),C=L[0],I=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){I(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:C}}({id:"google-map-script",googleMapsApiKey:o,libraries:$t}).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:Vt,center:Ht,zoom:5,options:Gt,onLoad:c,onUnmount:g,children:u.jsx(u.Fragment,{})}):u.jsx(u.Fragment,{})}));module.exports=Yt;
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 je 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 Ne(t){var o=function(){I(!!e.useContext,"useGoogleMap is React hook and requires React version 16.8+");var t=e.useContext(b);return I(!!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 je(m(m({},t),{map:o}));s(e)}}),[o]),i}e.memo((function(e){var t=e.children,o=Ne(e.options);return null!==o?t(o):null}));var Fe={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],C=e.useState(null),w=C[0],k=C[1],M=e.useState(null),x=M[0],z=M[1],P=e.useState(null),E=P[0],S=P[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!==x&&google.maps.event.removeListener(x),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!==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&&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&&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):I(!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),x&&google.maps.event.removeListener(x),_&&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):I(!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:Fe,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{infoWindow:e}}),this.setInfoWindowCallback)},n.prototype.componentDidUpdate=function(e){null!==this.state.infoWindow&&(x(this.registeredEvents),this.registeredEvents=z({updaterMap:Ve,eventMap:Fe,prevProps:e,nextProps:this.props,instance:this.state.infoWindow}))},n.prototype.componentWillUnmount=function(){null!==this.state.infoWindow&&(x(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,C=t.onUnmount,I=e.useContext(b),w=e.useState(null),k=w[0],M=w[1],x=e.useState(null),z=x[0],P=x[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],j=e.useState(null),N=j[0],F=j[1],V=e.useState(null),H=V[0],$=V[1],G=e.useState(null),Y=G[0],K=G[1],J=e.useState(null),q=J[0],X=J[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(I)}),[I]),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),P(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!==N&&google.maps.event.removeListener(N),F(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),K(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:I}));return r&&e.setPath(r),void 0!==s&&e.setVisible(s),void 0!==i&&e.setEditable(i),void 0!==n&&e.setDraggable(n),a&&P(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&&F(google.maps.event.addListener(e,"mouseout",u)),d&&$(google.maps.event.addListener(e,"mouseover",d)),h&&K(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!==D&&google.maps.event.removeListener(D),null!==W&&google.maps.event.removeListener(W),null!==N&&google.maps.event.removeListener(N),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),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={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&&(x(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),x(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"},Ke={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,C=t.onLoad,I=t.onUnmount,w=t.onEdit,k=e.useContext(b),M=e.useState(null),x=M[0],z=M[1],P=e.useState(null),E=P[0],S=P[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),j=Z[0],N=Z[1],F=e.useState(null),V=F[0],H=F[1],$=e.useState(null),G=$[0],Y=$[1],K=e.useState(null),J=K[0],q=K[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!==x&&x.setMap(k)}),[k]),e.useEffect((function(){void 0!==o&&null!==x&&x.setOptions(o)}),[x,o]),e.useEffect((function(){void 0!==n&&null!==x&&x.setDraggable(n)}),[x,n]),e.useEffect((function(){void 0!==i&&null!==x&&x.setEditable(i)}),[x,i]),e.useEffect((function(){void 0!==s&&null!==x&&x.setVisible(s)}),[x,s]),e.useEffect((function(){void 0!==r&&null!==x&&x.setPath(r)}),[x,r]),e.useEffect((function(){void 0!==a&&null!==x&&x.setPaths(a)}),[x,a]),e.useEffect((function(){x&&l&&(null!==E&&google.maps.event.removeListener(E),S(google.maps.event.addListener(x,"dblclick",l)))}),[l]),e.useEffect((function(){x&&(google.maps.event.addListener(x.getPath(),"insert_at",(function(){null==w||w(x)})),google.maps.event.addListener(x.getPath(),"set_at",(function(){null==w||w(x)})))}),[x,w]),e.useEffect((function(){x&&c&&(null!==_&&google.maps.event.removeListener(_),T(google.maps.event.addListener(x,"dragend",c)))}),[c]),e.useEffect((function(){x&&g&&(null!==R&&google.maps.event.removeListener(R),D(google.maps.event.addListener(x,"dragstart",g)))}),[g]),e.useEffect((function(){x&&p&&(null!==U&&google.maps.event.removeListener(U),W(google.maps.event.addListener(x,"mousedown",p)))}),[p]),e.useEffect((function(){x&&u&&(null!==j&&google.maps.event.removeListener(j),N(google.maps.event.addListener(x,"mousemove",u)))}),[u]),e.useEffect((function(){x&&d&&(null!==V&&google.maps.event.removeListener(V),H(google.maps.event.addListener(x,"mouseout",d)))}),[d]),e.useEffect((function(){x&&h&&(null!==G&&google.maps.event.removeListener(G),Y(google.maps.event.addListener(x,"mouseover",h)))}),[h]),e.useEffect((function(){x&&f&&(null!==J&&google.maps.event.removeListener(J),q(google.maps.event.addListener(x,"mouseup",f)))}),[f]),e.useEffect((function(){x&&v&&(null!==Q&&google.maps.event.removeListener(Q),ee(google.maps.event.addListener(x,"rightclick",v)))}),[v]),e.useEffect((function(){x&&y&&(null!==oe&&google.maps.event.removeListener(oe),ne(google.maps.event.addListener(x,"click",y)))}),[y]),e.useEffect((function(){x&&L&&(null!==se&&google.maps.event.removeListener(se),re(google.maps.event.addListener(x,"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&&N(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),C&&C(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!==j&&google.maps.event.removeListener(j),null!==V&&google.maps.event.removeListener(V),null!==G&&google.maps.event.removeListener(G),null!==J&&google.maps.event.removeListener(J),null!==Q&&google.maps.event.removeListener(Q),null!==oe&&google.maps.event.removeListener(oe),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={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:Ke,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&&(x(this.registeredEvents),this.registeredEvents=z({updaterMap:Ke,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),x(this.registeredEvents),this.state.polygon&&this.state.polygon.setMap(null))},t.prototype.render=function(){return null},t.contextType=b}(e.PureComponent);var Je={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,C=t.onLoad,I=t.onUnmount,w=e.useContext(b),k=e.useState(null),M=k[0],x=k[1],z=e.useState(null),P=z[0],E=z[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],j=W[1],N=e.useState(null),F=N[0],V=N[1],H=e.useState(null),$=H[0],G=H[1],Y=e.useState(null),K=Y[0],J=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!==P&&google.maps.event.removeListener(P),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),j(google.maps.event.addListener(M,"mousemove",p)))}),[p]),e.useEffect((function(){M&&u&&(null!==F&&google.maps.event.removeListener(F),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!==K&&google.maps.event.removeListener(K),J(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&&j(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&&J(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)),x(e),C&&C(e),function(){null!==P&&google.maps.event.removeListener(P),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!==F&&google.maps.event.removeListener(F),null!==$&&google.maps.event.removeListener($),null!==K&&google.maps.event.removeListener(K),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),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={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:Je,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{rectangle:e}}),this.setRectangleCallback)},t.prototype.componentDidUpdate=function(e){null!==this.state.rectangle&&(x(this.registeredEvents),this.registeredEvents=z({updaterMap:qe,eventMap:Je,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),x(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,C=t.onCenterChanged,I=t.onRadiusChanged,w=t.onLoad,k=t.onUnmount,M=e.useContext(b),x=e.useState(null),z=x[0],P=x[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],j=e.useState(null),N=j[0],F=j[1],V=e.useState(null),H=V[0],$=V[1],G=e.useState(null),Y=G[0],K=G[1],J=e.useState(null),q=J[0],X=J[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!==D&&google.maps.event.removeListener(D),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!==N&&google.maps.event.removeListener(N),F(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),K(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&&C&&(null!==ce&&google.maps.event.removeListener(ce),ge(google.maps.event.addListener(z,"center_changed",C)))}),[y]),e.useEffect((function(){z&&I&&(null!==ue&&google.maps.event.removeListener(ue),de(google.maps.event.addListener(z,"radius_changed",I)))}),[I]),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&&F(google.maps.event.addListener(e,"mousemove",u)),d&&$(google.maps.event.addListener(e,"mouseout",d)),h&&K(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)),C&&ge(google.maps.event.addListener(e,"center_changed",C)),I&&de(google.maps.event.addListener(e,"radius_changed",I)),P(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!==N&&google.maps.event.removeListener(N),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&&(x(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),x(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),C=e.useState(null),I=C[0],w=C[1],k=e.useState(null),M=k[0],x=k[1],z=e.useState(null),P=z[0],E=z[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],j=W[1],N=e.useState(null),F=N[0],V=N[1],H=e.useState(null),$=H[0],G=H[1],Y=e.useState(null),K=Y[0],J=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!==I&&I.setMap(L)}),[L]),e.useEffect((function(){I&&i&&(null!==M&&google.maps.event.removeListener(M),x(google.maps.event.addListener(I,"dblclick",i)))}),[i]),e.useEffect((function(){I&&s&&(null!==P&&google.maps.event.removeListener(P),E(google.maps.event.addListener(I,"mousedown",s)))}),[s]),e.useEffect((function(){I&&r&&(null!==O&&google.maps.event.removeListener(O),_(google.maps.event.addListener(I,"mousemove",r)))}),[r]),e.useEffect((function(){I&&a&&(null!==B&&google.maps.event.removeListener(B),R(google.maps.event.addListener(I,"mouseout",a)))}),[a]),e.useEffect((function(){I&&l&&(null!==A&&google.maps.event.removeListener(A),U(google.maps.event.addListener(I,"mouseover",l)))}),[l]),e.useEffect((function(){I&&c&&(null!==Z&&google.maps.event.removeListener(Z),j(google.maps.event.addListener(I,"mouseup",c)))}),[c]),e.useEffect((function(){I&&g&&(null!==F&&google.maps.event.removeListener(F),V(google.maps.event.addListener(I,"rightclick",g)))}),[g]),e.useEffect((function(){I&&n&&(null!==$&&google.maps.event.removeListener($),G(google.maps.event.addListener(I,"click",n)))}),[n]),e.useEffect((function(){I&&p&&(null!==K&&google.maps.event.removeListener(K),J(google.maps.event.addListener(I,"addfeature",p)))}),[p]),e.useEffect((function(){I&&u&&(null!==X&&google.maps.event.removeListener(X),Q(google.maps.event.addListener(I,"removefeature",u)))}),[u]),e.useEffect((function(){I&&d&&(null!==te&&google.maps.event.removeListener(te),oe(google.maps.event.addListener(I,"removeproperty",d)))}),[d]),e.useEffect((function(){I&&h&&(null!==ie&&google.maps.event.removeListener(ie),se(google.maps.event.addListener(I,"setgeometry",h)))}),[h]),e.useEffect((function(){I&&f&&(null!==ae&&google.maps.event.removeListener(ae),le(google.maps.event.addListener(I,"setproperty",f)))}),[f]),e.useEffect((function(){if(null!==L){var e=new google.maps.Data(m(m({},o||{}),{map:L}));i&&x(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&&j(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&&J(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(){I&&(null!==M&&google.maps.event.removeListener(M),null!==P&&google.maps.event.removeListener(P),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!==F&&google.maps.event.removeListener(F),null!==$&&google.maps.event.removeListener($),null!==K&&google.maps.event.removeListener(K),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(I),I.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&&(x(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),x(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&&(x(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),x(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();I(!!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,t,o=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),i=n.state.containerStyle,s=i.left,r=i.top,a=i.width,l=i.height;t={left:s,top:r,width:a,height:l},((e=o).left!==t.left||e.top!==t.top||e.width!==t.height||e.height!==t.height)&&n.setState({containerStyle:{top:o.top||0,left:o.left||0,width:o.width||0,height:o.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(){I(!!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&&(x(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||I(!!google.maps.visualization,'Did you include prop libraries={["visualization"]} in useJsApiScript? %s',google.maps.visualization)}),[]),e.useEffect((function(){I(!!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(){I(!!google.maps.visualization,'Did you include prop libraries={["visualization"]} to <LoadScript />? %s',google.maps.visualization),I(!!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){x(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),x(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&&(x(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),x(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(){I(!!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&&(x(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),x(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(){I(!!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 Ct={onPlacesChanged:"places_changed"},It={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(I(!!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:It,eventMap:Ct,prevProps:{},nextProps:this.props,instance:t}),this.setState((function(){return{searchBox:t}}),this.setSearchBoxCallback)}}},o.prototype.componentDidUpdate=function(e){null!==this.state.searchBox&&(x(this.registeredEvents),this.registeredEvents=z({updaterMap:It,eventMap:Ct,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),x(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;I(!!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){x(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&&x(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 xt(e){return e*Math.PI/180}function zt(e){return 180*e/Math.PI}class Pt{constructor(){}delete(e,t){return t.getPath().forEach((function(e,t){e.marker&&(e.marker.setMap(null),e.marker=void 0),e.ghostMarker&&(e.ghostMarker.setMap(null),e.ghostMarker=void 0)})),t}edit(e,t,o,n){if(n){0;var i={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<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"><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)};0;var s={url:"data:image/svg+xml;charset=UTF-8;base64,"+btoa('<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"><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)};0;var r={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:#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)"><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)};0;var a={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:#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)"><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)}}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};var l=new google.maps.Polyline({map:e,strokeColor:"#ffa500",strokeOpacity:1,strokeWeight:3});function c(e){return t.getPath().getAt(e)}function g(){var e=new google.maps.LatLngBounds;if(t.getPath().forEach((function(t,o){t.marker.setIcon(i),e.extend(t)})),n){var o=e.getCenter();this.position.lat()>=o.lat()?this.setIcon(r):this.setIcon(a)}}function p(){0===l.getPath().getLength()&&(this.marker.editIndex<t.getPath().getLength()-1?l.setPath([this.marker.getPosition(),this.getPosition(),c(this.marker.editIndex+1)]):this.marker.editIndex==t.getPath().getLength()-1&&l.setPath([this.marker.getPosition(),this.getPosition(),c(0)])),l.getPath().setAt(1,this.getPosition())}function u(e){var o,n,i,s=c(e.editIndex);o=0===e.editIndex?c(t.getPath().getLength()-1):c(e.editIndex-1),n=e.editIndex==t.getPath().getLength()-1?c(0):c(e.editIndex+1),i=e.getPosition(),s&&s.ghostMarker&&(google.maps.geometry?s.ghostMarker.setPosition(google.maps.geometry.spherical.interpolate(s,n,.5)):s.ghostMarker.setPosition(new google.maps.LatLng(s.lat()+.5*(n.lat()-s.lat()),s.lng()+.5*(n.lng()-s.lng())))),o&&o.ghostMarker&&(google.maps.geometry?o.ghostMarker.setPosition(google.maps.geometry.spherical.interpolate(o,i,.5)):o.ghostMarker.setPosition(new google.maps.LatLng(o.lat()+.5*(i.lat()-o.lat()),o.lng()+.5*(i.lng()-o.lng()))))}function d(){this.setIcon(s);var e=this.getPosition(),o=this.marker.editIndex+1;l.getPath().forEach((function(){l.getPath().pop()})),t.getPath().insertAt(o,e),y(c(o),i).editIndex=o,u(this.marker),h(c(o)),t.getPath().forEach((function(e,t){e.marker&&(e.marker.editIndex=t)})),google.maps.event.trigger(t,"insert_at",o,e)}function h(o){if(o.marker.editIndex<t.getPath().getLength()-1){var n=c(o.marker.editIndex+1);return i=google.maps.geometry?google.maps.geometry.spherical.interpolate(o,n,.5):new google.maps.LatLng(o.lat()+.5*(n.lat()-o.lat()),o.lng()+.5*(n.lng()-o.lng())),(r=o.ghostMarker)||(r=new google.maps.Marker({map:e,icon:s,draggable:!0,raiseOnDrag:!1}),google.maps.event.addListener(r,"dragstart",g),google.maps.event.addListener(r,"drag",p),google.maps.event.addListener(r,"dragend",d),o.ghostMarker=r,r.marker=o.marker),r.setPosition(i),r}if(o.marker.editIndex==t.getPath().getLength()-1){var i,r;n=c(0);return i=google.maps.geometry?google.maps.geometry.spherical.interpolate(o,n,.5):new google.maps.LatLng(o.lat()+.5*(n.lat()-o.lat()),o.lng()+.5*(n.lng()-o.lng())),(r=o.ghostMarker)||(r=new google.maps.Marker({map:e,icon:s,draggable:!0,raiseOnDrag:!1}),google.maps.event.addListener(r,"dragstart",g),google.maps.event.addListener(r,"drag",p),google.maps.event.addListener(r,"dragend",d),o.ghostMarker=r,r.marker=o.marker),r.setPosition(i),r}return null}function m(){var e=new google.maps.LatLngBounds;if(t.getPath().forEach((function(t,o){t.marker.setIcon(i),e.extend(t)})),n){var o=e.getCenter();this.position.lat()>=o.lat()?this.setIcon(r):this.setIcon(a)}}function f(){var e=this.getPosition();e.marker=this,e.ghostMarker=c(this.editIndex).ghostMarker,t.getPath().setAt(this.editIndex,e),u(this)}function v(){google.maps.event.trigger(t,"update_at",this.editIndex,this.getPosition())}function y(t,o){var n=t.marker;return n||(n=new google.maps.Marker({position:t,map:e,icon:o,draggable:!0,raiseOnDrag:!1}),google.maps.event.addListener(n,"dragstart",m),google.maps.event.addListener(n,"drag",f),google.maps.event.addListener(n,"dragend",v),t.marker=n),n.setPosition(t),n}function L(e,t,o,n){return t.setMap(e),t.getPath().forEach((function(e,t){var o=i;n&&1===t&&(o=r),y(e,o).editIndex=t,h(e)})),t}return L.prototype=new google.maps.MVCObject,new L(e,t,o,n)}}class Et{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 St{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 Ot(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 St([],((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 _t(o/t,n/t,0,e);return 0===t||s.d<0?new _t(i[0][0],i[0][1],0,e):s}(e);const u=new _t(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 _t(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 _t(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,Tt(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 Tt(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 Bt,Rt={exports:{}};var Dt=(Bt||(Bt=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),At=i(Dt);class Ut{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 Ut).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 Ut).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 Ut).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 Ut).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 Ut).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 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;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"};function C(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 I;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 I(){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 C.prototype=new google.maps.MVCObject,I.prototype=new google.maps.MVCObject,I.prototype.distance_changed=function(){this.set("radius",this.get("distance"))},I.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()}))},I.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()}))},I.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()}))},I.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()}))},I.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()}))},I.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()}))},I.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,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])}},I.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(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))},I.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(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))},I.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(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))},I.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(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 C(e)}}class Zt{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 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)"><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 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) 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"};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 x;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(I):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(I)})),r.push(c)),o}function x(){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,x.prototype=new google.maps.MVCObject,x.prototype.distance_changed=function(){this.set("radius",this.get("distance"))},x.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(I):e.setIcon(C):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(I):e.setIcon(C)})),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()}))},x.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(I):e.setIcon(C):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(I):e.setIcon(C)})),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()}))},x.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(C):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(C)})),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()}))},x.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(I):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(I)})),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()}))},x.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(I):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(I)})),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()}))},x.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(I):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(I)})),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()}))},x.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[0]),this.set("endPin_position",n[n.length-2])}},x.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[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))},x.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[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))},x.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[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))},x.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[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 Ft{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=[],C=[],I=[],b=[],w=[],k=[],M=[],x=null,z=null,P=null,E=null,S=null,O=20,_=20,T=[];function B(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=Ot(e,1e-5);return{x:t[0],y:t[1]}}function D(e,t){!S&&e&&((S=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;",S.innerHTML=t,S.style.top=e.domEvent.clientY+window.scrollY+_+"px",S.style.left=e.domEvent.clientX+window.scrollX+O+"px",document.body.appendChild(S))}function A(e,t){!S&&e&&((S=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;",S.innerHTML=t,S.style.top=e.clientY+window.scrollY+_+"px",S.style.left=e.clientX+window.scrollX+O+"px",document.body.appendChild(S))}function U(e){S&&e&&(S.style.top=e.domEvent.clientY+window.scrollY+_+"px",S.style.left=e.domEvent.clientX+window.scrollX+O+"px")}function W(e){S&&e&&(S.style.top=e.clientY+window.scrollY+_+"px",S.style.left=e.clientX+window.scrollX+O+"px")}function Z(){S&&(document.body.removeChild(S),S=null)}function j(e,t,o="field",n){if(l.getMapCapabilities().isAdvancedMarkersAvailable&&e&&e.length>0){var i=new google.maps.LatLngBounds;e.forEach((function(e){var n,s=new google.maps.LatLngBounds;"farm"===o?(s.extend(new google.maps.LatLng(e.minLat,e.minLng)),s.extend(new google.maps.LatLng(e.maxLat,e.maxLng))):e.Poly[0].forEach((function(e){s.extend(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0])))})),i.extend(s.getCenter());var r=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:s.getCenter(),content:r});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",(()=>{Z(),h.AdvancedMarkerOnClick({type:"SUCCESS",message:"farm marker with id "+n.id+" clicked",code:200,data:e})}))):u.push(n.addListener("click",(()=>{Z(),h.AdvancedMarkerOnClick({type:"SUCCESS",message:"field marker with id "+n.id+" clicked",code:200,data:e})}))),M.push(n)})),"farm"===o&&(n&&l.fitBounds(i),Z(),M.forEach((function(e){var t=e.id.split("|");u.push(e.content.addEventListener("mouseover",(function(e){Z(),A(e,t[1]+"<br>Farm "+t[2])}))),u.push(e.content.addEventListener("mousemove",W)),u.push(e.content.addEventListener("mouseout",Z))})))}}function N(){M.forEach((function(e){e.setMap(null),e=null})),M=[]}function F(){p.forEach((function(e){google.maps.event.removeListener(e)})),p=[]}function V(){u.forEach((function(e){google.maps.event.removeListener(e)})),u=[]}function H(){d.forEach((function(e){google.maps.event.removeListener(e)})),d=[]}function $(){L.forEach((function(e,t){e.setMap(null),e=null})),L=[]}function G(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 C=[];C.push([r-2*L*n,s+1.5*L*i]),C.push([r+2*L*n,s+1.5*L*i]),C.push([r+2*L*n,s-1.5*L*i]),C.push([r-2*L*n,s-1.5*L*i]),C.push([r-2*L*n,s+1.5*L*i]),f.push(C);var I=0;if(C.forEach((function(e,t){google.maps.geometry.poly.containsLocation(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0])),m[0])||I++})),0==I){if(!(f.length>2)){h=K(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++)Y(f[w],f[k])&&b++;if(0==b){h=K(L,e,g,p,u,d);break}f.pop()}else f.pop()}return h}function Y(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 K(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),Q(f.getCenter(),o,a),v=!v,x=(new Pt).edit(l,h,x,g)}}));return d.push(y),l.fitBounds(f),u}function J(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),z=(z=new Ut).edit(l,u,z,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),Q(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),P=(P=new Wt).edit(l,u,P,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),Q(h.getCenter(),t,o),f=!f}}));return d.push(v),l.fitBounds(h),p}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:!1,isCircleSector:!1,isCircleSegment:!0,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),Q(h.getCenter(),t,o),f=!f}}));return d.push(v),l.fitBounds(h),p}function Q(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 ee(e,t,o,n,i,s,r,a,g){H(),F(),V(),N(),$(),function(e,t,o,n,i,s,r,a,g){console.log("Display_SAAdministrative"),console.log(e);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=At.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){Z(),L.forEach((function(t){p.push(google.maps.event.addListener(t,"mouseover",(function(e){t.setOptions({strokeColor:"#f1a81e",zIndex:10010}),Z(),D(e,t.content)}))),p.push(google.maps.event.addListener(t,"mousemove",U)),p.push(google.maps.event.addListener(t,"mouseout",(function(e){t.setOptions({strokeColor:"#000000",zIndex:1e4}),Z()}))),e||p.push(google.maps.event.addListener(t,"click",(function(e){Z(),h.SAAdminPolyOnClick(this.id)})))}))}(g);var C=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){Q(l.getCenter(),s,r)}));d.push(C),l.fitBounds(c)}(e,0,0,0,0,s,r,0,g)}function te(e,t,o,n,i,s){H(),F(),V(),N(),$();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}):(H(),$(),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}):(H(),$(),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}):(H(),$(),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){Z(),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}),Z(),D(e,t.content)}))),p.push(google.maps.event.addListener(t,"mousemove",U)),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}),Z()}))),e||p.push(google.maps.event.addListener(t,"click",(function(e){Z(),h.SACadastralPolyOnClick(this.id)})))}))}(i)}(e,0,0,0,i,s)}function oe(e,t,o,n,i,s,r){H(),F(),V(),N(),$(),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){Z(),L.forEach((function(t){p.push(google.maps.event.addListener(t,"mouseover",(function(e){t.setOptions({strokeColor:"#f1a81e",strokeWeight:3,zIndex:10012}),Z(),D(e,t.content)}))),p.push(google.maps.event.addListener(t,"mousemove",U)),p.push(google.maps.event.addListener(t,"mouseout",(function(e){t.setOptions({strokeColor:"#000000",strokeWeight:3,zIndex:10002}),Z()}))),e||p.push(google.maps.event.addListener(t,"click",(function(e){Z(),h.CPRPolyOnClick({type:"SUCCESS",message:"CPRPoly clicked",code:200,data:t.id})})))}))}(r),function(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),Q(c.getCenter(),t,o),s=!s}}));d.push(r),l.fitBounds(c)}else 1==i.length&&(r=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){s||(Q(l.getCenter(),t,o),s=!s)})),l.panTo(new google.maps.LatLng(i[0].latitude,i[0].longitude)),l.setZoom(9))}(t,n,i,s),Z(),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:t[0]})}));u.push(n);var i=e.content.addEventListener("mouseover",(function(e){Z(),A(e,o)}));u.push(i);var s=e.content.addEventListener("mousemove",(function(e){W(e)}));u.push(s);var r=e.content.addEventListener("mouseout",(function(e){Z()}));u.push(r)}))}a.eventHandlers_set=function(e){Object.assign(h,e)},a.eventHandlers_get=function(){return h},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&&B(e)}})),l.fitBounds(o),Z(),v.forEach((function(e){p.push(google.maps.event.addListener(e,"mouseover",(function(t){Z(),D(t,e.content)}))),p.push(google.maps.event.addListener(e,"mousemove",U)),p.push(google.maps.event.addListener(e,"mouseout",Z)),p.push(google.maps.event.addListener(e,"click",(function(e){Z(),h.FieldOnClick(this.id)})))})),t.icon&&j(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,locations=[],selectedProvinceFieldId=null,defaultCenterLatitude=null,defaultCenterLongitude=null,m=[],v=[],y=[],a.map_clear()},a.map_clear=function(){if(F(),V(),H(),I.forEach((function(e){e.setMap(null),e=null})),I=[],C.forEach((function(e){e.setMap(null),e=null})),C=[],N(),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!=x&&(x=(new Pt).delete(l,x));m.forEach((function(e){e.setMap(null),e=null})),m=[]}(),$(),w.forEach((function(e){e.setMap(null),e=null})),k.forEach((function(e){e.setMap(null),e=null})),x&&(x=(new Pt).delete(l,x),x=null),z&&(z.setMap(null),z=null),P&&(P.setMap(null),P=null),E&&(E.setMap(null),E=null),l.overlayMapTypes)for(;l.overlayMapTypes.getLength()>0;)l.overlayMapTypes.pop();Z(),T.length>0&&(T.forEach((e=>{e.setMap&&e.setMap(null)})),T=[]),m=[],f=[],v=[],y=[],L=[],C=[],I=[],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.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!=x&&e.isPolygon&&(x=(new Pt).delete(l,x),x=null,e.setMap(l)),null!=z&&e.isCircle&&(z.set("map",null),z=null),null!=P&&e.isCircleSector&&(P.set("map",null),P=null),null!=E&&e.isCircleSegment&&(E.set("map",null),E=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!=x){var o=x.getPath();t.setPath(o),x=(new Pt).delete(l,x),x=null}t.setMap(l),t.setEditable(!1),t.setDraggable(!1),t.setVisible(!0)}else if(t.isCircle){var n=(new Ut).reduce(z.getPath(),t.isHole);t.setPath(n),t.isPolygon=!1,t.isCircle=!0,t.setEditable(!1),t.setDraggable(!1),z.setMap(null),z=null,t.setVisible(!0)}else if(t.isCircleSector){n=(new Wt).reduce(P.getPath(),t.isHole);t.setPath(n),t.isPolygon=!1,t.isCircleSector=!0,t.setEditable(!1),t.setDraggable(!1),P.setMap(null),P=null,t.setVisible(!0)}else if(t.isCircleSegment){n=(new Zt).reduce(E.getPath(),t.isHole);t.setPath(n),t.isPolygon=!1,t.isCircleSegment=!0,t.setEditable(!1),t.setDraggable(!1),E.setMap(null),E=null,t.setVisible(!0)}}))},a.Shape_Delete=function(e,t){const o=l.getBounds(),n=l.getCenter(),i=l.getZoom();F(),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!=x&&(x=(new Pt).delete(l,x),x=null),null!=z&&(z.set("map",null),z=null),null!=P&&(P.set("map",null),P=null),null!=E&&(E.set("map",null),E=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();F(),m.forEach((function(e){null!=x&&(x=(new Pt).delete(l,x),x=null),null!=z&&(z.set("map",null),z=null),null!=P&&(P.set("map",null),P=null),null!=E&&(E.set("map",null),E=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 G(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()),C=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:!1,isPolygon:!0,isCircle:!1,isCircleSector:!1,isCircleSegment:!1,isHole:!1,latitude:0,longitude:0,poly:0,area:0,perimeter:0});return m.push(C),x=(new Pt).edit(l,C,x,r),L},a.Shape_Polygon_Add=function(e,s,r,a,c,g,p,u){if(e)return G(s,a,c,p,u,g,r);var d=l.getBounds(),h=l.getCenter(),v=h.lat(),y=h.lng(),L=[],C=[];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)),C.push([y+p*n-80*n,v+u*i+60*i]),C.push([y+p*n+80*n,v+u*i+60*i]),C.push([y+p*n+80*n,v+u*i-60*i]),C.push([y+p*n-80*n,v+u*i-60*i]),C.push([y+p*n-80*n,v+u*i+60*i]),f.push(C));var I=Date.now()+Math.floor(1e5*Math.random()),b=new google.maps.Polygon({map:l,path:L,id:I.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),I},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 C=0,I=360,b=20;b>0;b--){var w=[],k=s,M=r+2*b*n,x=new google.maps.LatLng(s,r),z=kt(s,r,k,M),P=(new Ut).get(s,r,z,C,I);P.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=J(e,g,p,u,P,x,z,d,h);break}for(var S=0,O=1;O<f.length-1;O++)for(var _=O+1;_<f.length;_++)Y(f[O],f[_])&&S++;if(0==S){v=J(e,g,p,u,P,x,z,d,h);break}f.pop()}else f.pop()}return v}(a,g,p,v,y,u,c,C);return L}var I=l.getBounds(),b=l.getCenter(),w=b.lat(),k=b.lng();t=Math.abs(I.getSouthWest().lat()-I.getNorthEast().lat()),o=Math.abs(I.getNorthEast().lng()-I.getSouthWest().lng());var M=w+y*(i=t/p),x=k+v*(n=o/g),P=new google.maps.LatLng(M,x),E=kt(M,x,M,x+80*n),S=(new Ut).get(M,x,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(_),z=(z=new Ut).edit(l,_,z,P,E,c,C),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 C=60,I=120,b=20;b>0;b--){var w=[],k=s,M=r+2*b*n,x=new google.maps.LatLng(s,r),z=kt(s,r,k,M),P=(new Wt).get(s,r,z,C,I);P.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,P,x,z,d,h);break}for(var S=0,O=1;O<f.length-1;O++)for(var _=O+1;_<f.length;_++)Y(f[O],f[_])&&S++;if(0==S){v=q(e,g,p,u,P,x,z,d,h);break}f.pop()}else f.pop()}return v}(a,g,p,v,y,u,c,C);return L}var I=l.getBounds(),b=l.getCenter(),w=b.lat(),k=b.lng();t=Math.abs(I.getSouthWest().lat()-I.getNorthEast().lat()),o=Math.abs(I.getNorthEast().lng()-I.getSouthWest().lng());var M=w+y*(i=t/p),x=k+v*(n=o/g),z=new google.maps.LatLng(M,x),E=kt(M,x,M,x+80*n),S=(new Wt).get(M,x,E,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(_),P=(P=new Wt).edit(l,_,P,z,E,c,C),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 C=0,I=160,b=20;b>0;b--){var w=[],k=s,M=r+2*b*n,x=new google.maps.LatLng(s,r),z=kt(s,r,k,M),P=(new Wt).get(s,r,z,C,I);P.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,P,x,z,d,h);break}for(var S=0,O=1;O<f.length-1;O++)for(var _=O+1;_<f.length;_++)Y(f[O],f[_])&&S++;if(0==S){v=X(e,g,p,u,P,x,z,d,h);break}f.pop()}else f.pop()}return v}(a,g,p,v,y,u,c,C);return L}var I=l.getBounds(),b=l.getCenter(),w=b.lat(),k=b.lng();t=Math.abs(I.getSouthWest().lat()-I.getNorthEast().lat()),o=Math.abs(I.getNorthEast().lng()-I.getSouthWest().lng());var M=w+y*(i=t/p),x=k+v*(n=o/g),z=new google.maps.LatLng(M,x),P=kt(M,x,M,x+80*n),S=(new Zt).get(M,x,P,0,160),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:!1,isCircleSegment:!0,isHole:e,latitude:0,longitude:0,poly:0,area:0,perimeter:0});return m.push(_),E=(E=new Zt).edit(l,_,E,z,P,c,C),O},a.RenderRegionFarms=function(e,t,o){t&&j(e,t,"farm",o)},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 Et(i,o,n,e,t,r)},a.DrawField_AttachEvents=function(e){m.forEach((function(t){var o=google.maps.event.addListener(t,"mouseover",(function(){e.JS_ShapeOnMouseIn(this.id)}));p.push(o);var n=google.maps.event.addListener(t,"mouseout",(function(){e.JS_ShapeOnMouseOut(this.id)}));p.push(n);var i=google.maps.event.addListener(t,"click",(function(){e.ShapeSelect(this.id)}));p.push(i)}))},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),x=(new Pt).edit(l,o,x,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));P=(new Wt).edit(l,o,P,i,s,t,C)}},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));z=(new Ut).edit(l,o,z,i,s,t,C)}},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));E=(new Zt).edit(l,o,E,i,s,t,C)}},a.RenderRegions=function(e,t,o,n){var i=null,s=null,r=null;L=[],d=[];var a=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 c=[];n.forEach((function(t,o){!e.Poly.length>0?(r=[],t.forEach((function(e){r.push(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0]))),a.extend(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0])))})),c.push(r)):(s=At.decode(t),r=[],s.forEach((function(e){r.push(new google.maps.LatLng(parseFloat(e[0]),parseFloat(e[1]))),a.extend(new google.maps.LatLng(parseFloat(e[0]),parseFloat(e[1])))})),c.push(r))}));var g={...t.polygonOptions.unselected,paths:c,id:e.Id,content:e.LocationName,map:l};i=new google.maps.Polygon(g),L.push(i)}})),l.fitBounds(a),function(e,t){Z(),L.forEach((function(e){e instanceof google.maps.Polygon?(p.push(google.maps.event.addListener(e,"mouseover",(function(t){Z(),D(t,e.get("content"))}))),p.push(google.maps.event.addListener(e,"mousemove",U)),p.push(google.maps.event.addListener(e,"mouseout",Z)),p.push(google.maps.event.addListener(e,"click",(function(e){Z()})))):console.warn("Invalid polygon object found in fpolies array:",e)})),j(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=xt(i[1]),l=xt(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;T.forEach((e=>{e.setMap(null)})),T=[],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);T.push(s)}})),l.fitBounds(o)},a.clearBackgroundFields=function(){T.forEach((e=>{e.setMap(null)})),T=[]},a.checkForBackgroundFieldOverlaps=function(){if(console.log("Checking overlaps - Background Fields:",T.length,"Local Polygons:",m.length),!T.length||!m.length)return console.log("No fields to check for overlap"),!0;for(const e of m)for(const t of T){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){ee(e,0,0,0,0,s,r,0,l)},a.RenderSACadastral=function(e,t,o,n,i,s){te(e,0,0,0,i,s)},a.RenderGPRegions=function(e,t,o,n,i,s,r){oe(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 C=0;p&&(C=1);var I=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 x=google.maps.event.addListenerOnce(l,"zoom_changed",(function(){k=[];var e=new google.maps.ImageMapType({getTileUrl:function(e,o){if(I.indexOf(o+"|"+e.x+"|"+e.y)>-1){const s=C?"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(x),l.setZoom(17)}else if(l.getZoom()<13){x=google.maps.event.addListenerOnce(l,"zoom_changed",(function(){k=[];var e=new google.maps.ImageMapType({getTileUrl:function(e,o){if(I.indexOf(o+"|"+e.x+"|"+e.y)>-1){const s=C?"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(x),l.setZoom(13)}else{k=[];var z=new google.maps.ImageMapType({getTileUrl:function(e,o){if(I.indexOf(o+"|"+e.x+"|"+e.y)>-1){const s=C?"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){var s=e[0],r=null,a=!1;if(s&&s.Poly&&s.Poly.length>0&&s.Id>0){var c=[],g=new google.maps.LatLngBounds;s.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&&g.extend(new google.maps.LatLng(parseFloat(e[1]),parseFloat(e[0])))})),c.push(o)})),r=new google.maps.Polygon({map:l,paths:c,fillColor:"transparent"});var u=google.maps.event.addListenerOnce(l,"bounds_changed",(function(){if(!a){var e=l.getProjection().fromLatLngToPoint(g.getSouthWest()),i=l.getProjection().fromLatLngToPoint(g.getNorthEast()),s=l.getZoom(),r=1<<s;(i.x-e.x)*r>=n&&l.setZoom(s-1),l.getZoom()>16&&l.setZoom(16),Q(g.getCenter(),t,o),a=!a}}));if(d.push(u),l.fitBounds(g),i){var h=google.maps.event.addListener(r,"mouseover",(function(e){D(e,r.content)})),m=google.maps.event.addListener(r,"mousemove",(function(e){U(e)})),f=google.maps.event.addListener(r,"mouseout",(function(e){Z()}));p.push(h),p.push(m),p.push(f)}L.push(r)}l.getZoom()>=13?y.forEach((function(e){e.setMap(l)})):y.forEach((function(e){e.setMap(null)}));var v=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(v)}}}var Vt={width:"100%",height:"100%"},Ht={lat:-25.7652061,lng:28.2710333},$t=["places","marker","geometry"],Gt={disableDefaultUI:!0,mapId:"JP_DEMO_MAP",mapTypeId:"hybrid",mapTypeControl:!0,zoomControl:!0},Yt=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 Ft(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),C=L[0],I=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){I(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:C}}({id:"google-map-script",googleMapsApiKey:o,libraries:$t}).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:Vt,center:Ht,zoom:5,options:Gt,onLoad:c,onUnmount:g,children:u.jsx(u.Fragment,{})}):u.jsx(u.Fragment,{})}));module.exports=Yt;
54
54
  //# sourceMappingURL=index.js.map