@directo/adunit 0.1.0 → 0.1.1
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/cjs/content.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! For license information please see content.js.LICENSE.txt */
|
|
2
|
-
(()=>{var e={15:(e,t,n)=>{"use strict";var a=n(155),r="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},o=a.useState,i=a.useEffect,s=a.useLayoutEffect,c=a.useDebugValue;function l(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!r(e,n)}catch(e){return!0}}var u="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var n=t(),a=o({inst:{value:n,getSnapshot:t}}),r=a[0].inst,u=a[1];return s(function(){r.value=n,r.getSnapshot=t,l(r)&&u({inst:r})},[e,n,t]),i(function(){return l(r)&&u({inst:r}),e(function(){l(r)&&u({inst:r})})},[e]),c(n),n};t.useSyncExternalStore=void 0!==a.useSyncExternalStore?a.useSyncExternalStore:u},18:(e,t)=>{"use strict";var n=Symbol.for("react.element"),a=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),s=Symbol.for("react.provider"),c=Symbol.for("react.context"),l=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),h=Symbol.iterator,m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},f=Object.assign,g={};function y(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}function b(){}function k(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}y.prototype.isReactComponent={},y.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},y.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},b.prototype=y.prototype;var v=k.prototype=new b;v.constructor=k,f(v,y.prototype),v.isPureReactComponent=!0;var w=Array.isArray,_=Object.prototype.hasOwnProperty,j={current:null},x={key:!0,ref:!0,__self:!0,__source:!0};function C(e,t,a){var r,o={},i=null,s=null;if(null!=t)for(r in void 0!==t.ref&&(s=t.ref),void 0!==t.key&&(i=""+t.key),t)_.call(t,r)&&!x.hasOwnProperty(r)&&(o[r]=t[r]);var c=arguments.length-2;if(1===c)o.children=a;else if(1<c){for(var l=Array(c),u=0;u<c;u++)l[u]=arguments[u+2];o.children=l}if(e&&e.defaultProps)for(r in c=e.defaultProps)void 0===o[r]&&(o[r]=c[r]);return{$$typeof:n,type:e,key:i,ref:s,props:o,_owner:j.current}}function S(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}var z=/\/+/g;function E(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(e){return t[e]})}(""+e.key):t.toString(36)}function O(e,t,r,o,i){var s=typeof e;"undefined"!==s&&"boolean"!==s||(e=null);var c=!1;if(null===e)c=!0;else switch(s){case"string":case"number":c=!0;break;case"object":switch(e.$$typeof){case n:case a:c=!0}}if(c)return i=i(c=e),e=""===o?"."+E(c,0):o,w(i)?(r="",null!=e&&(r=e.replace(z,"$&/")+"/"),O(i,t,r,"",function(e){return e})):null!=i&&(S(i)&&(i=function(e,t){return{$$typeof:n,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(i,r+(!i.key||c&&c.key===i.key?"":(""+i.key).replace(z,"$&/")+"/")+e)),t.push(i)),1;if(c=0,o=""===o?".":o+":",w(e))for(var l=0;l<e.length;l++){var u=o+E(s=e[l],l);c+=O(s,t,r,u,i)}else if(u=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=h&&e[h]||e["@@iterator"])?e:null}(e),"function"==typeof u)for(e=u.call(e),l=0;!(s=e.next()).done;)c+=O(s=s.value,t,r,u=o+E(s,l++),i);else if("object"===s)throw t=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return c}function A(e,t,n){if(null==e)return e;var a=[],r=0;return O(e,a,"","",function(e){return t.call(n,e,r++)}),a}function P(e){if(-1===e._status){var t=e._result;(t=t()).then(function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)},function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)}),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var I={current:null},N={transition:null},L={ReactCurrentDispatcher:I,ReactCurrentBatchConfig:N,ReactCurrentOwner:j};function T(){throw Error("act(...) is not supported in production builds of React.")}t.Children={map:A,forEach:function(e,t,n){A(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return A(e,function(){t++}),t},toArray:function(e){return A(e,function(e){return e})||[]},only:function(e){if(!S(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},t.Component=y,t.Fragment=r,t.Profiler=i,t.PureComponent=k,t.StrictMode=o,t.Suspense=u,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=L,t.act=T,t.cloneElement=function(e,t,a){if(null==e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var r=f({},e.props),o=e.key,i=e.ref,s=e._owner;if(null!=t){if(void 0!==t.ref&&(i=t.ref,s=j.current),void 0!==t.key&&(o=""+t.key),e.type&&e.type.defaultProps)var c=e.type.defaultProps;for(l in t)_.call(t,l)&&!x.hasOwnProperty(l)&&(r[l]=void 0===t[l]&&void 0!==c?c[l]:t[l])}var l=arguments.length-2;if(1===l)r.children=a;else if(1<l){c=Array(l);for(var u=0;u<l;u++)c[u]=arguments[u+2];r.children=c}return{$$typeof:n,type:e.type,key:o,ref:i,props:r,_owner:s}},t.createContext=function(e){return(e={$$typeof:c,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:s,_context:e},e.Consumer=e},t.createElement=C,t.createFactory=function(e){var t=C.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:l,render:e}},t.isValidElement=S,t.lazy=function(e){return{$$typeof:p,_payload:{_status:-1,_result:e},_init:P}},t.memo=function(e,t){return{$$typeof:d,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=N.transition;N.transition={};try{e()}finally{N.transition=t}},t.unstable_act=T,t.useCallback=function(e,t){return I.current.useCallback(e,t)},t.useContext=function(e){return I.current.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e){return I.current.useDeferredValue(e)},t.useEffect=function(e,t){return I.current.useEffect(e,t)},t.useId=function(){return I.current.useId()},t.useImperativeHandle=function(e,t,n){return I.current.useImperativeHandle(e,t,n)},t.useInsertionEffect=function(e,t){return I.current.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return I.current.useLayoutEffect(e,t)},t.useMemo=function(e,t){return I.current.useMemo(e,t)},t.useReducer=function(e,t,n){return I.current.useReducer(e,t,n)},t.useRef=function(e){return I.current.useRef(e)},t.useState=function(e){return I.current.useState(e)},t.useSyncExternalStore=function(e,t,n){return I.current.useSyncExternalStore(e,t,n)},t.useTransition=function(){return I.current.useTransition()},t.version="18.3.1"},98:(e,t,n)=>{"use strict";e.exports=n(15)},155:(e,t,n)=>{"use strict";e.exports=n(18)},316:(e,t,n)=>{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=n(396)},381:e=>{"use strict";var t,n="object"==typeof Reflect?Reflect:null,a=n&&"function"==typeof n.apply?n.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};t=n&&"function"==typeof n.ownKeys?n.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var r=Number.isNaN||function(e){return e!=e};function o(){o.init.call(this)}e.exports=o,e.exports.once=function(e,t){return new Promise(function(n,a){function r(n){e.removeListener(t,o),a(n)}function o(){"function"==typeof e.removeListener&&e.removeListener("error",r),n([].slice.call(arguments))}f(e,t,o,{once:!0}),"error"!==t&&function(e,t){"function"==typeof e.on&&f(e,"error",t,{once:!0})}(e,r)})},o.EventEmitter=o,o.prototype._events=void 0,o.prototype._eventsCount=0,o.prototype._maxListeners=void 0;var i=10;function s(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function c(e){return void 0===e._maxListeners?o.defaultMaxListeners:e._maxListeners}function l(e,t,n,a){var r,o,i,l;if(s(n),void 0===(o=e._events)?(o=e._events=Object.create(null),e._eventsCount=0):(void 0!==o.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),o=e._events),i=o[t]),void 0===i)i=o[t]=n,++e._eventsCount;else if("function"==typeof i?i=o[t]=a?[n,i]:[i,n]:a?i.unshift(n):i.push(n),(r=c(e))>0&&i.length>r&&!i.warned){i.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+i.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=e,u.type=t,u.count=i.length,l=u,console&&console.warn&&console.warn(l)}return e}function u(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function d(e,t,n){var a={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},r=u.bind(a);return r.listener=n,a.wrapFn=r,r}function p(e,t,n){var a=e._events;if(void 0===a)return[];var r=a[t];return void 0===r?[]:"function"==typeof r?n?[r.listener||r]:[r]:n?function(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(r):m(r,r.length)}function h(e){var t=this._events;if(void 0!==t){var n=t[e];if("function"==typeof n)return 1;if(void 0!==n)return n.length}return 0}function m(e,t){for(var n=new Array(t),a=0;a<t;++a)n[a]=e[a];return n}function f(e,t,n,a){if("function"==typeof e.on)a.once?e.once(t,n):e.on(t,n);else{if("function"!=typeof e.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e);e.addEventListener(t,function r(o){a.once&&e.removeEventListener(t,r),n(o)})}}Object.defineProperty(o,"defaultMaxListeners",{enumerable:!0,get:function(){return i},set:function(e){if("number"!=typeof e||e<0||r(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");i=e}}),o.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},o.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||r(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},o.prototype.getMaxListeners=function(){return c(this)},o.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t.push(arguments[n]);var r="error"===e,o=this._events;if(void 0!==o)r=r&&void 0===o.error;else if(!r)return!1;if(r){var i;if(t.length>0&&(i=t[0]),i instanceof Error)throw i;var s=new Error("Unhandled error."+(i?" ("+i.message+")":""));throw s.context=i,s}var c=o[e];if(void 0===c)return!1;if("function"==typeof c)a(c,this,t);else{var l=c.length,u=m(c,l);for(n=0;n<l;++n)a(u[n],this,t)}return!0},o.prototype.addListener=function(e,t){return l(this,e,t,!1)},o.prototype.on=o.prototype.addListener,o.prototype.prependListener=function(e,t){return l(this,e,t,!0)},o.prototype.once=function(e,t){return s(t),this.on(e,d(this,e,t)),this},o.prototype.prependOnceListener=function(e,t){return s(t),this.prependListener(e,d(this,e,t)),this},o.prototype.removeListener=function(e,t){var n,a,r,o,i;if(s(t),void 0===(a=this._events))return this;if(void 0===(n=a[e]))return this;if(n===t||n.listener===t)0===--this._eventsCount?this._events=Object.create(null):(delete a[e],a.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(r=-1,o=n.length-1;o>=0;o--)if(n[o]===t||n[o].listener===t){i=n[o].listener,r=o;break}if(r<0)return this;0===r?n.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(n,r),1===n.length&&(a[e]=n[0]),void 0!==a.removeListener&&this.emit("removeListener",e,i||t)}return this},o.prototype.off=o.prototype.removeListener,o.prototype.removeAllListeners=function(e){var t,n,a;if(void 0===(n=this._events))return this;if(void 0===n.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==n[e]&&(0===--this._eventsCount?this._events=Object.create(null):delete n[e]),this;if(0===arguments.length){var r,o=Object.keys(n);for(a=0;a<o.length;++a)"removeListener"!==(r=o[a])&&this.removeAllListeners(r);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(void 0!==t)for(a=t.length-1;a>=0;a--)this.removeListener(e,t[a]);return this},o.prototype.listeners=function(e){return p(this,e,!0)},o.prototype.rawListeners=function(e){return p(this,e,!1)},o.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):h.call(e,t)},o.prototype.listenerCount=h,o.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]}},395:(e,t)=>{var n;!function(){"use strict";var a={}.hasOwnProperty;function r(){for(var e="",t=0;t<arguments.length;t++){var n=arguments[t];n&&(e=i(e,o(n)))}return e}function o(e){if("string"==typeof e||"number"==typeof e)return e;if("object"!=typeof e)return"";if(Array.isArray(e))return r.apply(null,e);if(e.toString!==Object.prototype.toString&&!e.toString.toString().includes("[native code]"))return e.toString();var t="";for(var n in e)a.call(e,n)&&e[n]&&(t=i(t,n));return t}function i(e,t){return t?e?e+" "+t:e+t:e}e.exports?(r.default=r,e.exports=r):void 0===(n=function(){return r}.apply(t,[]))||(e.exports=n)}()},396:(e,t,n)=>{"use strict";var a=n(155),r=n(593);function o(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var i=new Set,s={};function c(e,t){l(e,t),l(e+"Capture",t)}function l(e,t){for(s[e]=t,e=0;e<t.length;e++)i.add(t[e])}var u=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),d=Object.prototype.hasOwnProperty,p=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,h={},m={};function f(e,t,n,a,r,o,i){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=a,this.attributeNamespace=r,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=i}var g={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){g[e]=new f(e,0,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];g[t]=new f(t,1,!1,e[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){g[e]=new f(e,2,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){g[e]=new f(e,2,!1,e,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){g[e]=new f(e,3,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){g[e]=new f(e,3,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){g[e]=new f(e,4,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){g[e]=new f(e,6,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){g[e]=new f(e,5,!1,e.toLowerCase(),null,!1,!1)});var y=/[\-:]([a-z])/g;function b(e){return e[1].toUpperCase()}function k(e,t,n,a){var r=g.hasOwnProperty(t)?g[t]:null;(null!==r?0!==r.type:a||!(2<t.length)||"o"!==t[0]&&"O"!==t[0]||"n"!==t[1]&&"N"!==t[1])&&(function(e,t,n,a){if(null==t||function(e,t,n,a){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!a&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,a))return!0;if(a)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,r,a)&&(n=null),a||null===r?function(e){return!!d.call(m,e)||!d.call(h,e)&&(p.test(e)?m[e]=!0:(h[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):r.mustUseProperty?e[r.propertyName]=null===n?3!==r.type&&"":n:(t=r.attributeName,a=r.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(r=r.type)||4===r&&!0===n?"":""+n,a?e.setAttributeNS(a,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(y,b);g[t]=new f(t,1,!1,e,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(y,b);g[t]=new f(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(y,b);g[t]=new f(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){g[e]=new f(e,1,!1,e.toLowerCase(),null,!1,!1)}),g.xlinkHref=new f("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){g[e]=new f(e,1,!1,e.toLowerCase(),null,!0,!0)});var v=a.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,w=Symbol.for("react.element"),_=Symbol.for("react.portal"),j=Symbol.for("react.fragment"),x=Symbol.for("react.strict_mode"),C=Symbol.for("react.profiler"),S=Symbol.for("react.provider"),z=Symbol.for("react.context"),E=Symbol.for("react.forward_ref"),O=Symbol.for("react.suspense"),A=Symbol.for("react.suspense_list"),P=Symbol.for("react.memo"),I=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var N=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var L=Symbol.iterator;function T(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=L&&e[L]||e["@@iterator"])?e:null}var D,R=Object.assign;function M(e){if(void 0===D)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);D=t&&t[1]||""}return"\n"+D+e}var $=!1;function B(e,t){if(!e||$)return"";$=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(e){var a=e}Reflect.construct(e,[],t)}else{try{t.call()}catch(e){a=e}e.call(t.prototype)}else{try{throw Error()}catch(e){a=e}e()}}catch(t){if(t&&a&&"string"==typeof t.stack){for(var r=t.stack.split("\n"),o=a.stack.split("\n"),i=r.length-1,s=o.length-1;1<=i&&0<=s&&r[i]!==o[s];)s--;for(;1<=i&&0<=s;i--,s--)if(r[i]!==o[s]){if(1!==i||1!==s)do{if(i--,0>--s||r[i]!==o[s]){var c="\n"+r[i].replace(" at new "," at ");return e.displayName&&c.includes("<anonymous>")&&(c=c.replace("<anonymous>",e.displayName)),c}}while(1<=i&&0<=s);break}}}finally{$=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?M(e):""}function U(e){switch(e.tag){case 5:return M(e.type);case 16:return M("Lazy");case 13:return M("Suspense");case 19:return M("SuspenseList");case 0:case 2:case 15:return B(e.type,!1);case 11:return B(e.type.render,!1);case 1:return B(e.type,!0);default:return""}}function F(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case j:return"Fragment";case _:return"Portal";case C:return"Profiler";case x:return"StrictMode";case O:return"Suspense";case A:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case z:return(e.displayName||"Context")+".Consumer";case S:return(e._context.displayName||"Context")+".Provider";case E:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case P:return null!==(t=e.displayName||null)?t:F(e.type)||"Memo";case I:t=e._payload,e=e._init;try{return F(e(t))}catch(e){}}return null}function V(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return F(t);case 8:return t===x?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"==typeof t)return t.displayName||t.name||null;if("string"==typeof t)return t}return null}function H(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function K(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function q(e){e._valueTracker||(e._valueTracker=function(e){var t=K(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),a=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var r=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return r.call(this)},set:function(e){a=""+e,o.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return a},setValue:function(e){a=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function Y(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),a="";return e&&(a=K(e)?e.checked?"true":"false":e.value),(e=a)!==n&&(t.setValue(e),!0)}function W(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function G(e,t){var n=t.checked;return R({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function Q(e,t){var n=null==t.defaultValue?"":t.defaultValue,a=null!=t.checked?t.checked:t.defaultChecked;n=H(null!=t.value?t.value:n),e._wrapperState={initialChecked:a,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function J(e,t){null!=(t=t.checked)&&k(e,"checked",t,!1)}function Z(e,t){J(e,t);var n=H(t.value),a=t.type;if(null!=n)"number"===a?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===a||"reset"===a)return void e.removeAttribute("value");t.hasOwnProperty("value")?ee(e,t.type,n):t.hasOwnProperty("defaultValue")&&ee(e,t.type,H(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function X(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var a=t.type;if(!("submit"!==a&&"reset"!==a||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function ee(e,t,n){"number"===t&&W(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var te=Array.isArray;function ne(e,t,n,a){if(e=e.options,t){t={};for(var r=0;r<n.length;r++)t["$"+n[r]]=!0;for(n=0;n<e.length;n++)r=t.hasOwnProperty("$"+e[n].value),e[n].selected!==r&&(e[n].selected=r),r&&a&&(e[n].defaultSelected=!0)}else{for(n=""+H(n),t=null,r=0;r<e.length;r++){if(e[r].value===n)return e[r].selected=!0,void(a&&(e[r].defaultSelected=!0));null!==t||e[r].disabled||(t=e[r])}null!==t&&(t.selected=!0)}}function ae(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(o(91));return R({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function re(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(o(92));if(te(n)){if(1<n.length)throw Error(o(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:H(n)}}function oe(e,t){var n=H(t.value),a=H(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=a&&(e.defaultValue=""+a)}function ie(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}function se(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function ce(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?se(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var le,ue,de=(ue=function(e,t){if("http://www.w3.org/2000/svg"!==e.namespaceURI||"innerHTML"in e)e.innerHTML=t;else{for((le=le||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=le.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,a){MSApp.execUnsafeLocalFunction(function(){return ue(e,t)})}:ue);function pe(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var he={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},me=["Webkit","ms","Moz","O"];function fe(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||he.hasOwnProperty(e)&&he[e]?(""+t).trim():t+"px"}function ge(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var a=0===n.indexOf("--"),r=fe(n,t[n],a);"float"===n&&(n="cssFloat"),a?e.setProperty(n,r):e[n]=r}}Object.keys(he).forEach(function(e){me.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),he[t]=he[e]})});var ye=R({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function be(e,t){if(t){if(ye[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(o(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(o(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(o(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(o(62))}}function ke(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var ve=null;function we(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var _e=null,je=null,xe=null;function Ce(e){if(e=kr(e)){if("function"!=typeof _e)throw Error(o(280));var t=e.stateNode;t&&(t=wr(t),_e(e.stateNode,e.type,t))}}function Se(e){je?xe?xe.push(e):xe=[e]:je=e}function ze(){if(je){var e=je,t=xe;if(xe=je=null,Ce(e),t)for(e=0;e<t.length;e++)Ce(t[e])}}function Ee(e,t){return e(t)}function Oe(){}var Ae=!1;function Pe(e,t,n){if(Ae)return e(t,n);Ae=!0;try{return Ee(e,t,n)}finally{Ae=!1,(null!==je||null!==xe)&&(Oe(),ze())}}function Ie(e,t){var n=e.stateNode;if(null===n)return null;var a=wr(n);if(null===a)return null;n=a[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(a=!a.disabled)||(a=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!a;break e;default:e=!1}if(e)return null;if(n&&"function"!=typeof n)throw Error(o(231,t,typeof n));return n}var Ne=!1;if(u)try{var Le={};Object.defineProperty(Le,"passive",{get:function(){Ne=!0}}),window.addEventListener("test",Le,Le),window.removeEventListener("test",Le,Le)}catch(ue){Ne=!1}function Te(e,t,n,a,r,o,i,s,c){var l=Array.prototype.slice.call(arguments,3);try{t.apply(n,l)}catch(e){this.onError(e)}}var De=!1,Re=null,Me=!1,$e=null,Be={onError:function(e){De=!0,Re=e}};function Ue(e,t,n,a,r,o,i,s,c){De=!1,Re=null,Te.apply(Be,arguments)}function Fe(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{!!(4098&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function Ve(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&null!==(e=e.alternate)&&(t=e.memoizedState),null!==t)return t.dehydrated}return null}function He(e){if(Fe(e)!==e)throw Error(o(188))}function Ke(e){return null!==(e=function(e){var t=e.alternate;if(!t){if(null===(t=Fe(e)))throw Error(o(188));return t!==e?null:e}for(var n=e,a=t;;){var r=n.return;if(null===r)break;var i=r.alternate;if(null===i){if(null!==(a=r.return)){n=a;continue}break}if(r.child===i.child){for(i=r.child;i;){if(i===n)return He(r),e;if(i===a)return He(r),t;i=i.sibling}throw Error(o(188))}if(n.return!==a.return)n=r,a=i;else{for(var s=!1,c=r.child;c;){if(c===n){s=!0,n=r,a=i;break}if(c===a){s=!0,a=r,n=i;break}c=c.sibling}if(!s){for(c=i.child;c;){if(c===n){s=!0,n=i,a=r;break}if(c===a){s=!0,a=i,n=r;break}c=c.sibling}if(!s)throw Error(o(189))}}if(n.alternate!==a)throw Error(o(190))}if(3!==n.tag)throw Error(o(188));return n.stateNode.current===n?e:t}(e))?qe(e):null}function qe(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=qe(e);if(null!==t)return t;e=e.sibling}return null}var Ye=r.unstable_scheduleCallback,We=r.unstable_cancelCallback,Ge=r.unstable_shouldYield,Qe=r.unstable_requestPaint,Je=r.unstable_now,Ze=r.unstable_getCurrentPriorityLevel,Xe=r.unstable_ImmediatePriority,et=r.unstable_UserBlockingPriority,tt=r.unstable_NormalPriority,nt=r.unstable_LowPriority,at=r.unstable_IdlePriority,rt=null,ot=null,it=Math.clz32?Math.clz32:function(e){return 0===(e>>>=0)?32:31-(st(e)/ct|0)|0},st=Math.log,ct=Math.LN2,lt=64,ut=4194304;function dt(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function pt(e,t){var n=e.pendingLanes;if(0===n)return 0;var a=0,r=e.suspendedLanes,o=e.pingedLanes,i=268435455&n;if(0!==i){var s=i&~r;0!==s?a=dt(s):0!==(o&=i)&&(a=dt(o))}else 0!==(i=n&~r)?a=dt(i):0!==o&&(a=dt(o));if(0===a)return 0;if(0!==t&&t!==a&&0===(t&r)&&((r=a&-a)>=(o=t&-t)||16===r&&4194240&o))return t;if(4&a&&(a|=16&n),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=a;0<t;)r=1<<(n=31-it(t)),a|=e[n],t&=~r;return a}function ht(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return-1}}function mt(e){return 0!=(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function ft(){var e=lt;return!(4194240&(lt<<=1))&&(lt=64),e}function gt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function yt(e,t,n){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-it(t)]=n}function bt(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var a=31-it(n),r=1<<a;r&t|e[a]&t&&(e[a]|=t),n&=~r}}var kt=0;function vt(e){return 1<(e&=-e)?4<e?268435455&e?16:536870912:4:1}var wt,_t,jt,xt,Ct,St=!1,zt=[],Et=null,Ot=null,At=null,Pt=new Map,It=new Map,Nt=[],Lt="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Tt(e,t){switch(e){case"focusin":case"focusout":Et=null;break;case"dragenter":case"dragleave":Ot=null;break;case"mouseover":case"mouseout":At=null;break;case"pointerover":case"pointerout":Pt.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":It.delete(t.pointerId)}}function Dt(e,t,n,a,r,o){return null===e||e.nativeEvent!==o?(e={blockedOn:t,domEventName:n,eventSystemFlags:a,nativeEvent:o,targetContainers:[r]},null!==t&&null!==(t=kr(t))&&_t(t),e):(e.eventSystemFlags|=a,t=e.targetContainers,null!==r&&-1===t.indexOf(r)&&t.push(r),e)}function Rt(e){var t=br(e.target);if(null!==t){var n=Fe(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=Ve(n)))return e.blockedOn=t,void Ct(e.priority,function(){jt(n)})}else if(3===t&&n.stateNode.current.memoizedState.isDehydrated)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function Mt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Gt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=kr(n))&&_t(t),e.blockedOn=n,!1;var a=new(n=e.nativeEvent).constructor(n.type,n);ve=a,n.target.dispatchEvent(a),ve=null,t.shift()}return!0}function $t(e,t,n){Mt(e)&&n.delete(t)}function Bt(){St=!1,null!==Et&&Mt(Et)&&(Et=null),null!==Ot&&Mt(Ot)&&(Ot=null),null!==At&&Mt(At)&&(At=null),Pt.forEach($t),It.forEach($t)}function Ut(e,t){e.blockedOn===t&&(e.blockedOn=null,St||(St=!0,r.unstable_scheduleCallback(r.unstable_NormalPriority,Bt)))}function Ft(e){function t(t){return Ut(t,e)}if(0<zt.length){Ut(zt[0],e);for(var n=1;n<zt.length;n++){var a=zt[n];a.blockedOn===e&&(a.blockedOn=null)}}for(null!==Et&&Ut(Et,e),null!==Ot&&Ut(Ot,e),null!==At&&Ut(At,e),Pt.forEach(t),It.forEach(t),n=0;n<Nt.length;n++)(a=Nt[n]).blockedOn===e&&(a.blockedOn=null);for(;0<Nt.length&&null===(n=Nt[0]).blockedOn;)Rt(n),null===n.blockedOn&&Nt.shift()}var Vt=v.ReactCurrentBatchConfig,Ht=!0;function Kt(e,t,n,a){var r=kt,o=Vt.transition;Vt.transition=null;try{kt=1,Yt(e,t,n,a)}finally{kt=r,Vt.transition=o}}function qt(e,t,n,a){var r=kt,o=Vt.transition;Vt.transition=null;try{kt=4,Yt(e,t,n,a)}finally{kt=r,Vt.transition=o}}function Yt(e,t,n,a){if(Ht){var r=Gt(e,t,n,a);if(null===r)Ha(e,t,a,Wt,n),Tt(e,a);else if(function(e,t,n,a,r){switch(t){case"focusin":return Et=Dt(Et,e,t,n,a,r),!0;case"dragenter":return Ot=Dt(Ot,e,t,n,a,r),!0;case"mouseover":return At=Dt(At,e,t,n,a,r),!0;case"pointerover":var o=r.pointerId;return Pt.set(o,Dt(Pt.get(o)||null,e,t,n,a,r)),!0;case"gotpointercapture":return o=r.pointerId,It.set(o,Dt(It.get(o)||null,e,t,n,a,r)),!0}return!1}(r,e,t,n,a))a.stopPropagation();else if(Tt(e,a),4&t&&-1<Lt.indexOf(e)){for(;null!==r;){var o=kr(r);if(null!==o&&wt(o),null===(o=Gt(e,t,n,a))&&Ha(e,t,a,Wt,n),o===r)break;r=o}null!==r&&a.stopPropagation()}else Ha(e,t,a,null,n)}}var Wt=null;function Gt(e,t,n,a){if(Wt=null,null!==(e=br(e=we(a))))if(null===(t=Fe(e)))e=null;else if(13===(n=t.tag)){if(null!==(e=Ve(t)))return e;e=null}else if(3===n){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Wt=e,null}function Qt(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Ze()){case Xe:return 1;case et:return 4;case tt:case nt:return 16;case at:return 536870912;default:return 16}default:return 16}}var Jt=null,Zt=null,Xt=null;function en(){if(Xt)return Xt;var e,t,n=Zt,a=n.length,r="value"in Jt?Jt.value:Jt.textContent,o=r.length;for(e=0;e<a&&n[e]===r[e];e++);var i=a-e;for(t=1;t<=i&&n[a-t]===r[o-t];t++);return Xt=r.slice(e,1<t?1-t:void 0)}function tn(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function nn(){return!0}function an(){return!1}function rn(e){function t(t,n,a,r,o){for(var i in this._reactName=t,this._targetInst=a,this.type=n,this.nativeEvent=r,this.target=o,this.currentTarget=null,e)e.hasOwnProperty(i)&&(t=e[i],this[i]=t?t(r):r[i]);return this.isDefaultPrevented=(null!=r.defaultPrevented?r.defaultPrevented:!1===r.returnValue)?nn:an,this.isPropagationStopped=an,this}return R(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=nn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=nn)},persist:function(){},isPersistent:nn}),t}var on,sn,cn,ln={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},un=rn(ln),dn=R({},ln,{view:0,detail:0}),pn=rn(dn),hn=R({},dn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Cn,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==cn&&(cn&&"mousemove"===e.type?(on=e.screenX-cn.screenX,sn=e.screenY-cn.screenY):sn=on=0,cn=e),on)},movementY:function(e){return"movementY"in e?e.movementY:sn}}),mn=rn(hn),fn=rn(R({},hn,{dataTransfer:0})),gn=rn(R({},dn,{relatedTarget:0})),yn=rn(R({},ln,{animationName:0,elapsedTime:0,pseudoElement:0})),bn=R({},ln,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),kn=rn(bn),vn=rn(R({},ln,{data:0})),wn={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},_n={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},jn={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function xn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=jn[e])&&!!t[e]}function Cn(){return xn}var Sn=R({},dn,{key:function(e){if(e.key){var t=wn[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=tn(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?_n[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Cn,charCode:function(e){return"keypress"===e.type?tn(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?tn(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),zn=rn(Sn),En=rn(R({},hn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),On=rn(R({},dn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Cn})),An=rn(R({},ln,{propertyName:0,elapsedTime:0,pseudoElement:0})),Pn=R({},hn,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),In=rn(Pn),Nn=[9,13,27,32],Ln=u&&"CompositionEvent"in window,Tn=null;u&&"documentMode"in document&&(Tn=document.documentMode);var Dn=u&&"TextEvent"in window&&!Tn,Rn=u&&(!Ln||Tn&&8<Tn&&11>=Tn),Mn=String.fromCharCode(32),$n=!1;function Bn(e,t){switch(e){case"keyup":return-1!==Nn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Un(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Fn=!1,Vn={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Hn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Vn[e.type]:"textarea"===t}function Kn(e,t,n,a){Se(a),0<(t=qa(t,"onChange")).length&&(n=new un("onChange","change",null,n,a),e.push({event:n,listeners:t}))}var qn=null,Yn=null;function Wn(e){Ma(e,0)}function Gn(e){if(Y(vr(e)))return e}function Qn(e,t){if("change"===e)return t}var Jn=!1;if(u){var Zn;if(u){var Xn="oninput"in document;if(!Xn){var ea=document.createElement("div");ea.setAttribute("oninput","return;"),Xn="function"==typeof ea.oninput}Zn=Xn}else Zn=!1;Jn=Zn&&(!document.documentMode||9<document.documentMode)}function ta(){qn&&(qn.detachEvent("onpropertychange",na),Yn=qn=null)}function na(e){if("value"===e.propertyName&&Gn(Yn)){var t=[];Kn(t,Yn,e,we(e)),Pe(Wn,t)}}function aa(e,t,n){"focusin"===e?(ta(),Yn=n,(qn=t).attachEvent("onpropertychange",na)):"focusout"===e&&ta()}function ra(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Gn(Yn)}function oa(e,t){if("click"===e)return Gn(t)}function ia(e,t){if("input"===e||"change"===e)return Gn(t)}var sa="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t};function ca(e,t){if(sa(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),a=Object.keys(t);if(n.length!==a.length)return!1;for(a=0;a<n.length;a++){var r=n[a];if(!d.call(t,r)||!sa(e[r],t[r]))return!1}return!0}function la(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function ua(e,t){var n,a=la(e);for(e=0;a;){if(3===a.nodeType){if(n=e+a.textContent.length,e<=t&&n>=t)return{node:a,offset:t-e};e=n}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=la(a)}}function da(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?da(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function pa(){for(var e=window,t=W();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(e){n=!1}if(!n)break;t=W((e=t.contentWindow).document)}return t}function ha(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function ma(e){var t=pa(),n=e.focusedElem,a=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&da(n.ownerDocument.documentElement,n)){if(null!==a&&ha(n))if(t=a.start,void 0===(e=a.end)&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if((e=(t=n.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var r=n.textContent.length,o=Math.min(a.start,r);a=void 0===a.end?o:Math.min(a.end,r),!e.extend&&o>a&&(r=a,a=o,o=r),r=ua(n,o);var i=ua(n,a);r&&i&&(1!==e.rangeCount||e.anchorNode!==r.node||e.anchorOffset!==r.offset||e.focusNode!==i.node||e.focusOffset!==i.offset)&&((t=t.createRange()).setStart(r.node,r.offset),e.removeAllRanges(),o>a?(e.addRange(t),e.extend(i.node,i.offset)):(t.setEnd(i.node,i.offset),e.addRange(t)))}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"==typeof n.focus&&n.focus(),n=0;n<t.length;n++)(e=t[n]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}var fa=u&&"documentMode"in document&&11>=document.documentMode,ga=null,ya=null,ba=null,ka=!1;function va(e,t,n){var a=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;ka||null==ga||ga!==W(a)||(a="selectionStart"in(a=ga)&&ha(a)?{start:a.selectionStart,end:a.selectionEnd}:{anchorNode:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset},ba&&ca(ba,a)||(ba=a,0<(a=qa(ya,"onSelect")).length&&(t=new un("onSelect","select",null,t,n),e.push({event:t,listeners:a}),t.target=ga)))}function wa(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var _a={animationend:wa("Animation","AnimationEnd"),animationiteration:wa("Animation","AnimationIteration"),animationstart:wa("Animation","AnimationStart"),transitionend:wa("Transition","TransitionEnd")},ja={},xa={};function Ca(e){if(ja[e])return ja[e];if(!_a[e])return e;var t,n=_a[e];for(t in n)if(n.hasOwnProperty(t)&&t in xa)return ja[e]=n[t];return e}u&&(xa=document.createElement("div").style,"AnimationEvent"in window||(delete _a.animationend.animation,delete _a.animationiteration.animation,delete _a.animationstart.animation),"TransitionEvent"in window||delete _a.transitionend.transition);var Sa=Ca("animationend"),za=Ca("animationiteration"),Ea=Ca("animationstart"),Oa=Ca("transitionend"),Aa=new Map,Pa="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Ia(e,t){Aa.set(e,t),c(t,[e])}for(var Na=0;Na<Pa.length;Na++){var La=Pa[Na];Ia(La.toLowerCase(),"on"+(La[0].toUpperCase()+La.slice(1)))}Ia(Sa,"onAnimationEnd"),Ia(za,"onAnimationIteration"),Ia(Ea,"onAnimationStart"),Ia("dblclick","onDoubleClick"),Ia("focusin","onFocus"),Ia("focusout","onBlur"),Ia(Oa,"onTransitionEnd"),l("onMouseEnter",["mouseout","mouseover"]),l("onMouseLeave",["mouseout","mouseover"]),l("onPointerEnter",["pointerout","pointerover"]),l("onPointerLeave",["pointerout","pointerover"]),c("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),c("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),c("onBeforeInput",["compositionend","keypress","textInput","paste"]),c("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),c("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),c("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Ta="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Da=new Set("cancel close invalid load scroll toggle".split(" ").concat(Ta));function Ra(e,t,n){var a=e.type||"unknown-event";e.currentTarget=n,function(e,t,n,a,r,i,s,c,l){if(Ue.apply(this,arguments),De){if(!De)throw Error(o(198));var u=Re;De=!1,Re=null,Me||(Me=!0,$e=u)}}(a,t,void 0,e),e.currentTarget=null}function Ma(e,t){t=!!(4&t);for(var n=0;n<e.length;n++){var a=e[n],r=a.event;a=a.listeners;e:{var o=void 0;if(t)for(var i=a.length-1;0<=i;i--){var s=a[i],c=s.instance,l=s.currentTarget;if(s=s.listener,c!==o&&r.isPropagationStopped())break e;Ra(r,s,l),o=c}else for(i=0;i<a.length;i++){if(c=(s=a[i]).instance,l=s.currentTarget,s=s.listener,c!==o&&r.isPropagationStopped())break e;Ra(r,s,l),o=c}}}if(Me)throw e=$e,Me=!1,$e=null,e}function $a(e,t){var n=t[fr];void 0===n&&(n=t[fr]=new Set);var a=e+"__bubble";n.has(a)||(Va(t,e,2,!1),n.add(a))}function Ba(e,t,n){var a=0;t&&(a|=4),Va(n,e,a,t)}var Ua="_reactListening"+Math.random().toString(36).slice(2);function Fa(e){if(!e[Ua]){e[Ua]=!0,i.forEach(function(t){"selectionchange"!==t&&(Da.has(t)||Ba(t,!1,e),Ba(t,!0,e))});var t=9===e.nodeType?e:e.ownerDocument;null===t||t[Ua]||(t[Ua]=!0,Ba("selectionchange",!1,t))}}function Va(e,t,n,a){switch(Qt(t)){case 1:var r=Kt;break;case 4:r=qt;break;default:r=Yt}n=r.bind(null,t,n,e),r=void 0,!Ne||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(r=!0),a?void 0!==r?e.addEventListener(t,n,{capture:!0,passive:r}):e.addEventListener(t,n,!0):void 0!==r?e.addEventListener(t,n,{passive:r}):e.addEventListener(t,n,!1)}function Ha(e,t,n,a,r){var o=a;if(!(1&t||2&t||null===a))e:for(;;){if(null===a)return;var i=a.tag;if(3===i||4===i){var s=a.stateNode.containerInfo;if(s===r||8===s.nodeType&&s.parentNode===r)break;if(4===i)for(i=a.return;null!==i;){var c=i.tag;if((3===c||4===c)&&((c=i.stateNode.containerInfo)===r||8===c.nodeType&&c.parentNode===r))return;i=i.return}for(;null!==s;){if(null===(i=br(s)))return;if(5===(c=i.tag)||6===c){a=o=i;continue e}s=s.parentNode}}a=a.return}Pe(function(){var a=o,r=we(n),i=[];e:{var s=Aa.get(e);if(void 0!==s){var c=un,l=e;switch(e){case"keypress":if(0===tn(n))break e;case"keydown":case"keyup":c=zn;break;case"focusin":l="focus",c=gn;break;case"focusout":l="blur",c=gn;break;case"beforeblur":case"afterblur":c=gn;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":c=mn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":c=fn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":c=On;break;case Sa:case za:case Ea:c=yn;break;case Oa:c=An;break;case"scroll":c=pn;break;case"wheel":c=In;break;case"copy":case"cut":case"paste":c=kn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":c=En}var u=!!(4&t),d=!u&&"scroll"===e,p=u?null!==s?s+"Capture":null:s;u=[];for(var h,m=a;null!==m;){var f=(h=m).stateNode;if(5===h.tag&&null!==f&&(h=f,null!==p&&null!=(f=Ie(m,p))&&u.push(Ka(m,f,h))),d)break;m=m.return}0<u.length&&(s=new c(s,l,null,n,r),i.push({event:s,listeners:u}))}}if(!(7&t)){if(c="mouseout"===e||"pointerout"===e,(!(s="mouseover"===e||"pointerover"===e)||n===ve||!(l=n.relatedTarget||n.fromElement)||!br(l)&&!l[mr])&&(c||s)&&(s=r.window===r?r:(s=r.ownerDocument)?s.defaultView||s.parentWindow:window,c?(c=a,null!==(l=(l=n.relatedTarget||n.toElement)?br(l):null)&&(l!==(d=Fe(l))||5!==l.tag&&6!==l.tag)&&(l=null)):(c=null,l=a),c!==l)){if(u=mn,f="onMouseLeave",p="onMouseEnter",m="mouse","pointerout"!==e&&"pointerover"!==e||(u=En,f="onPointerLeave",p="onPointerEnter",m="pointer"),d=null==c?s:vr(c),h=null==l?s:vr(l),(s=new u(f,m+"leave",c,n,r)).target=d,s.relatedTarget=h,f=null,br(r)===a&&((u=new u(p,m+"enter",l,n,r)).target=h,u.relatedTarget=d,f=u),d=f,c&&l)e:{for(p=l,m=0,h=u=c;h;h=Ya(h))m++;for(h=0,f=p;f;f=Ya(f))h++;for(;0<m-h;)u=Ya(u),m--;for(;0<h-m;)p=Ya(p),h--;for(;m--;){if(u===p||null!==p&&u===p.alternate)break e;u=Ya(u),p=Ya(p)}u=null}else u=null;null!==c&&Wa(i,s,c,u,!1),null!==l&&null!==d&&Wa(i,d,l,u,!0)}if("select"===(c=(s=a?vr(a):window).nodeName&&s.nodeName.toLowerCase())||"input"===c&&"file"===s.type)var g=Qn;else if(Hn(s))if(Jn)g=ia;else{g=ra;var y=aa}else(c=s.nodeName)&&"input"===c.toLowerCase()&&("checkbox"===s.type||"radio"===s.type)&&(g=oa);switch(g&&(g=g(e,a))?Kn(i,g,n,r):(y&&y(e,s,a),"focusout"===e&&(y=s._wrapperState)&&y.controlled&&"number"===s.type&&ee(s,"number",s.value)),y=a?vr(a):window,e){case"focusin":(Hn(y)||"true"===y.contentEditable)&&(ga=y,ya=a,ba=null);break;case"focusout":ba=ya=ga=null;break;case"mousedown":ka=!0;break;case"contextmenu":case"mouseup":case"dragend":ka=!1,va(i,n,r);break;case"selectionchange":if(fa)break;case"keydown":case"keyup":va(i,n,r)}var b;if(Ln)e:{switch(e){case"compositionstart":var k="onCompositionStart";break e;case"compositionend":k="onCompositionEnd";break e;case"compositionupdate":k="onCompositionUpdate";break e}k=void 0}else Fn?Bn(e,n)&&(k="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(k="onCompositionStart");k&&(Rn&&"ko"!==n.locale&&(Fn||"onCompositionStart"!==k?"onCompositionEnd"===k&&Fn&&(b=en()):(Zt="value"in(Jt=r)?Jt.value:Jt.textContent,Fn=!0)),0<(y=qa(a,k)).length&&(k=new vn(k,e,null,n,r),i.push({event:k,listeners:y}),(b||null!==(b=Un(n)))&&(k.data=b))),(b=Dn?function(e,t){switch(e){case"compositionend":return Un(t);case"keypress":return 32!==t.which?null:($n=!0,Mn);case"textInput":return(e=t.data)===Mn&&$n?null:e;default:return null}}(e,n):function(e,t){if(Fn)return"compositionend"===e||!Ln&&Bn(e,t)?(e=en(),Xt=Zt=Jt=null,Fn=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Rn&&"ko"!==t.locale?null:t.data}}(e,n))&&0<(a=qa(a,"onBeforeInput")).length&&(r=new vn("onBeforeInput","beforeinput",null,n,r),i.push({event:r,listeners:a}),r.data=b)}Ma(i,t)})}function Ka(e,t,n){return{instance:e,listener:t,currentTarget:n}}function qa(e,t){for(var n=t+"Capture",a=[];null!==e;){var r=e,o=r.stateNode;5===r.tag&&null!==o&&(r=o,null!=(o=Ie(e,n))&&a.unshift(Ka(e,o,r)),null!=(o=Ie(e,t))&&a.push(Ka(e,o,r))),e=e.return}return a}function Ya(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Wa(e,t,n,a,r){for(var o=t._reactName,i=[];null!==n&&n!==a;){var s=n,c=s.alternate,l=s.stateNode;if(null!==c&&c===a)break;5===s.tag&&null!==l&&(s=l,r?null!=(c=Ie(n,o))&&i.unshift(Ka(n,c,s)):r||null!=(c=Ie(n,o))&&i.push(Ka(n,c,s))),n=n.return}0!==i.length&&e.push({event:t,listeners:i})}var Ga=/\r\n?/g,Qa=/\u0000|\uFFFD/g;function Ja(e){return("string"==typeof e?e:""+e).replace(Ga,"\n").replace(Qa,"")}function Za(e,t,n){if(t=Ja(t),Ja(e)!==t&&n)throw Error(o(425))}function Xa(){}var er=null,tr=null;function nr(e,t){return"textarea"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var ar="function"==typeof setTimeout?setTimeout:void 0,rr="function"==typeof clearTimeout?clearTimeout:void 0,or="function"==typeof Promise?Promise:void 0,ir="function"==typeof queueMicrotask?queueMicrotask:void 0!==or?function(e){return or.resolve(null).then(e).catch(sr)}:ar;function sr(e){setTimeout(function(){throw e})}function cr(e,t){var n=t,a=0;do{var r=n.nextSibling;if(e.removeChild(n),r&&8===r.nodeType)if("/$"===(n=r.data)){if(0===a)return e.removeChild(r),void Ft(t);a--}else"$"!==n&&"$?"!==n&&"$!"!==n||a++;n=r}while(n);Ft(t)}function lr(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t)break;if("/$"===t)return null}}return e}function ur(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var dr=Math.random().toString(36).slice(2),pr="__reactFiber$"+dr,hr="__reactProps$"+dr,mr="__reactContainer$"+dr,fr="__reactEvents$"+dr,gr="__reactListeners$"+dr,yr="__reactHandles$"+dr;function br(e){var t=e[pr];if(t)return t;for(var n=e.parentNode;n;){if(t=n[mr]||n[pr]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=ur(e);null!==e;){if(n=e[pr])return n;e=ur(e)}return t}n=(e=n).parentNode}return null}function kr(e){return!(e=e[pr]||e[mr])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function vr(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(o(33))}function wr(e){return e[hr]||null}var _r=[],jr=-1;function xr(e){return{current:e}}function Cr(e){0>jr||(e.current=_r[jr],_r[jr]=null,jr--)}function Sr(e,t){jr++,_r[jr]=e.current,e.current=t}var zr={},Er=xr(zr),Or=xr(!1),Ar=zr;function Pr(e,t){var n=e.type.contextTypes;if(!n)return zr;var a=e.stateNode;if(a&&a.__reactInternalMemoizedUnmaskedChildContext===t)return a.__reactInternalMemoizedMaskedChildContext;var r,o={};for(r in n)o[r]=t[r];return a&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function Ir(e){return null!=e.childContextTypes}function Nr(){Cr(Or),Cr(Er)}function Lr(e,t,n){if(Er.current!==zr)throw Error(o(168));Sr(Er,t),Sr(Or,n)}function Tr(e,t,n){var a=e.stateNode;if(t=t.childContextTypes,"function"!=typeof a.getChildContext)return n;for(var r in a=a.getChildContext())if(!(r in t))throw Error(o(108,V(e)||"Unknown",r));return R({},n,a)}function Dr(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||zr,Ar=Er.current,Sr(Er,e),Sr(Or,Or.current),!0}function Rr(e,t,n){var a=e.stateNode;if(!a)throw Error(o(169));n?(e=Tr(e,t,Ar),a.__reactInternalMemoizedMergedChildContext=e,Cr(Or),Cr(Er),Sr(Er,e)):Cr(Or),Sr(Or,n)}var Mr=null,$r=!1,Br=!1;function Ur(e){null===Mr?Mr=[e]:Mr.push(e)}function Fr(){if(!Br&&null!==Mr){Br=!0;var e=0,t=kt;try{var n=Mr;for(kt=1;e<n.length;e++){var a=n[e];do{a=a(!0)}while(null!==a)}Mr=null,$r=!1}catch(t){throw null!==Mr&&(Mr=Mr.slice(e+1)),Ye(Xe,Fr),t}finally{kt=t,Br=!1}}return null}var Vr=[],Hr=0,Kr=null,qr=0,Yr=[],Wr=0,Gr=null,Qr=1,Jr="";function Zr(e,t){Vr[Hr++]=qr,Vr[Hr++]=Kr,Kr=e,qr=t}function Xr(e,t,n){Yr[Wr++]=Qr,Yr[Wr++]=Jr,Yr[Wr++]=Gr,Gr=e;var a=Qr;e=Jr;var r=32-it(a)-1;a&=~(1<<r),n+=1;var o=32-it(t)+r;if(30<o){var i=r-r%5;o=(a&(1<<i)-1).toString(32),a>>=i,r-=i,Qr=1<<32-it(t)+r|n<<r|a,Jr=o+e}else Qr=1<<o|n<<r|a,Jr=e}function eo(e){null!==e.return&&(Zr(e,1),Xr(e,1,0))}function to(e){for(;e===Kr;)Kr=Vr[--Hr],Vr[Hr]=null,qr=Vr[--Hr],Vr[Hr]=null;for(;e===Gr;)Gr=Yr[--Wr],Yr[Wr]=null,Jr=Yr[--Wr],Yr[Wr]=null,Qr=Yr[--Wr],Yr[Wr]=null}var no=null,ao=null,ro=!1,oo=null;function io(e,t){var n=Pl(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,null===(t=e.deletions)?(e.deletions=[n],e.flags|=16):t.push(n)}function so(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,no=e,ao=lr(t.firstChild),!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,no=e,ao=null,!0);case 13:return null!==(t=8!==t.nodeType?null:t)&&(n=null!==Gr?{id:Qr,overflow:Jr}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},(n=Pl(18,null,null,0)).stateNode=t,n.return=e,e.child=n,no=e,ao=null,!0);default:return!1}}function co(e){return!(!(1&e.mode)||128&e.flags)}function lo(e){if(ro){var t=ao;if(t){var n=t;if(!so(e,t)){if(co(e))throw Error(o(418));t=lr(n.nextSibling);var a=no;t&&so(e,t)?io(a,n):(e.flags=-4097&e.flags|2,ro=!1,no=e)}}else{if(co(e))throw Error(o(418));e.flags=-4097&e.flags|2,ro=!1,no=e}}}function uo(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;no=e}function po(e){if(e!==no)return!1;if(!ro)return uo(e),ro=!0,!1;var t;if((t=3!==e.tag)&&!(t=5!==e.tag)&&(t="head"!==(t=e.type)&&"body"!==t&&!nr(e.type,e.memoizedProps)),t&&(t=ao)){if(co(e))throw ho(),Error(o(418));for(;t;)io(e,t),t=lr(t.nextSibling)}if(uo(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(o(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){ao=lr(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}ao=null}}else ao=no?lr(e.stateNode.nextSibling):null;return!0}function ho(){for(var e=ao;e;)e=lr(e.nextSibling)}function mo(){ao=no=null,ro=!1}function fo(e){null===oo?oo=[e]:oo.push(e)}var go=v.ReactCurrentBatchConfig;function yo(e,t,n){if(null!==(e=n.ref)&&"function"!=typeof e&&"object"!=typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(o(309));var a=n.stateNode}if(!a)throw Error(o(147,e));var r=a,i=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===i?t.ref:(t=function(e){var t=r.refs;null===e?delete t[i]:t[i]=e},t._stringRef=i,t)}if("string"!=typeof e)throw Error(o(284));if(!n._owner)throw Error(o(290,e))}return e}function bo(e,t){throw e=Object.prototype.toString.call(t),Error(o(31,"[object Object]"===e?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function ko(e){return(0,e._init)(e._payload)}function vo(e){function t(t,n){if(e){var a=t.deletions;null===a?(t.deletions=[n],t.flags|=16):a.push(n)}}function n(n,a){if(!e)return null;for(;null!==a;)t(n,a),a=a.sibling;return null}function a(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function r(e,t){return(e=Nl(e,t)).index=0,e.sibling=null,e}function i(t,n,a){return t.index=a,e?null!==(a=t.alternate)?(a=a.index)<n?(t.flags|=2,n):a:(t.flags|=2,n):(t.flags|=1048576,n)}function s(t){return e&&null===t.alternate&&(t.flags|=2),t}function c(e,t,n,a){return null===t||6!==t.tag?((t=Rl(n,e.mode,a)).return=e,t):((t=r(t,n)).return=e,t)}function l(e,t,n,a){var o=n.type;return o===j?d(e,t,n.props.children,a,n.key):null!==t&&(t.elementType===o||"object"==typeof o&&null!==o&&o.$$typeof===I&&ko(o)===t.type)?((a=r(t,n.props)).ref=yo(e,t,n),a.return=e,a):((a=Ll(n.type,n.key,n.props,null,e.mode,a)).ref=yo(e,t,n),a.return=e,a)}function u(e,t,n,a){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=Ml(n,e.mode,a)).return=e,t):((t=r(t,n.children||[])).return=e,t)}function d(e,t,n,a,o){return null===t||7!==t.tag?((t=Tl(n,e.mode,a,o)).return=e,t):((t=r(t,n)).return=e,t)}function p(e,t,n){if("string"==typeof t&&""!==t||"number"==typeof t)return(t=Rl(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case w:return(n=Ll(t.type,t.key,t.props,null,e.mode,n)).ref=yo(e,null,t),n.return=e,n;case _:return(t=Ml(t,e.mode,n)).return=e,t;case I:return p(e,(0,t._init)(t._payload),n)}if(te(t)||T(t))return(t=Tl(t,e.mode,n,null)).return=e,t;bo(e,t)}return null}function h(e,t,n,a){var r=null!==t?t.key:null;if("string"==typeof n&&""!==n||"number"==typeof n)return null!==r?null:c(e,t,""+n,a);if("object"==typeof n&&null!==n){switch(n.$$typeof){case w:return n.key===r?l(e,t,n,a):null;case _:return n.key===r?u(e,t,n,a):null;case I:return h(e,t,(r=n._init)(n._payload),a)}if(te(n)||T(n))return null!==r?null:d(e,t,n,a,null);bo(e,n)}return null}function m(e,t,n,a,r){if("string"==typeof a&&""!==a||"number"==typeof a)return c(t,e=e.get(n)||null,""+a,r);if("object"==typeof a&&null!==a){switch(a.$$typeof){case w:return l(t,e=e.get(null===a.key?n:a.key)||null,a,r);case _:return u(t,e=e.get(null===a.key?n:a.key)||null,a,r);case I:return m(e,t,n,(0,a._init)(a._payload),r)}if(te(a)||T(a))return d(t,e=e.get(n)||null,a,r,null);bo(t,a)}return null}function f(r,o,s,c){for(var l=null,u=null,d=o,f=o=0,g=null;null!==d&&f<s.length;f++){d.index>f?(g=d,d=null):g=d.sibling;var y=h(r,d,s[f],c);if(null===y){null===d&&(d=g);break}e&&d&&null===y.alternate&&t(r,d),o=i(y,o,f),null===u?l=y:u.sibling=y,u=y,d=g}if(f===s.length)return n(r,d),ro&&Zr(r,f),l;if(null===d){for(;f<s.length;f++)null!==(d=p(r,s[f],c))&&(o=i(d,o,f),null===u?l=d:u.sibling=d,u=d);return ro&&Zr(r,f),l}for(d=a(r,d);f<s.length;f++)null!==(g=m(d,r,f,s[f],c))&&(e&&null!==g.alternate&&d.delete(null===g.key?f:g.key),o=i(g,o,f),null===u?l=g:u.sibling=g,u=g);return e&&d.forEach(function(e){return t(r,e)}),ro&&Zr(r,f),l}function g(r,s,c,l){var u=T(c);if("function"!=typeof u)throw Error(o(150));if(null==(c=u.call(c)))throw Error(o(151));for(var d=u=null,f=s,g=s=0,y=null,b=c.next();null!==f&&!b.done;g++,b=c.next()){f.index>g?(y=f,f=null):y=f.sibling;var k=h(r,f,b.value,l);if(null===k){null===f&&(f=y);break}e&&f&&null===k.alternate&&t(r,f),s=i(k,s,g),null===d?u=k:d.sibling=k,d=k,f=y}if(b.done)return n(r,f),ro&&Zr(r,g),u;if(null===f){for(;!b.done;g++,b=c.next())null!==(b=p(r,b.value,l))&&(s=i(b,s,g),null===d?u=b:d.sibling=b,d=b);return ro&&Zr(r,g),u}for(f=a(r,f);!b.done;g++,b=c.next())null!==(b=m(f,r,g,b.value,l))&&(e&&null!==b.alternate&&f.delete(null===b.key?g:b.key),s=i(b,s,g),null===d?u=b:d.sibling=b,d=b);return e&&f.forEach(function(e){return t(r,e)}),ro&&Zr(r,g),u}return function e(a,o,i,c){if("object"==typeof i&&null!==i&&i.type===j&&null===i.key&&(i=i.props.children),"object"==typeof i&&null!==i){switch(i.$$typeof){case w:e:{for(var l=i.key,u=o;null!==u;){if(u.key===l){if((l=i.type)===j){if(7===u.tag){n(a,u.sibling),(o=r(u,i.props.children)).return=a,a=o;break e}}else if(u.elementType===l||"object"==typeof l&&null!==l&&l.$$typeof===I&&ko(l)===u.type){n(a,u.sibling),(o=r(u,i.props)).ref=yo(a,u,i),o.return=a,a=o;break e}n(a,u);break}t(a,u),u=u.sibling}i.type===j?((o=Tl(i.props.children,a.mode,c,i.key)).return=a,a=o):((c=Ll(i.type,i.key,i.props,null,a.mode,c)).ref=yo(a,o,i),c.return=a,a=c)}return s(a);case _:e:{for(u=i.key;null!==o;){if(o.key===u){if(4===o.tag&&o.stateNode.containerInfo===i.containerInfo&&o.stateNode.implementation===i.implementation){n(a,o.sibling),(o=r(o,i.children||[])).return=a,a=o;break e}n(a,o);break}t(a,o),o=o.sibling}(o=Ml(i,a.mode,c)).return=a,a=o}return s(a);case I:return e(a,o,(u=i._init)(i._payload),c)}if(te(i))return f(a,o,i,c);if(T(i))return g(a,o,i,c);bo(a,i)}return"string"==typeof i&&""!==i||"number"==typeof i?(i=""+i,null!==o&&6===o.tag?(n(a,o.sibling),(o=r(o,i)).return=a,a=o):(n(a,o),(o=Rl(i,a.mode,c)).return=a,a=o),s(a)):n(a,o)}}var wo=vo(!0),_o=vo(!1),jo=xr(null),xo=null,Co=null,So=null;function zo(){So=Co=xo=null}function Eo(e){var t=jo.current;Cr(jo),e._currentValue=t}function Oo(e,t,n){for(;null!==e;){var a=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==a&&(a.childLanes|=t)):null!==a&&(a.childLanes&t)!==t&&(a.childLanes|=t),e===n)break;e=e.return}}function Ao(e,t){xo=e,So=Co=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!==(e.lanes&t)&&(ks=!0),e.firstContext=null)}function Po(e){var t=e._currentValue;if(So!==e)if(e={context:e,memoizedValue:t,next:null},null===Co){if(null===xo)throw Error(o(308));Co=e,xo.dependencies={lanes:0,firstContext:e}}else Co=Co.next=e;return t}var Io=null;function No(e){null===Io?Io=[e]:Io.push(e)}function Lo(e,t,n,a){var r=t.interleaved;return null===r?(n.next=n,No(t)):(n.next=r.next,r.next=n),t.interleaved=n,To(e,a)}function To(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}var Do=!1;function Ro(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Mo(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function $o(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Bo(e,t,n){var a=e.updateQueue;if(null===a)return null;if(a=a.shared,2&Ec){var r=a.pending;return null===r?t.next=t:(t.next=r.next,r.next=t),a.pending=t,To(e,n)}return null===(r=a.interleaved)?(t.next=t,No(a)):(t.next=r.next,r.next=t),a.interleaved=t,To(e,n)}function Uo(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,4194240&n)){var a=t.lanes;n|=a&=e.pendingLanes,t.lanes=n,bt(e,n)}}function Fo(e,t){var n=e.updateQueue,a=e.alternate;if(null!==a&&n===(a=a.updateQueue)){var r=null,o=null;if(null!==(n=n.firstBaseUpdate)){do{var i={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===o?r=o=i:o=o.next=i,n=n.next}while(null!==n);null===o?r=o=t:o=o.next=t}else r=o=t;return n={baseState:a.baseState,firstBaseUpdate:r,lastBaseUpdate:o,shared:a.shared,effects:a.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Vo(e,t,n,a){var r=e.updateQueue;Do=!1;var o=r.firstBaseUpdate,i=r.lastBaseUpdate,s=r.shared.pending;if(null!==s){r.shared.pending=null;var c=s,l=c.next;c.next=null,null===i?o=l:i.next=l,i=c;var u=e.alternate;null!==u&&(s=(u=u.updateQueue).lastBaseUpdate)!==i&&(null===s?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c)}if(null!==o){var d=r.baseState;for(i=0,u=l=c=null,s=o;;){var p=s.lane,h=s.eventTime;if((a&p)===p){null!==u&&(u=u.next={eventTime:h,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var m=e,f=s;switch(p=t,h=n,f.tag){case 1:if("function"==typeof(m=f.payload)){d=m.call(h,d,p);break e}d=m;break e;case 3:m.flags=-65537&m.flags|128;case 0:if(null==(p="function"==typeof(m=f.payload)?m.call(h,d,p):m))break e;d=R({},d,p);break e;case 2:Do=!0}}null!==s.callback&&0!==s.lane&&(e.flags|=64,null===(p=r.effects)?r.effects=[s]:p.push(s))}else h={eventTime:h,lane:p,tag:s.tag,payload:s.payload,callback:s.callback,next:null},null===u?(l=u=h,c=d):u=u.next=h,i|=p;if(null===(s=s.next)){if(null===(s=r.shared.pending))break;s=(p=s).next,p.next=null,r.lastBaseUpdate=p,r.shared.pending=null}}if(null===u&&(c=d),r.baseState=c,r.firstBaseUpdate=l,r.lastBaseUpdate=u,null!==(t=r.shared.interleaved)){r=t;do{i|=r.lane,r=r.next}while(r!==t)}else null===o&&(r.shared.lanes=0);Dc|=i,e.lanes=i,e.memoizedState=d}}function Ho(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var a=e[t],r=a.callback;if(null!==r){if(a.callback=null,a=n,"function"!=typeof r)throw Error(o(191,r));r.call(a)}}}var Ko={},qo=xr(Ko),Yo=xr(Ko),Wo=xr(Ko);function Go(e){if(e===Ko)throw Error(o(174));return e}function Qo(e,t){switch(Sr(Wo,t),Sr(Yo,e),Sr(qo,Ko),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:ce(null,"");break;default:t=ce(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}Cr(qo),Sr(qo,t)}function Jo(){Cr(qo),Cr(Yo),Cr(Wo)}function Zo(e){Go(Wo.current);var t=Go(qo.current),n=ce(t,e.type);t!==n&&(Sr(Yo,e),Sr(qo,n))}function Xo(e){Yo.current===e&&(Cr(qo),Cr(Yo))}var ei=xr(0);function ti(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(128&t.flags)return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var ni=[];function ai(){for(var e=0;e<ni.length;e++)ni[e]._workInProgressVersionPrimary=null;ni.length=0}var ri=v.ReactCurrentDispatcher,oi=v.ReactCurrentBatchConfig,ii=0,si=null,ci=null,li=null,ui=!1,di=!1,pi=0,hi=0;function mi(){throw Error(o(321))}function fi(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!sa(e[n],t[n]))return!1;return!0}function gi(e,t,n,a,r,i){if(ii=i,si=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,ri.current=null===e||null===e.memoizedState?Xi:es,e=n(a,r),di){i=0;do{if(di=!1,pi=0,25<=i)throw Error(o(301));i+=1,li=ci=null,t.updateQueue=null,ri.current=ts,e=n(a,r)}while(di)}if(ri.current=Zi,t=null!==ci&&null!==ci.next,ii=0,li=ci=si=null,ui=!1,t)throw Error(o(300));return e}function yi(){var e=0!==pi;return pi=0,e}function bi(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===li?si.memoizedState=li=e:li=li.next=e,li}function ki(){if(null===ci){var e=si.alternate;e=null!==e?e.memoizedState:null}else e=ci.next;var t=null===li?si.memoizedState:li.next;if(null!==t)li=t,ci=e;else{if(null===e)throw Error(o(310));e={memoizedState:(ci=e).memoizedState,baseState:ci.baseState,baseQueue:ci.baseQueue,queue:ci.queue,next:null},null===li?si.memoizedState=li=e:li=li.next=e}return li}function vi(e,t){return"function"==typeof t?t(e):t}function wi(e){var t=ki(),n=t.queue;if(null===n)throw Error(o(311));n.lastRenderedReducer=e;var a=ci,r=a.baseQueue,i=n.pending;if(null!==i){if(null!==r){var s=r.next;r.next=i.next,i.next=s}a.baseQueue=r=i,n.pending=null}if(null!==r){i=r.next,a=a.baseState;var c=s=null,l=null,u=i;do{var d=u.lane;if((ii&d)===d)null!==l&&(l=l.next={lane:0,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),a=u.hasEagerState?u.eagerState:e(a,u.action);else{var p={lane:d,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null};null===l?(c=l=p,s=a):l=l.next=p,si.lanes|=d,Dc|=d}u=u.next}while(null!==u&&u!==i);null===l?s=a:l.next=c,sa(a,t.memoizedState)||(ks=!0),t.memoizedState=a,t.baseState=s,t.baseQueue=l,n.lastRenderedState=a}if(null!==(e=n.interleaved)){r=e;do{i=r.lane,si.lanes|=i,Dc|=i,r=r.next}while(r!==e)}else null===r&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function _i(e){var t=ki(),n=t.queue;if(null===n)throw Error(o(311));n.lastRenderedReducer=e;var a=n.dispatch,r=n.pending,i=t.memoizedState;if(null!==r){n.pending=null;var s=r=r.next;do{i=e(i,s.action),s=s.next}while(s!==r);sa(i,t.memoizedState)||(ks=!0),t.memoizedState=i,null===t.baseQueue&&(t.baseState=i),n.lastRenderedState=i}return[i,a]}function ji(){}function xi(e,t){var n=si,a=ki(),r=t(),i=!sa(a.memoizedState,r);if(i&&(a.memoizedState=r,ks=!0),a=a.queue,Di(zi.bind(null,n,a,e),[e]),a.getSnapshot!==t||i||null!==li&&1&li.memoizedState.tag){if(n.flags|=2048,Pi(9,Si.bind(null,n,a,r,t),void 0,null),null===Oc)throw Error(o(349));30&ii||Ci(n,t,r)}return r}function Ci(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},null===(t=si.updateQueue)?(t={lastEffect:null,stores:null},si.updateQueue=t,t.stores=[e]):null===(n=t.stores)?t.stores=[e]:n.push(e)}function Si(e,t,n,a){t.value=n,t.getSnapshot=a,Ei(t)&&Oi(e)}function zi(e,t,n){return n(function(){Ei(t)&&Oi(e)})}function Ei(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!sa(e,n)}catch(e){return!0}}function Oi(e){var t=To(e,1);null!==t&&nl(t,e,1,-1)}function Ai(e){var t=bi();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:vi,lastRenderedState:e},t.queue=e,e=e.dispatch=Wi.bind(null,si,e),[t.memoizedState,e]}function Pi(e,t,n,a){return e={tag:e,create:t,destroy:n,deps:a,next:null},null===(t=si.updateQueue)?(t={lastEffect:null,stores:null},si.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(a=n.next,n.next=e,e.next=a,t.lastEffect=e),e}function Ii(){return ki().memoizedState}function Ni(e,t,n,a){var r=bi();si.flags|=e,r.memoizedState=Pi(1|t,n,void 0,void 0===a?null:a)}function Li(e,t,n,a){var r=ki();a=void 0===a?null:a;var o=void 0;if(null!==ci){var i=ci.memoizedState;if(o=i.destroy,null!==a&&fi(a,i.deps))return void(r.memoizedState=Pi(t,n,o,a))}si.flags|=e,r.memoizedState=Pi(1|t,n,o,a)}function Ti(e,t){return Ni(8390656,8,e,t)}function Di(e,t){return Li(2048,8,e,t)}function Ri(e,t){return Li(4,2,e,t)}function Mi(e,t){return Li(4,4,e,t)}function $i(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Bi(e,t,n){return n=null!=n?n.concat([e]):null,Li(4,4,$i.bind(null,t,e),n)}function Ui(){}function Fi(e,t){var n=ki();t=void 0===t?null:t;var a=n.memoizedState;return null!==a&&null!==t&&fi(t,a[1])?a[0]:(n.memoizedState=[e,t],e)}function Vi(e,t){var n=ki();t=void 0===t?null:t;var a=n.memoizedState;return null!==a&&null!==t&&fi(t,a[1])?a[0]:(e=e(),n.memoizedState=[e,t],e)}function Hi(e,t,n){return 21&ii?(sa(n,t)||(n=ft(),si.lanes|=n,Dc|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,ks=!0),e.memoizedState=n)}function Ki(e,t){var n=kt;kt=0!==n&&4>n?n:4,e(!0);var a=oi.transition;oi.transition={};try{e(!1),t()}finally{kt=n,oi.transition=a}}function qi(){return ki().memoizedState}function Yi(e,t,n){var a=tl(e);n={lane:a,action:n,hasEagerState:!1,eagerState:null,next:null},Gi(e)?Qi(t,n):null!==(n=Lo(e,t,n,a))&&(nl(n,e,a,el()),Ji(n,t,a))}function Wi(e,t,n){var a=tl(e),r={lane:a,action:n,hasEagerState:!1,eagerState:null,next:null};if(Gi(e))Qi(t,r);else{var o=e.alternate;if(0===e.lanes&&(null===o||0===o.lanes)&&null!==(o=t.lastRenderedReducer))try{var i=t.lastRenderedState,s=o(i,n);if(r.hasEagerState=!0,r.eagerState=s,sa(s,i)){var c=t.interleaved;return null===c?(r.next=r,No(t)):(r.next=c.next,c.next=r),void(t.interleaved=r)}}catch(e){}null!==(n=Lo(e,t,r,a))&&(nl(n,e,a,r=el()),Ji(n,t,a))}}function Gi(e){var t=e.alternate;return e===si||null!==t&&t===si}function Qi(e,t){di=ui=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Ji(e,t,n){if(4194240&n){var a=t.lanes;n|=a&=e.pendingLanes,t.lanes=n,bt(e,n)}}var Zi={readContext:Po,useCallback:mi,useContext:mi,useEffect:mi,useImperativeHandle:mi,useInsertionEffect:mi,useLayoutEffect:mi,useMemo:mi,useReducer:mi,useRef:mi,useState:mi,useDebugValue:mi,useDeferredValue:mi,useTransition:mi,useMutableSource:mi,useSyncExternalStore:mi,useId:mi,unstable_isNewReconciler:!1},Xi={readContext:Po,useCallback:function(e,t){return bi().memoizedState=[e,void 0===t?null:t],e},useContext:Po,useEffect:Ti,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,Ni(4194308,4,$i.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Ni(4194308,4,e,t)},useInsertionEffect:function(e,t){return Ni(4,2,e,t)},useMemo:function(e,t){var n=bi();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var a=bi();return t=void 0!==n?n(t):t,a.memoizedState=a.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},a.queue=e,e=e.dispatch=Yi.bind(null,si,e),[a.memoizedState,e]},useRef:function(e){return e={current:e},bi().memoizedState=e},useState:Ai,useDebugValue:Ui,useDeferredValue:function(e){return bi().memoizedState=e},useTransition:function(){var e=Ai(!1),t=e[0];return e=Ki.bind(null,e[1]),bi().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var a=si,r=bi();if(ro){if(void 0===n)throw Error(o(407));n=n()}else{if(n=t(),null===Oc)throw Error(o(349));30&ii||Ci(a,t,n)}r.memoizedState=n;var i={value:n,getSnapshot:t};return r.queue=i,Ti(zi.bind(null,a,i,e),[e]),a.flags|=2048,Pi(9,Si.bind(null,a,i,n,t),void 0,null),n},useId:function(){var e=bi(),t=Oc.identifierPrefix;if(ro){var n=Jr;t=":"+t+"R"+(n=(Qr&~(1<<32-it(Qr)-1)).toString(32)+n),0<(n=pi++)&&(t+="H"+n.toString(32)),t+=":"}else t=":"+t+"r"+(n=hi++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},es={readContext:Po,useCallback:Fi,useContext:Po,useEffect:Di,useImperativeHandle:Bi,useInsertionEffect:Ri,useLayoutEffect:Mi,useMemo:Vi,useReducer:wi,useRef:Ii,useState:function(){return wi(vi)},useDebugValue:Ui,useDeferredValue:function(e){return Hi(ki(),ci.memoizedState,e)},useTransition:function(){return[wi(vi)[0],ki().memoizedState]},useMutableSource:ji,useSyncExternalStore:xi,useId:qi,unstable_isNewReconciler:!1},ts={readContext:Po,useCallback:Fi,useContext:Po,useEffect:Di,useImperativeHandle:Bi,useInsertionEffect:Ri,useLayoutEffect:Mi,useMemo:Vi,useReducer:_i,useRef:Ii,useState:function(){return _i(vi)},useDebugValue:Ui,useDeferredValue:function(e){var t=ki();return null===ci?t.memoizedState=e:Hi(t,ci.memoizedState,e)},useTransition:function(){return[_i(vi)[0],ki().memoizedState]},useMutableSource:ji,useSyncExternalStore:xi,useId:qi,unstable_isNewReconciler:!1};function ns(e,t){if(e&&e.defaultProps){for(var n in t=R({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}function as(e,t,n,a){n=null==(n=n(a,t=e.memoizedState))?t:R({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var rs={isMounted:function(e){return!!(e=e._reactInternals)&&Fe(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var a=el(),r=tl(e),o=$o(a,r);o.payload=t,null!=n&&(o.callback=n),null!==(t=Bo(e,o,r))&&(nl(t,e,r,a),Uo(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var a=el(),r=tl(e),o=$o(a,r);o.tag=1,o.payload=t,null!=n&&(o.callback=n),null!==(t=Bo(e,o,r))&&(nl(t,e,r,a),Uo(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=el(),a=tl(e),r=$o(n,a);r.tag=2,null!=t&&(r.callback=t),null!==(t=Bo(e,r,a))&&(nl(t,e,a,n),Uo(t,e,a))}};function os(e,t,n,a,r,o,i){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(a,o,i):!(t.prototype&&t.prototype.isPureReactComponent&&ca(n,a)&&ca(r,o))}function is(e,t,n){var a=!1,r=zr,o=t.contextType;return"object"==typeof o&&null!==o?o=Po(o):(r=Ir(t)?Ar:Er.current,o=(a=null!=(a=t.contextTypes))?Pr(e,r):zr),t=new t(n,o),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=rs,e.stateNode=t,t._reactInternals=e,a&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=r,e.__reactInternalMemoizedMaskedChildContext=o),t}function ss(e,t,n,a){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,a),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,a),t.state!==e&&rs.enqueueReplaceState(t,t.state,null)}function cs(e,t,n,a){var r=e.stateNode;r.props=n,r.state=e.memoizedState,r.refs={},Ro(e);var o=t.contextType;"object"==typeof o&&null!==o?r.context=Po(o):(o=Ir(t)?Ar:Er.current,r.context=Pr(e,o)),r.state=e.memoizedState,"function"==typeof(o=t.getDerivedStateFromProps)&&(as(e,t,o,n),r.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof r.getSnapshotBeforeUpdate||"function"!=typeof r.UNSAFE_componentWillMount&&"function"!=typeof r.componentWillMount||(t=r.state,"function"==typeof r.componentWillMount&&r.componentWillMount(),"function"==typeof r.UNSAFE_componentWillMount&&r.UNSAFE_componentWillMount(),t!==r.state&&rs.enqueueReplaceState(r,r.state,null),Vo(e,n,r,a),r.state=e.memoizedState),"function"==typeof r.componentDidMount&&(e.flags|=4194308)}function ls(e,t){try{var n="",a=t;do{n+=U(a),a=a.return}while(a);var r=n}catch(e){r="\nError generating stack: "+e.message+"\n"+e.stack}return{value:e,source:t,stack:r,digest:null}}function us(e,t,n){return{value:e,source:null,stack:null!=n?n:null,digest:null!=t?t:null}}function ds(e,t){try{console.error(t.value)}catch(e){setTimeout(function(){throw e})}}var ps="function"==typeof WeakMap?WeakMap:Map;function hs(e,t,n){(n=$o(-1,n)).tag=3,n.payload={element:null};var a=t.value;return n.callback=function(){Hc||(Hc=!0,Kc=a),ds(0,t)},n}function ms(e,t,n){(n=$o(-1,n)).tag=3;var a=e.type.getDerivedStateFromError;if("function"==typeof a){var r=t.value;n.payload=function(){return a(r)},n.callback=function(){ds(0,t)}}var o=e.stateNode;return null!==o&&"function"==typeof o.componentDidCatch&&(n.callback=function(){ds(0,t),"function"!=typeof a&&(null===qc?qc=new Set([this]):qc.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}function fs(e,t,n){var a=e.pingCache;if(null===a){a=e.pingCache=new ps;var r=new Set;a.set(t,r)}else void 0===(r=a.get(t))&&(r=new Set,a.set(t,r));r.has(n)||(r.add(n),e=Cl.bind(null,e,t,n),t.then(e,e))}function gs(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function ys(e,t,n,a,r){return 1&e.mode?(e.flags|=65536,e.lanes=r,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,1===n.tag&&(null===n.alternate?n.tag=17:((t=$o(-1,1)).tag=2,Bo(n,t,1))),n.lanes|=1),e)}var bs=v.ReactCurrentOwner,ks=!1;function vs(e,t,n,a){t.child=null===e?_o(t,null,n,a):wo(t,e.child,n,a)}function ws(e,t,n,a,r){n=n.render;var o=t.ref;return Ao(t,r),a=gi(e,t,n,a,o,r),n=yi(),null===e||ks?(ro&&n&&eo(t),t.flags|=1,vs(e,t,a,r),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~r,Hs(e,t,r))}function _s(e,t,n,a,r){if(null===e){var o=n.type;return"function"!=typeof o||Il(o)||void 0!==o.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Ll(n.type,null,a,t,t.mode,r)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=o,js(e,t,o,a,r))}if(o=e.child,0===(e.lanes&r)){var i=o.memoizedProps;if((n=null!==(n=n.compare)?n:ca)(i,a)&&e.ref===t.ref)return Hs(e,t,r)}return t.flags|=1,(e=Nl(o,a)).ref=t.ref,e.return=t,t.child=e}function js(e,t,n,a,r){if(null!==e){var o=e.memoizedProps;if(ca(o,a)&&e.ref===t.ref){if(ks=!1,t.pendingProps=a=o,0===(e.lanes&r))return t.lanes=e.lanes,Hs(e,t,r);131072&e.flags&&(ks=!0)}}return Ss(e,t,n,a,r)}function xs(e,t,n){var a=t.pendingProps,r=a.children,o=null!==e?e.memoizedState:null;if("hidden"===a.mode)if(1&t.mode){if(!(1073741824&n))return e=null!==o?o.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,Sr(Nc,Ic),Ic|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},a=null!==o?o.baseLanes:n,Sr(Nc,Ic),Ic|=a}else t.memoizedState={baseLanes:0,cachePool:null,transitions:null},Sr(Nc,Ic),Ic|=n;else null!==o?(a=o.baseLanes|n,t.memoizedState=null):a=n,Sr(Nc,Ic),Ic|=a;return vs(e,t,r,n),t.child}function Cs(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Ss(e,t,n,a,r){var o=Ir(n)?Ar:Er.current;return o=Pr(t,o),Ao(t,r),n=gi(e,t,n,a,o,r),a=yi(),null===e||ks?(ro&&a&&eo(t),t.flags|=1,vs(e,t,n,r),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~r,Hs(e,t,r))}function zs(e,t,n,a,r){if(Ir(n)){var o=!0;Dr(t)}else o=!1;if(Ao(t,r),null===t.stateNode)Vs(e,t),is(t,n,a),cs(t,n,a,r),a=!0;else if(null===e){var i=t.stateNode,s=t.memoizedProps;i.props=s;var c=i.context,l=n.contextType;l="object"==typeof l&&null!==l?Po(l):Pr(t,l=Ir(n)?Ar:Er.current);var u=n.getDerivedStateFromProps,d="function"==typeof u||"function"==typeof i.getSnapshotBeforeUpdate;d||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(s!==a||c!==l)&&ss(t,i,a,l),Do=!1;var p=t.memoizedState;i.state=p,Vo(t,a,i,r),c=t.memoizedState,s!==a||p!==c||Or.current||Do?("function"==typeof u&&(as(t,n,u,a),c=t.memoizedState),(s=Do||os(t,n,s,a,p,c,l))?(d||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||("function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount()),"function"==typeof i.componentDidMount&&(t.flags|=4194308)):("function"==typeof i.componentDidMount&&(t.flags|=4194308),t.memoizedProps=a,t.memoizedState=c),i.props=a,i.state=c,i.context=l,a=s):("function"==typeof i.componentDidMount&&(t.flags|=4194308),a=!1)}else{i=t.stateNode,Mo(e,t),s=t.memoizedProps,l=t.type===t.elementType?s:ns(t.type,s),i.props=l,d=t.pendingProps,p=i.context,c="object"==typeof(c=n.contextType)&&null!==c?Po(c):Pr(t,c=Ir(n)?Ar:Er.current);var h=n.getDerivedStateFromProps;(u="function"==typeof h||"function"==typeof i.getSnapshotBeforeUpdate)||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(s!==d||p!==c)&&ss(t,i,a,c),Do=!1,p=t.memoizedState,i.state=p,Vo(t,a,i,r);var m=t.memoizedState;s!==d||p!==m||Or.current||Do?("function"==typeof h&&(as(t,n,h,a),m=t.memoizedState),(l=Do||os(t,n,l,a,p,m,c)||!1)?(u||"function"!=typeof i.UNSAFE_componentWillUpdate&&"function"!=typeof i.componentWillUpdate||("function"==typeof i.componentWillUpdate&&i.componentWillUpdate(a,m,c),"function"==typeof i.UNSAFE_componentWillUpdate&&i.UNSAFE_componentWillUpdate(a,m,c)),"function"==typeof i.componentDidUpdate&&(t.flags|=4),"function"==typeof i.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!=typeof i.componentDidUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),t.memoizedProps=a,t.memoizedState=m),i.props=a,i.state=m,i.context=c,a=l):("function"!=typeof i.componentDidUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),a=!1)}return Es(e,t,n,a,o,r)}function Es(e,t,n,a,r,o){Cs(e,t);var i=!!(128&t.flags);if(!a&&!i)return r&&Rr(t,n,!1),Hs(e,t,o);a=t.stateNode,bs.current=t;var s=i&&"function"!=typeof n.getDerivedStateFromError?null:a.render();return t.flags|=1,null!==e&&i?(t.child=wo(t,e.child,null,o),t.child=wo(t,null,s,o)):vs(e,t,s,o),t.memoizedState=a.state,r&&Rr(t,n,!0),t.child}function Os(e){var t=e.stateNode;t.pendingContext?Lr(0,t.pendingContext,t.pendingContext!==t.context):t.context&&Lr(0,t.context,!1),Qo(e,t.containerInfo)}function As(e,t,n,a,r){return mo(),fo(r),t.flags|=256,vs(e,t,n,a),t.child}var Ps,Is,Ns,Ls,Ts={dehydrated:null,treeContext:null,retryLane:0};function Ds(e){return{baseLanes:e,cachePool:null,transitions:null}}function Rs(e,t,n){var a,r=t.pendingProps,i=ei.current,s=!1,c=!!(128&t.flags);if((a=c)||(a=(null===e||null!==e.memoizedState)&&!!(2&i)),a?(s=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(i|=1),Sr(ei,1&i),null===e)return lo(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(1&t.mode?"$!"===e.data?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(c=r.children,e=r.fallback,s?(r=t.mode,s=t.child,c={mode:"hidden",children:c},1&r||null===s?s=Dl(c,r,0,null):(s.childLanes=0,s.pendingProps=c),e=Tl(e,r,n,null),s.return=t,e.return=t,s.sibling=e,t.child=s,t.child.memoizedState=Ds(n),t.memoizedState=Ts,e):Ms(t,c));if(null!==(i=e.memoizedState)&&null!==(a=i.dehydrated))return function(e,t,n,a,r,i,s){if(n)return 256&t.flags?(t.flags&=-257,$s(e,t,s,a=us(Error(o(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(i=a.fallback,r=t.mode,a=Dl({mode:"visible",children:a.children},r,0,null),(i=Tl(i,r,s,null)).flags|=2,a.return=t,i.return=t,a.sibling=i,t.child=a,1&t.mode&&wo(t,e.child,null,s),t.child.memoizedState=Ds(s),t.memoizedState=Ts,i);if(!(1&t.mode))return $s(e,t,s,null);if("$!"===r.data){if(a=r.nextSibling&&r.nextSibling.dataset)var c=a.dgst;return a=c,$s(e,t,s,a=us(i=Error(o(419)),a,void 0))}if(c=0!==(s&e.childLanes),ks||c){if(null!==(a=Oc)){switch(s&-s){case 4:r=2;break;case 16:r=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:r=32;break;case 536870912:r=268435456;break;default:r=0}0!==(r=0!==(r&(a.suspendedLanes|s))?0:r)&&r!==i.retryLane&&(i.retryLane=r,To(e,r),nl(a,e,r,-1))}return fl(),$s(e,t,s,a=us(Error(o(421))))}return"$?"===r.data?(t.flags|=128,t.child=e.child,t=zl.bind(null,e),r._reactRetry=t,null):(e=i.treeContext,ao=lr(r.nextSibling),no=t,ro=!0,oo=null,null!==e&&(Yr[Wr++]=Qr,Yr[Wr++]=Jr,Yr[Wr++]=Gr,Qr=e.id,Jr=e.overflow,Gr=t),(t=Ms(t,a.children)).flags|=4096,t)}(e,t,c,r,a,i,n);if(s){s=r.fallback,c=t.mode,a=(i=e.child).sibling;var l={mode:"hidden",children:r.children};return 1&c||t.child===i?(r=Nl(i,l)).subtreeFlags=14680064&i.subtreeFlags:((r=t.child).childLanes=0,r.pendingProps=l,t.deletions=null),null!==a?s=Nl(a,s):(s=Tl(s,c,n,null)).flags|=2,s.return=t,r.return=t,r.sibling=s,t.child=r,r=s,s=t.child,c=null===(c=e.child.memoizedState)?Ds(n):{baseLanes:c.baseLanes|n,cachePool:null,transitions:c.transitions},s.memoizedState=c,s.childLanes=e.childLanes&~n,t.memoizedState=Ts,r}return e=(s=e.child).sibling,r=Nl(s,{mode:"visible",children:r.children}),!(1&t.mode)&&(r.lanes=n),r.return=t,r.sibling=null,null!==e&&(null===(n=t.deletions)?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=r,t.memoizedState=null,r}function Ms(e,t){return(t=Dl({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function $s(e,t,n,a){return null!==a&&fo(a),wo(t,e.child,null,n),(e=Ms(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function Bs(e,t,n){e.lanes|=t;var a=e.alternate;null!==a&&(a.lanes|=t),Oo(e.return,t,n)}function Us(e,t,n,a,r){var o=e.memoizedState;null===o?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:a,tail:n,tailMode:r}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=a,o.tail=n,o.tailMode=r)}function Fs(e,t,n){var a=t.pendingProps,r=a.revealOrder,o=a.tail;if(vs(e,t,a.children,n),2&(a=ei.current))a=1&a|2,t.flags|=128;else{if(null!==e&&128&e.flags)e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&Bs(e,n,t);else if(19===e.tag)Bs(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}a&=1}if(Sr(ei,a),1&t.mode)switch(r){case"forwards":for(n=t.child,r=null;null!==n;)null!==(e=n.alternate)&&null===ti(e)&&(r=n),n=n.sibling;null===(n=r)?(r=t.child,t.child=null):(r=n.sibling,n.sibling=null),Us(t,!1,r,n,o);break;case"backwards":for(n=null,r=t.child,t.child=null;null!==r;){if(null!==(e=r.alternate)&&null===ti(e)){t.child=r;break}e=r.sibling,r.sibling=n,n=r,r=e}Us(t,!0,n,null,o);break;case"together":Us(t,!1,null,null,void 0);break;default:t.memoizedState=null}else t.memoizedState=null;return t.child}function Vs(e,t){!(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Hs(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),Dc|=t.lanes,0===(n&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(o(153));if(null!==t.child){for(n=Nl(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Nl(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function Ks(e,t){if(!ro)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var a=null;null!==n;)null!==n.alternate&&(a=n),n=n.sibling;null===a?t||null===e.tail?e.tail=null:e.tail.sibling=null:a.sibling=null}}function qs(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,a=0;if(t)for(var r=e.child;null!==r;)n|=r.lanes|r.childLanes,a|=14680064&r.subtreeFlags,a|=14680064&r.flags,r.return=e,r=r.sibling;else for(r=e.child;null!==r;)n|=r.lanes|r.childLanes,a|=r.subtreeFlags,a|=r.flags,r.return=e,r=r.sibling;return e.subtreeFlags|=a,e.childLanes=n,t}function Ys(e,t,n){var a=t.pendingProps;switch(to(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return qs(t),null;case 1:case 17:return Ir(t.type)&&Nr(),qs(t),null;case 3:return a=t.stateNode,Jo(),Cr(Or),Cr(Er),ai(),a.pendingContext&&(a.context=a.pendingContext,a.pendingContext=null),null!==e&&null!==e.child||(po(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&!(256&t.flags)||(t.flags|=1024,null!==oo&&(il(oo),oo=null))),Is(e,t),qs(t),null;case 5:Xo(t);var r=Go(Wo.current);if(n=t.type,null!==e&&null!=t.stateNode)Ns(e,t,n,a,r),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!a){if(null===t.stateNode)throw Error(o(166));return qs(t),null}if(e=Go(qo.current),po(t)){a=t.stateNode,n=t.type;var i=t.memoizedProps;switch(a[pr]=t,a[hr]=i,e=!!(1&t.mode),n){case"dialog":$a("cancel",a),$a("close",a);break;case"iframe":case"object":case"embed":$a("load",a);break;case"video":case"audio":for(r=0;r<Ta.length;r++)$a(Ta[r],a);break;case"source":$a("error",a);break;case"img":case"image":case"link":$a("error",a),$a("load",a);break;case"details":$a("toggle",a);break;case"input":Q(a,i),$a("invalid",a);break;case"select":a._wrapperState={wasMultiple:!!i.multiple},$a("invalid",a);break;case"textarea":re(a,i),$a("invalid",a)}for(var c in be(n,i),r=null,i)if(i.hasOwnProperty(c)){var l=i[c];"children"===c?"string"==typeof l?a.textContent!==l&&(!0!==i.suppressHydrationWarning&&Za(a.textContent,l,e),r=["children",l]):"number"==typeof l&&a.textContent!==""+l&&(!0!==i.suppressHydrationWarning&&Za(a.textContent,l,e),r=["children",""+l]):s.hasOwnProperty(c)&&null!=l&&"onScroll"===c&&$a("scroll",a)}switch(n){case"input":q(a),X(a,i,!0);break;case"textarea":q(a),ie(a);break;case"select":case"option":break;default:"function"==typeof i.onClick&&(a.onclick=Xa)}a=r,t.updateQueue=a,null!==a&&(t.flags|=4)}else{c=9===r.nodeType?r:r.ownerDocument,"http://www.w3.org/1999/xhtml"===e&&(e=se(n)),"http://www.w3.org/1999/xhtml"===e?"script"===n?((e=c.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"==typeof a.is?e=c.createElement(n,{is:a.is}):(e=c.createElement(n),"select"===n&&(c=e,a.multiple?c.multiple=!0:a.size&&(c.size=a.size))):e=c.createElementNS(e,n),e[pr]=t,e[hr]=a,Ps(e,t,!1,!1),t.stateNode=e;e:{switch(c=ke(n,a),n){case"dialog":$a("cancel",e),$a("close",e),r=a;break;case"iframe":case"object":case"embed":$a("load",e),r=a;break;case"video":case"audio":for(r=0;r<Ta.length;r++)$a(Ta[r],e);r=a;break;case"source":$a("error",e),r=a;break;case"img":case"image":case"link":$a("error",e),$a("load",e),r=a;break;case"details":$a("toggle",e),r=a;break;case"input":Q(e,a),r=G(e,a),$a("invalid",e);break;case"option":default:r=a;break;case"select":e._wrapperState={wasMultiple:!!a.multiple},r=R({},a,{value:void 0}),$a("invalid",e);break;case"textarea":re(e,a),r=ae(e,a),$a("invalid",e)}for(i in be(n,r),l=r)if(l.hasOwnProperty(i)){var u=l[i];"style"===i?ge(e,u):"dangerouslySetInnerHTML"===i?null!=(u=u?u.__html:void 0)&&de(e,u):"children"===i?"string"==typeof u?("textarea"!==n||""!==u)&&pe(e,u):"number"==typeof u&&pe(e,""+u):"suppressContentEditableWarning"!==i&&"suppressHydrationWarning"!==i&&"autoFocus"!==i&&(s.hasOwnProperty(i)?null!=u&&"onScroll"===i&&$a("scroll",e):null!=u&&k(e,i,u,c))}switch(n){case"input":q(e),X(e,a,!1);break;case"textarea":q(e),ie(e);break;case"option":null!=a.value&&e.setAttribute("value",""+H(a.value));break;case"select":e.multiple=!!a.multiple,null!=(i=a.value)?ne(e,!!a.multiple,i,!1):null!=a.defaultValue&&ne(e,!!a.multiple,a.defaultValue,!0);break;default:"function"==typeof r.onClick&&(e.onclick=Xa)}switch(n){case"button":case"input":case"select":case"textarea":a=!!a.autoFocus;break e;case"img":a=!0;break e;default:a=!1}}a&&(t.flags|=4)}null!==t.ref&&(t.flags|=512,t.flags|=2097152)}return qs(t),null;case 6:if(e&&null!=t.stateNode)Ls(e,t,e.memoizedProps,a);else{if("string"!=typeof a&&null===t.stateNode)throw Error(o(166));if(n=Go(Wo.current),Go(qo.current),po(t)){if(a=t.stateNode,n=t.memoizedProps,a[pr]=t,(i=a.nodeValue!==n)&&null!==(e=no))switch(e.tag){case 3:Za(a.nodeValue,n,!!(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&Za(a.nodeValue,n,!!(1&e.mode))}i&&(t.flags|=4)}else(a=(9===n.nodeType?n:n.ownerDocument).createTextNode(a))[pr]=t,t.stateNode=a}return qs(t),null;case 13:if(Cr(ei),a=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(ro&&null!==ao&&1&t.mode&&!(128&t.flags))ho(),mo(),t.flags|=98560,i=!1;else if(i=po(t),null!==a&&null!==a.dehydrated){if(null===e){if(!i)throw Error(o(318));if(!(i=null!==(i=t.memoizedState)?i.dehydrated:null))throw Error(o(317));i[pr]=t}else mo(),!(128&t.flags)&&(t.memoizedState=null),t.flags|=4;qs(t),i=!1}else null!==oo&&(il(oo),oo=null),i=!0;if(!i)return 65536&t.flags?t:null}return 128&t.flags?(t.lanes=n,t):((a=null!==a)!=(null!==e&&null!==e.memoizedState)&&a&&(t.child.flags|=8192,1&t.mode&&(null===e||1&ei.current?0===Lc&&(Lc=3):fl())),null!==t.updateQueue&&(t.flags|=4),qs(t),null);case 4:return Jo(),Is(e,t),null===e&&Fa(t.stateNode.containerInfo),qs(t),null;case 10:return Eo(t.type._context),qs(t),null;case 19:if(Cr(ei),null===(i=t.memoizedState))return qs(t),null;if(a=!!(128&t.flags),null===(c=i.rendering))if(a)Ks(i,!1);else{if(0!==Lc||null!==e&&128&e.flags)for(e=t.child;null!==e;){if(null!==(c=ti(e))){for(t.flags|=128,Ks(i,!1),null!==(a=c.updateQueue)&&(t.updateQueue=a,t.flags|=4),t.subtreeFlags=0,a=n,n=t.child;null!==n;)e=a,(i=n).flags&=14680066,null===(c=i.alternate)?(i.childLanes=0,i.lanes=e,i.child=null,i.subtreeFlags=0,i.memoizedProps=null,i.memoizedState=null,i.updateQueue=null,i.dependencies=null,i.stateNode=null):(i.childLanes=c.childLanes,i.lanes=c.lanes,i.child=c.child,i.subtreeFlags=0,i.deletions=null,i.memoizedProps=c.memoizedProps,i.memoizedState=c.memoizedState,i.updateQueue=c.updateQueue,i.type=c.type,e=c.dependencies,i.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return Sr(ei,1&ei.current|2),t.child}e=e.sibling}null!==i.tail&&Je()>Fc&&(t.flags|=128,a=!0,Ks(i,!1),t.lanes=4194304)}else{if(!a)if(null!==(e=ti(c))){if(t.flags|=128,a=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),Ks(i,!0),null===i.tail&&"hidden"===i.tailMode&&!c.alternate&&!ro)return qs(t),null}else 2*Je()-i.renderingStartTime>Fc&&1073741824!==n&&(t.flags|=128,a=!0,Ks(i,!1),t.lanes=4194304);i.isBackwards?(c.sibling=t.child,t.child=c):(null!==(n=i.last)?n.sibling=c:t.child=c,i.last=c)}return null!==i.tail?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Je(),t.sibling=null,n=ei.current,Sr(ei,a?1&n|2:1&n),t):(qs(t),null);case 22:case 23:return dl(),a=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==a&&(t.flags|=8192),a&&1&t.mode?!!(1073741824&Ic)&&(qs(t),6&t.subtreeFlags&&(t.flags|=8192)):qs(t),null;case 24:case 25:return null}throw Error(o(156,t.tag))}function Ws(e,t){switch(to(t),t.tag){case 1:return Ir(t.type)&&Nr(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return Jo(),Cr(Or),Cr(Er),ai(),65536&(e=t.flags)&&!(128&e)?(t.flags=-65537&e|128,t):null;case 5:return Xo(t),null;case 13:if(Cr(ei),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(o(340));mo()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return Cr(ei),null;case 4:return Jo(),null;case 10:return Eo(t.type._context),null;case 22:case 23:return dl(),null;default:return null}}Ps=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},Is=function(){},Ns=function(e,t,n,a){var r=e.memoizedProps;if(r!==a){e=t.stateNode,Go(qo.current);var o,i=null;switch(n){case"input":r=G(e,r),a=G(e,a),i=[];break;case"select":r=R({},r,{value:void 0}),a=R({},a,{value:void 0}),i=[];break;case"textarea":r=ae(e,r),a=ae(e,a),i=[];break;default:"function"!=typeof r.onClick&&"function"==typeof a.onClick&&(e.onclick=Xa)}for(u in be(n,a),n=null,r)if(!a.hasOwnProperty(u)&&r.hasOwnProperty(u)&&null!=r[u])if("style"===u){var c=r[u];for(o in c)c.hasOwnProperty(o)&&(n||(n={}),n[o]="")}else"dangerouslySetInnerHTML"!==u&&"children"!==u&&"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&"autoFocus"!==u&&(s.hasOwnProperty(u)?i||(i=[]):(i=i||[]).push(u,null));for(u in a){var l=a[u];if(c=null!=r?r[u]:void 0,a.hasOwnProperty(u)&&l!==c&&(null!=l||null!=c))if("style"===u)if(c){for(o in c)!c.hasOwnProperty(o)||l&&l.hasOwnProperty(o)||(n||(n={}),n[o]="");for(o in l)l.hasOwnProperty(o)&&c[o]!==l[o]&&(n||(n={}),n[o]=l[o])}else n||(i||(i=[]),i.push(u,n)),n=l;else"dangerouslySetInnerHTML"===u?(l=l?l.__html:void 0,c=c?c.__html:void 0,null!=l&&c!==l&&(i=i||[]).push(u,l)):"children"===u?"string"!=typeof l&&"number"!=typeof l||(i=i||[]).push(u,""+l):"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&(s.hasOwnProperty(u)?(null!=l&&"onScroll"===u&&$a("scroll",e),i||c===l||(i=[])):(i=i||[]).push(u,l))}n&&(i=i||[]).push("style",n);var u=i;(t.updateQueue=u)&&(t.flags|=4)}},Ls=function(e,t,n,a){n!==a&&(t.flags|=4)};var Gs=!1,Qs=!1,Js="function"==typeof WeakSet?WeakSet:Set,Zs=null;function Xs(e,t){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(n){xl(e,t,n)}else n.current=null}function ec(e,t,n){try{n()}catch(n){xl(e,t,n)}}var tc=!1;function nc(e,t,n){var a=t.updateQueue;if(null!==(a=null!==a?a.lastEffect:null)){var r=a=a.next;do{if((r.tag&e)===e){var o=r.destroy;r.destroy=void 0,void 0!==o&&ec(t,n,o)}r=r.next}while(r!==a)}}function ac(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var a=n.create;n.destroy=a()}n=n.next}while(n!==t)}}function rc(e){var t=e.ref;if(null!==t){var n=e.stateNode;e.tag,e=n,"function"==typeof t?t(e):t.current=e}}function oc(e){var t=e.alternate;null!==t&&(e.alternate=null,oc(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&null!==(t=e.stateNode)&&(delete t[pr],delete t[hr],delete t[fr],delete t[gr],delete t[yr]),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function ic(e){return 5===e.tag||3===e.tag||4===e.tag}function sc(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||ic(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function cc(e,t,n){var a=e.tag;if(5===a||6===a)e=e.stateNode,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!=(n=n._reactRootContainer)||null!==t.onclick||(t.onclick=Xa));else if(4!==a&&null!==(e=e.child))for(cc(e,t,n),e=e.sibling;null!==e;)cc(e,t,n),e=e.sibling}function lc(e,t,n){var a=e.tag;if(5===a||6===a)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==a&&null!==(e=e.child))for(lc(e,t,n),e=e.sibling;null!==e;)lc(e,t,n),e=e.sibling}var uc=null,dc=!1;function pc(e,t,n){for(n=n.child;null!==n;)hc(e,t,n),n=n.sibling}function hc(e,t,n){if(ot&&"function"==typeof ot.onCommitFiberUnmount)try{ot.onCommitFiberUnmount(rt,n)}catch(e){}switch(n.tag){case 5:Qs||Xs(n,t);case 6:var a=uc,r=dc;uc=null,pc(e,t,n),dc=r,null!==(uc=a)&&(dc?(e=uc,n=n.stateNode,8===e.nodeType?e.parentNode.removeChild(n):e.removeChild(n)):uc.removeChild(n.stateNode));break;case 18:null!==uc&&(dc?(e=uc,n=n.stateNode,8===e.nodeType?cr(e.parentNode,n):1===e.nodeType&&cr(e,n),Ft(e)):cr(uc,n.stateNode));break;case 4:a=uc,r=dc,uc=n.stateNode.containerInfo,dc=!0,pc(e,t,n),uc=a,dc=r;break;case 0:case 11:case 14:case 15:if(!Qs&&null!==(a=n.updateQueue)&&null!==(a=a.lastEffect)){r=a=a.next;do{var o=r,i=o.destroy;o=o.tag,void 0!==i&&(2&o||4&o)&&ec(n,t,i),r=r.next}while(r!==a)}pc(e,t,n);break;case 1:if(!Qs&&(Xs(n,t),"function"==typeof(a=n.stateNode).componentWillUnmount))try{a.props=n.memoizedProps,a.state=n.memoizedState,a.componentWillUnmount()}catch(e){xl(n,t,e)}pc(e,t,n);break;case 21:pc(e,t,n);break;case 22:1&n.mode?(Qs=(a=Qs)||null!==n.memoizedState,pc(e,t,n),Qs=a):pc(e,t,n);break;default:pc(e,t,n)}}function mc(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new Js),t.forEach(function(t){var a=El.bind(null,e,t);n.has(t)||(n.add(t),t.then(a,a))})}}function fc(e,t){var n=t.deletions;if(null!==n)for(var a=0;a<n.length;a++){var r=n[a];try{var i=e,s=t,c=s;e:for(;null!==c;){switch(c.tag){case 5:uc=c.stateNode,dc=!1;break e;case 3:case 4:uc=c.stateNode.containerInfo,dc=!0;break e}c=c.return}if(null===uc)throw Error(o(160));hc(i,s,r),uc=null,dc=!1;var l=r.alternate;null!==l&&(l.return=null),r.return=null}catch(e){xl(r,t,e)}}if(12854&t.subtreeFlags)for(t=t.child;null!==t;)gc(t,e),t=t.sibling}function gc(e,t){var n=e.alternate,a=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(fc(t,e),yc(e),4&a){try{nc(3,e,e.return),ac(3,e)}catch(t){xl(e,e.return,t)}try{nc(5,e,e.return)}catch(t){xl(e,e.return,t)}}break;case 1:fc(t,e),yc(e),512&a&&null!==n&&Xs(n,n.return);break;case 5:if(fc(t,e),yc(e),512&a&&null!==n&&Xs(n,n.return),32&e.flags){var r=e.stateNode;try{pe(r,"")}catch(t){xl(e,e.return,t)}}if(4&a&&null!=(r=e.stateNode)){var i=e.memoizedProps,s=null!==n?n.memoizedProps:i,c=e.type,l=e.updateQueue;if(e.updateQueue=null,null!==l)try{"input"===c&&"radio"===i.type&&null!=i.name&&J(r,i),ke(c,s);var u=ke(c,i);for(s=0;s<l.length;s+=2){var d=l[s],p=l[s+1];"style"===d?ge(r,p):"dangerouslySetInnerHTML"===d?de(r,p):"children"===d?pe(r,p):k(r,d,p,u)}switch(c){case"input":Z(r,i);break;case"textarea":oe(r,i);break;case"select":var h=r._wrapperState.wasMultiple;r._wrapperState.wasMultiple=!!i.multiple;var m=i.value;null!=m?ne(r,!!i.multiple,m,!1):h!==!!i.multiple&&(null!=i.defaultValue?ne(r,!!i.multiple,i.defaultValue,!0):ne(r,!!i.multiple,i.multiple?[]:"",!1))}r[hr]=i}catch(t){xl(e,e.return,t)}}break;case 6:if(fc(t,e),yc(e),4&a){if(null===e.stateNode)throw Error(o(162));r=e.stateNode,i=e.memoizedProps;try{r.nodeValue=i}catch(t){xl(e,e.return,t)}}break;case 3:if(fc(t,e),yc(e),4&a&&null!==n&&n.memoizedState.isDehydrated)try{Ft(t.containerInfo)}catch(t){xl(e,e.return,t)}break;case 4:default:fc(t,e),yc(e);break;case 13:fc(t,e),yc(e),8192&(r=e.child).flags&&(i=null!==r.memoizedState,r.stateNode.isHidden=i,!i||null!==r.alternate&&null!==r.alternate.memoizedState||(Uc=Je())),4&a&&mc(e);break;case 22:if(d=null!==n&&null!==n.memoizedState,1&e.mode?(Qs=(u=Qs)||d,fc(t,e),Qs=u):fc(t,e),yc(e),8192&a){if(u=null!==e.memoizedState,(e.stateNode.isHidden=u)&&!d&&1&e.mode)for(Zs=e,d=e.child;null!==d;){for(p=Zs=d;null!==Zs;){switch(m=(h=Zs).child,h.tag){case 0:case 11:case 14:case 15:nc(4,h,h.return);break;case 1:Xs(h,h.return);var f=h.stateNode;if("function"==typeof f.componentWillUnmount){a=h,n=h.return;try{t=a,f.props=t.memoizedProps,f.state=t.memoizedState,f.componentWillUnmount()}catch(e){xl(a,n,e)}}break;case 5:Xs(h,h.return);break;case 22:if(null!==h.memoizedState){wc(p);continue}}null!==m?(m.return=h,Zs=m):wc(p)}d=d.sibling}e:for(d=null,p=e;;){if(5===p.tag){if(null===d){d=p;try{r=p.stateNode,u?"function"==typeof(i=r.style).setProperty?i.setProperty("display","none","important"):i.display="none":(c=p.stateNode,s=null!=(l=p.memoizedProps.style)&&l.hasOwnProperty("display")?l.display:null,c.style.display=fe("display",s))}catch(t){xl(e,e.return,t)}}}else if(6===p.tag){if(null===d)try{p.stateNode.nodeValue=u?"":p.memoizedProps}catch(t){xl(e,e.return,t)}}else if((22!==p.tag&&23!==p.tag||null===p.memoizedState||p===e)&&null!==p.child){p.child.return=p,p=p.child;continue}if(p===e)break e;for(;null===p.sibling;){if(null===p.return||p.return===e)break e;d===p&&(d=null),p=p.return}d===p&&(d=null),p.sibling.return=p.return,p=p.sibling}}break;case 19:fc(t,e),yc(e),4&a&&mc(e);case 21:}}function yc(e){var t=e.flags;if(2&t){try{e:{for(var n=e.return;null!==n;){if(ic(n)){var a=n;break e}n=n.return}throw Error(o(160))}switch(a.tag){case 5:var r=a.stateNode;32&a.flags&&(pe(r,""),a.flags&=-33),lc(e,sc(e),r);break;case 3:case 4:var i=a.stateNode.containerInfo;cc(e,sc(e),i);break;default:throw Error(o(161))}}catch(t){xl(e,e.return,t)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function bc(e,t,n){Zs=e,kc(e,t,n)}function kc(e,t,n){for(var a=!!(1&e.mode);null!==Zs;){var r=Zs,o=r.child;if(22===r.tag&&a){var i=null!==r.memoizedState||Gs;if(!i){var s=r.alternate,c=null!==s&&null!==s.memoizedState||Qs;s=Gs;var l=Qs;if(Gs=i,(Qs=c)&&!l)for(Zs=r;null!==Zs;)c=(i=Zs).child,22===i.tag&&null!==i.memoizedState?_c(r):null!==c?(c.return=i,Zs=c):_c(r);for(;null!==o;)Zs=o,kc(o,t,n),o=o.sibling;Zs=r,Gs=s,Qs=l}vc(e)}else 8772&r.subtreeFlags&&null!==o?(o.return=r,Zs=o):vc(e)}}function vc(e){for(;null!==Zs;){var t=Zs;if(8772&t.flags){var n=t.alternate;try{if(8772&t.flags)switch(t.tag){case 0:case 11:case 15:Qs||ac(5,t);break;case 1:var a=t.stateNode;if(4&t.flags&&!Qs)if(null===n)a.componentDidMount();else{var r=t.elementType===t.type?n.memoizedProps:ns(t.type,n.memoizedProps);a.componentDidUpdate(r,n.memoizedState,a.__reactInternalSnapshotBeforeUpdate)}var i=t.updateQueue;null!==i&&Ho(t,i,a);break;case 3:var s=t.updateQueue;if(null!==s){if(n=null,null!==t.child)switch(t.child.tag){case 5:case 1:n=t.child.stateNode}Ho(t,s,n)}break;case 5:var c=t.stateNode;if(null===n&&4&t.flags){n=c;var l=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":l.autoFocus&&n.focus();break;case"img":l.src&&(n.src=l.src)}}break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:case 25:break;case 13:if(null===t.memoizedState){var u=t.alternate;if(null!==u){var d=u.memoizedState;if(null!==d){var p=d.dehydrated;null!==p&&Ft(p)}}}break;default:throw Error(o(163))}Qs||512&t.flags&&rc(t)}catch(e){xl(t,t.return,e)}}if(t===e){Zs=null;break}if(null!==(n=t.sibling)){n.return=t.return,Zs=n;break}Zs=t.return}}function wc(e){for(;null!==Zs;){var t=Zs;if(t===e){Zs=null;break}var n=t.sibling;if(null!==n){n.return=t.return,Zs=n;break}Zs=t.return}}function _c(e){for(;null!==Zs;){var t=Zs;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{ac(4,t)}catch(e){xl(t,n,e)}break;case 1:var a=t.stateNode;if("function"==typeof a.componentDidMount){var r=t.return;try{a.componentDidMount()}catch(e){xl(t,r,e)}}var o=t.return;try{rc(t)}catch(e){xl(t,o,e)}break;case 5:var i=t.return;try{rc(t)}catch(e){xl(t,i,e)}}}catch(e){xl(t,t.return,e)}if(t===e){Zs=null;break}var s=t.sibling;if(null!==s){s.return=t.return,Zs=s;break}Zs=t.return}}var jc,xc=Math.ceil,Cc=v.ReactCurrentDispatcher,Sc=v.ReactCurrentOwner,zc=v.ReactCurrentBatchConfig,Ec=0,Oc=null,Ac=null,Pc=0,Ic=0,Nc=xr(0),Lc=0,Tc=null,Dc=0,Rc=0,Mc=0,$c=null,Bc=null,Uc=0,Fc=1/0,Vc=null,Hc=!1,Kc=null,qc=null,Yc=!1,Wc=null,Gc=0,Qc=0,Jc=null,Zc=-1,Xc=0;function el(){return 6&Ec?Je():-1!==Zc?Zc:Zc=Je()}function tl(e){return 1&e.mode?2&Ec&&0!==Pc?Pc&-Pc:null!==go.transition?(0===Xc&&(Xc=ft()),Xc):0!==(e=kt)?e:e=void 0===(e=window.event)?16:Qt(e.type):1}function nl(e,t,n,a){if(50<Qc)throw Qc=0,Jc=null,Error(o(185));yt(e,n,a),2&Ec&&e===Oc||(e===Oc&&(!(2&Ec)&&(Rc|=n),4===Lc&&sl(e,Pc)),al(e,a),1===n&&0===Ec&&!(1&t.mode)&&(Fc=Je()+500,$r&&Fr()))}function al(e,t){var n=e.callbackNode;!function(e,t){for(var n=e.suspendedLanes,a=e.pingedLanes,r=e.expirationTimes,o=e.pendingLanes;0<o;){var i=31-it(o),s=1<<i,c=r[i];-1===c?0!==(s&n)&&0===(s&a)||(r[i]=ht(s,t)):c<=t&&(e.expiredLanes|=s),o&=~s}}(e,t);var a=pt(e,e===Oc?Pc:0);if(0===a)null!==n&&We(n),e.callbackNode=null,e.callbackPriority=0;else if(t=a&-a,e.callbackPriority!==t){if(null!=n&&We(n),1===t)0===e.tag?function(e){$r=!0,Ur(e)}(cl.bind(null,e)):Ur(cl.bind(null,e)),ir(function(){!(6&Ec)&&Fr()}),n=null;else{switch(vt(a)){case 1:n=Xe;break;case 4:n=et;break;case 16:default:n=tt;break;case 536870912:n=at}n=Ol(n,rl.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function rl(e,t){if(Zc=-1,Xc=0,6&Ec)throw Error(o(327));var n=e.callbackNode;if(_l()&&e.callbackNode!==n)return null;var a=pt(e,e===Oc?Pc:0);if(0===a)return null;if(30&a||0!==(a&e.expiredLanes)||t)t=gl(e,a);else{t=a;var r=Ec;Ec|=2;var i=ml();for(Oc===e&&Pc===t||(Vc=null,Fc=Je()+500,pl(e,t));;)try{bl();break}catch(t){hl(e,t)}zo(),Cc.current=i,Ec=r,null!==Ac?t=0:(Oc=null,Pc=0,t=Lc)}if(0!==t){if(2===t&&0!==(r=mt(e))&&(a=r,t=ol(e,r)),1===t)throw n=Tc,pl(e,0),sl(e,a),al(e,Je()),n;if(6===t)sl(e,a);else{if(r=e.current.alternate,!(30&a||function(e){for(var t=e;;){if(16384&t.flags){var n=t.updateQueue;if(null!==n&&null!==(n=n.stores))for(var a=0;a<n.length;a++){var r=n[a],o=r.getSnapshot;r=r.value;try{if(!sa(o(),r))return!1}catch(e){return!1}}}if(n=t.child,16384&t.subtreeFlags&&null!==n)n.return=t,t=n;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}(r)||(t=gl(e,a),2===t&&(i=mt(e),0!==i&&(a=i,t=ol(e,i))),1!==t)))throw n=Tc,pl(e,0),sl(e,a),al(e,Je()),n;switch(e.finishedWork=r,e.finishedLanes=a,t){case 0:case 1:throw Error(o(345));case 2:case 5:wl(e,Bc,Vc);break;case 3:if(sl(e,a),(130023424&a)===a&&10<(t=Uc+500-Je())){if(0!==pt(e,0))break;if(((r=e.suspendedLanes)&a)!==a){el(),e.pingedLanes|=e.suspendedLanes&r;break}e.timeoutHandle=ar(wl.bind(null,e,Bc,Vc),t);break}wl(e,Bc,Vc);break;case 4:if(sl(e,a),(4194240&a)===a)break;for(t=e.eventTimes,r=-1;0<a;){var s=31-it(a);i=1<<s,(s=t[s])>r&&(r=s),a&=~i}if(a=r,10<(a=(120>(a=Je()-a)?120:480>a?480:1080>a?1080:1920>a?1920:3e3>a?3e3:4320>a?4320:1960*xc(a/1960))-a)){e.timeoutHandle=ar(wl.bind(null,e,Bc,Vc),a);break}wl(e,Bc,Vc);break;default:throw Error(o(329))}}}return al(e,Je()),e.callbackNode===n?rl.bind(null,e):null}function ol(e,t){var n=$c;return e.current.memoizedState.isDehydrated&&(pl(e,t).flags|=256),2!==(e=gl(e,t))&&(t=Bc,Bc=n,null!==t&&il(t)),e}function il(e){null===Bc?Bc=e:Bc.push.apply(Bc,e)}function sl(e,t){for(t&=~Mc,t&=~Rc,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-it(t),a=1<<n;e[n]=-1,t&=~a}}function cl(e){if(6&Ec)throw Error(o(327));_l();var t=pt(e,0);if(!(1&t))return al(e,Je()),null;var n=gl(e,t);if(0!==e.tag&&2===n){var a=mt(e);0!==a&&(t=a,n=ol(e,a))}if(1===n)throw n=Tc,pl(e,0),sl(e,t),al(e,Je()),n;if(6===n)throw Error(o(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,wl(e,Bc,Vc),al(e,Je()),null}function ll(e,t){var n=Ec;Ec|=1;try{return e(t)}finally{0===(Ec=n)&&(Fc=Je()+500,$r&&Fr())}}function ul(e){null!==Wc&&0===Wc.tag&&!(6&Ec)&&_l();var t=Ec;Ec|=1;var n=zc.transition,a=kt;try{if(zc.transition=null,kt=1,e)return e()}finally{kt=a,zc.transition=n,!(6&(Ec=t))&&Fr()}}function dl(){Ic=Nc.current,Cr(Nc)}function pl(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,rr(n)),null!==Ac)for(n=Ac.return;null!==n;){var a=n;switch(to(a),a.tag){case 1:null!=(a=a.type.childContextTypes)&&Nr();break;case 3:Jo(),Cr(Or),Cr(Er),ai();break;case 5:Xo(a);break;case 4:Jo();break;case 13:case 19:Cr(ei);break;case 10:Eo(a.type._context);break;case 22:case 23:dl()}n=n.return}if(Oc=e,Ac=e=Nl(e.current,null),Pc=Ic=t,Lc=0,Tc=null,Mc=Rc=Dc=0,Bc=$c=null,null!==Io){for(t=0;t<Io.length;t++)if(null!==(a=(n=Io[t]).interleaved)){n.interleaved=null;var r=a.next,o=n.pending;if(null!==o){var i=o.next;o.next=r,a.next=i}n.pending=a}Io=null}return e}function hl(e,t){for(;;){var n=Ac;try{if(zo(),ri.current=Zi,ui){for(var a=si.memoizedState;null!==a;){var r=a.queue;null!==r&&(r.pending=null),a=a.next}ui=!1}if(ii=0,li=ci=si=null,di=!1,pi=0,Sc.current=null,null===n||null===n.return){Lc=1,Tc=t,Ac=null;break}e:{var i=e,s=n.return,c=n,l=t;if(t=Pc,c.flags|=32768,null!==l&&"object"==typeof l&&"function"==typeof l.then){var u=l,d=c,p=d.tag;if(!(1&d.mode||0!==p&&11!==p&&15!==p)){var h=d.alternate;h?(d.updateQueue=h.updateQueue,d.memoizedState=h.memoizedState,d.lanes=h.lanes):(d.updateQueue=null,d.memoizedState=null)}var m=gs(s);if(null!==m){m.flags&=-257,ys(m,s,c,0,t),1&m.mode&&fs(i,u,t),l=u;var f=(t=m).updateQueue;if(null===f){var g=new Set;g.add(l),t.updateQueue=g}else f.add(l);break e}if(!(1&t)){fs(i,u,t),fl();break e}l=Error(o(426))}else if(ro&&1&c.mode){var y=gs(s);if(null!==y){!(65536&y.flags)&&(y.flags|=256),ys(y,s,c,0,t),fo(ls(l,c));break e}}i=l=ls(l,c),4!==Lc&&(Lc=2),null===$c?$c=[i]:$c.push(i),i=s;do{switch(i.tag){case 3:i.flags|=65536,t&=-t,i.lanes|=t,Fo(i,hs(0,l,t));break e;case 1:c=l;var b=i.type,k=i.stateNode;if(!(128&i.flags||"function"!=typeof b.getDerivedStateFromError&&(null===k||"function"!=typeof k.componentDidCatch||null!==qc&&qc.has(k)))){i.flags|=65536,t&=-t,i.lanes|=t,Fo(i,ms(i,c,t));break e}}i=i.return}while(null!==i)}vl(n)}catch(e){t=e,Ac===n&&null!==n&&(Ac=n=n.return);continue}break}}function ml(){var e=Cc.current;return Cc.current=Zi,null===e?Zi:e}function fl(){0!==Lc&&3!==Lc&&2!==Lc||(Lc=4),null===Oc||!(268435455&Dc)&&!(268435455&Rc)||sl(Oc,Pc)}function gl(e,t){var n=Ec;Ec|=2;var a=ml();for(Oc===e&&Pc===t||(Vc=null,pl(e,t));;)try{yl();break}catch(t){hl(e,t)}if(zo(),Ec=n,Cc.current=a,null!==Ac)throw Error(o(261));return Oc=null,Pc=0,Lc}function yl(){for(;null!==Ac;)kl(Ac)}function bl(){for(;null!==Ac&&!Ge();)kl(Ac)}function kl(e){var t=jc(e.alternate,e,Ic);e.memoizedProps=e.pendingProps,null===t?vl(e):Ac=t,Sc.current=null}function vl(e){var t=e;do{var n=t.alternate;if(e=t.return,32768&t.flags){if(null!==(n=Ws(n,t)))return n.flags&=32767,void(Ac=n);if(null===e)return Lc=6,void(Ac=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}else if(null!==(n=Ys(n,t,Ic)))return void(Ac=n);if(null!==(t=t.sibling))return void(Ac=t);Ac=t=e}while(null!==t);0===Lc&&(Lc=5)}function wl(e,t,n){var a=kt,r=zc.transition;try{zc.transition=null,kt=1,function(e,t,n,a){do{_l()}while(null!==Wc);if(6&Ec)throw Error(o(327));n=e.finishedWork;var r=e.finishedLanes;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(o(177));e.callbackNode=null,e.callbackPriority=0;var i=n.lanes|n.childLanes;if(function(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var a=e.eventTimes;for(e=e.expirationTimes;0<n;){var r=31-it(n),o=1<<r;t[r]=0,a[r]=-1,e[r]=-1,n&=~o}}(e,i),e===Oc&&(Ac=Oc=null,Pc=0),!(2064&n.subtreeFlags)&&!(2064&n.flags)||Yc||(Yc=!0,Ol(tt,function(){return _l(),null})),i=!!(15990&n.flags),15990&n.subtreeFlags||i){i=zc.transition,zc.transition=null;var s=kt;kt=1;var c=Ec;Ec|=4,Sc.current=null,function(e,t){if(er=Ht,ha(e=pa())){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{var a=(n=(n=e.ownerDocument)&&n.defaultView||window).getSelection&&n.getSelection();if(a&&0!==a.rangeCount){n=a.anchorNode;var r=a.anchorOffset,i=a.focusNode;a=a.focusOffset;try{n.nodeType,i.nodeType}catch(e){n=null;break e}var s=0,c=-1,l=-1,u=0,d=0,p=e,h=null;t:for(;;){for(var m;p!==n||0!==r&&3!==p.nodeType||(c=s+r),p!==i||0!==a&&3!==p.nodeType||(l=s+a),3===p.nodeType&&(s+=p.nodeValue.length),null!==(m=p.firstChild);)h=p,p=m;for(;;){if(p===e)break t;if(h===n&&++u===r&&(c=s),h===i&&++d===a&&(l=s),null!==(m=p.nextSibling))break;h=(p=h).parentNode}p=m}n=-1===c||-1===l?null:{start:c,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(tr={focusedElem:e,selectionRange:n},Ht=!1,Zs=t;null!==Zs;)if(e=(t=Zs).child,1028&t.subtreeFlags&&null!==e)e.return=t,Zs=e;else for(;null!==Zs;){t=Zs;try{var f=t.alternate;if(1024&t.flags)switch(t.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==f){var g=f.memoizedProps,y=f.memoizedState,b=t.stateNode,k=b.getSnapshotBeforeUpdate(t.elementType===t.type?g:ns(t.type,g),y);b.__reactInternalSnapshotBeforeUpdate=k}break;case 3:var v=t.stateNode.containerInfo;1===v.nodeType?v.textContent="":9===v.nodeType&&v.documentElement&&v.removeChild(v.documentElement);break;default:throw Error(o(163))}}catch(e){xl(t,t.return,e)}if(null!==(e=t.sibling)){e.return=t.return,Zs=e;break}Zs=t.return}f=tc,tc=!1}(e,n),gc(n,e),ma(tr),Ht=!!er,tr=er=null,e.current=n,bc(n,e,r),Qe(),Ec=c,kt=s,zc.transition=i}else e.current=n;if(Yc&&(Yc=!1,Wc=e,Gc=r),0===(i=e.pendingLanes)&&(qc=null),function(e){if(ot&&"function"==typeof ot.onCommitFiberRoot)try{ot.onCommitFiberRoot(rt,e,void 0,!(128&~e.current.flags))}catch(e){}}(n.stateNode),al(e,Je()),null!==t)for(a=e.onRecoverableError,n=0;n<t.length;n++)a((r=t[n]).value,{componentStack:r.stack,digest:r.digest});if(Hc)throw Hc=!1,e=Kc,Kc=null,e;!!(1&Gc)&&0!==e.tag&&_l(),1&(i=e.pendingLanes)?e===Jc?Qc++:(Qc=0,Jc=e):Qc=0,Fr()}(e,t,n,a)}finally{zc.transition=r,kt=a}return null}function _l(){if(null!==Wc){var e=vt(Gc),t=zc.transition,n=kt;try{if(zc.transition=null,kt=16>e?16:e,null===Wc)var a=!1;else{if(e=Wc,Wc=null,Gc=0,6&Ec)throw Error(o(331));var r=Ec;for(Ec|=4,Zs=e.current;null!==Zs;){var i=Zs,s=i.child;if(16&Zs.flags){var c=i.deletions;if(null!==c){for(var l=0;l<c.length;l++){var u=c[l];for(Zs=u;null!==Zs;){var d=Zs;switch(d.tag){case 0:case 11:case 15:nc(8,d,i)}var p=d.child;if(null!==p)p.return=d,Zs=p;else for(;null!==Zs;){var h=(d=Zs).sibling,m=d.return;if(oc(d),d===u){Zs=null;break}if(null!==h){h.return=m,Zs=h;break}Zs=m}}}var f=i.alternate;if(null!==f){var g=f.child;if(null!==g){f.child=null;do{var y=g.sibling;g.sibling=null,g=y}while(null!==g)}}Zs=i}}if(2064&i.subtreeFlags&&null!==s)s.return=i,Zs=s;else e:for(;null!==Zs;){if(2048&(i=Zs).flags)switch(i.tag){case 0:case 11:case 15:nc(9,i,i.return)}var b=i.sibling;if(null!==b){b.return=i.return,Zs=b;break e}Zs=i.return}}var k=e.current;for(Zs=k;null!==Zs;){var v=(s=Zs).child;if(2064&s.subtreeFlags&&null!==v)v.return=s,Zs=v;else e:for(s=k;null!==Zs;){if(2048&(c=Zs).flags)try{switch(c.tag){case 0:case 11:case 15:ac(9,c)}}catch(e){xl(c,c.return,e)}if(c===s){Zs=null;break e}var w=c.sibling;if(null!==w){w.return=c.return,Zs=w;break e}Zs=c.return}}if(Ec=r,Fr(),ot&&"function"==typeof ot.onPostCommitFiberRoot)try{ot.onPostCommitFiberRoot(rt,e)}catch(e){}a=!0}return a}finally{kt=n,zc.transition=t}}return!1}function jl(e,t,n){e=Bo(e,t=hs(0,t=ls(n,t),1),1),t=el(),null!==e&&(yt(e,1,t),al(e,t))}function xl(e,t,n){if(3===e.tag)jl(e,e,n);else for(;null!==t;){if(3===t.tag){jl(t,e,n);break}if(1===t.tag){var a=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof a.componentDidCatch&&(null===qc||!qc.has(a))){t=Bo(t,e=ms(t,e=ls(n,e),1),1),e=el(),null!==t&&(yt(t,1,e),al(t,e));break}}t=t.return}}function Cl(e,t,n){var a=e.pingCache;null!==a&&a.delete(t),t=el(),e.pingedLanes|=e.suspendedLanes&n,Oc===e&&(Pc&n)===n&&(4===Lc||3===Lc&&(130023424&Pc)===Pc&&500>Je()-Uc?pl(e,0):Mc|=n),al(e,t)}function Sl(e,t){0===t&&(1&e.mode?(t=ut,!(130023424&(ut<<=1))&&(ut=4194304)):t=1);var n=el();null!==(e=To(e,t))&&(yt(e,t,n),al(e,n))}function zl(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),Sl(e,n)}function El(e,t){var n=0;switch(e.tag){case 13:var a=e.stateNode,r=e.memoizedState;null!==r&&(n=r.retryLane);break;case 19:a=e.stateNode;break;default:throw Error(o(314))}null!==a&&a.delete(t),Sl(e,n)}function Ol(e,t){return Ye(e,t)}function Al(e,t,n,a){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=a,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Pl(e,t,n,a){return new Al(e,t,n,a)}function Il(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Nl(e,t){var n=e.alternate;return null===n?((n=Pl(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=14680064&e.flags,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Ll(e,t,n,a,r,i){var s=2;if(a=e,"function"==typeof e)Il(e)&&(s=1);else if("string"==typeof e)s=5;else e:switch(e){case j:return Tl(n.children,r,i,t);case x:s=8,r|=8;break;case C:return(e=Pl(12,n,t,2|r)).elementType=C,e.lanes=i,e;case O:return(e=Pl(13,n,t,r)).elementType=O,e.lanes=i,e;case A:return(e=Pl(19,n,t,r)).elementType=A,e.lanes=i,e;case N:return Dl(n,r,i,t);default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case S:s=10;break e;case z:s=9;break e;case E:s=11;break e;case P:s=14;break e;case I:s=16,a=null;break e}throw Error(o(130,null==e?e:typeof e,""))}return(t=Pl(s,n,t,r)).elementType=e,t.type=a,t.lanes=i,t}function Tl(e,t,n,a){return(e=Pl(7,e,a,t)).lanes=n,e}function Dl(e,t,n,a){return(e=Pl(22,e,a,t)).elementType=N,e.lanes=n,e.stateNode={isHidden:!1},e}function Rl(e,t,n){return(e=Pl(6,e,null,t)).lanes=n,e}function Ml(e,t,n){return(t=Pl(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function $l(e,t,n,a,r){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=gt(0),this.expirationTimes=gt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=gt(0),this.identifierPrefix=a,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function Bl(e,t,n,a,r,o,i,s,c){return e=new $l(e,t,n,s,c),1===t?(t=1,!0===o&&(t|=8)):t=0,o=Pl(3,null,null,t),e.current=o,o.stateNode=e,o.memoizedState={element:a,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Ro(o),e}function Ul(e){if(!e)return zr;e:{if(Fe(e=e._reactInternals)!==e||1!==e.tag)throw Error(o(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Ir(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(o(171))}if(1===e.tag){var n=e.type;if(Ir(n))return Tr(e,n,t)}return t}function Fl(e,t,n,a,r,o,i,s,c){return(e=Bl(n,a,!0,e,0,o,0,s,c)).context=Ul(null),n=e.current,(o=$o(a=el(),r=tl(n))).callback=null!=t?t:null,Bo(n,o,r),e.current.lanes=r,yt(e,r,a),al(e,a),e}function Vl(e,t,n,a){var r=t.current,o=el(),i=tl(r);return n=Ul(n),null===t.context?t.context=n:t.pendingContext=n,(t=$o(o,i)).payload={element:e},null!==(a=void 0===a?null:a)&&(t.callback=a),null!==(e=Bo(r,t,i))&&(nl(e,r,i,o),Uo(e,r,i)),i}function Hl(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function Kl(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function ql(e,t){Kl(e,t),(e=e.alternate)&&Kl(e,t)}jc=function(e,t,n){if(null!==e)if(e.memoizedProps!==t.pendingProps||Or.current)ks=!0;else{if(0===(e.lanes&n)&&!(128&t.flags))return ks=!1,function(e,t,n){switch(t.tag){case 3:Os(t),mo();break;case 5:Zo(t);break;case 1:Ir(t.type)&&Dr(t);break;case 4:Qo(t,t.stateNode.containerInfo);break;case 10:var a=t.type._context,r=t.memoizedProps.value;Sr(jo,a._currentValue),a._currentValue=r;break;case 13:if(null!==(a=t.memoizedState))return null!==a.dehydrated?(Sr(ei,1&ei.current),t.flags|=128,null):0!==(n&t.child.childLanes)?Rs(e,t,n):(Sr(ei,1&ei.current),null!==(e=Hs(e,t,n))?e.sibling:null);Sr(ei,1&ei.current);break;case 19:if(a=0!==(n&t.childLanes),128&e.flags){if(a)return Fs(e,t,n);t.flags|=128}if(null!==(r=t.memoizedState)&&(r.rendering=null,r.tail=null,r.lastEffect=null),Sr(ei,ei.current),a)break;return null;case 22:case 23:return t.lanes=0,xs(e,t,n)}return Hs(e,t,n)}(e,t,n);ks=!!(131072&e.flags)}else ks=!1,ro&&1048576&t.flags&&Xr(t,qr,t.index);switch(t.lanes=0,t.tag){case 2:var a=t.type;Vs(e,t),e=t.pendingProps;var r=Pr(t,Er.current);Ao(t,n),r=gi(null,t,a,e,r,n);var i=yi();return t.flags|=1,"object"==typeof r&&null!==r&&"function"==typeof r.render&&void 0===r.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ir(a)?(i=!0,Dr(t)):i=!1,t.memoizedState=null!==r.state&&void 0!==r.state?r.state:null,Ro(t),r.updater=rs,t.stateNode=r,r._reactInternals=t,cs(t,a,e,n),t=Es(null,t,a,!0,i,n)):(t.tag=0,ro&&i&&eo(t),vs(null,t,r,n),t=t.child),t;case 16:a=t.elementType;e:{switch(Vs(e,t),e=t.pendingProps,a=(r=a._init)(a._payload),t.type=a,r=t.tag=function(e){if("function"==typeof e)return Il(e)?1:0;if(null!=e){if((e=e.$$typeof)===E)return 11;if(e===P)return 14}return 2}(a),e=ns(a,e),r){case 0:t=Ss(null,t,a,e,n);break e;case 1:t=zs(null,t,a,e,n);break e;case 11:t=ws(null,t,a,e,n);break e;case 14:t=_s(null,t,a,ns(a.type,e),n);break e}throw Error(o(306,a,""))}return t;case 0:return a=t.type,r=t.pendingProps,Ss(e,t,a,r=t.elementType===a?r:ns(a,r),n);case 1:return a=t.type,r=t.pendingProps,zs(e,t,a,r=t.elementType===a?r:ns(a,r),n);case 3:e:{if(Os(t),null===e)throw Error(o(387));a=t.pendingProps,r=(i=t.memoizedState).element,Mo(e,t),Vo(t,a,null,n);var s=t.memoizedState;if(a=s.element,i.isDehydrated){if(i={element:a,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=i,t.memoizedState=i,256&t.flags){t=As(e,t,a,n,r=ls(Error(o(423)),t));break e}if(a!==r){t=As(e,t,a,n,r=ls(Error(o(424)),t));break e}for(ao=lr(t.stateNode.containerInfo.firstChild),no=t,ro=!0,oo=null,n=_o(t,null,a,n),t.child=n;n;)n.flags=-3&n.flags|4096,n=n.sibling}else{if(mo(),a===r){t=Hs(e,t,n);break e}vs(e,t,a,n)}t=t.child}return t;case 5:return Zo(t),null===e&&lo(t),a=t.type,r=t.pendingProps,i=null!==e?e.memoizedProps:null,s=r.children,nr(a,r)?s=null:null!==i&&nr(a,i)&&(t.flags|=32),Cs(e,t),vs(e,t,s,n),t.child;case 6:return null===e&&lo(t),null;case 13:return Rs(e,t,n);case 4:return Qo(t,t.stateNode.containerInfo),a=t.pendingProps,null===e?t.child=wo(t,null,a,n):vs(e,t,a,n),t.child;case 11:return a=t.type,r=t.pendingProps,ws(e,t,a,r=t.elementType===a?r:ns(a,r),n);case 7:return vs(e,t,t.pendingProps,n),t.child;case 8:case 12:return vs(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(a=t.type._context,r=t.pendingProps,i=t.memoizedProps,s=r.value,Sr(jo,a._currentValue),a._currentValue=s,null!==i)if(sa(i.value,s)){if(i.children===r.children&&!Or.current){t=Hs(e,t,n);break e}}else for(null!==(i=t.child)&&(i.return=t);null!==i;){var c=i.dependencies;if(null!==c){s=i.child;for(var l=c.firstContext;null!==l;){if(l.context===a){if(1===i.tag){(l=$o(-1,n&-n)).tag=2;var u=i.updateQueue;if(null!==u){var d=(u=u.shared).pending;null===d?l.next=l:(l.next=d.next,d.next=l),u.pending=l}}i.lanes|=n,null!==(l=i.alternate)&&(l.lanes|=n),Oo(i.return,n,t),c.lanes|=n;break}l=l.next}}else if(10===i.tag)s=i.type===t.type?null:i.child;else if(18===i.tag){if(null===(s=i.return))throw Error(o(341));s.lanes|=n,null!==(c=s.alternate)&&(c.lanes|=n),Oo(s,n,t),s=i.sibling}else s=i.child;if(null!==s)s.return=i;else for(s=i;null!==s;){if(s===t){s=null;break}if(null!==(i=s.sibling)){i.return=s.return,s=i;break}s=s.return}i=s}vs(e,t,r.children,n),t=t.child}return t;case 9:return r=t.type,a=t.pendingProps.children,Ao(t,n),a=a(r=Po(r)),t.flags|=1,vs(e,t,a,n),t.child;case 14:return r=ns(a=t.type,t.pendingProps),_s(e,t,a,r=ns(a.type,r),n);case 15:return js(e,t,t.type,t.pendingProps,n);case 17:return a=t.type,r=t.pendingProps,r=t.elementType===a?r:ns(a,r),Vs(e,t),t.tag=1,Ir(a)?(e=!0,Dr(t)):e=!1,Ao(t,n),is(t,a,r),cs(t,a,r,n),Es(null,t,a,!0,e,n);case 19:return Fs(e,t,n);case 22:return xs(e,t,n)}throw Error(o(156,t.tag))};var Yl="function"==typeof reportError?reportError:function(e){console.error(e)};function Wl(e){this._internalRoot=e}function Gl(e){this._internalRoot=e}function Ql(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function Jl(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function Zl(){}function Xl(e,t,n,a,r){var o=n._reactRootContainer;if(o){var i=o;if("function"==typeof r){var s=r;r=function(){var e=Hl(i);s.call(e)}}Vl(t,i,e,r)}else i=function(e,t,n,a,r){if(r){if("function"==typeof a){var o=a;a=function(){var e=Hl(i);o.call(e)}}var i=Fl(t,a,e,0,null,!1,0,"",Zl);return e._reactRootContainer=i,e[mr]=i.current,Fa(8===e.nodeType?e.parentNode:e),ul(),i}for(;r=e.lastChild;)e.removeChild(r);if("function"==typeof a){var s=a;a=function(){var e=Hl(c);s.call(e)}}var c=Bl(e,0,!1,null,0,!1,0,"",Zl);return e._reactRootContainer=c,e[mr]=c.current,Fa(8===e.nodeType?e.parentNode:e),ul(function(){Vl(t,c,n,a)}),c}(n,t,e,r,a);return Hl(i)}Gl.prototype.render=Wl.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(o(409));Vl(e,t,null,null)},Gl.prototype.unmount=Wl.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;ul(function(){Vl(null,e,null,null)}),t[mr]=null}},Gl.prototype.unstable_scheduleHydration=function(e){if(e){var t=xt();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Nt.length&&0!==t&&t<Nt[n].priority;n++);Nt.splice(n,0,e),0===n&&Rt(e)}},wt=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=dt(t.pendingLanes);0!==n&&(bt(t,1|n),al(t,Je()),!(6&Ec)&&(Fc=Je()+500,Fr()))}break;case 13:ul(function(){var t=To(e,1);if(null!==t){var n=el();nl(t,e,1,n)}}),ql(e,1)}},_t=function(e){if(13===e.tag){var t=To(e,134217728);null!==t&&nl(t,e,134217728,el()),ql(e,134217728)}},jt=function(e){if(13===e.tag){var t=tl(e),n=To(e,t);null!==n&&nl(n,e,t,el()),ql(e,t)}},xt=function(){return kt},Ct=function(e,t){var n=kt;try{return kt=e,t()}finally{kt=n}},_e=function(e,t,n){switch(t){case"input":if(Z(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var a=n[t];if(a!==e&&a.form===e.form){var r=wr(a);if(!r)throw Error(o(90));Y(a),Z(a,r)}}}break;case"textarea":oe(e,n);break;case"select":null!=(t=n.value)&&ne(e,!!n.multiple,t,!1)}},Ee=ll,Oe=ul;var eu={usingClientEntryPoint:!1,Events:[kr,vr,wr,Se,ze,ll]},tu={findFiberByHostInstance:br,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},nu={bundleType:tu.bundleType,version:tu.version,rendererPackageName:tu.rendererPackageName,rendererConfig:tu.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:v.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Ke(e))?null:e.stateNode},findFiberByHostInstance:tu.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var au=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!au.isDisabled&&au.supportsFiber)try{rt=au.inject(nu),ot=au}catch(ue){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=eu,t.createPortal=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!Ql(t))throw Error(o(200));return function(e,t,n){var a=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:_,key:null==a?null:""+a,children:e,containerInfo:t,implementation:n}}(e,t,null,n)},t.createRoot=function(e,t){if(!Ql(e))throw Error(o(299));var n=!1,a="",r=Yl;return null!=t&&(!0===t.unstable_strictMode&&(n=!0),void 0!==t.identifierPrefix&&(a=t.identifierPrefix),void 0!==t.onRecoverableError&&(r=t.onRecoverableError)),t=Bl(e,1,!1,null,0,n,0,a,r),e[mr]=t.current,Fa(8===e.nodeType?e.parentNode:e),new Wl(t)},t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"==typeof e.render)throw Error(o(188));throw e=Object.keys(e).join(","),Error(o(268,e))}return null===(e=Ke(t))?null:e.stateNode},t.flushSync=function(e){return ul(e)},t.hydrate=function(e,t,n){if(!Jl(t))throw Error(o(200));return Xl(null,e,t,!0,n)},t.hydrateRoot=function(e,t,n){if(!Ql(e))throw Error(o(405));var a=null!=n&&n.hydratedSources||null,r=!1,i="",s=Yl;if(null!=n&&(!0===n.unstable_strictMode&&(r=!0),void 0!==n.identifierPrefix&&(i=n.identifierPrefix),void 0!==n.onRecoverableError&&(s=n.onRecoverableError)),t=Fl(t,null,e,1,null!=n?n:null,r,0,i,s),e[mr]=t.current,Fa(e),a)for(e=0;e<a.length;e++)r=(r=(n=a[e])._getVersion)(n._source),null==t.mutableSourceEagerHydrationData?t.mutableSourceEagerHydrationData=[n,r]:t.mutableSourceEagerHydrationData.push(n,r);return new Gl(t)},t.render=function(e,t,n){if(!Jl(t))throw Error(o(200));return Xl(null,e,t,!1,n)},t.unmountComponentAtNode=function(e){if(!Jl(e))throw Error(o(40));return!!e._reactRootContainer&&(ul(function(){Xl(null,null,e,!1,function(){e._reactRootContainer=null,e[mr]=null})}),!0)},t.unstable_batchedUpdates=ll,t.unstable_renderSubtreeIntoContainer=function(e,t,n,a){if(!Jl(n))throw Error(o(200));if(null==e||void 0===e._reactInternals)throw Error(o(38));return Xl(e,t,n,!1,a)},t.version="18.3.1-next-f1338f8080-20240426"},593:(e,t,n)=>{"use strict";e.exports=n(910)},723:(e,t,n)=>{"use strict";e.exports=n(921)},910:(e,t)=>{"use strict";function n(e,t){var n=e.length;e.push(t);e:for(;0<n;){var a=n-1>>>1,r=e[a];if(!(0<o(r,t)))break e;e[a]=t,e[n]=r,n=a}}function a(e){return 0===e.length?null:e[0]}function r(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var a=0,r=e.length,i=r>>>1;a<i;){var s=2*(a+1)-1,c=e[s],l=s+1,u=e[l];if(0>o(c,n))l<r&&0>o(u,c)?(e[a]=u,e[l]=n,a=l):(e[a]=c,e[s]=n,a=s);else{if(!(l<r&&0>o(u,n)))break e;e[a]=u,e[l]=n,a=l}}}return t}function o(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if("object"==typeof performance&&"function"==typeof performance.now){var i=performance;t.unstable_now=function(){return i.now()}}else{var s=Date,c=s.now();t.unstable_now=function(){return s.now()-c}}var l=[],u=[],d=1,p=null,h=3,m=!1,f=!1,g=!1,y="function"==typeof setTimeout?setTimeout:null,b="function"==typeof clearTimeout?clearTimeout:null,k="undefined"!=typeof setImmediate?setImmediate:null;function v(e){for(var t=a(u);null!==t;){if(null===t.callback)r(u);else{if(!(t.startTime<=e))break;r(u),t.sortIndex=t.expirationTime,n(l,t)}t=a(u)}}function w(e){if(g=!1,v(e),!f)if(null!==a(l))f=!0,N(_);else{var t=a(u);null!==t&&L(w,t.startTime-e)}}function _(e,n){f=!1,g&&(g=!1,b(S),S=-1),m=!0;var o=h;try{for(v(n),p=a(l);null!==p&&(!(p.expirationTime>n)||e&&!O());){var i=p.callback;if("function"==typeof i){p.callback=null,h=p.priorityLevel;var s=i(p.expirationTime<=n);n=t.unstable_now(),"function"==typeof s?p.callback=s:p===a(l)&&r(l),v(n)}else r(l);p=a(l)}if(null!==p)var c=!0;else{var d=a(u);null!==d&&L(w,d.startTime-n),c=!1}return c}finally{p=null,h=o,m=!1}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var j,x=!1,C=null,S=-1,z=5,E=-1;function O(){return!(t.unstable_now()-E<z)}function A(){if(null!==C){var e=t.unstable_now();E=e;var n=!0;try{n=C(!0,e)}finally{n?j():(x=!1,C=null)}}else x=!1}if("function"==typeof k)j=function(){k(A)};else if("undefined"!=typeof MessageChannel){var P=new MessageChannel,I=P.port2;P.port1.onmessage=A,j=function(){I.postMessage(null)}}else j=function(){y(A,0)};function N(e){C=e,x||(x=!0,j())}function L(e,n){S=y(function(){e(t.unstable_now())},n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){f||m||(f=!0,N(_))},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):z=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return h},t.unstable_getFirstCallbackNode=function(){return a(l)},t.unstable_next=function(e){switch(h){case 1:case 2:case 3:var t=3;break;default:t=h}var n=h;h=t;try{return e()}finally{h=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=h;h=e;try{return t()}finally{h=n}},t.unstable_scheduleCallback=function(e,r,o){var i=t.unstable_now();switch(o="object"==typeof o&&null!==o&&"number"==typeof(o=o.delay)&&0<o?i+o:i,e){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return e={id:d++,callback:r,priorityLevel:e,startTime:o,expirationTime:s=o+s,sortIndex:-1},o>i?(e.sortIndex=o,n(u,e),null===a(l)&&e===a(u)&&(g?(b(S),S=-1):g=!0,L(w,o-i))):(e.sortIndex=s,n(l,e),f||m||(f=!0,N(_))),e},t.unstable_shouldYield=O,t.unstable_wrapCallback=function(e){var t=h;return function(){var n=h;h=t;try{return e.apply(this,arguments)}finally{h=n}}}},921:(e,t,n)=>{"use strict";var a=n(155),r=Symbol.for("react.element"),o=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,s=a.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,c={key:!0,ref:!0,__self:!0,__source:!0};function l(e,t,n){var a,o={},l=null,u=null;for(a in void 0!==n&&(l=""+n),void 0!==t.key&&(l=""+t.key),void 0!==t.ref&&(u=t.ref),t)i.call(t,a)&&!c.hasOwnProperty(a)&&(o[a]=t[a]);if(e&&e.defaultProps)for(a in t=e.defaultProps)void 0===o[a]&&(o[a]=t[a]);return{$$typeof:r,type:e,key:l,ref:u,props:o,_owner:s.current}}t.Fragment=o,t.jsx=l,t.jsxs=l},997:(e,t,n)=>{"use strict";var a=n(316);t.H=a.createRoot,a.hydrateRoot}},t={};function n(a){var r=t[a];if(void 0!==r)return r.exports;var o=t[a]={exports:{}};return e[a](o,o.exports,n),o.exports}n.d=(e,t)=>{for(var a in t)n.o(t,a)&&!n.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var a={};(()=>{"use strict";function e(e){throw new Error(`Non-never value at runtime: ${e}`)}function t(t,n,a,r){void 0===a?t.searchParams[r](n,"undefined"):null===a?t.searchParams[r](n,"null"):"boolean"==typeof a?t.searchParams[r](n,a?"true":"false"):"number"==typeof a?t.searchParams[r](n,a.toString(10)):"string"==typeof a?t.searchParams[r](n,a):"object"==typeof a?t.searchParams[r](n,JSON.stringify(a)):e(a)}n.r(a),n.d(a,{initializeAdUnit:()=>Qb});class r extends Error{source;constructor(e,t){super(e),this.name="ApiError",this.source=t}}class o extends r{constructor(e){super(`Fetch error: ${e.message}`,e)}}class i extends r{status;statusText;response;constructor(e){const{status:t,statusText:n}=e;super(`Status error (${t}): ${n}`),this.status=t,this.statusText=n,this.response=e}}class s extends r{response;constructor(e,t){const[n,a]="string"==typeof t?[t,void 0]:[t.message,t];super(`Response body error: ${n}`,a),this.response=e}}async function c(e,t){try{return await fetch(e,t)}catch(e){if(e instanceof TypeError)throw new o(e);throw e}}class l{body;constructor(e){this.body=e}static Json(e){return new l({type:"json",json:e})}static B64Json(e){return new l({type:"b64json",json:e})}static String(e){return new l({type:"string",string:e})}getContentType(){switch(this.body.type){case"json":return"application/json";case"b64json":case"string":return"text/plain";default:e(this.body)}}getSerialized(){switch(this.body.type){case"json":return JSON.stringify(this.body.json);case"b64json":return t=JSON.stringify(this.body.json),function(e){const t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";let n="",a=0;for(;a+2<e.length;a+=3){const r=e[a]<<16|e[a+1]<<8|e[a+2];n+=t[r>>>18&63]+t[r>>>12&63]+t[r>>>6&63]+t[63&r]}if(a<e.length){const r=e[a]<<16|(a+1<e.length?e[a+1]:0)<<8;n+=t[r>>>18&63]+t[r>>>12&63]+(a+1<e.length?t[r>>>6&63]:"=")+"="}return n}((new TextEncoder).encode(t));case"string":return this.body.string;default:e(this.body)}var t}}function u(e){return new Promise(t=>{setTimeout(t,e)})}function d(e){const t=function(e){const t=e.trim();return/^[+-]?\d+$/.test(t)?parseInt(t,10):null}(e);return null===t||t<0?null:t}function p(e){const t=function(e){const t=parseInt(e,10);return isNaN(t)?null:t}(e);return null===t||t<0?null:t}function h(e){return"string"==typeof e?e:"number"==typeof e?e.toString():null}function m(e,{backoffMultiplier:t=1,retryAfter:n=null}={}){if(n){const e=function(e){const t=d(e);if(null!==t)return 1e3*t;const n=Date.parse(e);return isNaN(n)?null:n-Date.now()}(n);if(null!==e)return Math.max(Math.min(e,1e4),500)}return Math.min(500*Math.pow(2,e),1e4)*t*(1+.1*(2*Math.random()-1))}class f{name="JsonBodyParser";async parse(e){try{return e.json()}catch(t){throw new s(e,t instanceof Error?t:"Failed to parse JSON")}}checkContentType(e){return e?.includes("application/json")??!1}}class g{name="VoidBodyParser";async parse(e){}checkContentType(e){return!0}}async function y(e,t,n,a,r){if(e.status>=200&&e.status<300){const{parser:n,ignoreContentTypeHeader:a=!1}=t??{},r=e.headers.get("Content-Type");if(!a&&!n.checkContentType(r))throw new s(e,`Did not expect Content-Type "${r}" for parser ${n.name}`);return t.parser.parse(e)}if(n>=5)throw new i(e);if(401===e.status&&r)return r(n+1);if(429===e.status||503===e.status){const t=m(n+2,{backoffMultiplier:2,retryAfter:e.headers.get("Retry-After")});return await u(t),a(n+3)}if(e.status>=400&&e.status<=499)throw new i(e);{const e=m(n);return await u(e),a(n+1)}}class b{rootUrl;appVersion;truesignEndpoint;tsToken=null;injectInto;partnerKey;constructor(e,t){this.truesignEndpoint=t?.truesignEndpoint,this.rootUrl=e,this.injectInto=t.injectInto??"query",this.appVersion=t.appVersion,this.partnerKey=t.partnerKey}async createTSToken(){try{const e={signal:AbortSignal.timeout(1e3)},t=await fetch(`https://edge.truesign.ai/v2/${this.truesignEndpoint}`,{...e}),n=await t.json();return this.tsToken=n.token,this.tsToken||"no-token"}catch(e){return console.error("Unable to request authentication token",e),this.tsToken="unauthenticated",this.tsToken}}async getTsToken(){return this.tsToken?this.tsToken:await this.createTSToken()}buildUrl(e){return new URL(`${this.rootUrl}${e}`)}async applyQueryParams(e,n){return function(e,n){const a=new URL(e);for(const[e,r]of Object.entries(n))if(Array.isArray(r)){a.searchParams.delete(e);for(const n of r)t(a,e,n,"append")}else t(a,e,r,"set");return a}(e,{...n,..."query"===this.injectInto?{...this.truesignEndpoint?{tsToken:await this.getTsToken()}:{},...this.partnerKey?{partnerKey:this.partnerKey}:{},appVersion:this.appVersion}:{}})}async applyHeaders(e){const t=new Headers(e);return"headers"===this.injectInto&&(this.truesignEndpoint&&t.set("X-TS-Token",await this.getTsToken()),this.partnerKey&&t.set("X-Partner-Key",this.partnerKey),t.set("X-App-Version",this.appVersion)),t}async get(e,{params:t={},request:n={},parser:a=new f,ignoreContentTypeHeader:r}={}){const o=this.buildUrl(e),i=await this.applyQueryParams(o,t),s=await this.applyHeaders(n?.headers);return this._get(i,0,{...n,headers:s},{parser:a,ignoreContentTypeHeader:r})}async _get(e,t,n,a){try{return y(await c(e,{...n,body:void 0,method:"GET"}),a,t,t=>this._get(e,t,n,a),this.truesignEndpoint?async t=>{await this.createTSToken();const r=await this.applyQueryParams(e),o=await this.applyHeaders(n.headers);return this._get(r,t,{...n,headers:o},a)}:null)}catch(t){throw console.error(`Error on get ${e.origin}${e.pathname}`,t),t}}async post(e,{params:t={},body:n=null,request:a={},parser:r=new g,ignoreContentTypeHeader:o}={}){const i=this.buildUrl(e),s=await this.applyQueryParams(i,t),c=await this.applyHeaders(a?.headers);n&&!c.has("Content-Type")&&c.set("Content-Type",n.getContentType());const l=n?n.getSerialized():null;return this._post(s,l,0,{...a,headers:c},{parser:r,ignoreContentTypeHeader:o})}async _post(e,t,n,a,r){try{return y(await c(e,{...a,body:t,method:"POST"}),r,n,n=>this._post(e,t,n,a,r),this.truesignEndpoint?async n=>{await this.createTSToken();const o=await this.applyQueryParams(e),i=await this.applyHeaders(a.headers);return this._post(o,t,n,{...a,headers:i},r)}:null)}catch(t){throw console.error(`Error on post ${e.origin}${e.pathname}`,t),t}}}class k{apiService=null;rootUrl;options;constructor(e,t){this.rootUrl=e,this.options=t,this.apiService=null}initialize(e){if(this.apiService)throw new Error("APIService already initialized");this.apiService=new b(this.rootUrl,{...this.options,...e})}get(){if(!this.apiService)throw new Error("APIService not initialized");return this.apiService}}const v=new k("https://api.getdirecto.com",{truesignEndpoint:"1558123949",injectInto:"headers"});v.get.bind(v);const w=new k("https://events.getdirecto.com",{truesignEndpoint:"80298941"});async function _(e){return await w.get().post("/experiment",{body:l.B64Json(e)})}w.get.bind(w);const j=new k("https://vio-wrapper-api-cd-6981968610.europe-west4.run.app",{truesignEndpoint:"1678801807",injectInto:"headers"});j.get.bind(j);const x=new k("https://rateshops.getdirecto.com",{truesignEndpoint:"1010119886",injectInto:"headers"}),C=x.get.bind(x),S=new k("https://htmlql-6981968610.europe-west4.run.app",{truesignEndpoint:"465050282"});function z(e){if(e.success)return e.response;throw new Error(e.errorMessage)}S.get.bind(S);const E=function(){const e=new Map;return new Proxy({},{get(t,n){if("string"!=typeof n)return;const a=n;return e.has(a)||e.set(a,function(e,t){return function(...n){let a;a=1===n.length?n[0]:void 0;const r={serverId:e,handlerId:t,...void 0!==a?{payload:a}:{}};return chrome.runtime.sendMessage(r).then(z)}}("DIRECTO_CORE_BACKGROUND",a)),e.get(a)}})}();var O=Object.prototype;const A=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||O)},P=function(e,t){return function(n){return e(t(n))}},I=P(Object.keys,Object);var N=Object.prototype.hasOwnProperty;const L=function(e){if(!A(e))return I(e);var t=[];for(var n in Object(e))N.call(e,n)&&"constructor"!=n&&t.push(n);return t},T="object"==typeof global&&global&&global.Object===Object&&global;var D="object"==typeof self&&self&&self.Object===Object&&self;const R=T||D||Function("return this")(),M=R.Symbol;var $=Object.prototype,B=$.hasOwnProperty,U=$.toString,F=M?M.toStringTag:void 0;var V=Object.prototype.toString;var H=M?M.toStringTag:void 0;const K=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":H&&H in Object(e)?function(e){var t=B.call(e,F),n=e[F];try{e[F]=void 0;var a=!0}catch(e){}var r=U.call(e);return a&&(t?e[F]=n:delete e[F]),r}(e):function(e){return V.call(e)}(e)},q=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},Y=function(e){if(!q(e))return!1;var t=K(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t},W=R["__core-js_shared__"];var G,Q=(G=/[^.]+$/.exec(W&&W.keys&&W.keys.IE_PROTO||""))?"Symbol(src)_1."+G:"";var J=Function.prototype.toString;const Z=function(e){if(null!=e){try{return J.call(e)}catch(e){}try{return e+""}catch(e){}}return""};var X=/^\[object .+?Constructor\]$/,ee=Function.prototype,te=Object.prototype,ne=ee.toString,ae=te.hasOwnProperty,re=RegExp("^"+ne.call(ae).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");const oe=function(e){return!(!q(e)||(t=e,Q&&Q in t))&&(Y(e)?re:X).test(Z(e));var t},ie=function(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return oe(n)?n:void 0},se=ie(R,"DataView"),ce=ie(R,"Map"),le=ie(R,"Promise"),ue=ie(R,"Set"),de=ie(R,"WeakMap");var pe="[object Map]",he="[object Promise]",me="[object Set]",fe="[object WeakMap]",ge="[object DataView]",ye=Z(se),be=Z(ce),ke=Z(le),ve=Z(ue),we=Z(de),_e=K;(se&&_e(new se(new ArrayBuffer(1)))!=ge||ce&&_e(new ce)!=pe||le&&_e(le.resolve())!=he||ue&&_e(new ue)!=me||de&&_e(new de)!=fe)&&(_e=function(e){var t=K(e),n="[object Object]"==t?e.constructor:void 0,a=n?Z(n):"";if(a)switch(a){case ye:return ge;case be:return pe;case ke:return he;case ve:return me;case we:return fe}return t});const je=_e,xe=function(e){return null!=e&&"object"==typeof e},Ce=function(e){return xe(e)&&"[object Arguments]"==K(e)};var Se=Object.prototype,ze=Se.hasOwnProperty,Ee=Se.propertyIsEnumerable;const Oe=Ce(function(){return arguments}())?Ce:function(e){return xe(e)&&ze.call(e,"callee")&&!Ee.call(e,"callee")},Ae=Array.isArray,Pe=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991},Ie=function(e){return null!=e&&Pe(e.length)&&!Y(e)};var Ne="object"==typeof exports&&exports&&!exports.nodeType&&exports,Le=Ne&&"object"==typeof module&&module&&!module.nodeType&&module,Te=Le&&Le.exports===Ne?R.Buffer:void 0;const De=(Te?Te.isBuffer:void 0)||function(){return!1};var Re={};Re["[object Float32Array]"]=Re["[object Float64Array]"]=Re["[object Int8Array]"]=Re["[object Int16Array]"]=Re["[object Int32Array]"]=Re["[object Uint8Array]"]=Re["[object Uint8ClampedArray]"]=Re["[object Uint16Array]"]=Re["[object Uint32Array]"]=!0,Re["[object Arguments]"]=Re["[object Array]"]=Re["[object ArrayBuffer]"]=Re["[object Boolean]"]=Re["[object DataView]"]=Re["[object Date]"]=Re["[object Error]"]=Re["[object Function]"]=Re["[object Map]"]=Re["[object Number]"]=Re["[object Object]"]=Re["[object RegExp]"]=Re["[object Set]"]=Re["[object String]"]=Re["[object WeakMap]"]=!1;const Me=function(e){return function(t){return e(t)}};var $e="object"==typeof exports&&exports&&!exports.nodeType&&exports,Be=$e&&"object"==typeof module&&module&&!module.nodeType&&module,Ue=Be&&Be.exports===$e&&T.process,Fe=function(){try{return Be&&Be.require&&Be.require("util").types||Ue&&Ue.binding&&Ue.binding("util")}catch(e){}}(),Ve=Fe&&Fe.isTypedArray;const He=Ve?Me(Ve):function(e){return xe(e)&&Pe(e.length)&&!!Re[K(e)]};var Ke=Object.prototype.hasOwnProperty;const qe=function(e){if(null==e)return!0;if(Ie(e)&&(Ae(e)||"string"==typeof e||"function"==typeof e.splice||De(e)||He(e)||Oe(e)))return!e.length;var t=je(e);if("[object Map]"==t||"[object Set]"==t)return!e.size;if(A(e))return!L(e).length;for(var n in e)if(Ke.call(e,n))return!1;return!0};function Ye(e,t=qe,n=10){let a=0;return async function r(...o){const i=await e(...o);return t(i)&&a<=n?(a+=1,await new Promise(e=>setTimeout(e,2**a)),r(...o)):i}}function We(e,t=2){const n="0".repeat(t)+e;return n.slice(n.length-t,n.length)}function Ge(e){if(function(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}(e))return e}function Qe(e,t){const n="function"==typeof t?t:e=>t.test(e),a=Object.keys(e).find(n);if(a)return e[a]}function Je(e){return JSON.parse(e)}function Ze(e){const t=function(e){return Ge(Je(e))??null}(e);return!t||qe(t)?null:t}const Xe=function(e){return"symbol"==typeof e||xe(e)&&"[object Symbol]"==K(e)};var et=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,tt=/^\w*$/;const nt=function(e,t){if(Ae(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!Xe(e))||tt.test(e)||!et.test(e)||null!=t&&e in Object(t)},at=ie(Object,"create");var rt=Object.prototype.hasOwnProperty;var ot=Object.prototype.hasOwnProperty;function it(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var a=e[t];this.set(a[0],a[1])}}it.prototype.clear=function(){this.__data__=at?at(null):{},this.size=0},it.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},it.prototype.get=function(e){var t=this.__data__;if(at){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return rt.call(t,e)?t[e]:void 0},it.prototype.has=function(e){var t=this.__data__;return at?void 0!==t[e]:ot.call(t,e)},it.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=at&&void 0===t?"__lodash_hash_undefined__":t,this};const st=it,ct=function(e,t){return e===t||e!=e&&t!=t},lt=function(e,t){for(var n=e.length;n--;)if(ct(e[n][0],t))return n;return-1};var ut=Array.prototype.splice;function dt(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var a=e[t];this.set(a[0],a[1])}}dt.prototype.clear=function(){this.__data__=[],this.size=0},dt.prototype.delete=function(e){var t=this.__data__,n=lt(t,e);return!(n<0||(n==t.length-1?t.pop():ut.call(t,n,1),--this.size,0))},dt.prototype.get=function(e){var t=this.__data__,n=lt(t,e);return n<0?void 0:t[n][1]},dt.prototype.has=function(e){return lt(this.__data__,e)>-1},dt.prototype.set=function(e,t){var n=this.__data__,a=lt(n,e);return a<0?(++this.size,n.push([e,t])):n[a][1]=t,this};const pt=dt,ht=function(e,t){var n,a,r=e.__data__;return("string"==(a=typeof(n=t))||"number"==a||"symbol"==a||"boolean"==a?"__proto__"!==n:null===n)?r["string"==typeof t?"string":"hash"]:r.map};function mt(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var a=e[t];this.set(a[0],a[1])}}mt.prototype.clear=function(){this.size=0,this.__data__={hash:new st,map:new(ce||pt),string:new st}},mt.prototype.delete=function(e){var t=ht(this,e).delete(e);return this.size-=t?1:0,t},mt.prototype.get=function(e){return ht(this,e).get(e)},mt.prototype.has=function(e){return ht(this,e).has(e)},mt.prototype.set=function(e,t){var n=ht(this,e),a=n.size;return n.set(e,t),this.size+=n.size==a?0:1,this};const ft=mt;function gt(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var a=arguments,r=t?t.apply(this,a):a[0],o=n.cache;if(o.has(r))return o.get(r);var i=e.apply(this,a);return n.cache=o.set(r,i)||o,i};return n.cache=new(gt.Cache||ft),n}gt.Cache=ft;var yt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,bt=/\\(\\)?/g;const kt=(vt=function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(yt,function(e,n,a,r){t.push(a?r.replace(bt,"$1"):n||e)}),t},wt=gt(vt,function(e){return 500===_t.size&&_t.clear(),e}),_t=wt.cache,wt);var vt,wt,_t;const jt=function(e,t){for(var n=-1,a=null==e?0:e.length,r=Array(a);++n<a;)r[n]=t(e[n],n,e);return r};var xt=M?M.prototype:void 0,Ct=xt?xt.toString:void 0;const St=function e(t){if("string"==typeof t)return t;if(Ae(t))return jt(t,e)+"";if(Xe(t))return Ct?Ct.call(t):"";var n=t+"";return"0"==n&&1/t==-1/0?"-0":n},zt=function(e){return null==e?"":St(e)},Et=function(e,t){return Ae(e)?e:nt(e,t)?[e]:kt(zt(e))},Ot=function(e){if("string"==typeof e||Xe(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t},At=function(e,t){for(var n=0,a=(t=Et(t,e)).length;null!=e&&n<a;)e=e[Ot(t[n++])];return n&&n==a?e:void 0},Pt=function(e,t,n){var a=null==e?void 0:At(e,t);return void 0===a?n:a},It=function(e,t){for(var n=-1,a=null==e?0:e.length;++n<a&&!1!==t(e[n],n,e););return e},Nt=function(e,t,n){for(var a=-1,r=Object(e),o=n(e),i=o.length;i--;){var s=o[Lt?i:++a];if(!1===t(r[s],s,r))break}return e};var Lt;var Tt=/^(?:0|[1-9]\d*)$/;const Dt=function(e,t){var n=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==n||"symbol"!=n&&Tt.test(e))&&e>-1&&e%1==0&&e<t};var Rt=Object.prototype.hasOwnProperty;const Mt=function(e,t){var n=Ae(e),a=!n&&Oe(e),r=!n&&!a&&De(e),o=!n&&!a&&!r&&He(e),i=n||a||r||o,s=i?function(e,t){for(var n=-1,a=Array(e);++n<e;)a[n]=t(n);return a}(e.length,String):[],c=s.length;for(var l in e)!t&&!Rt.call(e,l)||i&&("length"==l||r&&("offset"==l||"parent"==l)||o&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||Dt(l,c))||s.push(l);return s},$t=function(e){return Ie(e)?Mt(e):L(e)},Bt=function(e,t){return e&&Nt(e,t,$t)},Ut=function(e,t){return function(n,a){if(null==n)return n;if(!Ie(n))return e(n,a);for(var r=n.length,o=t?r:-1,i=Object(n);(t?o--:++o<r)&&!1!==a(i[o],o,i););return n}}(Bt),Ft=function(e){return e},Vt=function(e,t){return(Ae(e)?It:Ut)(e,"function"==typeof(n=t)?n:Ft);var n},Ht="userLocale";function Kt(){let e;return e=null!=navigator.languages?navigator.languages[0]:navigator.language,e=e.split("-")[0]||e||"en",e}let qt=null;function Yt(){return qt=qt||Kt(),qt}function Wt(e,t=document){let n=null;for(const a of e){const e=t.querySelector(a);if(e){n=e;break}}return n}function Gt(e,t=document){let n=null;for(const a of e){const e=t.querySelectorAll(a);if(e.length){n=e;break}}return n}async function Qt(e,t,n){if(n.signal?.aborted)return;const a=await Ye(e=>{const t=Wt(e);return t&&n.getContainer?n.getContainer(t):t},e=>!e)(e);if(n.signal?.aborted)return;if(!a){if(null!==n.retryMs){const a=setTimeout(()=>{Qt(e,t,n)},n.retryMs),r=()=>{n.signal?.removeEventListener("abort",r),clearTimeout(a)};n.signal?.addEventListener("abort",r)}return}const r=await t(a);if(!n.signal?.aborted&&null!==n.checkIntervalMs){const o=setInterval(()=>{a.isConnected||(r?.(),clearInterval(o),Qt(e,t,n))},n.checkIntervalMs),i=()=>{n.signal?.removeEventListener("abort",i),clearInterval(o)};n.signal?.addEventListener("abort",i)}}function Jt(){return function(){let e=document.documentElement.lang;return e=e.split("-")[0],e?e.toLowerCase():null}()??Kt()}async function Zt(e){const t=await Ye(Wt,e=>!e||!e.textContent,10)(e);if(!t||!t.textContent)return null;let n;try{n=Je(t.textContent)}catch(t){return console.error("Error parsing JSON from selectors",e,t),null}const a=Ge(n);return!a||qe(a)?null:a}function Xt(e){return e.checkVisibility({contentVisibilityAuto:!0,opacityProperty:!0,visibilityProperty:!0})}function en(e){const t=e.textContent.trim();return""!==t?t:"value"in e&&"string"==typeof e.value?e.value.trim():null}async function tn(e){return"function"==typeof e?await e():e}!async function(){const{[Ht]:e}=await chrome.storage.local.get(Ht);qt=e??null}();class nn{platform;constructor(e){this.platform=e}async getQueryParam(e,t=window.location.href){const n=new URL(t);return tn((await this.getQueryParamMap(n))[e])}}class an{year;month;day;constructor(e,t,n){this.year=e,this.month=t,this.day=n}static unsafe_new(e,t,n){if(isNaN(e)||isNaN(t)||isNaN(n))throw new Error(`Invalid date: ${e}-${t}-${n}`);const a=new an(e,t,n),r=a.unsafe_toDate();if(isNaN(r.getTime())||r.getFullYear()!==e||r.getMonth()+1!==t||r.getDate()!==n)throw new Error(`Invalid date: ${e}-${t}-${n}`);return a}static new(e,t,n){try{return an.unsafe_new(e,t,n)}catch{return null}}static today(){return an.unsafe_fromDate(new Date)}static unsafe_fromRaw(e){return an.unsafe_new(e.year,e.month,e.day)}static fromRaw(e){return an.new(e.year,e.month,e.day)}static unsafe_fromDate(e){if(isNaN(e.getTime()))throw new Error("Invalid Date object");return an.unsafe_new(e.getFullYear(),e.getMonth()+1,e.getDate())}static fromDate(e){try{return an.unsafe_fromDate(e)}catch{return null}}static tryFromSlashDDMMYY(e){const t=e.match(/^(?<dd>\d{2})\/(?<mm>\d{2})\/(?<yy>\d{2})$/);if(!t)return null;const{dd:n,mm:a,yy:r}=t.groups;return an.new(2e3+parseInt(r,10),parseInt(a,10),parseInt(n,10))}static tryFromSlashDMY(e){const t=e.match(/^(?<d>\d{1,2})\/(?<m>\d{1,2})\/(?<y>\d{1,2})$/);if(!t)return null;const{d:n,m:a,y:r}=t.groups;return an.new(2e3+parseInt(r,10),parseInt(a,10),parseInt(n,10))}static tryFromDashYYYYMMDD(e){const t=e.match(/^(?<yyyy>\d{4})-(?<mm>\d{2})-(?<dd>\d{2})$/);if(!t)return null;const{yyyy:n,mm:a,dd:r}=t.groups;return an.new(parseInt(n,10),parseInt(a,10),parseInt(r,10))}static tryFromDashDDMMYYYY(e){const t=e.match(/^(?<dd>\d{2})-(?<mm>\d{2})-(?<yyyy>\d{4})$/);if(!t)return null;const{dd:n,mm:a,yyyy:r}=t.groups;return an.new(parseInt(r,10),parseInt(a,10),parseInt(n,10))}static tryFromSlashDDMMYYYY(e){const t=e.match(/^(?<dd>\d{2})\/(?<mm>\d{2})\/(?<yyyy>\d{4})$/);if(!t)return null;const{yyyy:n,mm:a,dd:r}=t.groups;return an.new(parseInt(n,10),parseInt(a,10),parseInt(r,10))}static tryFromSlashMMDDYYYY(e){const t=e.match(/^(?<mm>\d{2})\/(?<dd>\d{2})\/(?<yyyy>\d{4})$/);if(!t)return null;const{yyyy:n,mm:a,dd:r}=t.groups;return an.new(parseInt(n,10),parseInt(a,10),parseInt(r,10))}toDashYYYYMMDD(){return`${We(this.year,4)}-${We(this.month)}-${We(this.day)}`}unsafe_toDate(){return function(e,t,n){const a=new Date;return a.setFullYear(e,t,n),a.setHours(0,0,0,0),a}(this.year,this.month-1,this.day)}}function rn(e,t){const n=new Date(e);return n.setDate(e.getDate()+t),n}function on(e){if(!e)return null;const t=new Date(e);if(!isNaN(t.getTime()))return`${t.getFullYear()}-${We(t.getUTCMonth()+1)}-${We(t.getUTCDate())}`;const n=e?.split("/");return 3===n?.length?`${2===n[2].length?`20${n[2]}`:n[2]}-${We(n[1])}-${We(n[0])}`:e}function sn(e){if(!e)return null;if(e.includes("-")){if(/^\d{4}-\d{1,2}-\d{1,2}$/.test(e)){const[t,n,a]=e.split("-");return`${t}-${We(n)}-${We(a)}`}if(/^\d{1,2}-\d{1,2}-\d{2,4}$/.test(e)){const[t,n,a]=e.split("-");return`${2===a.length?"20":""}${a}-${We(n)}-${We(t)}`}return null}if(/^\d{8}$/.test(e))return`${e.substring(0,4)}-${e.substring(4,6)}-${e.substring(6,8)}`;if(e.includes("/")){const[t,n,a]=e.split("/");return t&&n&&a?`${2===a.length?"20":""}${a}-${We(n)}-${We(t)}`:null}return null}function cn(e){return e.toISOString().split("T")[0]}function ln(e){return e.trim().normalize("NFD").replace(/[\u0300-\u036f]/g,"")}function un(e){return`(${e})`}class dn extends nn{async maybeOpenTab(){const e=await this.getDestination();if(!e)return;const t=await this.getQueryParam("checkin");if(!t)return;const[n,a,r,o]=await Promise.all([this.getQueryParam("checkout"),this.getQueryParam("adults"),this.getQueryParam("children"),this.getQueryParam("currency")]),i=n??function(e){const t=new Date(e.year,e.month-1,e.day+1);return an.unsafe_fromDate(t)}(t),{partnerKey:s}=await E.getConfig();await E.openKayakCrossSellTab({sourceUrl:window.location.href,trackingLabel:this.platform,partnerKey:s??null,destination:e,checkin:t,checkout:i,adults:a,children:r,currency:o})}}class pn extends dn{async handleSearchClick(){await E.setCrossSellWasChecked({crossSellId:this.platform,checked:this.checked})}async maybeOpenTab(){await E.getCrossSellWasChecked({crossSellId:this.platform})&&await super.maybeOpenTab()}}class hn extends dn{async handleSearchClick(){this.checked&&await super.maybeOpenTab()}}const mn="EUR",fn=1e3;function gn(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var yn,bn;const kn=gn(function(){if(bn)return yn;bn=1;const e=2147483647,t=36,n=/^xn--/,a=/[^\0-\x7F]/,r=/[\x2E\u3002\uFF0E\uFF61]/g,o={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},i=Math.floor,s=String.fromCharCode;function c(e){throw new RangeError(o[e])}function l(e,t){const n=e.split("@");let a="";n.length>1&&(a=n[0]+"@",e=n[1]);const o=function(e,t){const n=[];let a=e.length;for(;a--;)n[a]=t(e[a]);return n}((e=e.replace(r,".")).split("."),t).join(".");return a+o}function u(e){const t=[];let n=0;const a=e.length;for(;n<a;){const r=e.charCodeAt(n++);if(r>=55296&&r<=56319&&n<a){const a=e.charCodeAt(n++);56320==(64512&a)?t.push(((1023&r)<<10)+(1023&a)+65536):(t.push(r),n--)}else t.push(r)}return t}const d=function(e){return e>=48&&e<58?e-48+26:e>=65&&e<91?e-65:e>=97&&e<123?e-97:t},p=function(e,t){return e+22+75*(e<26)-((0!=t)<<5)},h=function(e,n,a){let r=0;for(e=a?i(e/700):e>>1,e+=i(e/n);e>455;r+=t)e=i(e/35);return i(r+36*e/(e+38))},m=function(n){const a=[],r=n.length;let o=0,s=128,l=72,u=n.lastIndexOf("-");u<0&&(u=0);for(let e=0;e<u;++e)n.charCodeAt(e)>=128&&c("not-basic"),a.push(n.charCodeAt(e));for(let p=u>0?u+1:0;p<r;){const u=o;for(let a=1,s=t;;s+=t){p>=r&&c("invalid-input");const u=d(n.charCodeAt(p++));u>=t&&c("invalid-input"),u>i((e-o)/a)&&c("overflow"),o+=u*a;const h=s<=l?1:s>=l+26?26:s-l;if(u<h)break;const m=t-h;a>i(e/m)&&c("overflow"),a*=m}const m=a.length+1;l=h(o-u,m,0==u),i(o/m)>e-s&&c("overflow"),s+=i(o/m),o%=m,a.splice(o++,0,s)}return String.fromCodePoint(...a)},f=function(n){const a=[],r=(n=u(n)).length;let o=128,l=0,d=72;for(const e of n)e<128&&a.push(s(e));const m=a.length;let f=m;for(m&&a.push("-");f<r;){let r=e;for(const e of n)e>=o&&e<r&&(r=e);const u=f+1;r-o>i((e-l)/u)&&c("overflow"),l+=(r-o)*u,o=r;for(const r of n)if(r<o&&++l>e&&c("overflow"),r===o){let e=l;for(let n=t;;n+=t){const r=n<=d?1:n>=d+26?26:n-d;if(e<r)break;const o=e-r,c=t-r;a.push(s(p(r+o%c,0))),e=i(o/c)}a.push(s(p(e,0))),d=h(l,u,f===m),l=0,++f}++l,++o}return a.join("")};return yn={version:"2.3.1",ucs2:{decode:u,encode:e=>String.fromCodePoint(...e)},decode:m,encode:f,toASCII:function(e){return l(e,function(e){return a.test(e)?"xn--"+f(e):e})},toUnicode:function(e){return l(e,function(e){return n.test(e)?m(e.slice(4).toLowerCase()):e})}}}());function vn(e){let t=e.trim();return/^(?:f|ht)tps?\:\/\//.test(t)||(t="http://"+t),new URL(t)}function wn(e){return e.hostname.replace(/^www\./,"")}function _n(e){try{return wn("string"==typeof e?vn(e):e)}catch(t){return console.error("Invalid URL:",e,t),e.toString()}}["ac","com.ac","edu.ac","gov.ac","mil.ac","net.ac","org.ac","ad","ae","ac.ae","co.ae","gov.ae","mil.ae","net.ae","org.ae","sch.ae","aero","airline.aero","airport.aero","accident-investigation.aero","accident-prevention.aero","aerobatic.aero","aeroclub.aero","aerodrome.aero","agents.aero","air-surveillance.aero","air-traffic-control.aero","aircraft.aero","airtraffic.aero","ambulance.aero","association.aero","author.aero","ballooning.aero","broker.aero","caa.aero","cargo.aero","catering.aero","certification.aero","championship.aero","charter.aero","civilaviation.aero","club.aero","conference.aero","consultant.aero","consulting.aero","control.aero","council.aero","crew.aero","design.aero","dgca.aero","educator.aero","emergency.aero","engine.aero","engineer.aero","entertainment.aero","equipment.aero","exchange.aero","express.aero","federation.aero","flight.aero","freight.aero","fuel.aero","gliding.aero","government.aero","groundhandling.aero","group.aero","hanggliding.aero","homebuilt.aero","insurance.aero","journal.aero","journalist.aero","leasing.aero","logistics.aero","magazine.aero","maintenance.aero","marketplace.aero","media.aero","microlight.aero","modelling.aero","navigation.aero","parachuting.aero","paragliding.aero","passenger-association.aero","pilot.aero","press.aero","production.aero","recreation.aero","repbody.aero","res.aero","research.aero","rotorcraft.aero","safety.aero","scientist.aero","services.aero","show.aero","skydiving.aero","software.aero","student.aero","taxi.aero","trader.aero","trading.aero","trainer.aero","union.aero","workinggroup.aero","works.aero","af","com.af","edu.af","gov.af","net.af","org.af","ag","co.ag","com.ag","net.ag","nom.ag","org.ag","ai","com.ai","net.ai","off.ai","org.ai","al","com.al","edu.al","gov.al","mil.al","net.al","org.al","am","co.am","com.am","commune.am","net.am","org.am","ao","co.ao","ed.ao","edu.ao","gov.ao","gv.ao","it.ao","og.ao","org.ao","pb.ao","aq","ar","bet.ar","com.ar","coop.ar","edu.ar","gob.ar","gov.ar","int.ar","mil.ar","musica.ar","mutual.ar","net.ar","org.ar","senasa.ar","tur.ar","arpa","e164.arpa","home.arpa","in-addr.arpa","ip6.arpa","iris.arpa","uri.arpa","urn.arpa","as","gov.as","asia","at","ac.at","sth.ac.at","co.at","gv.at","or.at","au","asn.au","com.au","edu.au","gov.au","id.au","net.au","org.au","conf.au","oz.au","act.au","nsw.au","nt.au","qld.au","sa.au","tas.au","vic.au","wa.au","act.edu.au","catholic.edu.au","nsw.edu.au","nt.edu.au","qld.edu.au","sa.edu.au","tas.edu.au","vic.edu.au","wa.edu.au","qld.gov.au","sa.gov.au","tas.gov.au","vic.gov.au","wa.gov.au","schools.nsw.edu.au","aw","com.aw","ax","az","biz.az","com.az","edu.az","gov.az","info.az","int.az","mil.az","name.az","net.az","org.az","pp.az","pro.az","ba","com.ba","edu.ba","gov.ba","mil.ba","net.ba","org.ba","bb","biz.bb","co.bb","com.bb","edu.bb","gov.bb","info.bb","net.bb","org.bb","store.bb","tv.bb","*.bd","be","ac.be","bf","gov.bf","bg","0.bg","1.bg","2.bg","3.bg","4.bg","5.bg","6.bg","7.bg","8.bg","9.bg","a.bg","b.bg","c.bg","d.bg","e.bg","f.bg","g.bg","h.bg","i.bg","j.bg","k.bg","l.bg","m.bg","n.bg","o.bg","p.bg","q.bg","r.bg","s.bg","t.bg","u.bg","v.bg","w.bg","x.bg","y.bg","z.bg","bh","com.bh","edu.bh","gov.bh","net.bh","org.bh","bi","co.bi","com.bi","edu.bi","or.bi","org.bi","biz","bj","africa.bj","agro.bj","architectes.bj","assur.bj","avocats.bj","co.bj","com.bj","eco.bj","econo.bj","edu.bj","info.bj","loisirs.bj","money.bj","net.bj","org.bj","ote.bj","restaurant.bj","resto.bj","tourism.bj","univ.bj","bm","com.bm","edu.bm","gov.bm","net.bm","org.bm","bn","com.bn","edu.bn","gov.bn","net.bn","org.bn","bo","com.bo","edu.bo","gob.bo","int.bo","mil.bo","net.bo","org.bo","tv.bo","web.bo","academia.bo","agro.bo","arte.bo","blog.bo","bolivia.bo","ciencia.bo","cooperativa.bo","democracia.bo","deporte.bo","ecologia.bo","economia.bo","empresa.bo","indigena.bo","industria.bo","info.bo","medicina.bo","movimiento.bo","musica.bo","natural.bo","nombre.bo","noticias.bo","patria.bo","plurinacional.bo","politica.bo","profesional.bo","pueblo.bo","revista.bo","salud.bo","tecnologia.bo","tksat.bo","transporte.bo","wiki.bo","br","9guacu.br","abc.br","adm.br","adv.br","agr.br","aju.br","am.br","anani.br","aparecida.br","app.br","arq.br","art.br","ato.br","b.br","barueri.br","belem.br","bet.br","bhz.br","bib.br","bio.br","blog.br","bmd.br","boavista.br","bsb.br","campinagrande.br","campinas.br","caxias.br","cim.br","cng.br","cnt.br","com.br","contagem.br","coop.br","coz.br","cri.br","cuiaba.br","curitiba.br","def.br","des.br","det.br","dev.br","ecn.br","eco.br","edu.br","emp.br","enf.br","eng.br","esp.br","etc.br","eti.br","far.br","feira.br","flog.br","floripa.br","fm.br","fnd.br","fortal.br","fot.br","foz.br","fst.br","g12.br","geo.br","ggf.br","goiania.br","gov.br","ac.gov.br","al.gov.br","am.gov.br","ap.gov.br","ba.gov.br","ce.gov.br","df.gov.br","es.gov.br","go.gov.br","ma.gov.br","mg.gov.br","ms.gov.br","mt.gov.br","pa.gov.br","pb.gov.br","pe.gov.br","pi.gov.br","pr.gov.br","rj.gov.br","rn.gov.br","ro.gov.br","rr.gov.br","rs.gov.br","sc.gov.br","se.gov.br","sp.gov.br","to.gov.br","gru.br","imb.br","ind.br","inf.br","jab.br","jampa.br","jdf.br","joinville.br","jor.br","jus.br","leg.br","leilao.br","lel.br","log.br","londrina.br","macapa.br","maceio.br","manaus.br","maringa.br","mat.br","med.br","mil.br","morena.br","mp.br","mus.br","natal.br","net.br","niteroi.br","*.nom.br","not.br","ntr.br","odo.br","ong.br","org.br","osasco.br","palmas.br","poa.br","ppg.br","pro.br","psc.br","psi.br","pvh.br","qsl.br","radio.br","rec.br","recife.br","rep.br","ribeirao.br","rio.br","riobranco.br","riopreto.br","salvador.br","sampa.br","santamaria.br","santoandre.br","saobernardo.br","saogonca.br","seg.br","sjc.br","slg.br","slz.br","sorocaba.br","srv.br","taxi.br","tc.br","tec.br","teo.br","the.br","tmp.br","trd.br","tur.br","tv.br","udi.br","vet.br","vix.br","vlog.br","wiki.br","zlg.br","bs","com.bs","edu.bs","gov.bs","net.bs","org.bs","bt","com.bt","edu.bt","gov.bt","net.bt","org.bt","bv","bw","co.bw","org.bw","by","gov.by","mil.by","com.by","of.by","bz","co.bz","com.bz","edu.bz","gov.bz","net.bz","org.bz","ca","ab.ca","bc.ca","mb.ca","nb.ca","nf.ca","nl.ca","ns.ca","nt.ca","nu.ca","on.ca","pe.ca","qc.ca","sk.ca","yk.ca","gc.ca","cat","cc","cd","gov.cd","cf","cg","ch","ci","ac.ci","aéroport.ci","asso.ci","co.ci","com.ci","ed.ci","edu.ci","go.ci","gouv.ci","int.ci","net.ci","or.ci","org.ci","*.ck","!www.ck","cl","co.cl","gob.cl","gov.cl","mil.cl","cm","co.cm","com.cm","gov.cm","net.cm","cn","ac.cn","com.cn","edu.cn","gov.cn","mil.cn","net.cn","org.cn","公司.cn","網絡.cn","网络.cn","ah.cn","bj.cn","cq.cn","fj.cn","gd.cn","gs.cn","gx.cn","gz.cn","ha.cn","hb.cn","he.cn","hi.cn","hk.cn","hl.cn","hn.cn","jl.cn","js.cn","jx.cn","ln.cn","mo.cn","nm.cn","nx.cn","qh.cn","sc.cn","sd.cn","sh.cn","sn.cn","sx.cn","tj.cn","tw.cn","xj.cn","xz.cn","yn.cn","zj.cn","co","com.co","edu.co","gov.co","mil.co","net.co","nom.co","org.co","com","coop","cr","ac.cr","co.cr","ed.cr","fi.cr","go.cr","or.cr","sa.cr","cu","com.cu","edu.cu","gob.cu","inf.cu","nat.cu","net.cu","org.cu","cv","com.cv","edu.cv","id.cv","int.cv","net.cv","nome.cv","org.cv","publ.cv","cw","com.cw","edu.cw","net.cw","org.cw","cx","gov.cx","cy","ac.cy","biz.cy","com.cy","ekloges.cy","gov.cy","ltd.cy","mil.cy","net.cy","org.cy","press.cy","pro.cy","tm.cy","cz","de","dj","dk","dm","co.dm","com.dm","edu.dm","gov.dm","net.dm","org.dm","do","art.do","com.do","edu.do","gob.do","gov.do","mil.do","net.do","org.do","sld.do","web.do","dz","art.dz","asso.dz","com.dz","edu.dz","gov.dz","net.dz","org.dz","pol.dz","soc.dz","tm.dz","ec","com.ec","edu.ec","fin.ec","gob.ec","gov.ec","info.ec","k12.ec","med.ec","mil.ec","net.ec","org.ec","pro.ec","edu","ee","aip.ee","com.ee","edu.ee","fie.ee","gov.ee","lib.ee","med.ee","org.ee","pri.ee","riik.ee","eg","ac.eg","com.eg","edu.eg","eun.eg","gov.eg","info.eg","me.eg","mil.eg","name.eg","net.eg","org.eg","sci.eg","sport.eg","tv.eg","*.er","es","com.es","edu.es","gob.es","nom.es","org.es","et","biz.et","com.et","edu.et","gov.et","info.et","name.et","net.et","org.et","eu","fi","aland.fi","fj","ac.fj","biz.fj","com.fj","gov.fj","info.fj","mil.fj","name.fj","net.fj","org.fj","pro.fj","*.fk","fm","com.fm","edu.fm","net.fm","org.fm","fo","fr","asso.fr","com.fr","gouv.fr","nom.fr","prd.fr","tm.fr","avoues.fr","cci.fr","greta.fr","huissier-justice.fr","ga","gb","gd","edu.gd","gov.gd","ge","com.ge","edu.ge","gov.ge","net.ge","org.ge","pvt.ge","school.ge","gf","gg","co.gg","net.gg","org.gg","gh","com.gh","edu.gh","gov.gh","mil.gh","org.gh","gi","com.gi","edu.gi","gov.gi","ltd.gi","mod.gi","org.gi","gl","co.gl","com.gl","edu.gl","net.gl","org.gl","gm","gn","ac.gn","com.gn","edu.gn","gov.gn","net.gn","org.gn","gov","gp","asso.gp","com.gp","edu.gp","mobi.gp","net.gp","org.gp","gq","gr","com.gr","edu.gr","gov.gr","net.gr","org.gr","gs","gt","com.gt","edu.gt","gob.gt","ind.gt","mil.gt","net.gt","org.gt","gu","com.gu","edu.gu","gov.gu","guam.gu","info.gu","net.gu","org.gu","web.gu","gw","gy","co.gy","com.gy","edu.gy","gov.gy","net.gy","org.gy","hk","com.hk","edu.hk","gov.hk","idv.hk","net.hk","org.hk","个人.hk","個人.hk","公司.hk","政府.hk","敎育.hk","教育.hk","箇人.hk","組織.hk","組织.hk","網絡.hk","網络.hk","组織.hk","组织.hk","网絡.hk","网络.hk","hm","hn","com.hn","edu.hn","gob.hn","mil.hn","net.hn","org.hn","hr","com.hr","from.hr","iz.hr","name.hr","ht","adult.ht","art.ht","asso.ht","com.ht","coop.ht","edu.ht","firm.ht","gouv.ht","info.ht","med.ht","net.ht","org.ht","perso.ht","pol.ht","pro.ht","rel.ht","shop.ht","hu","2000.hu","agrar.hu","bolt.hu","casino.hu","city.hu","co.hu","erotica.hu","erotika.hu","film.hu","forum.hu","games.hu","hotel.hu","info.hu","ingatlan.hu","jogasz.hu","konyvelo.hu","lakas.hu","media.hu","news.hu","org.hu","priv.hu","reklam.hu","sex.hu","shop.hu","sport.hu","suli.hu","szex.hu","tm.hu","tozsde.hu","utazas.hu","video.hu","id","ac.id","biz.id","co.id","desa.id","go.id","mil.id","my.id","net.id","or.id","ponpes.id","sch.id","web.id","ie","gov.ie","il","ac.il","co.il","gov.il","idf.il","k12.il","muni.il","net.il","org.il","ישראל","אקדמיה.ישראל","ישוב.ישראל","צהל.ישראל","ממשל.ישראל","im","ac.im","co.im","ltd.co.im","plc.co.im","com.im","net.im","org.im","tt.im","tv.im","in","5g.in","6g.in","ac.in","ai.in","am.in","bihar.in","biz.in","business.in","ca.in","cn.in","co.in","com.in","coop.in","cs.in","delhi.in","dr.in","edu.in","er.in","firm.in","gen.in","gov.in","gujarat.in","ind.in","info.in","int.in","internet.in","io.in","me.in","mil.in","net.in","nic.in","org.in","pg.in","post.in","pro.in","res.in","travel.in","tv.in","uk.in","up.in","us.in","info","int","eu.int","io","co.io","com.io","edu.io","gov.io","mil.io","net.io","nom.io","org.io","iq","com.iq","edu.iq","gov.iq","mil.iq","net.iq","org.iq","ir","ac.ir","co.ir","gov.ir","id.ir","net.ir","org.ir","sch.ir","ایران.ir","ايران.ir","is","it","edu.it","gov.it","abr.it","abruzzo.it","aosta-valley.it","aostavalley.it","bas.it","basilicata.it","cal.it","calabria.it","cam.it","campania.it","emilia-romagna.it","emiliaromagna.it","emr.it","friuli-v-giulia.it","friuli-ve-giulia.it","friuli-vegiulia.it","friuli-venezia-giulia.it","friuli-veneziagiulia.it","friuli-vgiulia.it","friuliv-giulia.it","friulive-giulia.it","friulivegiulia.it","friulivenezia-giulia.it","friuliveneziagiulia.it","friulivgiulia.it","fvg.it","laz.it","lazio.it","lig.it","liguria.it","lom.it","lombardia.it","lombardy.it","lucania.it","mar.it","marche.it","mol.it","molise.it","piedmont.it","piemonte.it","pmn.it","pug.it","puglia.it","sar.it","sardegna.it","sardinia.it","sic.it","sicilia.it","sicily.it","taa.it","tos.it","toscana.it","trentin-sud-tirol.it","trentin-süd-tirol.it","trentin-sudtirol.it","trentin-südtirol.it","trentin-sued-tirol.it","trentin-suedtirol.it","trentino.it","trentino-a-adige.it","trentino-aadige.it","trentino-alto-adige.it","trentino-altoadige.it","trentino-s-tirol.it","trentino-stirol.it","trentino-sud-tirol.it","trentino-süd-tirol.it","trentino-sudtirol.it","trentino-südtirol.it","trentino-sued-tirol.it","trentino-suedtirol.it","trentinoa-adige.it","trentinoaadige.it","trentinoalto-adige.it","trentinoaltoadige.it","trentinos-tirol.it","trentinostirol.it","trentinosud-tirol.it","trentinosüd-tirol.it","trentinosudtirol.it","trentinosüdtirol.it","trentinosued-tirol.it","trentinosuedtirol.it","trentinsud-tirol.it","trentinsüd-tirol.it","trentinsudtirol.it","trentinsüdtirol.it","trentinsued-tirol.it","trentinsuedtirol.it","tuscany.it","umb.it","umbria.it","val-d-aosta.it","val-daosta.it","vald-aosta.it","valdaosta.it","valle-aosta.it","valle-d-aosta.it","valle-daosta.it","valleaosta.it","valled-aosta.it","valledaosta.it","vallee-aoste.it","vallée-aoste.it","vallee-d-aoste.it","vallée-d-aoste.it","valleeaoste.it","valléeaoste.it","valleedaoste.it","valléedaoste.it","vao.it","vda.it","ven.it","veneto.it","ag.it","agrigento.it","al.it","alessandria.it","alto-adige.it","altoadige.it","an.it","ancona.it","andria-barletta-trani.it","andria-trani-barletta.it","andriabarlettatrani.it","andriatranibarletta.it","ao.it","aosta.it","aoste.it","ap.it","aq.it","aquila.it","ar.it","arezzo.it","ascoli-piceno.it","ascolipiceno.it","asti.it","at.it","av.it","avellino.it","ba.it","balsan.it","balsan-sudtirol.it","balsan-südtirol.it","balsan-suedtirol.it","bari.it","barletta-trani-andria.it","barlettatraniandria.it","belluno.it","benevento.it","bergamo.it","bg.it","bi.it","biella.it","bl.it","bn.it","bo.it","bologna.it","bolzano.it","bolzano-altoadige.it","bozen.it","bozen-sudtirol.it","bozen-südtirol.it","bozen-suedtirol.it","br.it","brescia.it","brindisi.it","bs.it","bt.it","bulsan.it","bulsan-sudtirol.it","bulsan-südtirol.it","bulsan-suedtirol.it","bz.it","ca.it","cagliari.it","caltanissetta.it","campidano-medio.it","campidanomedio.it","campobasso.it","carbonia-iglesias.it","carboniaiglesias.it","carrara-massa.it","carraramassa.it","caserta.it","catania.it","catanzaro.it","cb.it","ce.it","cesena-forli.it","cesena-forlì.it","cesenaforli.it","cesenaforlì.it","ch.it","chieti.it","ci.it","cl.it","cn.it","co.it","como.it","cosenza.it","cr.it","cremona.it","crotone.it","cs.it","ct.it","cuneo.it","cz.it","dell-ogliastra.it","dellogliastra.it","en.it","enna.it","fc.it","fe.it","fermo.it","ferrara.it","fg.it","fi.it","firenze.it","florence.it","fm.it","foggia.it","forli-cesena.it","forlì-cesena.it","forlicesena.it","forlìcesena.it","fr.it","frosinone.it","ge.it","genoa.it","genova.it","go.it","gorizia.it","gr.it","grosseto.it","iglesias-carbonia.it","iglesiascarbonia.it","im.it","imperia.it","is.it","isernia.it","kr.it","la-spezia.it","laquila.it","laspezia.it","latina.it","lc.it","le.it","lecce.it","lecco.it","li.it","livorno.it","lo.it","lodi.it","lt.it","lu.it","lucca.it","macerata.it","mantova.it","massa-carrara.it","massacarrara.it","matera.it","mb.it","mc.it","me.it","medio-campidano.it","mediocampidano.it","messina.it","mi.it","milan.it","milano.it","mn.it","mo.it","modena.it","monza.it","monza-brianza.it","monza-e-della-brianza.it","monzabrianza.it","monzaebrianza.it","monzaedellabrianza.it","ms.it","mt.it","na.it","naples.it","napoli.it","no.it","novara.it","nu.it","nuoro.it","og.it","ogliastra.it","olbia-tempio.it","olbiatempio.it","or.it","oristano.it","ot.it","pa.it","padova.it","padua.it","palermo.it","parma.it","pavia.it","pc.it","pd.it","pe.it","perugia.it","pesaro-urbino.it","pesarourbino.it","pescara.it","pg.it","pi.it","piacenza.it","pisa.it","pistoia.it","pn.it","po.it","pordenone.it","potenza.it","pr.it","prato.it","pt.it","pu.it","pv.it","pz.it","ra.it","ragusa.it","ravenna.it","rc.it","re.it","reggio-calabria.it","reggio-emilia.it","reggiocalabria.it","reggioemilia.it","rg.it","ri.it","rieti.it","rimini.it","rm.it","rn.it","ro.it","roma.it","rome.it","rovigo.it","sa.it","salerno.it","sassari.it","savona.it","si.it","siena.it","siracusa.it","so.it","sondrio.it","sp.it","sr.it","ss.it","südtirol.it","suedtirol.it","sv.it","ta.it","taranto.it","te.it","tempio-olbia.it","tempioolbia.it","teramo.it","terni.it","tn.it","to.it","torino.it","tp.it","tr.it","trani-andria-barletta.it","trani-barletta-andria.it","traniandriabarletta.it","tranibarlettaandria.it","trapani.it","trento.it","treviso.it","trieste.it","ts.it","turin.it","tv.it","ud.it","udine.it","urbino-pesaro.it","urbinopesaro.it","va.it","varese.it","vb.it","vc.it","ve.it","venezia.it","venice.it","verbania.it","vercelli.it","verona.it","vi.it","vibo-valentia.it","vibovalentia.it","vicenza.it","viterbo.it","vr.it","vs.it","vt.it","vv.it","je","co.je","net.je","org.je","*.jm","jo","agri.jo","ai.jo","com.jo","edu.jo","eng.jo","fm.jo","gov.jo","mil.jo","net.jo","org.jo","per.jo","phd.jo","sch.jo","tv.jo","jobs","jp","ac.jp","ad.jp","co.jp","ed.jp","go.jp","gr.jp","lg.jp","ne.jp","or.jp","aichi.jp","akita.jp","aomori.jp","chiba.jp","ehime.jp","fukui.jp","fukuoka.jp","fukushima.jp","gifu.jp","gunma.jp","hiroshima.jp","hokkaido.jp","hyogo.jp","ibaraki.jp","ishikawa.jp","iwate.jp","kagawa.jp","kagoshima.jp","kanagawa.jp","kochi.jp","kumamoto.jp","kyoto.jp","mie.jp","miyagi.jp","miyazaki.jp","nagano.jp","nagasaki.jp","nara.jp","niigata.jp","oita.jp","okayama.jp","okinawa.jp","osaka.jp","saga.jp","saitama.jp","shiga.jp","shimane.jp","shizuoka.jp","tochigi.jp","tokushima.jp","tokyo.jp","tottori.jp","toyama.jp","wakayama.jp","yamagata.jp","yamaguchi.jp","yamanashi.jp","三重.jp","京都.jp","佐賀.jp","兵庫.jp","北海道.jp","千葉.jp","和歌山.jp","埼玉.jp","大分.jp","大阪.jp","奈良.jp","宮城.jp","宮崎.jp","富山.jp","山口.jp","山形.jp","山梨.jp","岐阜.jp","岡山.jp","岩手.jp","島根.jp","広島.jp","徳島.jp","愛媛.jp","愛知.jp","新潟.jp","東京.jp","栃木.jp","沖縄.jp","滋賀.jp","熊本.jp","石川.jp","神奈川.jp","福井.jp","福岡.jp","福島.jp","秋田.jp","群馬.jp","茨城.jp","長崎.jp","長野.jp","青森.jp","静岡.jp","香川.jp","高知.jp","鳥取.jp","鹿児島.jp","*.kawasaki.jp","!city.kawasaki.jp","*.kitakyushu.jp","!city.kitakyushu.jp","*.kobe.jp","!city.kobe.jp","*.nagoya.jp","!city.nagoya.jp","*.sapporo.jp","!city.sapporo.jp","*.sendai.jp","!city.sendai.jp","*.yokohama.jp","!city.yokohama.jp","aisai.aichi.jp","ama.aichi.jp","anjo.aichi.jp","asuke.aichi.jp","chiryu.aichi.jp","chita.aichi.jp","fuso.aichi.jp","gamagori.aichi.jp","handa.aichi.jp","hazu.aichi.jp","hekinan.aichi.jp","higashiura.aichi.jp","ichinomiya.aichi.jp","inazawa.aichi.jp","inuyama.aichi.jp","isshiki.aichi.jp","iwakura.aichi.jp","kanie.aichi.jp","kariya.aichi.jp","kasugai.aichi.jp","kira.aichi.jp","kiyosu.aichi.jp","komaki.aichi.jp","konan.aichi.jp","kota.aichi.jp","mihama.aichi.jp","miyoshi.aichi.jp","nishio.aichi.jp","nisshin.aichi.jp","obu.aichi.jp","oguchi.aichi.jp","oharu.aichi.jp","okazaki.aichi.jp","owariasahi.aichi.jp","seto.aichi.jp","shikatsu.aichi.jp","shinshiro.aichi.jp","shitara.aichi.jp","tahara.aichi.jp","takahama.aichi.jp","tobishima.aichi.jp","toei.aichi.jp","togo.aichi.jp","tokai.aichi.jp","tokoname.aichi.jp","toyoake.aichi.jp","toyohashi.aichi.jp","toyokawa.aichi.jp","toyone.aichi.jp","toyota.aichi.jp","tsushima.aichi.jp","yatomi.aichi.jp","akita.akita.jp","daisen.akita.jp","fujisato.akita.jp","gojome.akita.jp","hachirogata.akita.jp","happou.akita.jp","higashinaruse.akita.jp","honjo.akita.jp","honjyo.akita.jp","ikawa.akita.jp","kamikoani.akita.jp","kamioka.akita.jp","katagami.akita.jp","kazuno.akita.jp","kitaakita.akita.jp","kosaka.akita.jp","kyowa.akita.jp","misato.akita.jp","mitane.akita.jp","moriyoshi.akita.jp","nikaho.akita.jp","noshiro.akita.jp","odate.akita.jp","oga.akita.jp","ogata.akita.jp","semboku.akita.jp","yokote.akita.jp","yurihonjo.akita.jp","aomori.aomori.jp","gonohe.aomori.jp","hachinohe.aomori.jp","hashikami.aomori.jp","hiranai.aomori.jp","hirosaki.aomori.jp","itayanagi.aomori.jp","kuroishi.aomori.jp","misawa.aomori.jp","mutsu.aomori.jp","nakadomari.aomori.jp","noheji.aomori.jp","oirase.aomori.jp","owani.aomori.jp","rokunohe.aomori.jp","sannohe.aomori.jp","shichinohe.aomori.jp","shingo.aomori.jp","takko.aomori.jp","towada.aomori.jp","tsugaru.aomori.jp","tsuruta.aomori.jp","abiko.chiba.jp","asahi.chiba.jp","chonan.chiba.jp","chosei.chiba.jp","choshi.chiba.jp","chuo.chiba.jp","funabashi.chiba.jp","futtsu.chiba.jp","hanamigawa.chiba.jp","ichihara.chiba.jp","ichikawa.chiba.jp","ichinomiya.chiba.jp","inzai.chiba.jp","isumi.chiba.jp","kamagaya.chiba.jp","kamogawa.chiba.jp","kashiwa.chiba.jp","katori.chiba.jp","katsuura.chiba.jp","kimitsu.chiba.jp","kisarazu.chiba.jp","kozaki.chiba.jp","kujukuri.chiba.jp","kyonan.chiba.jp","matsudo.chiba.jp","midori.chiba.jp","mihama.chiba.jp","minamiboso.chiba.jp","mobara.chiba.jp","mutsuzawa.chiba.jp","nagara.chiba.jp","nagareyama.chiba.jp","narashino.chiba.jp","narita.chiba.jp","noda.chiba.jp","oamishirasato.chiba.jp","omigawa.chiba.jp","onjuku.chiba.jp","otaki.chiba.jp","sakae.chiba.jp","sakura.chiba.jp","shimofusa.chiba.jp","shirako.chiba.jp","shiroi.chiba.jp","shisui.chiba.jp","sodegaura.chiba.jp","sosa.chiba.jp","tako.chiba.jp","tateyama.chiba.jp","togane.chiba.jp","tohnosho.chiba.jp","tomisato.chiba.jp","urayasu.chiba.jp","yachimata.chiba.jp","yachiyo.chiba.jp","yokaichiba.chiba.jp","yokoshibahikari.chiba.jp","yotsukaido.chiba.jp","ainan.ehime.jp","honai.ehime.jp","ikata.ehime.jp","imabari.ehime.jp","iyo.ehime.jp","kamijima.ehime.jp","kihoku.ehime.jp","kumakogen.ehime.jp","masaki.ehime.jp","matsuno.ehime.jp","matsuyama.ehime.jp","namikata.ehime.jp","niihama.ehime.jp","ozu.ehime.jp","saijo.ehime.jp","seiyo.ehime.jp","shikokuchuo.ehime.jp","tobe.ehime.jp","toon.ehime.jp","uchiko.ehime.jp","uwajima.ehime.jp","yawatahama.ehime.jp","echizen.fukui.jp","eiheiji.fukui.jp","fukui.fukui.jp","ikeda.fukui.jp","katsuyama.fukui.jp","mihama.fukui.jp","minamiechizen.fukui.jp","obama.fukui.jp","ohi.fukui.jp","ono.fukui.jp","sabae.fukui.jp","sakai.fukui.jp","takahama.fukui.jp","tsuruga.fukui.jp","wakasa.fukui.jp","ashiya.fukuoka.jp","buzen.fukuoka.jp","chikugo.fukuoka.jp","chikuho.fukuoka.jp","chikujo.fukuoka.jp","chikushino.fukuoka.jp","chikuzen.fukuoka.jp","chuo.fukuoka.jp","dazaifu.fukuoka.jp","fukuchi.fukuoka.jp","hakata.fukuoka.jp","higashi.fukuoka.jp","hirokawa.fukuoka.jp","hisayama.fukuoka.jp","iizuka.fukuoka.jp","inatsuki.fukuoka.jp","kaho.fukuoka.jp","kasuga.fukuoka.jp","kasuya.fukuoka.jp","kawara.fukuoka.jp","keisen.fukuoka.jp","koga.fukuoka.jp","kurate.fukuoka.jp","kurogi.fukuoka.jp","kurume.fukuoka.jp","minami.fukuoka.jp","miyako.fukuoka.jp","miyama.fukuoka.jp","miyawaka.fukuoka.jp","mizumaki.fukuoka.jp","munakata.fukuoka.jp","nakagawa.fukuoka.jp","nakama.fukuoka.jp","nishi.fukuoka.jp","nogata.fukuoka.jp","ogori.fukuoka.jp","okagaki.fukuoka.jp","okawa.fukuoka.jp","oki.fukuoka.jp","omuta.fukuoka.jp","onga.fukuoka.jp","onojo.fukuoka.jp","oto.fukuoka.jp","saigawa.fukuoka.jp","sasaguri.fukuoka.jp","shingu.fukuoka.jp","shinyoshitomi.fukuoka.jp","shonai.fukuoka.jp","soeda.fukuoka.jp","sue.fukuoka.jp","tachiarai.fukuoka.jp","tagawa.fukuoka.jp","takata.fukuoka.jp","toho.fukuoka.jp","toyotsu.fukuoka.jp","tsuiki.fukuoka.jp","ukiha.fukuoka.jp","umi.fukuoka.jp","usui.fukuoka.jp","yamada.fukuoka.jp","yame.fukuoka.jp","yanagawa.fukuoka.jp","yukuhashi.fukuoka.jp","aizubange.fukushima.jp","aizumisato.fukushima.jp","aizuwakamatsu.fukushima.jp","asakawa.fukushima.jp","bandai.fukushima.jp","date.fukushima.jp","fukushima.fukushima.jp","furudono.fukushima.jp","futaba.fukushima.jp","hanawa.fukushima.jp","higashi.fukushima.jp","hirata.fukushima.jp","hirono.fukushima.jp","iitate.fukushima.jp","inawashiro.fukushima.jp","ishikawa.fukushima.jp","iwaki.fukushima.jp","izumizaki.fukushima.jp","kagamiishi.fukushima.jp","kaneyama.fukushima.jp","kawamata.fukushima.jp","kitakata.fukushima.jp","kitashiobara.fukushima.jp","koori.fukushima.jp","koriyama.fukushima.jp","kunimi.fukushima.jp","miharu.fukushima.jp","mishima.fukushima.jp","namie.fukushima.jp","nango.fukushima.jp","nishiaizu.fukushima.jp","nishigo.fukushima.jp","okuma.fukushima.jp","omotego.fukushima.jp","ono.fukushima.jp","otama.fukushima.jp","samegawa.fukushima.jp","shimogo.fukushima.jp","shirakawa.fukushima.jp","showa.fukushima.jp","soma.fukushima.jp","sukagawa.fukushima.jp","taishin.fukushima.jp","tamakawa.fukushima.jp","tanagura.fukushima.jp","tenei.fukushima.jp","yabuki.fukushima.jp","yamato.fukushima.jp","yamatsuri.fukushima.jp","yanaizu.fukushima.jp","yugawa.fukushima.jp","anpachi.gifu.jp","ena.gifu.jp","gifu.gifu.jp","ginan.gifu.jp","godo.gifu.jp","gujo.gifu.jp","hashima.gifu.jp","hichiso.gifu.jp","hida.gifu.jp","higashishirakawa.gifu.jp","ibigawa.gifu.jp","ikeda.gifu.jp","kakamigahara.gifu.jp","kani.gifu.jp","kasahara.gifu.jp","kasamatsu.gifu.jp","kawaue.gifu.jp","kitagata.gifu.jp","mino.gifu.jp","minokamo.gifu.jp","mitake.gifu.jp","mizunami.gifu.jp","motosu.gifu.jp","nakatsugawa.gifu.jp","ogaki.gifu.jp","sakahogi.gifu.jp","seki.gifu.jp","sekigahara.gifu.jp","shirakawa.gifu.jp","tajimi.gifu.jp","takayama.gifu.jp","tarui.gifu.jp","toki.gifu.jp","tomika.gifu.jp","wanouchi.gifu.jp","yamagata.gifu.jp","yaotsu.gifu.jp","yoro.gifu.jp","annaka.gunma.jp","chiyoda.gunma.jp","fujioka.gunma.jp","higashiagatsuma.gunma.jp","isesaki.gunma.jp","itakura.gunma.jp","kanna.gunma.jp","kanra.gunma.jp","katashina.gunma.jp","kawaba.gunma.jp","kiryu.gunma.jp","kusatsu.gunma.jp","maebashi.gunma.jp","meiwa.gunma.jp","midori.gunma.jp","minakami.gunma.jp","naganohara.gunma.jp","nakanojo.gunma.jp","nanmoku.gunma.jp","numata.gunma.jp","oizumi.gunma.jp","ora.gunma.jp","ota.gunma.jp","shibukawa.gunma.jp","shimonita.gunma.jp","shinto.gunma.jp","showa.gunma.jp","takasaki.gunma.jp","takayama.gunma.jp","tamamura.gunma.jp","tatebayashi.gunma.jp","tomioka.gunma.jp","tsukiyono.gunma.jp","tsumagoi.gunma.jp","ueno.gunma.jp","yoshioka.gunma.jp","asaminami.hiroshima.jp","daiwa.hiroshima.jp","etajima.hiroshima.jp","fuchu.hiroshima.jp","fukuyama.hiroshima.jp","hatsukaichi.hiroshima.jp","higashihiroshima.hiroshima.jp","hongo.hiroshima.jp","jinsekikogen.hiroshima.jp","kaita.hiroshima.jp","kui.hiroshima.jp","kumano.hiroshima.jp","kure.hiroshima.jp","mihara.hiroshima.jp","miyoshi.hiroshima.jp","naka.hiroshima.jp","onomichi.hiroshima.jp","osakikamijima.hiroshima.jp","otake.hiroshima.jp","saka.hiroshima.jp","sera.hiroshima.jp","seranishi.hiroshima.jp","shinichi.hiroshima.jp","shobara.hiroshima.jp","takehara.hiroshima.jp","abashiri.hokkaido.jp","abira.hokkaido.jp","aibetsu.hokkaido.jp","akabira.hokkaido.jp","akkeshi.hokkaido.jp","asahikawa.hokkaido.jp","ashibetsu.hokkaido.jp","ashoro.hokkaido.jp","assabu.hokkaido.jp","atsuma.hokkaido.jp","bibai.hokkaido.jp","biei.hokkaido.jp","bifuka.hokkaido.jp","bihoro.hokkaido.jp","biratori.hokkaido.jp","chippubetsu.hokkaido.jp","chitose.hokkaido.jp","date.hokkaido.jp","ebetsu.hokkaido.jp","embetsu.hokkaido.jp","eniwa.hokkaido.jp","erimo.hokkaido.jp","esan.hokkaido.jp","esashi.hokkaido.jp","fukagawa.hokkaido.jp","fukushima.hokkaido.jp","furano.hokkaido.jp","furubira.hokkaido.jp","haboro.hokkaido.jp","hakodate.hokkaido.jp","hamatonbetsu.hokkaido.jp","hidaka.hokkaido.jp","higashikagura.hokkaido.jp","higashikawa.hokkaido.jp","hiroo.hokkaido.jp","hokuryu.hokkaido.jp","hokuto.hokkaido.jp","honbetsu.hokkaido.jp","horokanai.hokkaido.jp","horonobe.hokkaido.jp","ikeda.hokkaido.jp","imakane.hokkaido.jp","ishikari.hokkaido.jp","iwamizawa.hokkaido.jp","iwanai.hokkaido.jp","kamifurano.hokkaido.jp","kamikawa.hokkaido.jp","kamishihoro.hokkaido.jp","kamisunagawa.hokkaido.jp","kamoenai.hokkaido.jp","kayabe.hokkaido.jp","kembuchi.hokkaido.jp","kikonai.hokkaido.jp","kimobetsu.hokkaido.jp","kitahiroshima.hokkaido.jp","kitami.hokkaido.jp","kiyosato.hokkaido.jp","koshimizu.hokkaido.jp","kunneppu.hokkaido.jp","kuriyama.hokkaido.jp","kuromatsunai.hokkaido.jp","kushiro.hokkaido.jp","kutchan.hokkaido.jp","kyowa.hokkaido.jp","mashike.hokkaido.jp","matsumae.hokkaido.jp","mikasa.hokkaido.jp","minamifurano.hokkaido.jp","mombetsu.hokkaido.jp","moseushi.hokkaido.jp","mukawa.hokkaido.jp","muroran.hokkaido.jp","naie.hokkaido.jp","nakagawa.hokkaido.jp","nakasatsunai.hokkaido.jp","nakatombetsu.hokkaido.jp","nanae.hokkaido.jp","nanporo.hokkaido.jp","nayoro.hokkaido.jp","nemuro.hokkaido.jp","niikappu.hokkaido.jp","niki.hokkaido.jp","nishiokoppe.hokkaido.jp","noboribetsu.hokkaido.jp","numata.hokkaido.jp","obihiro.hokkaido.jp","obira.hokkaido.jp","oketo.hokkaido.jp","okoppe.hokkaido.jp","otaru.hokkaido.jp","otobe.hokkaido.jp","otofuke.hokkaido.jp","otoineppu.hokkaido.jp","oumu.hokkaido.jp","ozora.hokkaido.jp","pippu.hokkaido.jp","rankoshi.hokkaido.jp","rebun.hokkaido.jp","rikubetsu.hokkaido.jp","rishiri.hokkaido.jp","rishirifuji.hokkaido.jp","saroma.hokkaido.jp","sarufutsu.hokkaido.jp","shakotan.hokkaido.jp","shari.hokkaido.jp","shibecha.hokkaido.jp","shibetsu.hokkaido.jp","shikabe.hokkaido.jp","shikaoi.hokkaido.jp","shimamaki.hokkaido.jp","shimizu.hokkaido.jp","shimokawa.hokkaido.jp","shinshinotsu.hokkaido.jp","shintoku.hokkaido.jp","shiranuka.hokkaido.jp","shiraoi.hokkaido.jp","shiriuchi.hokkaido.jp","sobetsu.hokkaido.jp","sunagawa.hokkaido.jp","taiki.hokkaido.jp","takasu.hokkaido.jp","takikawa.hokkaido.jp","takinoue.hokkaido.jp","teshikaga.hokkaido.jp","tobetsu.hokkaido.jp","tohma.hokkaido.jp","tomakomai.hokkaido.jp","tomari.hokkaido.jp","toya.hokkaido.jp","toyako.hokkaido.jp","toyotomi.hokkaido.jp","toyoura.hokkaido.jp","tsubetsu.hokkaido.jp","tsukigata.hokkaido.jp","urakawa.hokkaido.jp","urausu.hokkaido.jp","uryu.hokkaido.jp","utashinai.hokkaido.jp","wakkanai.hokkaido.jp","wassamu.hokkaido.jp","yakumo.hokkaido.jp","yoichi.hokkaido.jp","aioi.hyogo.jp","akashi.hyogo.jp","ako.hyogo.jp","amagasaki.hyogo.jp","aogaki.hyogo.jp","asago.hyogo.jp","ashiya.hyogo.jp","awaji.hyogo.jp","fukusaki.hyogo.jp","goshiki.hyogo.jp","harima.hyogo.jp","himeji.hyogo.jp","ichikawa.hyogo.jp","inagawa.hyogo.jp","itami.hyogo.jp","kakogawa.hyogo.jp","kamigori.hyogo.jp","kamikawa.hyogo.jp","kasai.hyogo.jp","kasuga.hyogo.jp","kawanishi.hyogo.jp","miki.hyogo.jp","minamiawaji.hyogo.jp","nishinomiya.hyogo.jp","nishiwaki.hyogo.jp","ono.hyogo.jp","sanda.hyogo.jp","sannan.hyogo.jp","sasayama.hyogo.jp","sayo.hyogo.jp","shingu.hyogo.jp","shinonsen.hyogo.jp","shiso.hyogo.jp","sumoto.hyogo.jp","taishi.hyogo.jp","taka.hyogo.jp","takarazuka.hyogo.jp","takasago.hyogo.jp","takino.hyogo.jp","tamba.hyogo.jp","tatsuno.hyogo.jp","toyooka.hyogo.jp","yabu.hyogo.jp","yashiro.hyogo.jp","yoka.hyogo.jp","yokawa.hyogo.jp","ami.ibaraki.jp","asahi.ibaraki.jp","bando.ibaraki.jp","chikusei.ibaraki.jp","daigo.ibaraki.jp","fujishiro.ibaraki.jp","hitachi.ibaraki.jp","hitachinaka.ibaraki.jp","hitachiomiya.ibaraki.jp","hitachiota.ibaraki.jp","ibaraki.ibaraki.jp","ina.ibaraki.jp","inashiki.ibaraki.jp","itako.ibaraki.jp","iwama.ibaraki.jp","joso.ibaraki.jp","kamisu.ibaraki.jp","kasama.ibaraki.jp","kashima.ibaraki.jp","kasumigaura.ibaraki.jp","koga.ibaraki.jp","miho.ibaraki.jp","mito.ibaraki.jp","moriya.ibaraki.jp","naka.ibaraki.jp","namegata.ibaraki.jp","oarai.ibaraki.jp","ogawa.ibaraki.jp","omitama.ibaraki.jp","ryugasaki.ibaraki.jp","sakai.ibaraki.jp","sakuragawa.ibaraki.jp","shimodate.ibaraki.jp","shimotsuma.ibaraki.jp","shirosato.ibaraki.jp","sowa.ibaraki.jp","suifu.ibaraki.jp","takahagi.ibaraki.jp","tamatsukuri.ibaraki.jp","tokai.ibaraki.jp","tomobe.ibaraki.jp","tone.ibaraki.jp","toride.ibaraki.jp","tsuchiura.ibaraki.jp","tsukuba.ibaraki.jp","uchihara.ibaraki.jp","ushiku.ibaraki.jp","yachiyo.ibaraki.jp","yamagata.ibaraki.jp","yawara.ibaraki.jp","yuki.ibaraki.jp","anamizu.ishikawa.jp","hakui.ishikawa.jp","hakusan.ishikawa.jp","kaga.ishikawa.jp","kahoku.ishikawa.jp","kanazawa.ishikawa.jp","kawakita.ishikawa.jp","komatsu.ishikawa.jp","nakanoto.ishikawa.jp","nanao.ishikawa.jp","nomi.ishikawa.jp","nonoichi.ishikawa.jp","noto.ishikawa.jp","shika.ishikawa.jp","suzu.ishikawa.jp","tsubata.ishikawa.jp","tsurugi.ishikawa.jp","uchinada.ishikawa.jp","wajima.ishikawa.jp","fudai.iwate.jp","fujisawa.iwate.jp","hanamaki.iwate.jp","hiraizumi.iwate.jp","hirono.iwate.jp","ichinohe.iwate.jp","ichinoseki.iwate.jp","iwaizumi.iwate.jp","iwate.iwate.jp","joboji.iwate.jp","kamaishi.iwate.jp","kanegasaki.iwate.jp","karumai.iwate.jp","kawai.iwate.jp","kitakami.iwate.jp","kuji.iwate.jp","kunohe.iwate.jp","kuzumaki.iwate.jp","miyako.iwate.jp","mizusawa.iwate.jp","morioka.iwate.jp","ninohe.iwate.jp","noda.iwate.jp","ofunato.iwate.jp","oshu.iwate.jp","otsuchi.iwate.jp","rikuzentakata.iwate.jp","shiwa.iwate.jp","shizukuishi.iwate.jp","sumita.iwate.jp","tanohata.iwate.jp","tono.iwate.jp","yahaba.iwate.jp","yamada.iwate.jp","ayagawa.kagawa.jp","higashikagawa.kagawa.jp","kanonji.kagawa.jp","kotohira.kagawa.jp","manno.kagawa.jp","marugame.kagawa.jp","mitoyo.kagawa.jp","naoshima.kagawa.jp","sanuki.kagawa.jp","tadotsu.kagawa.jp","takamatsu.kagawa.jp","tonosho.kagawa.jp","uchinomi.kagawa.jp","utazu.kagawa.jp","zentsuji.kagawa.jp","akune.kagoshima.jp","amami.kagoshima.jp","hioki.kagoshima.jp","isa.kagoshima.jp","isen.kagoshima.jp","izumi.kagoshima.jp","kagoshima.kagoshima.jp","kanoya.kagoshima.jp","kawanabe.kagoshima.jp","kinko.kagoshima.jp","kouyama.kagoshima.jp","makurazaki.kagoshima.jp","matsumoto.kagoshima.jp","minamitane.kagoshima.jp","nakatane.kagoshima.jp","nishinoomote.kagoshima.jp","satsumasendai.kagoshima.jp","soo.kagoshima.jp","tarumizu.kagoshima.jp","yusui.kagoshima.jp","aikawa.kanagawa.jp","atsugi.kanagawa.jp","ayase.kanagawa.jp","chigasaki.kanagawa.jp","ebina.kanagawa.jp","fujisawa.kanagawa.jp","hadano.kanagawa.jp","hakone.kanagawa.jp","hiratsuka.kanagawa.jp","isehara.kanagawa.jp","kaisei.kanagawa.jp","kamakura.kanagawa.jp","kiyokawa.kanagawa.jp","matsuda.kanagawa.jp","minamiashigara.kanagawa.jp","miura.kanagawa.jp","nakai.kanagawa.jp","ninomiya.kanagawa.jp","odawara.kanagawa.jp","oi.kanagawa.jp","oiso.kanagawa.jp","sagamihara.kanagawa.jp","samukawa.kanagawa.jp","tsukui.kanagawa.jp","yamakita.kanagawa.jp","yamato.kanagawa.jp","yokosuka.kanagawa.jp","yugawara.kanagawa.jp","zama.kanagawa.jp","zushi.kanagawa.jp","aki.kochi.jp","geisei.kochi.jp","hidaka.kochi.jp","higashitsuno.kochi.jp","ino.kochi.jp","kagami.kochi.jp","kami.kochi.jp","kitagawa.kochi.jp","kochi.kochi.jp","mihara.kochi.jp","motoyama.kochi.jp","muroto.kochi.jp","nahari.kochi.jp","nakamura.kochi.jp","nankoku.kochi.jp","nishitosa.kochi.jp","niyodogawa.kochi.jp","ochi.kochi.jp","okawa.kochi.jp","otoyo.kochi.jp","otsuki.kochi.jp","sakawa.kochi.jp","sukumo.kochi.jp","susaki.kochi.jp","tosa.kochi.jp","tosashimizu.kochi.jp","toyo.kochi.jp","tsuno.kochi.jp","umaji.kochi.jp","yasuda.kochi.jp","yusuhara.kochi.jp","amakusa.kumamoto.jp","arao.kumamoto.jp","aso.kumamoto.jp","choyo.kumamoto.jp","gyokuto.kumamoto.jp","kamiamakusa.kumamoto.jp","kikuchi.kumamoto.jp","kumamoto.kumamoto.jp","mashiki.kumamoto.jp","mifune.kumamoto.jp","minamata.kumamoto.jp","minamioguni.kumamoto.jp","nagasu.kumamoto.jp","nishihara.kumamoto.jp","oguni.kumamoto.jp","ozu.kumamoto.jp","sumoto.kumamoto.jp","takamori.kumamoto.jp","uki.kumamoto.jp","uto.kumamoto.jp","yamaga.kumamoto.jp","yamato.kumamoto.jp","yatsushiro.kumamoto.jp","ayabe.kyoto.jp","fukuchiyama.kyoto.jp","higashiyama.kyoto.jp","ide.kyoto.jp","ine.kyoto.jp","joyo.kyoto.jp","kameoka.kyoto.jp","kamo.kyoto.jp","kita.kyoto.jp","kizu.kyoto.jp","kumiyama.kyoto.jp","kyotamba.kyoto.jp","kyotanabe.kyoto.jp","kyotango.kyoto.jp","maizuru.kyoto.jp","minami.kyoto.jp","minamiyamashiro.kyoto.jp","miyazu.kyoto.jp","muko.kyoto.jp","nagaokakyo.kyoto.jp","nakagyo.kyoto.jp","nantan.kyoto.jp","oyamazaki.kyoto.jp","sakyo.kyoto.jp","seika.kyoto.jp","tanabe.kyoto.jp","uji.kyoto.jp","ujitawara.kyoto.jp","wazuka.kyoto.jp","yamashina.kyoto.jp","yawata.kyoto.jp","asahi.mie.jp","inabe.mie.jp","ise.mie.jp","kameyama.mie.jp","kawagoe.mie.jp","kiho.mie.jp","kisosaki.mie.jp","kiwa.mie.jp","komono.mie.jp","kumano.mie.jp","kuwana.mie.jp","matsusaka.mie.jp","meiwa.mie.jp","mihama.mie.jp","minamiise.mie.jp","misugi.mie.jp","miyama.mie.jp","nabari.mie.jp","shima.mie.jp","suzuka.mie.jp","tado.mie.jp","taiki.mie.jp","taki.mie.jp","tamaki.mie.jp","toba.mie.jp","tsu.mie.jp","udono.mie.jp","ureshino.mie.jp","watarai.mie.jp","yokkaichi.mie.jp","furukawa.miyagi.jp","higashimatsushima.miyagi.jp","ishinomaki.miyagi.jp","iwanuma.miyagi.jp","kakuda.miyagi.jp","kami.miyagi.jp","kawasaki.miyagi.jp","marumori.miyagi.jp","matsushima.miyagi.jp","minamisanriku.miyagi.jp","misato.miyagi.jp","murata.miyagi.jp","natori.miyagi.jp","ogawara.miyagi.jp","ohira.miyagi.jp","onagawa.miyagi.jp","osaki.miyagi.jp","rifu.miyagi.jp","semine.miyagi.jp","shibata.miyagi.jp","shichikashuku.miyagi.jp","shikama.miyagi.jp","shiogama.miyagi.jp","shiroishi.miyagi.jp","tagajo.miyagi.jp","taiwa.miyagi.jp","tome.miyagi.jp","tomiya.miyagi.jp","wakuya.miyagi.jp","watari.miyagi.jp","yamamoto.miyagi.jp","zao.miyagi.jp","aya.miyazaki.jp","ebino.miyazaki.jp","gokase.miyazaki.jp","hyuga.miyazaki.jp","kadogawa.miyazaki.jp","kawaminami.miyazaki.jp","kijo.miyazaki.jp","kitagawa.miyazaki.jp","kitakata.miyazaki.jp","kitaura.miyazaki.jp","kobayashi.miyazaki.jp","kunitomi.miyazaki.jp","kushima.miyazaki.jp","mimata.miyazaki.jp","miyakonojo.miyazaki.jp","miyazaki.miyazaki.jp","morotsuka.miyazaki.jp","nichinan.miyazaki.jp","nishimera.miyazaki.jp","nobeoka.miyazaki.jp","saito.miyazaki.jp","shiiba.miyazaki.jp","shintomi.miyazaki.jp","takaharu.miyazaki.jp","takanabe.miyazaki.jp","takazaki.miyazaki.jp","tsuno.miyazaki.jp","achi.nagano.jp","agematsu.nagano.jp","anan.nagano.jp","aoki.nagano.jp","asahi.nagano.jp","azumino.nagano.jp","chikuhoku.nagano.jp","chikuma.nagano.jp","chino.nagano.jp","fujimi.nagano.jp","hakuba.nagano.jp","hara.nagano.jp","hiraya.nagano.jp","iida.nagano.jp","iijima.nagano.jp","iiyama.nagano.jp","iizuna.nagano.jp","ikeda.nagano.jp","ikusaka.nagano.jp","ina.nagano.jp","karuizawa.nagano.jp","kawakami.nagano.jp","kiso.nagano.jp","kisofukushima.nagano.jp","kitaaiki.nagano.jp","komagane.nagano.jp","komoro.nagano.jp","matsukawa.nagano.jp","matsumoto.nagano.jp","miasa.nagano.jp","minamiaiki.nagano.jp","minamimaki.nagano.jp","minamiminowa.nagano.jp","minowa.nagano.jp","miyada.nagano.jp","miyota.nagano.jp","mochizuki.nagano.jp","nagano.nagano.jp","nagawa.nagano.jp","nagiso.nagano.jp","nakagawa.nagano.jp","nakano.nagano.jp","nozawaonsen.nagano.jp","obuse.nagano.jp","ogawa.nagano.jp","okaya.nagano.jp","omachi.nagano.jp","omi.nagano.jp","ookuwa.nagano.jp","ooshika.nagano.jp","otaki.nagano.jp","otari.nagano.jp","sakae.nagano.jp","sakaki.nagano.jp","saku.nagano.jp","sakuho.nagano.jp","shimosuwa.nagano.jp","shinanomachi.nagano.jp","shiojiri.nagano.jp","suwa.nagano.jp","suzaka.nagano.jp","takagi.nagano.jp","takamori.nagano.jp","takayama.nagano.jp","tateshina.nagano.jp","tatsuno.nagano.jp","togakushi.nagano.jp","togura.nagano.jp","tomi.nagano.jp","ueda.nagano.jp","wada.nagano.jp","yamagata.nagano.jp","yamanouchi.nagano.jp","yasaka.nagano.jp","yasuoka.nagano.jp","chijiwa.nagasaki.jp","futsu.nagasaki.jp","goto.nagasaki.jp","hasami.nagasaki.jp","hirado.nagasaki.jp","iki.nagasaki.jp","isahaya.nagasaki.jp","kawatana.nagasaki.jp","kuchinotsu.nagasaki.jp","matsuura.nagasaki.jp","nagasaki.nagasaki.jp","obama.nagasaki.jp","omura.nagasaki.jp","oseto.nagasaki.jp","saikai.nagasaki.jp","sasebo.nagasaki.jp","seihi.nagasaki.jp","shimabara.nagasaki.jp","shinkamigoto.nagasaki.jp","togitsu.nagasaki.jp","tsushima.nagasaki.jp","unzen.nagasaki.jp","ando.nara.jp","gose.nara.jp","heguri.nara.jp","higashiyoshino.nara.jp","ikaruga.nara.jp","ikoma.nara.jp","kamikitayama.nara.jp","kanmaki.nara.jp","kashiba.nara.jp","kashihara.nara.jp","katsuragi.nara.jp","kawai.nara.jp","kawakami.nara.jp","kawanishi.nara.jp","koryo.nara.jp","kurotaki.nara.jp","mitsue.nara.jp","miyake.nara.jp","nara.nara.jp","nosegawa.nara.jp","oji.nara.jp","ouda.nara.jp","oyodo.nara.jp","sakurai.nara.jp","sango.nara.jp","shimoichi.nara.jp","shimokitayama.nara.jp","shinjo.nara.jp","soni.nara.jp","takatori.nara.jp","tawaramoto.nara.jp","tenkawa.nara.jp","tenri.nara.jp","uda.nara.jp","yamatokoriyama.nara.jp","yamatotakada.nara.jp","yamazoe.nara.jp","yoshino.nara.jp","aga.niigata.jp","agano.niigata.jp","gosen.niigata.jp","itoigawa.niigata.jp","izumozaki.niigata.jp","joetsu.niigata.jp","kamo.niigata.jp","kariwa.niigata.jp","kashiwazaki.niigata.jp","minamiuonuma.niigata.jp","mitsuke.niigata.jp","muika.niigata.jp","murakami.niigata.jp","myoko.niigata.jp","nagaoka.niigata.jp","niigata.niigata.jp","ojiya.niigata.jp","omi.niigata.jp","sado.niigata.jp","sanjo.niigata.jp","seiro.niigata.jp","seirou.niigata.jp","sekikawa.niigata.jp","shibata.niigata.jp","tagami.niigata.jp","tainai.niigata.jp","tochio.niigata.jp","tokamachi.niigata.jp","tsubame.niigata.jp","tsunan.niigata.jp","uonuma.niigata.jp","yahiko.niigata.jp","yoita.niigata.jp","yuzawa.niigata.jp","beppu.oita.jp","bungoono.oita.jp","bungotakada.oita.jp","hasama.oita.jp","hiji.oita.jp","himeshima.oita.jp","hita.oita.jp","kamitsue.oita.jp","kokonoe.oita.jp","kuju.oita.jp","kunisaki.oita.jp","kusu.oita.jp","oita.oita.jp","saiki.oita.jp","taketa.oita.jp","tsukumi.oita.jp","usa.oita.jp","usuki.oita.jp","yufu.oita.jp","akaiwa.okayama.jp","asakuchi.okayama.jp","bizen.okayama.jp","hayashima.okayama.jp","ibara.okayama.jp","kagamino.okayama.jp","kasaoka.okayama.jp","kibichuo.okayama.jp","kumenan.okayama.jp","kurashiki.okayama.jp","maniwa.okayama.jp","misaki.okayama.jp","nagi.okayama.jp","niimi.okayama.jp","nishiawakura.okayama.jp","okayama.okayama.jp","satosho.okayama.jp","setouchi.okayama.jp","shinjo.okayama.jp","shoo.okayama.jp","soja.okayama.jp","takahashi.okayama.jp","tamano.okayama.jp","tsuyama.okayama.jp","wake.okayama.jp","yakage.okayama.jp","aguni.okinawa.jp","ginowan.okinawa.jp","ginoza.okinawa.jp","gushikami.okinawa.jp","haebaru.okinawa.jp","higashi.okinawa.jp","hirara.okinawa.jp","iheya.okinawa.jp","ishigaki.okinawa.jp","ishikawa.okinawa.jp","itoman.okinawa.jp","izena.okinawa.jp","kadena.okinawa.jp","kin.okinawa.jp","kitadaito.okinawa.jp","kitanakagusuku.okinawa.jp","kumejima.okinawa.jp","kunigami.okinawa.jp","minamidaito.okinawa.jp","motobu.okinawa.jp","nago.okinawa.jp","naha.okinawa.jp","nakagusuku.okinawa.jp","nakijin.okinawa.jp","nanjo.okinawa.jp","nishihara.okinawa.jp","ogimi.okinawa.jp","okinawa.okinawa.jp","onna.okinawa.jp","shimoji.okinawa.jp","taketomi.okinawa.jp","tarama.okinawa.jp","tokashiki.okinawa.jp","tomigusuku.okinawa.jp","tonaki.okinawa.jp","urasoe.okinawa.jp","uruma.okinawa.jp","yaese.okinawa.jp","yomitan.okinawa.jp","yonabaru.okinawa.jp","yonaguni.okinawa.jp","zamami.okinawa.jp","abeno.osaka.jp","chihayaakasaka.osaka.jp","chuo.osaka.jp","daito.osaka.jp","fujiidera.osaka.jp","habikino.osaka.jp","hannan.osaka.jp","higashiosaka.osaka.jp","higashisumiyoshi.osaka.jp","higashiyodogawa.osaka.jp","hirakata.osaka.jp","ibaraki.osaka.jp","ikeda.osaka.jp","izumi.osaka.jp","izumiotsu.osaka.jp","izumisano.osaka.jp","kadoma.osaka.jp","kaizuka.osaka.jp","kanan.osaka.jp","kashiwara.osaka.jp","katano.osaka.jp","kawachinagano.osaka.jp","kishiwada.osaka.jp","kita.osaka.jp","kumatori.osaka.jp","matsubara.osaka.jp","minato.osaka.jp","minoh.osaka.jp","misaki.osaka.jp","moriguchi.osaka.jp","neyagawa.osaka.jp","nishi.osaka.jp","nose.osaka.jp","osakasayama.osaka.jp","sakai.osaka.jp","sayama.osaka.jp","sennan.osaka.jp","settsu.osaka.jp","shijonawate.osaka.jp","shimamoto.osaka.jp","suita.osaka.jp","tadaoka.osaka.jp","taishi.osaka.jp","tajiri.osaka.jp","takaishi.osaka.jp","takatsuki.osaka.jp","tondabayashi.osaka.jp","toyonaka.osaka.jp","toyono.osaka.jp","yao.osaka.jp","ariake.saga.jp","arita.saga.jp","fukudomi.saga.jp","genkai.saga.jp","hamatama.saga.jp","hizen.saga.jp","imari.saga.jp","kamimine.saga.jp","kanzaki.saga.jp","karatsu.saga.jp","kashima.saga.jp","kitagata.saga.jp","kitahata.saga.jp","kiyama.saga.jp","kouhoku.saga.jp","kyuragi.saga.jp","nishiarita.saga.jp","ogi.saga.jp","omachi.saga.jp","ouchi.saga.jp","saga.saga.jp","shiroishi.saga.jp","taku.saga.jp","tara.saga.jp","tosu.saga.jp","yoshinogari.saga.jp","arakawa.saitama.jp","asaka.saitama.jp","chichibu.saitama.jp","fujimi.saitama.jp","fujimino.saitama.jp","fukaya.saitama.jp","hanno.saitama.jp","hanyu.saitama.jp","hasuda.saitama.jp","hatogaya.saitama.jp","hatoyama.saitama.jp","hidaka.saitama.jp","higashichichibu.saitama.jp","higashimatsuyama.saitama.jp","honjo.saitama.jp","ina.saitama.jp","iruma.saitama.jp","iwatsuki.saitama.jp","kamiizumi.saitama.jp","kamikawa.saitama.jp","kamisato.saitama.jp","kasukabe.saitama.jp","kawagoe.saitama.jp","kawaguchi.saitama.jp","kawajima.saitama.jp","kazo.saitama.jp","kitamoto.saitama.jp","koshigaya.saitama.jp","kounosu.saitama.jp","kuki.saitama.jp","kumagaya.saitama.jp","matsubushi.saitama.jp","minano.saitama.jp","misato.saitama.jp","miyashiro.saitama.jp","miyoshi.saitama.jp","moroyama.saitama.jp","nagatoro.saitama.jp","namegawa.saitama.jp","niiza.saitama.jp","ogano.saitama.jp","ogawa.saitama.jp","ogose.saitama.jp","okegawa.saitama.jp","omiya.saitama.jp","otaki.saitama.jp","ranzan.saitama.jp","ryokami.saitama.jp","saitama.saitama.jp","sakado.saitama.jp","satte.saitama.jp","sayama.saitama.jp","shiki.saitama.jp","shiraoka.saitama.jp","soka.saitama.jp","sugito.saitama.jp","toda.saitama.jp","tokigawa.saitama.jp","tokorozawa.saitama.jp","tsurugashima.saitama.jp","urawa.saitama.jp","warabi.saitama.jp","yashio.saitama.jp","yokoze.saitama.jp","yono.saitama.jp","yorii.saitama.jp","yoshida.saitama.jp","yoshikawa.saitama.jp","yoshimi.saitama.jp","aisho.shiga.jp","gamo.shiga.jp","higashiomi.shiga.jp","hikone.shiga.jp","koka.shiga.jp","konan.shiga.jp","kosei.shiga.jp","koto.shiga.jp","kusatsu.shiga.jp","maibara.shiga.jp","moriyama.shiga.jp","nagahama.shiga.jp","nishiazai.shiga.jp","notogawa.shiga.jp","omihachiman.shiga.jp","otsu.shiga.jp","ritto.shiga.jp","ryuoh.shiga.jp","takashima.shiga.jp","takatsuki.shiga.jp","torahime.shiga.jp","toyosato.shiga.jp","yasu.shiga.jp","akagi.shimane.jp","ama.shimane.jp","gotsu.shimane.jp","hamada.shimane.jp","higashiizumo.shimane.jp","hikawa.shimane.jp","hikimi.shimane.jp","izumo.shimane.jp","kakinoki.shimane.jp","masuda.shimane.jp","matsue.shimane.jp","misato.shimane.jp","nishinoshima.shimane.jp","ohda.shimane.jp","okinoshima.shimane.jp","okuizumo.shimane.jp","shimane.shimane.jp","tamayu.shimane.jp","tsuwano.shimane.jp","unnan.shimane.jp","yakumo.shimane.jp","yasugi.shimane.jp","yatsuka.shimane.jp","arai.shizuoka.jp","atami.shizuoka.jp","fuji.shizuoka.jp","fujieda.shizuoka.jp","fujikawa.shizuoka.jp","fujinomiya.shizuoka.jp","fukuroi.shizuoka.jp","gotemba.shizuoka.jp","haibara.shizuoka.jp","hamamatsu.shizuoka.jp","higashiizu.shizuoka.jp","ito.shizuoka.jp","iwata.shizuoka.jp","izu.shizuoka.jp","izunokuni.shizuoka.jp","kakegawa.shizuoka.jp","kannami.shizuoka.jp","kawanehon.shizuoka.jp","kawazu.shizuoka.jp","kikugawa.shizuoka.jp","kosai.shizuoka.jp","makinohara.shizuoka.jp","matsuzaki.shizuoka.jp","minamiizu.shizuoka.jp","mishima.shizuoka.jp","morimachi.shizuoka.jp","nishiizu.shizuoka.jp","numazu.shizuoka.jp","omaezaki.shizuoka.jp","shimada.shizuoka.jp","shimizu.shizuoka.jp","shimoda.shizuoka.jp","shizuoka.shizuoka.jp","susono.shizuoka.jp","yaizu.shizuoka.jp","yoshida.shizuoka.jp","ashikaga.tochigi.jp","bato.tochigi.jp","haga.tochigi.jp","ichikai.tochigi.jp","iwafune.tochigi.jp","kaminokawa.tochigi.jp","kanuma.tochigi.jp","karasuyama.tochigi.jp","kuroiso.tochigi.jp","mashiko.tochigi.jp","mibu.tochigi.jp","moka.tochigi.jp","motegi.tochigi.jp","nasu.tochigi.jp","nasushiobara.tochigi.jp","nikko.tochigi.jp","nishikata.tochigi.jp","nogi.tochigi.jp","ohira.tochigi.jp","ohtawara.tochigi.jp","oyama.tochigi.jp","sakura.tochigi.jp","sano.tochigi.jp","shimotsuke.tochigi.jp","shioya.tochigi.jp","takanezawa.tochigi.jp","tochigi.tochigi.jp","tsuga.tochigi.jp","ujiie.tochigi.jp","utsunomiya.tochigi.jp","yaita.tochigi.jp","aizumi.tokushima.jp","anan.tokushima.jp","ichiba.tokushima.jp","itano.tokushima.jp","kainan.tokushima.jp","komatsushima.tokushima.jp","matsushige.tokushima.jp","mima.tokushima.jp","minami.tokushima.jp","miyoshi.tokushima.jp","mugi.tokushima.jp","nakagawa.tokushima.jp","naruto.tokushima.jp","sanagochi.tokushima.jp","shishikui.tokushima.jp","tokushima.tokushima.jp","wajiki.tokushima.jp","adachi.tokyo.jp","akiruno.tokyo.jp","akishima.tokyo.jp","aogashima.tokyo.jp","arakawa.tokyo.jp","bunkyo.tokyo.jp","chiyoda.tokyo.jp","chofu.tokyo.jp","chuo.tokyo.jp","edogawa.tokyo.jp","fuchu.tokyo.jp","fussa.tokyo.jp","hachijo.tokyo.jp","hachioji.tokyo.jp","hamura.tokyo.jp","higashikurume.tokyo.jp","higashimurayama.tokyo.jp","higashiyamato.tokyo.jp","hino.tokyo.jp","hinode.tokyo.jp","hinohara.tokyo.jp","inagi.tokyo.jp","itabashi.tokyo.jp","katsushika.tokyo.jp","kita.tokyo.jp","kiyose.tokyo.jp","kodaira.tokyo.jp","koganei.tokyo.jp","kokubunji.tokyo.jp","komae.tokyo.jp","koto.tokyo.jp","kouzushima.tokyo.jp","kunitachi.tokyo.jp","machida.tokyo.jp","meguro.tokyo.jp","minato.tokyo.jp","mitaka.tokyo.jp","mizuho.tokyo.jp","musashimurayama.tokyo.jp","musashino.tokyo.jp","nakano.tokyo.jp","nerima.tokyo.jp","ogasawara.tokyo.jp","okutama.tokyo.jp","ome.tokyo.jp","oshima.tokyo.jp","ota.tokyo.jp","setagaya.tokyo.jp","shibuya.tokyo.jp","shinagawa.tokyo.jp","shinjuku.tokyo.jp","suginami.tokyo.jp","sumida.tokyo.jp","tachikawa.tokyo.jp","taito.tokyo.jp","tama.tokyo.jp","toshima.tokyo.jp","chizu.tottori.jp","hino.tottori.jp","kawahara.tottori.jp","koge.tottori.jp","kotoura.tottori.jp","misasa.tottori.jp","nanbu.tottori.jp","nichinan.tottori.jp","sakaiminato.tottori.jp","tottori.tottori.jp","wakasa.tottori.jp","yazu.tottori.jp","yonago.tottori.jp","asahi.toyama.jp","fuchu.toyama.jp","fukumitsu.toyama.jp","funahashi.toyama.jp","himi.toyama.jp","imizu.toyama.jp","inami.toyama.jp","johana.toyama.jp","kamiichi.toyama.jp","kurobe.toyama.jp","nakaniikawa.toyama.jp","namerikawa.toyama.jp","nanto.toyama.jp","nyuzen.toyama.jp","oyabe.toyama.jp","taira.toyama.jp","takaoka.toyama.jp","tateyama.toyama.jp","toga.toyama.jp","tonami.toyama.jp","toyama.toyama.jp","unazuki.toyama.jp","uozu.toyama.jp","yamada.toyama.jp","arida.wakayama.jp","aridagawa.wakayama.jp","gobo.wakayama.jp","hashimoto.wakayama.jp","hidaka.wakayama.jp","hirogawa.wakayama.jp","inami.wakayama.jp","iwade.wakayama.jp","kainan.wakayama.jp","kamitonda.wakayama.jp","katsuragi.wakayama.jp","kimino.wakayama.jp","kinokawa.wakayama.jp","kitayama.wakayama.jp","koya.wakayama.jp","koza.wakayama.jp","kozagawa.wakayama.jp","kudoyama.wakayama.jp","kushimoto.wakayama.jp","mihama.wakayama.jp","misato.wakayama.jp","nachikatsuura.wakayama.jp","shingu.wakayama.jp","shirahama.wakayama.jp","taiji.wakayama.jp","tanabe.wakayama.jp","wakayama.wakayama.jp","yuasa.wakayama.jp","yura.wakayama.jp","asahi.yamagata.jp","funagata.yamagata.jp","higashine.yamagata.jp","iide.yamagata.jp","kahoku.yamagata.jp","kaminoyama.yamagata.jp","kaneyama.yamagata.jp","kawanishi.yamagata.jp","mamurogawa.yamagata.jp","mikawa.yamagata.jp","murayama.yamagata.jp","nagai.yamagata.jp","nakayama.yamagata.jp","nanyo.yamagata.jp","nishikawa.yamagata.jp","obanazawa.yamagata.jp","oe.yamagata.jp","oguni.yamagata.jp","ohkura.yamagata.jp","oishida.yamagata.jp","sagae.yamagata.jp","sakata.yamagata.jp","sakegawa.yamagata.jp","shinjo.yamagata.jp","shirataka.yamagata.jp","shonai.yamagata.jp","takahata.yamagata.jp","tendo.yamagata.jp","tozawa.yamagata.jp","tsuruoka.yamagata.jp","yamagata.yamagata.jp","yamanobe.yamagata.jp","yonezawa.yamagata.jp","yuza.yamagata.jp","abu.yamaguchi.jp","hagi.yamaguchi.jp","hikari.yamaguchi.jp","hofu.yamaguchi.jp","iwakuni.yamaguchi.jp","kudamatsu.yamaguchi.jp","mitou.yamaguchi.jp","nagato.yamaguchi.jp","oshima.yamaguchi.jp","shimonoseki.yamaguchi.jp","shunan.yamaguchi.jp","tabuse.yamaguchi.jp","tokuyama.yamaguchi.jp","toyota.yamaguchi.jp","ube.yamaguchi.jp","yuu.yamaguchi.jp","chuo.yamanashi.jp","doshi.yamanashi.jp","fuefuki.yamanashi.jp","fujikawa.yamanashi.jp","fujikawaguchiko.yamanashi.jp","fujiyoshida.yamanashi.jp","hayakawa.yamanashi.jp","hokuto.yamanashi.jp","ichikawamisato.yamanashi.jp","kai.yamanashi.jp","kofu.yamanashi.jp","koshu.yamanashi.jp","kosuge.yamanashi.jp","minami-alps.yamanashi.jp","minobu.yamanashi.jp","nakamichi.yamanashi.jp","nanbu.yamanashi.jp","narusawa.yamanashi.jp","nirasaki.yamanashi.jp","nishikatsura.yamanashi.jp","oshino.yamanashi.jp","otsuki.yamanashi.jp","showa.yamanashi.jp","tabayama.yamanashi.jp","tsuru.yamanashi.jp","uenohara.yamanashi.jp","yamanakako.yamanashi.jp","yamanashi.yamanashi.jp","ke","ac.ke","co.ke","go.ke","info.ke","me.ke","mobi.ke","ne.ke","or.ke","sc.ke","kg","com.kg","edu.kg","gov.kg","mil.kg","net.kg","org.kg","*.kh","ki","biz.ki","com.ki","edu.ki","gov.ki","info.ki","net.ki","org.ki","km","ass.km","com.km","edu.km","gov.km","mil.km","nom.km","org.km","prd.km","tm.km","asso.km","coop.km","gouv.km","medecin.km","notaires.km","pharmaciens.km","presse.km","veterinaire.km","kn","edu.kn","gov.kn","net.kn","org.kn","kp","com.kp","edu.kp","gov.kp","org.kp","rep.kp","tra.kp","kr","ac.kr","co.kr","es.kr","go.kr","hs.kr","kg.kr","mil.kr","ms.kr","ne.kr","or.kr","pe.kr","re.kr","sc.kr","busan.kr","chungbuk.kr","chungnam.kr","daegu.kr","daejeon.kr","gangwon.kr","gwangju.kr","gyeongbuk.kr","gyeonggi.kr","gyeongnam.kr","incheon.kr","jeju.kr","jeonbuk.kr","jeonnam.kr","seoul.kr","ulsan.kr","kw","com.kw","edu.kw","emb.kw","gov.kw","ind.kw","net.kw","org.kw","ky","com.ky","edu.ky","net.ky","org.ky","kz","com.kz","edu.kz","gov.kz","mil.kz","net.kz","org.kz","la","com.la","edu.la","gov.la","info.la","int.la","net.la","org.la","per.la","lb","com.lb","edu.lb","gov.lb","net.lb","org.lb","lc","co.lc","com.lc","edu.lc","gov.lc","net.lc","org.lc","li","lk","ac.lk","assn.lk","com.lk","edu.lk","gov.lk","grp.lk","hotel.lk","int.lk","ltd.lk","net.lk","ngo.lk","org.lk","sch.lk","soc.lk","web.lk","lr","com.lr","edu.lr","gov.lr","net.lr","org.lr","ls","ac.ls","biz.ls","co.ls","edu.ls","gov.ls","info.ls","net.ls","org.ls","sc.ls","lt","gov.lt","lu","lv","asn.lv","com.lv","conf.lv","edu.lv","gov.lv","id.lv","mil.lv","net.lv","org.lv","ly","com.ly","edu.ly","gov.ly","id.ly","med.ly","net.ly","org.ly","plc.ly","sch.ly","ma","ac.ma","co.ma","gov.ma","net.ma","org.ma","press.ma","mc","asso.mc","tm.mc","md","me","ac.me","co.me","edu.me","gov.me","its.me","net.me","org.me","priv.me","mg","co.mg","com.mg","edu.mg","gov.mg","mil.mg","nom.mg","org.mg","prd.mg","mh","mil","mk","com.mk","edu.mk","gov.mk","inf.mk","name.mk","net.mk","org.mk","ml","com.ml","edu.ml","gouv.ml","gov.ml","net.ml","org.ml","presse.ml","*.mm","mn","edu.mn","gov.mn","org.mn","mo","com.mo","edu.mo","gov.mo","net.mo","org.mo","mobi","mp","mq","mr","gov.mr","ms","com.ms","edu.ms","gov.ms","net.ms","org.ms","mt","com.mt","edu.mt","net.mt","org.mt","mu","ac.mu","co.mu","com.mu","gov.mu","net.mu","or.mu","org.mu","museum","mv","aero.mv","biz.mv","com.mv","coop.mv","edu.mv","gov.mv","info.mv","int.mv","mil.mv","museum.mv","name.mv","net.mv","org.mv","pro.mv","mw","ac.mw","biz.mw","co.mw","com.mw","coop.mw","edu.mw","gov.mw","int.mw","net.mw","org.mw","mx","com.mx","edu.mx","gob.mx","net.mx","org.mx","my","biz.my","com.my","edu.my","gov.my","mil.my","name.my","net.my","org.my","mz","ac.mz","adv.mz","co.mz","edu.mz","gov.mz","mil.mz","net.mz","org.mz","na","alt.na","co.na","com.na","gov.na","net.na","org.na","name","nc","asso.nc","nom.nc","ne","net","nf","arts.nf","com.nf","firm.nf","info.nf","net.nf","other.nf","per.nf","rec.nf","store.nf","web.nf","ng","com.ng","edu.ng","gov.ng","i.ng","mil.ng","mobi.ng","name.ng","net.ng","org.ng","sch.ng","ni","ac.ni","biz.ni","co.ni","com.ni","edu.ni","gob.ni","in.ni","info.ni","int.ni","mil.ni","net.ni","nom.ni","org.ni","web.ni","nl","no","fhs.no","folkebibl.no","fylkesbibl.no","idrett.no","museum.no","priv.no","vgs.no","dep.no","herad.no","kommune.no","mil.no","stat.no","aa.no","ah.no","bu.no","fm.no","hl.no","hm.no","jan-mayen.no","mr.no","nl.no","nt.no","of.no","ol.no","oslo.no","rl.no","sf.no","st.no","svalbard.no","tm.no","tr.no","va.no","vf.no","gs.aa.no","gs.ah.no","gs.bu.no","gs.fm.no","gs.hl.no","gs.hm.no","gs.jan-mayen.no","gs.mr.no","gs.nl.no","gs.nt.no","gs.of.no","gs.ol.no","gs.oslo.no","gs.rl.no","gs.sf.no","gs.st.no","gs.svalbard.no","gs.tm.no","gs.tr.no","gs.va.no","gs.vf.no","akrehamn.no","åkrehamn.no","algard.no","ålgård.no","arna.no","bronnoysund.no","brønnøysund.no","brumunddal.no","bryne.no","drobak.no","drøbak.no","egersund.no","fetsund.no","floro.no","florø.no","fredrikstad.no","hokksund.no","honefoss.no","hønefoss.no","jessheim.no","jorpeland.no","jørpeland.no","kirkenes.no","kopervik.no","krokstadelva.no","langevag.no","langevåg.no","leirvik.no","mjondalen.no","mjøndalen.no","mo-i-rana.no","mosjoen.no","mosjøen.no","nesoddtangen.no","orkanger.no","osoyro.no","osøyro.no","raholt.no","råholt.no","sandnessjoen.no","sandnessjøen.no","skedsmokorset.no","slattum.no","spjelkavik.no","stathelle.no","stavern.no","stjordalshalsen.no","stjørdalshalsen.no","tananger.no","tranby.no","vossevangen.no","aarborte.no","aejrie.no","afjord.no","åfjord.no","agdenes.no","nes.akershus.no","aknoluokta.no","ákŋoluokta.no","al.no","ål.no","alaheadju.no","álaheadju.no","alesund.no","ålesund.no","alstahaug.no","alta.no","áltá.no","alvdal.no","amli.no","åmli.no","amot.no","åmot.no","andasuolo.no","andebu.no","andoy.no","andøy.no","ardal.no","årdal.no","aremark.no","arendal.no","ås.no","aseral.no","åseral.no","asker.no","askim.no","askoy.no","askøy.no","askvoll.no","asnes.no","åsnes.no","audnedaln.no","aukra.no","aure.no","aurland.no","aurskog-holand.no","aurskog-høland.no","austevoll.no","austrheim.no","averoy.no","averøy.no","badaddja.no","bådåddjå.no","bærum.no","bahcavuotna.no","báhcavuotna.no","bahccavuotna.no","báhccavuotna.no","baidar.no","báidár.no","bajddar.no","bájddar.no","balat.no","bálát.no","balestrand.no","ballangen.no","balsfjord.no","bamble.no","bardu.no","barum.no","batsfjord.no","båtsfjord.no","bearalvahki.no","bearalváhki.no","beardu.no","beiarn.no","berg.no","bergen.no","berlevag.no","berlevåg.no","bievat.no","bievát.no","bindal.no","birkenes.no","bjarkoy.no","bjarkøy.no","bjerkreim.no","bjugn.no","bodo.no","bodø.no","bokn.no","bomlo.no","bømlo.no","bremanger.no","bronnoy.no","brønnøy.no","budejju.no","nes.buskerud.no","bygland.no","bykle.no","cahcesuolo.no","čáhcesuolo.no","davvenjarga.no","davvenjárga.no","davvesiida.no","deatnu.no","dielddanuorri.no","divtasvuodna.no","divttasvuotna.no","donna.no","dønna.no","dovre.no","drammen.no","drangedal.no","dyroy.no","dyrøy.no","eid.no","eidfjord.no","eidsberg.no","eidskog.no","eidsvoll.no","eigersund.no","elverum.no","enebakk.no","engerdal.no","etne.no","etnedal.no","evenassi.no","evenášši.no","evenes.no","evje-og-hornnes.no","farsund.no","fauske.no","fedje.no","fet.no","finnoy.no","finnøy.no","fitjar.no","fjaler.no","fjell.no","fla.no","flå.no","flakstad.no","flatanger.no","flekkefjord.no","flesberg.no","flora.no","folldal.no","forde.no","førde.no","forsand.no","fosnes.no","fræna.no","frana.no","frei.no","frogn.no","froland.no","frosta.no","froya.no","frøya.no","fuoisku.no","fuossko.no","fusa.no","fyresdal.no","gaivuotna.no","gáivuotna.no","galsa.no","gálsá.no","gamvik.no","gangaviika.no","gáŋgaviika.no","gaular.no","gausdal.no","giehtavuoatna.no","gildeskal.no","gildeskål.no","giske.no","gjemnes.no","gjerdrum.no","gjerstad.no","gjesdal.no","gjovik.no","gjøvik.no","gloppen.no","gol.no","gran.no","grane.no","granvin.no","gratangen.no","grimstad.no","grong.no","grue.no","gulen.no","guovdageaidnu.no","ha.no","hå.no","habmer.no","hábmer.no","hadsel.no","hægebostad.no","hagebostad.no","halden.no","halsa.no","hamar.no","hamaroy.no","hammarfeasta.no","hámmárfeasta.no","hammerfest.no","hapmir.no","hápmir.no","haram.no","hareid.no","harstad.no","hasvik.no","hattfjelldal.no","haugesund.no","os.hedmark.no","valer.hedmark.no","våler.hedmark.no","hemne.no","hemnes.no","hemsedal.no","hitra.no","hjartdal.no","hjelmeland.no","hobol.no","hobøl.no","hof.no","hol.no","hole.no","holmestrand.no","holtalen.no","holtålen.no","os.hordaland.no","hornindal.no","horten.no","hoyanger.no","høyanger.no","hoylandet.no","høylandet.no","hurdal.no","hurum.no","hvaler.no","hyllestad.no","ibestad.no","inderoy.no","inderøy.no","iveland.no","ivgu.no","jevnaker.no","jolster.no","jølster.no","jondal.no","kafjord.no","kåfjord.no","karasjohka.no","kárášjohka.no","karasjok.no","karlsoy.no","karmoy.no","karmøy.no","kautokeino.no","klabu.no","klæbu.no","klepp.no","kongsberg.no","kongsvinger.no","kraanghke.no","kråanghke.no","kragero.no","kragerø.no","kristiansand.no","kristiansund.no","krodsherad.no","krødsherad.no","kvæfjord.no","kvænangen.no","kvafjord.no","kvalsund.no","kvam.no","kvanangen.no","kvinesdal.no","kvinnherad.no","kviteseid.no","kvitsoy.no","kvitsøy.no","laakesvuemie.no","lærdal.no","lahppi.no","láhppi.no","lardal.no","larvik.no","lavagis.no","lavangen.no","leangaviika.no","leaŋgaviika.no","lebesby.no","leikanger.no","leirfjord.no","leka.no","leksvik.no","lenvik.no","lerdal.no","lesja.no","levanger.no","lier.no","lierne.no","lillehammer.no","lillesand.no","lindas.no","lindås.no","lindesnes.no","loabat.no","loabát.no","lodingen.no","lødingen.no","lom.no","loppa.no","lorenskog.no","lørenskog.no","loten.no","løten.no","lund.no","lunner.no","luroy.no","lurøy.no","luster.no","lyngdal.no","lyngen.no","malatvuopmi.no","málatvuopmi.no","malselv.no","målselv.no","malvik.no","mandal.no","marker.no","marnardal.no","masfjorden.no","masoy.no","måsøy.no","matta-varjjat.no","mátta-várjjat.no","meland.no","meldal.no","melhus.no","meloy.no","meløy.no","meraker.no","meråker.no","midsund.no","midtre-gauldal.no","moareke.no","moåreke.no","modalen.no","modum.no","molde.no","heroy.more-og-romsdal.no","sande.more-og-romsdal.no","herøy.møre-og-romsdal.no","sande.møre-og-romsdal.no","moskenes.no","moss.no","mosvik.no","muosat.no","muosát.no","naamesjevuemie.no","nååmesjevuemie.no","nærøy.no","namdalseid.no","namsos.no","namsskogan.no","nannestad.no","naroy.no","narviika.no","narvik.no","naustdal.no","navuotna.no","návuotna.no","nedre-eiker.no","nesna.no","nesodden.no","nesseby.no","nesset.no","nissedal.no","nittedal.no","nord-aurdal.no","nord-fron.no","nord-odal.no","norddal.no","nordkapp.no","bo.nordland.no","bø.nordland.no","heroy.nordland.no","herøy.nordland.no","nordre-land.no","nordreisa.no","nore-og-uvdal.no","notodden.no","notteroy.no","nøtterøy.no","odda.no","oksnes.no","øksnes.no","omasvuotna.no","oppdal.no","oppegard.no","oppegård.no","orkdal.no","orland.no","ørland.no","orskog.no","ørskog.no","orsta.no","ørsta.no","osen.no","osteroy.no","osterøy.no","valer.ostfold.no","våler.østfold.no","ostre-toten.no","østre-toten.no","overhalla.no","ovre-eiker.no","øvre-eiker.no","oyer.no","øyer.no","oygarden.no","øygarden.no","oystre-slidre.no","øystre-slidre.no","porsanger.no","porsangu.no","porsáŋgu.no","porsgrunn.no","rade.no","råde.no","radoy.no","radøy.no","rælingen.no","rahkkeravju.no","ráhkkerávju.no","raisa.no","ráisa.no","rakkestad.no","ralingen.no","rana.no","randaberg.no","rauma.no","rendalen.no","rennebu.no","rennesoy.no","rennesøy.no","rindal.no","ringebu.no","ringerike.no","ringsaker.no","risor.no","risør.no","rissa.no","roan.no","rodoy.no","rødøy.no","rollag.no","romsa.no","romskog.no","rømskog.no","roros.no","røros.no","rost.no","røst.no","royken.no","røyken.no","royrvik.no","røyrvik.no","ruovat.no","rygge.no","salangen.no","salat.no","sálat.no","sálát.no","saltdal.no","samnanger.no","sandefjord.no","sandnes.no","sandoy.no","sandøy.no","sarpsborg.no","sauda.no","sauherad.no","sel.no","selbu.no","selje.no","seljord.no","siellak.no","sigdal.no","siljan.no","sirdal.no","skanit.no","skánit.no","skanland.no","skånland.no","skaun.no","skedsmo.no","ski.no","skien.no","skierva.no","skiervá.no","skiptvet.no","skjak.no","skjåk.no","skjervoy.no","skjervøy.no","skodje.no","smola.no","smøla.no","snaase.no","snåase.no","snasa.no","snåsa.no","snillfjord.no","snoasa.no","sogndal.no","sogne.no","søgne.no","sokndal.no","sola.no","solund.no","somna.no","sømna.no","sondre-land.no","søndre-land.no","songdalen.no","sor-aurdal.no","sør-aurdal.no","sor-fron.no","sør-fron.no","sor-odal.no","sør-odal.no","sor-varanger.no","sør-varanger.no","sorfold.no","sørfold.no","sorreisa.no","sørreisa.no","sortland.no","sorum.no","sørum.no","spydeberg.no","stange.no","stavanger.no","steigen.no","steinkjer.no","stjordal.no","stjørdal.no","stokke.no","stor-elvdal.no","stord.no","stordal.no","storfjord.no","strand.no","stranda.no","stryn.no","sula.no","suldal.no","sund.no","sunndal.no","surnadal.no","sveio.no","svelvik.no","sykkylven.no","tana.no","bo.telemark.no","bø.telemark.no","time.no","tingvoll.no","tinn.no","tjeldsund.no","tjome.no","tjøme.no","tokke.no","tolga.no","tonsberg.no","tønsberg.no","torsken.no","træna.no","trana.no","tranoy.no","tranøy.no","troandin.no","trogstad.no","trøgstad.no","tromsa.no","tromso.no","tromsø.no","trondheim.no","trysil.no","tvedestrand.no","tydal.no","tynset.no","tysfjord.no","tysnes.no","tysvær.no","tysvar.no","ullensaker.no","ullensvang.no","ulvik.no","unjarga.no","unjárga.no","utsira.no","vaapste.no","vadso.no","vadsø.no","værøy.no","vaga.no","vågå.no","vagan.no","vågan.no","vagsoy.no","vågsøy.no","vaksdal.no","valle.no","vang.no","vanylven.no","vardo.no","vardø.no","varggat.no","várggát.no","varoy.no","vefsn.no","vega.no","vegarshei.no","vegårshei.no","vennesla.no","verdal.no","verran.no","vestby.no","sande.vestfold.no","vestnes.no","vestre-slidre.no","vestre-toten.no","vestvagoy.no","vestvågøy.no","vevelstad.no","vik.no","vikna.no","vindafjord.no","voagat.no","volda.no","voss.no","*.np","nr","biz.nr","com.nr","edu.nr","gov.nr","info.nr","net.nr","org.nr","nu","nz","ac.nz","co.nz","cri.nz","geek.nz","gen.nz","govt.nz","health.nz","iwi.nz","kiwi.nz","maori.nz","māori.nz","mil.nz","net.nz","org.nz","parliament.nz","school.nz","om","co.om","com.om","edu.om","gov.om","med.om","museum.om","net.om","org.om","pro.om","onion","org","pa","abo.pa","ac.pa","com.pa","edu.pa","gob.pa","ing.pa","med.pa","net.pa","nom.pa","org.pa","sld.pa","pe","com.pe","edu.pe","gob.pe","mil.pe","net.pe","nom.pe","org.pe","pf","com.pf","edu.pf","org.pf","*.pg","ph","com.ph","edu.ph","gov.ph","i.ph","mil.ph","net.ph","ngo.ph","org.ph","pk","ac.pk","biz.pk","com.pk","edu.pk","fam.pk","gkp.pk","gob.pk","gog.pk","gok.pk","gon.pk","gop.pk","gos.pk","gov.pk","net.pk","org.pk","web.pk","pl","com.pl","net.pl","org.pl","agro.pl","aid.pl","atm.pl","auto.pl","biz.pl","edu.pl","gmina.pl","gsm.pl","info.pl","mail.pl","media.pl","miasta.pl","mil.pl","nieruchomosci.pl","nom.pl","pc.pl","powiat.pl","priv.pl","realestate.pl","rel.pl","sex.pl","shop.pl","sklep.pl","sos.pl","szkola.pl","targi.pl","tm.pl","tourism.pl","travel.pl","turystyka.pl","gov.pl","ap.gov.pl","griw.gov.pl","ic.gov.pl","is.gov.pl","kmpsp.gov.pl","konsulat.gov.pl","kppsp.gov.pl","kwp.gov.pl","kwpsp.gov.pl","mup.gov.pl","mw.gov.pl","oia.gov.pl","oirm.gov.pl","oke.gov.pl","oow.gov.pl","oschr.gov.pl","oum.gov.pl","pa.gov.pl","pinb.gov.pl","piw.gov.pl","po.gov.pl","pr.gov.pl","psp.gov.pl","psse.gov.pl","pup.gov.pl","rzgw.gov.pl","sa.gov.pl","sdn.gov.pl","sko.gov.pl","so.gov.pl","sr.gov.pl","starostwo.gov.pl","ug.gov.pl","ugim.gov.pl","um.gov.pl","umig.gov.pl","upow.gov.pl","uppo.gov.pl","us.gov.pl","uw.gov.pl","uzs.gov.pl","wif.gov.pl","wiih.gov.pl","winb.gov.pl","wios.gov.pl","witd.gov.pl","wiw.gov.pl","wkz.gov.pl","wsa.gov.pl","wskr.gov.pl","wsse.gov.pl","wuoz.gov.pl","wzmiuw.gov.pl","zp.gov.pl","zpisdn.gov.pl","augustow.pl","babia-gora.pl","bedzin.pl","beskidy.pl","bialowieza.pl","bialystok.pl","bielawa.pl","bieszczady.pl","boleslawiec.pl","bydgoszcz.pl","bytom.pl","cieszyn.pl","czeladz.pl","czest.pl","dlugoleka.pl","elblag.pl","elk.pl","glogow.pl","gniezno.pl","gorlice.pl","grajewo.pl","ilawa.pl","jaworzno.pl","jelenia-gora.pl","jgora.pl","kalisz.pl","karpacz.pl","kartuzy.pl","kaszuby.pl","katowice.pl","kazimierz-dolny.pl","kepno.pl","ketrzyn.pl","klodzko.pl","kobierzyce.pl","kolobrzeg.pl","konin.pl","konskowola.pl","kutno.pl","lapy.pl","lebork.pl","legnica.pl","lezajsk.pl","limanowa.pl","lomza.pl","lowicz.pl","lubin.pl","lukow.pl","malbork.pl","malopolska.pl","mazowsze.pl","mazury.pl","mielec.pl","mielno.pl","mragowo.pl","naklo.pl","nowaruda.pl","nysa.pl","olawa.pl","olecko.pl","olkusz.pl","olsztyn.pl","opoczno.pl","opole.pl","ostroda.pl","ostroleka.pl","ostrowiec.pl","ostrowwlkp.pl","pila.pl","pisz.pl","podhale.pl","podlasie.pl","polkowice.pl","pomorskie.pl","pomorze.pl","prochowice.pl","pruszkow.pl","przeworsk.pl","pulawy.pl","radom.pl","rawa-maz.pl","rybnik.pl","rzeszow.pl","sanok.pl","sejny.pl","skoczow.pl","slask.pl","slupsk.pl","sosnowiec.pl","stalowa-wola.pl","starachowice.pl","stargard.pl","suwalki.pl","swidnica.pl","swiebodzin.pl","swinoujscie.pl","szczecin.pl","szczytno.pl","tarnobrzeg.pl","tgory.pl","turek.pl","tychy.pl","ustka.pl","walbrzych.pl","warmia.pl","warszawa.pl","waw.pl","wegrow.pl","wielun.pl","wlocl.pl","wloclawek.pl","wodzislaw.pl","wolomin.pl","wroclaw.pl","zachpomor.pl","zagan.pl","zarow.pl","zgora.pl","zgorzelec.pl","pm","pn","co.pn","edu.pn","gov.pn","net.pn","org.pn","post","pr","biz.pr","com.pr","edu.pr","gov.pr","info.pr","isla.pr","name.pr","net.pr","org.pr","pro.pr","ac.pr","est.pr","prof.pr","pro","aaa.pro","aca.pro","acct.pro","avocat.pro","bar.pro","cpa.pro","eng.pro","jur.pro","law.pro","med.pro","recht.pro","ps","com.ps","edu.ps","gov.ps","net.ps","org.ps","plo.ps","sec.ps","pt","com.pt","edu.pt","gov.pt","int.pt","net.pt","nome.pt","org.pt","publ.pt","pw","belau.pw","co.pw","ed.pw","go.pw","or.pw","py","com.py","coop.py","edu.py","gov.py","mil.py","net.py","org.py","qa","com.qa","edu.qa","gov.qa","mil.qa","name.qa","net.qa","org.qa","sch.qa","re","asso.re","com.re","ro","arts.ro","com.ro","firm.ro","info.ro","nom.ro","nt.ro","org.ro","rec.ro","store.ro","tm.ro","www.ro","rs","ac.rs","co.rs","edu.rs","gov.rs","in.rs","org.rs","ru","rw","ac.rw","co.rw","coop.rw","gov.rw","mil.rw","net.rw","org.rw","sa","com.sa","edu.sa","gov.sa","med.sa","net.sa","org.sa","pub.sa","sch.sa","sb","com.sb","edu.sb","gov.sb","net.sb","org.sb","sc","com.sc","edu.sc","gov.sc","net.sc","org.sc","sd","com.sd","edu.sd","gov.sd","info.sd","med.sd","net.sd","org.sd","tv.sd","se","a.se","ac.se","b.se","bd.se","brand.se","c.se","d.se","e.se","f.se","fh.se","fhsk.se","fhv.se","g.se","h.se","i.se","k.se","komforb.se","kommunalforbund.se","komvux.se","l.se","lanbib.se","m.se","n.se","naturbruksgymn.se","o.se","org.se","p.se","parti.se","pp.se","press.se","r.se","s.se","t.se","tm.se","u.se","w.se","x.se","y.se","z.se","sg","com.sg","edu.sg","gov.sg","net.sg","org.sg","sh","com.sh","gov.sh","mil.sh","net.sh","org.sh","si","sj","sk","sl","com.sl","edu.sl","gov.sl","net.sl","org.sl","sm","sn","art.sn","com.sn","edu.sn","gouv.sn","org.sn","perso.sn","univ.sn","so","com.so","edu.so","gov.so","me.so","net.so","org.so","sr","ss","biz.ss","co.ss","com.ss","edu.ss","gov.ss","me.ss","net.ss","org.ss","sch.ss","st","co.st","com.st","consulado.st","edu.st","embaixada.st","mil.st","net.st","org.st","principe.st","saotome.st","store.st","su","sv","com.sv","edu.sv","gob.sv","org.sv","red.sv","sx","gov.sx","sy","com.sy","edu.sy","gov.sy","mil.sy","net.sy","org.sy","sz","ac.sz","co.sz","org.sz","tc","td","tel","tf","tg","th","ac.th","co.th","go.th","in.th","mi.th","net.th","or.th","tj","ac.tj","biz.tj","co.tj","com.tj","edu.tj","go.tj","gov.tj","int.tj","mil.tj","name.tj","net.tj","nic.tj","org.tj","test.tj","web.tj","tk","tl","gov.tl","tm","co.tm","com.tm","edu.tm","gov.tm","mil.tm","net.tm","nom.tm","org.tm","tn","com.tn","ens.tn","fin.tn","gov.tn","ind.tn","info.tn","intl.tn","mincom.tn","nat.tn","net.tn","org.tn","perso.tn","tourism.tn","to","com.to","edu.to","gov.to","mil.to","net.to","org.to","tr","av.tr","bbs.tr","bel.tr","biz.tr","com.tr","dr.tr","edu.tr","gen.tr","gov.tr","info.tr","k12.tr","kep.tr","mil.tr","name.tr","net.tr","org.tr","pol.tr","tel.tr","tsk.tr","tv.tr","web.tr","nc.tr","gov.nc.tr","tt","biz.tt","co.tt","com.tt","edu.tt","gov.tt","info.tt","mil.tt","name.tt","net.tt","org.tt","pro.tt","tv","tw","club.tw","com.tw","ebiz.tw","edu.tw","game.tw","gov.tw","idv.tw","mil.tw","net.tw","org.tw","tz","ac.tz","co.tz","go.tz","hotel.tz","info.tz","me.tz","mil.tz","mobi.tz","ne.tz","or.tz","sc.tz","tv.tz","ua","com.ua","edu.ua","gov.ua","in.ua","net.ua","org.ua","cherkassy.ua","cherkasy.ua","chernigov.ua","chernihiv.ua","chernivtsi.ua","chernovtsy.ua","ck.ua","cn.ua","cr.ua","crimea.ua","cv.ua","dn.ua","dnepropetrovsk.ua","dnipropetrovsk.ua","donetsk.ua","dp.ua","if.ua","ivano-frankivsk.ua","kh.ua","kharkiv.ua","kharkov.ua","kherson.ua","khmelnitskiy.ua","khmelnytskyi.ua","kiev.ua","kirovograd.ua","km.ua","kr.ua","kropyvnytskyi.ua","krym.ua","ks.ua","kv.ua","kyiv.ua","lg.ua","lt.ua","lugansk.ua","luhansk.ua","lutsk.ua","lv.ua","lviv.ua","mk.ua","mykolaiv.ua","nikolaev.ua","od.ua","odesa.ua","odessa.ua","pl.ua","poltava.ua","rivne.ua","rovno.ua","rv.ua","sb.ua","sebastopol.ua","sevastopol.ua","sm.ua","sumy.ua","te.ua","ternopil.ua","uz.ua","uzhgorod.ua","uzhhorod.ua","vinnica.ua","vinnytsia.ua","vn.ua","volyn.ua","yalta.ua","zakarpattia.ua","zaporizhzhe.ua","zaporizhzhia.ua","zhitomir.ua","zhytomyr.ua","zp.ua","zt.ua","ug","ac.ug","co.ug","com.ug","go.ug","ne.ug","or.ug","org.ug","sc.ug","uk","ac.uk","co.uk","gov.uk","ltd.uk","me.uk","net.uk","nhs.uk","org.uk","plc.uk","police.uk","*.sch.uk","us","dni.us","fed.us","isa.us","kids.us","nsn.us","ak.us","al.us","ar.us","as.us","az.us","ca.us","co.us","ct.us","dc.us","de.us","fl.us","ga.us","gu.us","hi.us","ia.us","id.us","il.us","in.us","ks.us","ky.us","la.us","ma.us","md.us","me.us","mi.us","mn.us","mo.us","ms.us","mt.us","nc.us","nd.us","ne.us","nh.us","nj.us","nm.us","nv.us","ny.us","oh.us","ok.us","or.us","pa.us","pr.us","ri.us","sc.us","sd.us","tn.us","tx.us","ut.us","va.us","vi.us","vt.us","wa.us","wi.us","wv.us","wy.us","k12.ak.us","k12.al.us","k12.ar.us","k12.as.us","k12.az.us","k12.ca.us","k12.co.us","k12.ct.us","k12.dc.us","k12.fl.us","k12.ga.us","k12.gu.us","k12.ia.us","k12.id.us","k12.il.us","k12.in.us","k12.ks.us","k12.ky.us","k12.la.us","k12.ma.us","k12.md.us","k12.me.us","k12.mi.us","k12.mn.us","k12.mo.us","k12.ms.us","k12.mt.us","k12.nc.us","k12.ne.us","k12.nh.us","k12.nj.us","k12.nm.us","k12.nv.us","k12.ny.us","k12.oh.us","k12.ok.us","k12.or.us","k12.pa.us","k12.pr.us","k12.sc.us","k12.tn.us","k12.tx.us","k12.ut.us","k12.va.us","k12.vi.us","k12.vt.us","k12.wa.us","k12.wi.us","cc.ak.us","lib.ak.us","cc.al.us","lib.al.us","cc.ar.us","lib.ar.us","cc.as.us","lib.as.us","cc.az.us","lib.az.us","cc.ca.us","lib.ca.us","cc.co.us","lib.co.us","cc.ct.us","lib.ct.us","cc.dc.us","lib.dc.us","cc.de.us","cc.fl.us","cc.ga.us","cc.gu.us","cc.hi.us","cc.ia.us","cc.id.us","cc.il.us","cc.in.us","cc.ks.us","cc.ky.us","cc.la.us","cc.ma.us","cc.md.us","cc.me.us","cc.mi.us","cc.mn.us","cc.mo.us","cc.ms.us","cc.mt.us","cc.nc.us","cc.nd.us","cc.ne.us","cc.nh.us","cc.nj.us","cc.nm.us","cc.nv.us","cc.ny.us","cc.oh.us","cc.ok.us","cc.or.us","cc.pa.us","cc.pr.us","cc.ri.us","cc.sc.us","cc.sd.us","cc.tn.us","cc.tx.us","cc.ut.us","cc.va.us","cc.vi.us","cc.vt.us","cc.wa.us","cc.wi.us","cc.wv.us","cc.wy.us","k12.wy.us","lib.fl.us","lib.ga.us","lib.gu.us","lib.hi.us","lib.ia.us","lib.id.us","lib.il.us","lib.in.us","lib.ks.us","lib.ky.us","lib.la.us","lib.ma.us","lib.md.us","lib.me.us","lib.mi.us","lib.mn.us","lib.mo.us","lib.ms.us","lib.mt.us","lib.nc.us","lib.nd.us","lib.ne.us","lib.nh.us","lib.nj.us","lib.nm.us","lib.nv.us","lib.ny.us","lib.oh.us","lib.ok.us","lib.or.us","lib.pa.us","lib.pr.us","lib.ri.us","lib.sc.us","lib.sd.us","lib.tn.us","lib.tx.us","lib.ut.us","lib.va.us","lib.vi.us","lib.vt.us","lib.wa.us","lib.wi.us","lib.wy.us","chtr.k12.ma.us","paroch.k12.ma.us","pvt.k12.ma.us","ann-arbor.mi.us","cog.mi.us","dst.mi.us","eaton.mi.us","gen.mi.us","mus.mi.us","tec.mi.us","washtenaw.mi.us","uy","com.uy","edu.uy","gub.uy","mil.uy","net.uy","org.uy","uz","co.uz","com.uz","net.uz","org.uz","va","vc","com.vc","edu.vc","gov.vc","mil.vc","net.vc","org.vc","ve","arts.ve","bib.ve","co.ve","com.ve","e12.ve","edu.ve","firm.ve","gob.ve","gov.ve","info.ve","int.ve","mil.ve","net.ve","nom.ve","org.ve","rar.ve","rec.ve","store.ve","tec.ve","web.ve","vg","vi","co.vi","com.vi","k12.vi","net.vi","org.vi","vn","ac.vn","ai.vn","biz.vn","com.vn","edu.vn","gov.vn","health.vn","id.vn","info.vn","int.vn","io.vn","name.vn","net.vn","org.vn","pro.vn","angiang.vn","bacgiang.vn","backan.vn","baclieu.vn","bacninh.vn","baria-vungtau.vn","bentre.vn","binhdinh.vn","binhduong.vn","binhphuoc.vn","binhthuan.vn","camau.vn","cantho.vn","caobang.vn","daklak.vn","daknong.vn","danang.vn","dienbien.vn","dongnai.vn","dongthap.vn","gialai.vn","hagiang.vn","haiduong.vn","haiphong.vn","hanam.vn","hanoi.vn","hatinh.vn","haugiang.vn","hoabinh.vn","hungyen.vn","khanhhoa.vn","kiengiang.vn","kontum.vn","laichau.vn","lamdong.vn","langson.vn","laocai.vn","longan.vn","namdinh.vn","nghean.vn","ninhbinh.vn","ninhthuan.vn","phutho.vn","phuyen.vn","quangbinh.vn","quangnam.vn","quangngai.vn","quangninh.vn","quangtri.vn","soctrang.vn","sonla.vn","tayninh.vn","thaibinh.vn","thainguyen.vn","thanhhoa.vn","thanhphohochiminh.vn","thuathienhue.vn","tiengiang.vn","travinh.vn","tuyenquang.vn","vinhlong.vn","vinhphuc.vn","yenbai.vn","vu","com.vu","edu.vu","net.vu","org.vu","wf","ws","com.ws","edu.ws","gov.ws","net.ws","org.ws","yt","امارات","հայ","বাংলা","бг","البحرين","бел","中国","中國","الجزائر","مصر","ею","ευ","موريتانيا","გე","ελ","香港","個人.香港","公司.香港","政府.香港","教育.香港","組織.香港","網絡.香港","ಭಾರತ","ଭାରତ","ভাৰত","भारतम्","भारोत","ڀارت","ഭാരതം","भारत","بارت","بھارت","భారత్","ભારત","ਭਾਰਤ","ভারত","இந்தியா","ایران","ايران","عراق","الاردن","한국","қаз","ລາວ","ලංකා","இலங்கை","المغرب","мкд","мон","澳門","澳门","مليسيا","عمان","پاکستان","پاكستان","فلسطين","срб","ак.срб","обр.срб","од.срб","орг.срб","пр.срб","упр.срб","рф","قطر","السعودية","السعودیة","السعودیۃ","السعوديه","سودان","新加坡","சிங்கப்பூர்","سورية","سوريا","ไทย","ทหาร.ไทย","ธุรกิจ.ไทย","เน็ต.ไทย","รัฐบาล.ไทย","ศึกษา.ไทย","องค์กร.ไทย","تونس","台灣","台湾","臺灣","укр","اليمن","xxx","ye","com.ye","edu.ye","gov.ye","mil.ye","net.ye","org.ye","ac.za","agric.za","alt.za","co.za","edu.za","gov.za","grondar.za","law.za","mil.za","net.za","ngo.za","nic.za","nis.za","nom.za","org.za","school.za","tm.za","web.za","zm","ac.zm","biz.zm","co.zm","com.zm","edu.zm","gov.zm","info.zm","mil.zm","net.zm","org.zm","sch.zm","zw","ac.zw","co.zw","gov.zw","mil.zw","org.zw","aaa","aarp","abb","abbott","abbvie","abc","able","abogado","abudhabi","academy","accenture","accountant","accountants","aco","actor","ads","adult","aeg","aetna","afl","africa","agakhan","agency","aig","airbus","airforce","airtel","akdn","alibaba","alipay","allfinanz","allstate","ally","alsace","alstom","amazon","americanexpress","americanfamily","amex","amfam","amica","amsterdam","analytics","android","anquan","anz","aol","apartments","app","apple","aquarelle","arab","aramco","archi","army","art","arte","asda","associates","athleta","attorney","auction","audi","audible","audio","auspost","author","auto","autos","aws","axa","azure","baby","baidu","banamex","band","bank","bar","barcelona","barclaycard","barclays","barefoot","bargains","baseball","basketball","bauhaus","bayern","bbc","bbt","bbva","bcg","bcn","beats","beauty","beer","bentley","berlin","best","bestbuy","bet","bharti","bible","bid","bike","bing","bingo","bio","black","blackfriday","blockbuster","blog","bloomberg","blue","bms","bmw","bnpparibas","boats","boehringer","bofa","bom","bond","boo","book","booking","bosch","bostik","boston","bot","boutique","box","bradesco","bridgestone","broadway","broker","brother","brussels","build","builders","business","buy","buzz","bzh","cab","cafe","cal","call","calvinklein","cam","camera","camp","canon","capetown","capital","capitalone","car","caravan","cards","care","career","careers","cars","casa","case","cash","casino","catering","catholic","cba","cbn","cbre","center","ceo","cern","cfa","cfd","chanel","channel","charity","chase","chat","cheap","chintai","christmas","chrome","church","cipriani","circle","cisco","citadel","citi","citic","city","claims","cleaning","click","clinic","clinique","clothing","cloud","club","clubmed","coach","codes","coffee","college","cologne","commbank","community","company","compare","computer","comsec","condos","construction","consulting","contact","contractors","cooking","cool","corsica","country","coupon","coupons","courses","cpa","credit","creditcard","creditunion","cricket","crown","crs","cruise","cruises","cuisinella","cymru","cyou","dad","dance","data","date","dating","datsun","day","dclk","dds","deal","dealer","deals","degree","delivery","dell","deloitte","delta","democrat","dental","dentist","desi","design","dev","dhl","diamonds","diet","digital","direct","directory","discount","discover","dish","diy","dnp","docs","doctor","dog","domains","dot","download","drive","dtv","dubai","dunlop","dupont","durban","dvag","dvr","earth","eat","eco","edeka","education","email","emerck","energy","engineer","engineering","enterprises","epson","equipment","ericsson","erni","esq","estate","eurovision","eus","events","exchange","expert","exposed","express","extraspace","fage","fail","fairwinds","faith","family","fan","fans","farm","farmers","fashion","fast","fedex","feedback","ferrari","ferrero","fidelity","fido","film","final","finance","financial","fire","firestone","firmdale","fish","fishing","fit","fitness","flickr","flights","flir","florist","flowers","fly","foo","food","football","ford","forex","forsale","forum","foundation","fox","free","fresenius","frl","frogans","frontier","ftr","fujitsu","fun","fund","furniture","futbol","fyi","gal","gallery","gallo","gallup","game","games","gap","garden","gay","gbiz","gdn","gea","gent","genting","george","ggee","gift","gifts","gives","giving","glass","gle","global","globo","gmail","gmbh","gmo","gmx","godaddy","gold","goldpoint","golf","goo","goodyear","goog","google","gop","got","grainger","graphics","gratis","green","gripe","grocery","group","gucci","guge","guide","guitars","guru","hair","hamburg","hangout","haus","hbo","hdfc","hdfcbank","health","healthcare","help","helsinki","here","hermes","hiphop","hisamitsu","hitachi","hiv","hkt","hockey","holdings","holiday","homedepot","homegoods","homes","homesense","honda","horse","hospital","host","hosting","hot","hotels","hotmail","house","how","hsbc","hughes","hyatt","hyundai","ibm","icbc","ice","icu","ieee","ifm","ikano","imamat","imdb","immo","immobilien","inc","industries","infiniti","ing","ink","institute","insurance","insure","international","intuit","investments","ipiranga","irish","ismaili","ist","istanbul","itau","itv","jaguar","java","jcb","jeep","jetzt","jewelry","jio","jll","jmp","jnj","joburg","jot","joy","jpmorgan","jprs","juegos","juniper","kaufen","kddi","kerryhotels","kerrylogistics","kerryproperties","kfh","kia","kids","kim","kindle","kitchen","kiwi","koeln","komatsu","kosher","kpmg","kpn","krd","kred","kuokgroup","kyoto","lacaixa","lamborghini","lamer","lancaster","land","landrover","lanxess","lasalle","lat","latino","latrobe","law","lawyer","lds","lease","leclerc","lefrak","legal","lego","lexus","lgbt","lidl","life","lifeinsurance","lifestyle","lighting","like","lilly","limited","limo","lincoln","link","lipsy","live","living","llc","llp","loan","loans","locker","locus","lol","london","lotte","lotto","love","lpl","lplfinancial","ltd","ltda","lundbeck","luxe","luxury","madrid","maif","maison","makeup","man","management","mango","map","market","marketing","markets","marriott","marshalls","mattel","mba","mckinsey","med","media","meet","melbourne","meme","memorial","men","menu","merck","merckmsd","miami","microsoft","mini","mint","mit","mitsubishi","mlb","mls","mma","mobile","moda","moe","moi","mom","monash","money","monster","mormon","mortgage","moscow","moto","motorcycles","mov","movie","msd","mtn","mtr","music","nab","nagoya","navy","nba","nec","netbank","netflix","network","neustar","new","news","next","nextdirect","nexus","nfl","ngo","nhk","nico","nike","nikon","ninja","nissan","nissay","nokia","norton","now","nowruz","nowtv","nra","nrw","ntt","nyc","obi","observer","office","okinawa","olayan","olayangroup","ollo","omega","one","ong","onl","online","ooo","open","oracle","orange","organic","origins","osaka","otsuka","ott","ovh","page","panasonic","paris","pars","partners","parts","party","pay","pccw","pet","pfizer","pharmacy","phd","philips","phone","photo","photography","photos","physio","pics","pictet","pictures","pid","pin","ping","pink","pioneer","pizza","place","play","playstation","plumbing","plus","pnc","pohl","poker","politie","porn","pramerica","praxi","press","prime","prod","productions","prof","progressive","promo","properties","property","protection","pru","prudential","pub","pwc","qpon","quebec","quest","racing","radio","read","realestate","realtor","realty","recipes","red","redstone","redumbrella","rehab","reise","reisen","reit","reliance","ren","rent","rentals","repair","report","republican","rest","restaurant","review","reviews","rexroth","rich","richardli","ricoh","ril","rio","rip","rocks","rodeo","rogers","room","rsvp","rugby","ruhr","run","rwe","ryukyu","saarland","safe","safety","sakura","sale","salon","samsclub","samsung","sandvik","sandvikcoromant","sanofi","sap","sarl","sas","save","saxo","sbi","sbs","scb","schaeffler","schmidt","scholarships","school","schule","schwarz","science","scot","search","seat","secure","security","seek","select","sener","services","seven","sew","sex","sexy","sfr","shangrila","sharp","shell","shia","shiksha","shoes","shop","shopping","shouji","show","silk","sina","singles","site","ski","skin","sky","skype","sling","smart","smile","sncf","soccer","social","softbank","software","sohu","solar","solutions","song","sony","soy","spa","space","sport","spot","srl","stada","staples","star","statebank","statefarm","stc","stcgroup","stockholm","storage","store","stream","studio","study","style","sucks","supplies","supply","support","surf","surgery","suzuki","swatch","swiss","sydney","systems","tab","taipei","talk","taobao","target","tatamotors","tatar","tattoo","tax","taxi","tci","tdk","team","tech","technology","temasek","tennis","teva","thd","theater","theatre","tiaa","tickets","tienda","tips","tires","tirol","tjmaxx","tjx","tkmaxx","tmall","today","tokyo","tools","top","toray","toshiba","total","tours","town","toyota","toys","trade","trading","training","travel","travelers","travelersinsurance","trust","trv","tube","tui","tunes","tushu","tvs","ubank","ubs","unicom","university","uno","uol","ups","vacations","vana","vanguard","vegas","ventures","verisign","versicherung","vet","viajes","video","vig","viking","villas","vin","vip","virgin","visa","vision","viva","vivo","vlaanderen","vodka","volvo","vote","voting","voto","voyage","wales","walmart","walter","wang","wanggou","watch","watches","weather","weatherchannel","webcam","weber","website","wed","wedding","weibo","weir","whoswho","wien","wiki","williamhill","win","windows","wine","winners","wme","wolterskluwer","woodside","work","works","world","wow","wtc","wtf","xbox","xerox","xihuan","xin","कॉम","セール","佛山","慈善","集团","在线","点看","คอม","八卦","موقع","公益","公司","香格里拉","网站","移动","我爱你","москва","католик","онлайн","сайт","联通","קום","时尚","微博","淡马锡","ファッション","орг","नेट","ストア","アマゾン","삼성","商标","商店","商城","дети","ポイント","新闻","家電","كوم","中文网","中信","娱乐","谷歌","電訊盈科","购物","クラウド","通販","网店","संगठन","餐厅","网络","ком","亚马逊","食品","飞利浦","手机","ارامكو","العليان","بازار","ابوظبي","كاثوليك","همراه","닷컴","政府","شبكة","بيتك","عرب","机构","组织机构","健康","招聘","рус","大拿","みんな","グーグル","世界","書籍","网址","닷넷","コム","天主教","游戏","vermögensberater","vermögensberatung","企业","信息","嘉里大酒店","嘉里","广东","政务","xyz","yachts","yahoo","yamaxun","yandex","yodobashi","yoga","yokohama","you","youtube","yun","zappos","zara","zero","zip","zone","zuerich","co.krd","edu.krd","art.pl","gliwice.pl","krakow.pl","poznan.pl","wroc.pl","zakopane.pl","lib.de.us","12chars.dev","12chars.it","12chars.pro","cc.ua","inf.ua","ltd.ua","611.to","a2hosted.com","cpserver.com","aaa.vodka","*.on-acorn.io","activetrail.biz","adaptable.app","adobeaemcloud.com","*.dev.adobeaemcloud.com","aem.live","hlx.live","adobeaemcloud.net","aem.page","hlx.page","hlx3.page","adobeio-static.net","adobeioruntime.net","africa.com","beep.pl","airkitapps.com","airkitapps-au.com","airkitapps.eu","aivencloud.com","akadns.net","akamai.net","akamai-staging.net","akamaiedge.net","akamaiedge-staging.net","akamaihd.net","akamaihd-staging.net","akamaiorigin.net","akamaiorigin-staging.net","akamaized.net","akamaized-staging.net","edgekey.net","edgekey-staging.net","edgesuite.net","edgesuite-staging.net","barsy.ca","*.compute.estate","*.alces.network","kasserver.com","altervista.org","alwaysdata.net","myamaze.net","execute-api.cn-north-1.amazonaws.com.cn","execute-api.cn-northwest-1.amazonaws.com.cn","execute-api.af-south-1.amazonaws.com","execute-api.ap-east-1.amazonaws.com","execute-api.ap-northeast-1.amazonaws.com","execute-api.ap-northeast-2.amazonaws.com","execute-api.ap-northeast-3.amazonaws.com","execute-api.ap-south-1.amazonaws.com","execute-api.ap-south-2.amazonaws.com","execute-api.ap-southeast-1.amazonaws.com","execute-api.ap-southeast-2.amazonaws.com","execute-api.ap-southeast-3.amazonaws.com","execute-api.ap-southeast-4.amazonaws.com","execute-api.ap-southeast-5.amazonaws.com","execute-api.ca-central-1.amazonaws.com","execute-api.ca-west-1.amazonaws.com","execute-api.eu-central-1.amazonaws.com","execute-api.eu-central-2.amazonaws.com","execute-api.eu-north-1.amazonaws.com","execute-api.eu-south-1.amazonaws.com","execute-api.eu-south-2.amazonaws.com","execute-api.eu-west-1.amazonaws.com","execute-api.eu-west-2.amazonaws.com","execute-api.eu-west-3.amazonaws.com","execute-api.il-central-1.amazonaws.com","execute-api.me-central-1.amazonaws.com","execute-api.me-south-1.amazonaws.com","execute-api.sa-east-1.amazonaws.com","execute-api.us-east-1.amazonaws.com","execute-api.us-east-2.amazonaws.com","execute-api.us-gov-east-1.amazonaws.com","execute-api.us-gov-west-1.amazonaws.com","execute-api.us-west-1.amazonaws.com","execute-api.us-west-2.amazonaws.com","cloudfront.net","auth.af-south-1.amazoncognito.com","auth.ap-east-1.amazoncognito.com","auth.ap-northeast-1.amazoncognito.com","auth.ap-northeast-2.amazoncognito.com","auth.ap-northeast-3.amazoncognito.com","auth.ap-south-1.amazoncognito.com","auth.ap-south-2.amazoncognito.com","auth.ap-southeast-1.amazoncognito.com","auth.ap-southeast-2.amazoncognito.com","auth.ap-southeast-3.amazoncognito.com","auth.ap-southeast-4.amazoncognito.com","auth.ca-central-1.amazoncognito.com","auth.ca-west-1.amazoncognito.com","auth.eu-central-1.amazoncognito.com","auth.eu-central-2.amazoncognito.com","auth.eu-north-1.amazoncognito.com","auth.eu-south-1.amazoncognito.com","auth.eu-south-2.amazoncognito.com","auth.eu-west-1.amazoncognito.com","auth.eu-west-2.amazoncognito.com","auth.eu-west-3.amazoncognito.com","auth.il-central-1.amazoncognito.com","auth.me-central-1.amazoncognito.com","auth.me-south-1.amazoncognito.com","auth.sa-east-1.amazoncognito.com","auth.us-east-1.amazoncognito.com","auth-fips.us-east-1.amazoncognito.com","auth.us-east-2.amazoncognito.com","auth-fips.us-east-2.amazoncognito.com","auth-fips.us-gov-west-1.amazoncognito.com","auth.us-west-1.amazoncognito.com","auth-fips.us-west-1.amazoncognito.com","auth.us-west-2.amazoncognito.com","auth-fips.us-west-2.amazoncognito.com","*.compute.amazonaws.com.cn","*.compute.amazonaws.com","*.compute-1.amazonaws.com","us-east-1.amazonaws.com","emrappui-prod.cn-north-1.amazonaws.com.cn","emrnotebooks-prod.cn-north-1.amazonaws.com.cn","emrstudio-prod.cn-north-1.amazonaws.com.cn","emrappui-prod.cn-northwest-1.amazonaws.com.cn","emrnotebooks-prod.cn-northwest-1.amazonaws.com.cn","emrstudio-prod.cn-northwest-1.amazonaws.com.cn","emrappui-prod.af-south-1.amazonaws.com","emrnotebooks-prod.af-south-1.amazonaws.com","emrstudio-prod.af-south-1.amazonaws.com","emrappui-prod.ap-east-1.amazonaws.com","emrnotebooks-prod.ap-east-1.amazonaws.com","emrstudio-prod.ap-east-1.amazonaws.com","emrappui-prod.ap-northeast-1.amazonaws.com","emrnotebooks-prod.ap-northeast-1.amazonaws.com","emrstudio-prod.ap-northeast-1.amazonaws.com","emrappui-prod.ap-northeast-2.amazonaws.com","emrnotebooks-prod.ap-northeast-2.amazonaws.com","emrstudio-prod.ap-northeast-2.amazonaws.com","emrappui-prod.ap-northeast-3.amazonaws.com","emrnotebooks-prod.ap-northeast-3.amazonaws.com","emrstudio-prod.ap-northeast-3.amazonaws.com","emrappui-prod.ap-south-1.amazonaws.com","emrnotebooks-prod.ap-south-1.amazonaws.com","emrstudio-prod.ap-south-1.amazonaws.com","emrappui-prod.ap-south-2.amazonaws.com","emrnotebooks-prod.ap-south-2.amazonaws.com","emrstudio-prod.ap-south-2.amazonaws.com","emrappui-prod.ap-southeast-1.amazonaws.com","emrnotebooks-prod.ap-southeast-1.amazonaws.com","emrstudio-prod.ap-southeast-1.amazonaws.com","emrappui-prod.ap-southeast-2.amazonaws.com","emrnotebooks-prod.ap-southeast-2.amazonaws.com","emrstudio-prod.ap-southeast-2.amazonaws.com","emrappui-prod.ap-southeast-3.amazonaws.com","emrnotebooks-prod.ap-southeast-3.amazonaws.com","emrstudio-prod.ap-southeast-3.amazonaws.com","emrappui-prod.ap-southeast-4.amazonaws.com","emrnotebooks-prod.ap-southeast-4.amazonaws.com","emrstudio-prod.ap-southeast-4.amazonaws.com","emrappui-prod.ca-central-1.amazonaws.com","emrnotebooks-prod.ca-central-1.amazonaws.com","emrstudio-prod.ca-central-1.amazonaws.com","emrappui-prod.ca-west-1.amazonaws.com","emrnotebooks-prod.ca-west-1.amazonaws.com","emrstudio-prod.ca-west-1.amazonaws.com","emrappui-prod.eu-central-1.amazonaws.com","emrnotebooks-prod.eu-central-1.amazonaws.com","emrstudio-prod.eu-central-1.amazonaws.com","emrappui-prod.eu-central-2.amazonaws.com","emrnotebooks-prod.eu-central-2.amazonaws.com","emrstudio-prod.eu-central-2.amazonaws.com","emrappui-prod.eu-north-1.amazonaws.com","emrnotebooks-prod.eu-north-1.amazonaws.com","emrstudio-prod.eu-north-1.amazonaws.com","emrappui-prod.eu-south-1.amazonaws.com","emrnotebooks-prod.eu-south-1.amazonaws.com","emrstudio-prod.eu-south-1.amazonaws.com","emrappui-prod.eu-south-2.amazonaws.com","emrnotebooks-prod.eu-south-2.amazonaws.com","emrstudio-prod.eu-south-2.amazonaws.com","emrappui-prod.eu-west-1.amazonaws.com","emrnotebooks-prod.eu-west-1.amazonaws.com","emrstudio-prod.eu-west-1.amazonaws.com","emrappui-prod.eu-west-2.amazonaws.com","emrnotebooks-prod.eu-west-2.amazonaws.com","emrstudio-prod.eu-west-2.amazonaws.com","emrappui-prod.eu-west-3.amazonaws.com","emrnotebooks-prod.eu-west-3.amazonaws.com","emrstudio-prod.eu-west-3.amazonaws.com","emrappui-prod.il-central-1.amazonaws.com","emrnotebooks-prod.il-central-1.amazonaws.com","emrstudio-prod.il-central-1.amazonaws.com","emrappui-prod.me-central-1.amazonaws.com","emrnotebooks-prod.me-central-1.amazonaws.com","emrstudio-prod.me-central-1.amazonaws.com","emrappui-prod.me-south-1.amazonaws.com","emrnotebooks-prod.me-south-1.amazonaws.com","emrstudio-prod.me-south-1.amazonaws.com","emrappui-prod.sa-east-1.amazonaws.com","emrnotebooks-prod.sa-east-1.amazonaws.com","emrstudio-prod.sa-east-1.amazonaws.com","emrappui-prod.us-east-1.amazonaws.com","emrnotebooks-prod.us-east-1.amazonaws.com","emrstudio-prod.us-east-1.amazonaws.com","emrappui-prod.us-east-2.amazonaws.com","emrnotebooks-prod.us-east-2.amazonaws.com","emrstudio-prod.us-east-2.amazonaws.com","emrappui-prod.us-gov-east-1.amazonaws.com","emrnotebooks-prod.us-gov-east-1.amazonaws.com","emrstudio-prod.us-gov-east-1.amazonaws.com","emrappui-prod.us-gov-west-1.amazonaws.com","emrnotebooks-prod.us-gov-west-1.amazonaws.com","emrstudio-prod.us-gov-west-1.amazonaws.com","emrappui-prod.us-west-1.amazonaws.com","emrnotebooks-prod.us-west-1.amazonaws.com","emrstudio-prod.us-west-1.amazonaws.com","emrappui-prod.us-west-2.amazonaws.com","emrnotebooks-prod.us-west-2.amazonaws.com","emrstudio-prod.us-west-2.amazonaws.com","*.cn-north-1.airflow.amazonaws.com.cn","*.cn-northwest-1.airflow.amazonaws.com.cn","*.af-south-1.airflow.amazonaws.com","*.ap-east-1.airflow.amazonaws.com","*.ap-northeast-1.airflow.amazonaws.com","*.ap-northeast-2.airflow.amazonaws.com","*.ap-northeast-3.airflow.amazonaws.com","*.ap-south-1.airflow.amazonaws.com","*.ap-south-2.airflow.amazonaws.com","*.ap-southeast-1.airflow.amazonaws.com","*.ap-southeast-2.airflow.amazonaws.com","*.ap-southeast-3.airflow.amazonaws.com","*.ap-southeast-4.airflow.amazonaws.com","*.ca-central-1.airflow.amazonaws.com","*.ca-west-1.airflow.amazonaws.com","*.eu-central-1.airflow.amazonaws.com","*.eu-central-2.airflow.amazonaws.com","*.eu-north-1.airflow.amazonaws.com","*.eu-south-1.airflow.amazonaws.com","*.eu-south-2.airflow.amazonaws.com","*.eu-west-1.airflow.amazonaws.com","*.eu-west-2.airflow.amazonaws.com","*.eu-west-3.airflow.amazonaws.com","*.il-central-1.airflow.amazonaws.com","*.me-central-1.airflow.amazonaws.com","*.me-south-1.airflow.amazonaws.com","*.sa-east-1.airflow.amazonaws.com","*.us-east-1.airflow.amazonaws.com","*.us-east-2.airflow.amazonaws.com","*.us-west-1.airflow.amazonaws.com","*.us-west-2.airflow.amazonaws.com","s3.dualstack.cn-north-1.amazonaws.com.cn","s3-accesspoint.dualstack.cn-north-1.amazonaws.com.cn","s3-website.dualstack.cn-north-1.amazonaws.com.cn","s3.cn-north-1.amazonaws.com.cn","s3-accesspoint.cn-north-1.amazonaws.com.cn","s3-deprecated.cn-north-1.amazonaws.com.cn","s3-object-lambda.cn-north-1.amazonaws.com.cn","s3-website.cn-north-1.amazonaws.com.cn","s3.dualstack.cn-northwest-1.amazonaws.com.cn","s3-accesspoint.dualstack.cn-northwest-1.amazonaws.com.cn","s3.cn-northwest-1.amazonaws.com.cn","s3-accesspoint.cn-northwest-1.amazonaws.com.cn","s3-object-lambda.cn-northwest-1.amazonaws.com.cn","s3-website.cn-northwest-1.amazonaws.com.cn","s3.dualstack.af-south-1.amazonaws.com","s3-accesspoint.dualstack.af-south-1.amazonaws.com","s3-website.dualstack.af-south-1.amazonaws.com","s3.af-south-1.amazonaws.com","s3-accesspoint.af-south-1.amazonaws.com","s3-object-lambda.af-south-1.amazonaws.com","s3-website.af-south-1.amazonaws.com","s3.dualstack.ap-east-1.amazonaws.com","s3-accesspoint.dualstack.ap-east-1.amazonaws.com","s3.ap-east-1.amazonaws.com","s3-accesspoint.ap-east-1.amazonaws.com","s3-object-lambda.ap-east-1.amazonaws.com","s3-website.ap-east-1.amazonaws.com","s3.dualstack.ap-northeast-1.amazonaws.com","s3-accesspoint.dualstack.ap-northeast-1.amazonaws.com","s3-website.dualstack.ap-northeast-1.amazonaws.com","s3.ap-northeast-1.amazonaws.com","s3-accesspoint.ap-northeast-1.amazonaws.com","s3-object-lambda.ap-northeast-1.amazonaws.com","s3-website.ap-northeast-1.amazonaws.com","s3.dualstack.ap-northeast-2.amazonaws.com","s3-accesspoint.dualstack.ap-northeast-2.amazonaws.com","s3-website.dualstack.ap-northeast-2.amazonaws.com","s3.ap-northeast-2.amazonaws.com","s3-accesspoint.ap-northeast-2.amazonaws.com","s3-object-lambda.ap-northeast-2.amazonaws.com","s3-website.ap-northeast-2.amazonaws.com","s3.dualstack.ap-northeast-3.amazonaws.com","s3-accesspoint.dualstack.ap-northeast-3.amazonaws.com","s3-website.dualstack.ap-northeast-3.amazonaws.com","s3.ap-northeast-3.amazonaws.com","s3-accesspoint.ap-northeast-3.amazonaws.com","s3-object-lambda.ap-northeast-3.amazonaws.com","s3-website.ap-northeast-3.amazonaws.com","s3.dualstack.ap-south-1.amazonaws.com","s3-accesspoint.dualstack.ap-south-1.amazonaws.com","s3-website.dualstack.ap-south-1.amazonaws.com","s3.ap-south-1.amazonaws.com","s3-accesspoint.ap-south-1.amazonaws.com","s3-object-lambda.ap-south-1.amazonaws.com","s3-website.ap-south-1.amazonaws.com","s3.dualstack.ap-south-2.amazonaws.com","s3-accesspoint.dualstack.ap-south-2.amazonaws.com","s3-website.dualstack.ap-south-2.amazonaws.com","s3.ap-south-2.amazonaws.com","s3-accesspoint.ap-south-2.amazonaws.com","s3-object-lambda.ap-south-2.amazonaws.com","s3-website.ap-south-2.amazonaws.com","s3.dualstack.ap-southeast-1.amazonaws.com","s3-accesspoint.dualstack.ap-southeast-1.amazonaws.com","s3-website.dualstack.ap-southeast-1.amazonaws.com","s3.ap-southeast-1.amazonaws.com","s3-accesspoint.ap-southeast-1.amazonaws.com","s3-object-lambda.ap-southeast-1.amazonaws.com","s3-website.ap-southeast-1.amazonaws.com","s3.dualstack.ap-southeast-2.amazonaws.com","s3-accesspoint.dualstack.ap-southeast-2.amazonaws.com","s3-website.dualstack.ap-southeast-2.amazonaws.com","s3.ap-southeast-2.amazonaws.com","s3-accesspoint.ap-southeast-2.amazonaws.com","s3-object-lambda.ap-southeast-2.amazonaws.com","s3-website.ap-southeast-2.amazonaws.com","s3.dualstack.ap-southeast-3.amazonaws.com","s3-accesspoint.dualstack.ap-southeast-3.amazonaws.com","s3-website.dualstack.ap-southeast-3.amazonaws.com","s3.ap-southeast-3.amazonaws.com","s3-accesspoint.ap-southeast-3.amazonaws.com","s3-object-lambda.ap-southeast-3.amazonaws.com","s3-website.ap-southeast-3.amazonaws.com","s3.dualstack.ap-southeast-4.amazonaws.com","s3-accesspoint.dualstack.ap-southeast-4.amazonaws.com","s3-website.dualstack.ap-southeast-4.amazonaws.com","s3.ap-southeast-4.amazonaws.com","s3-accesspoint.ap-southeast-4.amazonaws.com","s3-object-lambda.ap-southeast-4.amazonaws.com","s3-website.ap-southeast-4.amazonaws.com","s3.dualstack.ap-southeast-5.amazonaws.com","s3-accesspoint.dualstack.ap-southeast-5.amazonaws.com","s3-website.dualstack.ap-southeast-5.amazonaws.com","s3.ap-southeast-5.amazonaws.com","s3-accesspoint.ap-southeast-5.amazonaws.com","s3-deprecated.ap-southeast-5.amazonaws.com","s3-object-lambda.ap-southeast-5.amazonaws.com","s3-website.ap-southeast-5.amazonaws.com","s3.dualstack.ca-central-1.amazonaws.com","s3-accesspoint.dualstack.ca-central-1.amazonaws.com","s3-accesspoint-fips.dualstack.ca-central-1.amazonaws.com","s3-fips.dualstack.ca-central-1.amazonaws.com","s3-website.dualstack.ca-central-1.amazonaws.com","s3.ca-central-1.amazonaws.com","s3-accesspoint.ca-central-1.amazonaws.com","s3-accesspoint-fips.ca-central-1.amazonaws.com","s3-fips.ca-central-1.amazonaws.com","s3-object-lambda.ca-central-1.amazonaws.com","s3-website.ca-central-1.amazonaws.com","s3.dualstack.ca-west-1.amazonaws.com","s3-accesspoint.dualstack.ca-west-1.amazonaws.com","s3-accesspoint-fips.dualstack.ca-west-1.amazonaws.com","s3-fips.dualstack.ca-west-1.amazonaws.com","s3-website.dualstack.ca-west-1.amazonaws.com","s3.ca-west-1.amazonaws.com","s3-accesspoint.ca-west-1.amazonaws.com","s3-accesspoint-fips.ca-west-1.amazonaws.com","s3-fips.ca-west-1.amazonaws.com","s3-object-lambda.ca-west-1.amazonaws.com","s3-website.ca-west-1.amazonaws.com","s3.dualstack.eu-central-1.amazonaws.com","s3-accesspoint.dualstack.eu-central-1.amazonaws.com","s3-website.dualstack.eu-central-1.amazonaws.com","s3.eu-central-1.amazonaws.com","s3-accesspoint.eu-central-1.amazonaws.com","s3-object-lambda.eu-central-1.amazonaws.com","s3-website.eu-central-1.amazonaws.com","s3.dualstack.eu-central-2.amazonaws.com","s3-accesspoint.dualstack.eu-central-2.amazonaws.com","s3-website.dualstack.eu-central-2.amazonaws.com","s3.eu-central-2.amazonaws.com","s3-accesspoint.eu-central-2.amazonaws.com","s3-object-lambda.eu-central-2.amazonaws.com","s3-website.eu-central-2.amazonaws.com","s3.dualstack.eu-north-1.amazonaws.com","s3-accesspoint.dualstack.eu-north-1.amazonaws.com","s3.eu-north-1.amazonaws.com","s3-accesspoint.eu-north-1.amazonaws.com","s3-object-lambda.eu-north-1.amazonaws.com","s3-website.eu-north-1.amazonaws.com","s3.dualstack.eu-south-1.amazonaws.com","s3-accesspoint.dualstack.eu-south-1.amazonaws.com","s3-website.dualstack.eu-south-1.amazonaws.com","s3.eu-south-1.amazonaws.com","s3-accesspoint.eu-south-1.amazonaws.com","s3-object-lambda.eu-south-1.amazonaws.com","s3-website.eu-south-1.amazonaws.com","s3.dualstack.eu-south-2.amazonaws.com","s3-accesspoint.dualstack.eu-south-2.amazonaws.com","s3-website.dualstack.eu-south-2.amazonaws.com","s3.eu-south-2.amazonaws.com","s3-accesspoint.eu-south-2.amazonaws.com","s3-object-lambda.eu-south-2.amazonaws.com","s3-website.eu-south-2.amazonaws.com","s3.dualstack.eu-west-1.amazonaws.com","s3-accesspoint.dualstack.eu-west-1.amazonaws.com","s3-website.dualstack.eu-west-1.amazonaws.com","s3.eu-west-1.amazonaws.com","s3-accesspoint.eu-west-1.amazonaws.com","s3-deprecated.eu-west-1.amazonaws.com","s3-object-lambda.eu-west-1.amazonaws.com","s3-website.eu-west-1.amazonaws.com","s3.dualstack.eu-west-2.amazonaws.com","s3-accesspoint.dualstack.eu-west-2.amazonaws.com","s3.eu-west-2.amazonaws.com","s3-accesspoint.eu-west-2.amazonaws.com","s3-object-lambda.eu-west-2.amazonaws.com","s3-website.eu-west-2.amazonaws.com","s3.dualstack.eu-west-3.amazonaws.com","s3-accesspoint.dualstack.eu-west-3.amazonaws.com","s3-website.dualstack.eu-west-3.amazonaws.com","s3.eu-west-3.amazonaws.com","s3-accesspoint.eu-west-3.amazonaws.com","s3-object-lambda.eu-west-3.amazonaws.com","s3-website.eu-west-3.amazonaws.com","s3.dualstack.il-central-1.amazonaws.com","s3-accesspoint.dualstack.il-central-1.amazonaws.com","s3-website.dualstack.il-central-1.amazonaws.com","s3.il-central-1.amazonaws.com","s3-accesspoint.il-central-1.amazonaws.com","s3-object-lambda.il-central-1.amazonaws.com","s3-website.il-central-1.amazonaws.com","s3.dualstack.me-central-1.amazonaws.com","s3-accesspoint.dualstack.me-central-1.amazonaws.com","s3-website.dualstack.me-central-1.amazonaws.com","s3.me-central-1.amazonaws.com","s3-accesspoint.me-central-1.amazonaws.com","s3-object-lambda.me-central-1.amazonaws.com","s3-website.me-central-1.amazonaws.com","s3.dualstack.me-south-1.amazonaws.com","s3-accesspoint.dualstack.me-south-1.amazonaws.com","s3.me-south-1.amazonaws.com","s3-accesspoint.me-south-1.amazonaws.com","s3-object-lambda.me-south-1.amazonaws.com","s3-website.me-south-1.amazonaws.com","s3.amazonaws.com","s3-1.amazonaws.com","s3-ap-east-1.amazonaws.com","s3-ap-northeast-1.amazonaws.com","s3-ap-northeast-2.amazonaws.com","s3-ap-northeast-3.amazonaws.com","s3-ap-south-1.amazonaws.com","s3-ap-southeast-1.amazonaws.com","s3-ap-southeast-2.amazonaws.com","s3-ca-central-1.amazonaws.com","s3-eu-central-1.amazonaws.com","s3-eu-north-1.amazonaws.com","s3-eu-west-1.amazonaws.com","s3-eu-west-2.amazonaws.com","s3-eu-west-3.amazonaws.com","s3-external-1.amazonaws.com","s3-fips-us-gov-east-1.amazonaws.com","s3-fips-us-gov-west-1.amazonaws.com","mrap.accesspoint.s3-global.amazonaws.com","s3-me-south-1.amazonaws.com","s3-sa-east-1.amazonaws.com","s3-us-east-2.amazonaws.com","s3-us-gov-east-1.amazonaws.com","s3-us-gov-west-1.amazonaws.com","s3-us-west-1.amazonaws.com","s3-us-west-2.amazonaws.com","s3-website-ap-northeast-1.amazonaws.com","s3-website-ap-southeast-1.amazonaws.com","s3-website-ap-southeast-2.amazonaws.com","s3-website-eu-west-1.amazonaws.com","s3-website-sa-east-1.amazonaws.com","s3-website-us-east-1.amazonaws.com","s3-website-us-gov-west-1.amazonaws.com","s3-website-us-west-1.amazonaws.com","s3-website-us-west-2.amazonaws.com","s3.dualstack.sa-east-1.amazonaws.com","s3-accesspoint.dualstack.sa-east-1.amazonaws.com","s3-website.dualstack.sa-east-1.amazonaws.com","s3.sa-east-1.amazonaws.com","s3-accesspoint.sa-east-1.amazonaws.com","s3-object-lambda.sa-east-1.amazonaws.com","s3-website.sa-east-1.amazonaws.com","s3.dualstack.us-east-1.amazonaws.com","s3-accesspoint.dualstack.us-east-1.amazonaws.com","s3-accesspoint-fips.dualstack.us-east-1.amazonaws.com","s3-fips.dualstack.us-east-1.amazonaws.com","s3-website.dualstack.us-east-1.amazonaws.com","s3.us-east-1.amazonaws.com","s3-accesspoint.us-east-1.amazonaws.com","s3-accesspoint-fips.us-east-1.amazonaws.com","s3-deprecated.us-east-1.amazonaws.com","s3-fips.us-east-1.amazonaws.com","s3-object-lambda.us-east-1.amazonaws.com","s3-website.us-east-1.amazonaws.com","s3.dualstack.us-east-2.amazonaws.com","s3-accesspoint.dualstack.us-east-2.amazonaws.com","s3-accesspoint-fips.dualstack.us-east-2.amazonaws.com","s3-fips.dualstack.us-east-2.amazonaws.com","s3-website.dualstack.us-east-2.amazonaws.com","s3.us-east-2.amazonaws.com","s3-accesspoint.us-east-2.amazonaws.com","s3-accesspoint-fips.us-east-2.amazonaws.com","s3-deprecated.us-east-2.amazonaws.com","s3-fips.us-east-2.amazonaws.com","s3-object-lambda.us-east-2.amazonaws.com","s3-website.us-east-2.amazonaws.com","s3.dualstack.us-gov-east-1.amazonaws.com","s3-accesspoint.dualstack.us-gov-east-1.amazonaws.com","s3-accesspoint-fips.dualstack.us-gov-east-1.amazonaws.com","s3-fips.dualstack.us-gov-east-1.amazonaws.com","s3.us-gov-east-1.amazonaws.com","s3-accesspoint.us-gov-east-1.amazonaws.com","s3-accesspoint-fips.us-gov-east-1.amazonaws.com","s3-fips.us-gov-east-1.amazonaws.com","s3-object-lambda.us-gov-east-1.amazonaws.com","s3-website.us-gov-east-1.amazonaws.com","s3.dualstack.us-gov-west-1.amazonaws.com","s3-accesspoint.dualstack.us-gov-west-1.amazonaws.com","s3-accesspoint-fips.dualstack.us-gov-west-1.amazonaws.com","s3-fips.dualstack.us-gov-west-1.amazonaws.com","s3.us-gov-west-1.amazonaws.com","s3-accesspoint.us-gov-west-1.amazonaws.com","s3-accesspoint-fips.us-gov-west-1.amazonaws.com","s3-fips.us-gov-west-1.amazonaws.com","s3-object-lambda.us-gov-west-1.amazonaws.com","s3-website.us-gov-west-1.amazonaws.com","s3.dualstack.us-west-1.amazonaws.com","s3-accesspoint.dualstack.us-west-1.amazonaws.com","s3-accesspoint-fips.dualstack.us-west-1.amazonaws.com","s3-fips.dualstack.us-west-1.amazonaws.com","s3-website.dualstack.us-west-1.amazonaws.com","s3.us-west-1.amazonaws.com","s3-accesspoint.us-west-1.amazonaws.com","s3-accesspoint-fips.us-west-1.amazonaws.com","s3-fips.us-west-1.amazonaws.com","s3-object-lambda.us-west-1.amazonaws.com","s3-website.us-west-1.amazonaws.com","s3.dualstack.us-west-2.amazonaws.com","s3-accesspoint.dualstack.us-west-2.amazonaws.com","s3-accesspoint-fips.dualstack.us-west-2.amazonaws.com","s3-fips.dualstack.us-west-2.amazonaws.com","s3-website.dualstack.us-west-2.amazonaws.com","s3.us-west-2.amazonaws.com","s3-accesspoint.us-west-2.amazonaws.com","s3-accesspoint-fips.us-west-2.amazonaws.com","s3-deprecated.us-west-2.amazonaws.com","s3-fips.us-west-2.amazonaws.com","s3-object-lambda.us-west-2.amazonaws.com","s3-website.us-west-2.amazonaws.com","labeling.ap-northeast-1.sagemaker.aws","labeling.ap-northeast-2.sagemaker.aws","labeling.ap-south-1.sagemaker.aws","labeling.ap-southeast-1.sagemaker.aws","labeling.ap-southeast-2.sagemaker.aws","labeling.ca-central-1.sagemaker.aws","labeling.eu-central-1.sagemaker.aws","labeling.eu-west-1.sagemaker.aws","labeling.eu-west-2.sagemaker.aws","labeling.us-east-1.sagemaker.aws","labeling.us-east-2.sagemaker.aws","labeling.us-west-2.sagemaker.aws","notebook.af-south-1.sagemaker.aws","notebook.ap-east-1.sagemaker.aws","notebook.ap-northeast-1.sagemaker.aws","notebook.ap-northeast-2.sagemaker.aws","notebook.ap-northeast-3.sagemaker.aws","notebook.ap-south-1.sagemaker.aws","notebook.ap-south-2.sagemaker.aws","notebook.ap-southeast-1.sagemaker.aws","notebook.ap-southeast-2.sagemaker.aws","notebook.ap-southeast-3.sagemaker.aws","notebook.ap-southeast-4.sagemaker.aws","notebook.ca-central-1.sagemaker.aws","notebook-fips.ca-central-1.sagemaker.aws","notebook.ca-west-1.sagemaker.aws","notebook-fips.ca-west-1.sagemaker.aws","notebook.eu-central-1.sagemaker.aws","notebook.eu-central-2.sagemaker.aws","notebook.eu-north-1.sagemaker.aws","notebook.eu-south-1.sagemaker.aws","notebook.eu-south-2.sagemaker.aws","notebook.eu-west-1.sagemaker.aws","notebook.eu-west-2.sagemaker.aws","notebook.eu-west-3.sagemaker.aws","notebook.il-central-1.sagemaker.aws","notebook.me-central-1.sagemaker.aws","notebook.me-south-1.sagemaker.aws","notebook.sa-east-1.sagemaker.aws","notebook.us-east-1.sagemaker.aws","notebook-fips.us-east-1.sagemaker.aws","notebook.us-east-2.sagemaker.aws","notebook-fips.us-east-2.sagemaker.aws","notebook.us-gov-east-1.sagemaker.aws","notebook-fips.us-gov-east-1.sagemaker.aws","notebook.us-gov-west-1.sagemaker.aws","notebook-fips.us-gov-west-1.sagemaker.aws","notebook.us-west-1.sagemaker.aws","notebook-fips.us-west-1.sagemaker.aws","notebook.us-west-2.sagemaker.aws","notebook-fips.us-west-2.sagemaker.aws","notebook.cn-north-1.sagemaker.com.cn","notebook.cn-northwest-1.sagemaker.com.cn","studio.af-south-1.sagemaker.aws","studio.ap-east-1.sagemaker.aws","studio.ap-northeast-1.sagemaker.aws","studio.ap-northeast-2.sagemaker.aws","studio.ap-northeast-3.sagemaker.aws","studio.ap-south-1.sagemaker.aws","studio.ap-southeast-1.sagemaker.aws","studio.ap-southeast-2.sagemaker.aws","studio.ap-southeast-3.sagemaker.aws","studio.ca-central-1.sagemaker.aws","studio.eu-central-1.sagemaker.aws","studio.eu-north-1.sagemaker.aws","studio.eu-south-1.sagemaker.aws","studio.eu-south-2.sagemaker.aws","studio.eu-west-1.sagemaker.aws","studio.eu-west-2.sagemaker.aws","studio.eu-west-3.sagemaker.aws","studio.il-central-1.sagemaker.aws","studio.me-central-1.sagemaker.aws","studio.me-south-1.sagemaker.aws","studio.sa-east-1.sagemaker.aws","studio.us-east-1.sagemaker.aws","studio.us-east-2.sagemaker.aws","studio.us-gov-east-1.sagemaker.aws","studio-fips.us-gov-east-1.sagemaker.aws","studio.us-gov-west-1.sagemaker.aws","studio-fips.us-gov-west-1.sagemaker.aws","studio.us-west-1.sagemaker.aws","studio.us-west-2.sagemaker.aws","studio.cn-north-1.sagemaker.com.cn","studio.cn-northwest-1.sagemaker.com.cn","*.experiments.sagemaker.aws","analytics-gateway.ap-northeast-1.amazonaws.com","analytics-gateway.ap-northeast-2.amazonaws.com","analytics-gateway.ap-south-1.amazonaws.com","analytics-gateway.ap-southeast-1.amazonaws.com","analytics-gateway.ap-southeast-2.amazonaws.com","analytics-gateway.eu-central-1.amazonaws.com","analytics-gateway.eu-west-1.amazonaws.com","analytics-gateway.us-east-1.amazonaws.com","analytics-gateway.us-east-2.amazonaws.com","analytics-gateway.us-west-2.amazonaws.com","amplifyapp.com","*.awsapprunner.com","webview-assets.aws-cloud9.af-south-1.amazonaws.com","vfs.cloud9.af-south-1.amazonaws.com","webview-assets.cloud9.af-south-1.amazonaws.com","webview-assets.aws-cloud9.ap-east-1.amazonaws.com","vfs.cloud9.ap-east-1.amazonaws.com","webview-assets.cloud9.ap-east-1.amazonaws.com","webview-assets.aws-cloud9.ap-northeast-1.amazonaws.com","vfs.cloud9.ap-northeast-1.amazonaws.com","webview-assets.cloud9.ap-northeast-1.amazonaws.com","webview-assets.aws-cloud9.ap-northeast-2.amazonaws.com","vfs.cloud9.ap-northeast-2.amazonaws.com","webview-assets.cloud9.ap-northeast-2.amazonaws.com","webview-assets.aws-cloud9.ap-northeast-3.amazonaws.com","vfs.cloud9.ap-northeast-3.amazonaws.com","webview-assets.cloud9.ap-northeast-3.amazonaws.com","webview-assets.aws-cloud9.ap-south-1.amazonaws.com","vfs.cloud9.ap-south-1.amazonaws.com","webview-assets.cloud9.ap-south-1.amazonaws.com","webview-assets.aws-cloud9.ap-southeast-1.amazonaws.com","vfs.cloud9.ap-southeast-1.amazonaws.com","webview-assets.cloud9.ap-southeast-1.amazonaws.com","webview-assets.aws-cloud9.ap-southeast-2.amazonaws.com","vfs.cloud9.ap-southeast-2.amazonaws.com","webview-assets.cloud9.ap-southeast-2.amazonaws.com","webview-assets.aws-cloud9.ca-central-1.amazonaws.com","vfs.cloud9.ca-central-1.amazonaws.com","webview-assets.cloud9.ca-central-1.amazonaws.com","webview-assets.aws-cloud9.eu-central-1.amazonaws.com","vfs.cloud9.eu-central-1.amazonaws.com","webview-assets.cloud9.eu-central-1.amazonaws.com","webview-assets.aws-cloud9.eu-north-1.amazonaws.com","vfs.cloud9.eu-north-1.amazonaws.com","webview-assets.cloud9.eu-north-1.amazonaws.com","webview-assets.aws-cloud9.eu-south-1.amazonaws.com","vfs.cloud9.eu-south-1.amazonaws.com","webview-assets.cloud9.eu-south-1.amazonaws.com","webview-assets.aws-cloud9.eu-west-1.amazonaws.com","vfs.cloud9.eu-west-1.amazonaws.com","webview-assets.cloud9.eu-west-1.amazonaws.com","webview-assets.aws-cloud9.eu-west-2.amazonaws.com","vfs.cloud9.eu-west-2.amazonaws.com","webview-assets.cloud9.eu-west-2.amazonaws.com","webview-assets.aws-cloud9.eu-west-3.amazonaws.com","vfs.cloud9.eu-west-3.amazonaws.com","webview-assets.cloud9.eu-west-3.amazonaws.com","webview-assets.aws-cloud9.il-central-1.amazonaws.com","vfs.cloud9.il-central-1.amazonaws.com","webview-assets.aws-cloud9.me-south-1.amazonaws.com","vfs.cloud9.me-south-1.amazonaws.com","webview-assets.cloud9.me-south-1.amazonaws.com","webview-assets.aws-cloud9.sa-east-1.amazonaws.com","vfs.cloud9.sa-east-1.amazonaws.com","webview-assets.cloud9.sa-east-1.amazonaws.com","webview-assets.aws-cloud9.us-east-1.amazonaws.com","vfs.cloud9.us-east-1.amazonaws.com","webview-assets.cloud9.us-east-1.amazonaws.com","webview-assets.aws-cloud9.us-east-2.amazonaws.com","vfs.cloud9.us-east-2.amazonaws.com","webview-assets.cloud9.us-east-2.amazonaws.com","webview-assets.aws-cloud9.us-west-1.amazonaws.com","vfs.cloud9.us-west-1.amazonaws.com","webview-assets.cloud9.us-west-1.amazonaws.com","webview-assets.aws-cloud9.us-west-2.amazonaws.com","vfs.cloud9.us-west-2.amazonaws.com","webview-assets.cloud9.us-west-2.amazonaws.com","awsapps.com","cn-north-1.eb.amazonaws.com.cn","cn-northwest-1.eb.amazonaws.com.cn","elasticbeanstalk.com","af-south-1.elasticbeanstalk.com","ap-east-1.elasticbeanstalk.com","ap-northeast-1.elasticbeanstalk.com","ap-northeast-2.elasticbeanstalk.com","ap-northeast-3.elasticbeanstalk.com","ap-south-1.elasticbeanstalk.com","ap-southeast-1.elasticbeanstalk.com","ap-southeast-2.elasticbeanstalk.com","ap-southeast-3.elasticbeanstalk.com","ca-central-1.elasticbeanstalk.com","eu-central-1.elasticbeanstalk.com","eu-north-1.elasticbeanstalk.com","eu-south-1.elasticbeanstalk.com","eu-west-1.elasticbeanstalk.com","eu-west-2.elasticbeanstalk.com","eu-west-3.elasticbeanstalk.com","il-central-1.elasticbeanstalk.com","me-south-1.elasticbeanstalk.com","sa-east-1.elasticbeanstalk.com","us-east-1.elasticbeanstalk.com","us-east-2.elasticbeanstalk.com","us-gov-east-1.elasticbeanstalk.com","us-gov-west-1.elasticbeanstalk.com","us-west-1.elasticbeanstalk.com","us-west-2.elasticbeanstalk.com","*.elb.amazonaws.com.cn","*.elb.amazonaws.com","awsglobalaccelerator.com","*.private.repost.aws","eero.online","eero-stage.online","apigee.io","panel.dev","siiites.com","appspacehosted.com","appspaceusercontent.com","appudo.net","on-aptible.com","f5.si","arvanedge.ir","user.aseinet.ne.jp","gv.vc","d.gv.vc","user.party.eus","pimienta.org","poivron.org","potager.org","sweetpepper.org","myasustor.com","cdn.prod.atlassian-dev.net","translated.page","myfritz.link","myfritz.net","onavstack.net","*.awdev.ca","*.advisor.ws","ecommerce-shop.pl","b-data.io","balena-devices.com","base.ec","official.ec","buyshop.jp","fashionstore.jp","handcrafted.jp","kawaiishop.jp","supersale.jp","theshop.jp","shopselect.net","base.shop","beagleboard.io","*.beget.app","pages.gay","bnr.la","bitbucket.io","blackbaudcdn.net","of.je","bluebite.io","boomla.net","boutir.com","boxfuse.io","square7.ch","bplaced.com","bplaced.de","square7.de","bplaced.net","square7.net","*.s.brave.io","shop.brendly.hr","shop.brendly.rs","browsersafetymark.io","radio.am","radio.fm","uk0.bigv.io","dh.bytemark.co.uk","vm.bytemark.co.uk","cafjs.com","canva-apps.cn","*.my.canvasite.cn","canva-apps.com","*.my.canva.site","drr.ac","uwu.ai","carrd.co","crd.co","ju.mp","api.gov.uk","cdn77-storage.com","rsc.contentproxy9.cz","r.cdn77.net","cdn77-ssl.net","c.cdn77.org","rsc.cdn77.org","ssl.origin.cdn77-secure.org","za.bz","br.com","cn.com","de.com","eu.com","jpn.com","mex.com","ru.com","sa.com","uk.com","us.com","za.com","com.de","gb.net","hu.net","jp.net","se.net","uk.net","ae.org","com.se","cx.ua","discourse.group","discourse.team","clerk.app","clerkstage.app","*.lcl.dev","*.lclstage.dev","*.stg.dev","*.stgstage.dev","cleverapps.cc","*.services.clever-cloud.com","cleverapps.io","cleverapps.tech","clickrising.net","cloudns.asia","cloudns.be","cloud-ip.biz","cloudns.biz","cloudns.cc","cloudns.ch","cloudns.cl","cloudns.club","dnsabr.com","ip-ddns.com","cloudns.cx","cloudns.eu","cloudns.in","cloudns.info","ddns-ip.net","dns-cloud.net","dns-dynamic.net","cloudns.nz","cloudns.org","ip-dynamic.org","cloudns.ph","cloudns.pro","cloudns.pw","cloudns.us","c66.me","cloud66.ws","cloud66.zone","jdevcloud.com","wpdevcloud.com","cloudaccess.host","freesite.host","cloudaccess.net","*.cloudera.site","cf-ipfs.com","cloudflare-ipfs.com","trycloudflare.com","pages.dev","r2.dev","workers.dev","cloudflare.net","cdn.cloudflare.net","cdn.cloudflareanycast.net","cdn.cloudflarecn.net","cdn.cloudflareglobal.net","cust.cloudscale.ch","objects.lpg.cloudscale.ch","objects.rma.cloudscale.ch","wnext.app","cnpy.gdn","*.otap.co","co.ca","co.com","codeberg.page","csb.app","preview.csb.app","co.nl","co.no","webhosting.be","hosting-cluster.nl","ctfcloud.net","convex.site","ac.ru","edu.ru","gov.ru","int.ru","mil.ru","test.ru","dyn.cosidns.de","dnsupdater.de","dynamisches-dns.de","internet-dns.de","l-o-g-i-n.de","dynamic-dns.info","feste-ip.net","knx-server.net","static-access.net","craft.me","realm.cz","on.crisp.email","*.cryptonomic.net","curv.dev","cfolks.pl","cyon.link","cyon.site","platform0.app","fnwk.site","folionetwork.site","biz.dk","co.dk","firm.dk","reg.dk","store.dk","dyndns.dappnode.io","builtwithdark.com","darklang.io","demo.datadetect.com","instance.datadetect.com","edgestack.me","dattolocal.com","dattorelay.com","dattoweb.com","mydatto.com","dattolocal.net","mydatto.net","ddnss.de","dyn.ddnss.de","dyndns.ddnss.de","dyn-ip24.de","dyndns1.de","home-webserver.de","dyn.home-webserver.de","myhome-server.de","ddnss.org","debian.net","definima.io","definima.net","deno.dev","deno-staging.dev","dedyn.io","deta.app","deta.dev","dfirma.pl","dkonto.pl","you2.pl","ondigitalocean.app","*.digitaloceanspaces.com","us.kg","rss.my.id","diher.solutions","discordsays.com","discordsez.com","jozi.biz","dnshome.de","online.th","shop.th","drayddns.com","shoparena.pl","dreamhosters.com","durumis.com","mydrobo.com","drud.io","drud.us","duckdns.org","dy.fi","tunk.org","dyndns.biz","for-better.biz","for-more.biz","for-some.biz","for-the.biz","selfip.biz","webhop.biz","ftpaccess.cc","game-server.cc","myphotos.cc","scrapping.cc","blogdns.com","cechire.com","dnsalias.com","dnsdojo.com","doesntexist.com","dontexist.com","doomdns.com","dyn-o-saur.com","dynalias.com","dyndns-at-home.com","dyndns-at-work.com","dyndns-blog.com","dyndns-free.com","dyndns-home.com","dyndns-ip.com","dyndns-mail.com","dyndns-office.com","dyndns-pics.com","dyndns-remote.com","dyndns-server.com","dyndns-web.com","dyndns-wiki.com","dyndns-work.com","est-a-la-maison.com","est-a-la-masion.com","est-le-patron.com","est-mon-blogueur.com","from-ak.com","from-al.com","from-ar.com","from-ca.com","from-ct.com","from-dc.com","from-de.com","from-fl.com","from-ga.com","from-hi.com","from-ia.com","from-id.com","from-il.com","from-in.com","from-ks.com","from-ky.com","from-ma.com","from-md.com","from-mi.com","from-mn.com","from-mo.com","from-ms.com","from-mt.com","from-nc.com","from-nd.com","from-ne.com","from-nh.com","from-nj.com","from-nm.com","from-nv.com","from-oh.com","from-ok.com","from-or.com","from-pa.com","from-pr.com","from-ri.com","from-sc.com","from-sd.com","from-tn.com","from-tx.com","from-ut.com","from-va.com","from-vt.com","from-wa.com","from-wi.com","from-wv.com","from-wy.com","getmyip.com","gotdns.com","hobby-site.com","homelinux.com","homeunix.com","iamallama.com","is-a-anarchist.com","is-a-blogger.com","is-a-bookkeeper.com","is-a-bulls-fan.com","is-a-caterer.com","is-a-chef.com","is-a-conservative.com","is-a-cpa.com","is-a-cubicle-slave.com","is-a-democrat.com","is-a-designer.com","is-a-doctor.com","is-a-financialadvisor.com","is-a-geek.com","is-a-green.com","is-a-guru.com","is-a-hard-worker.com","is-a-hunter.com","is-a-landscaper.com","is-a-lawyer.com","is-a-liberal.com","is-a-libertarian.com","is-a-llama.com","is-a-musician.com","is-a-nascarfan.com","is-a-nurse.com","is-a-painter.com","is-a-personaltrainer.com","is-a-photographer.com","is-a-player.com","is-a-republican.com","is-a-rockstar.com","is-a-socialist.com","is-a-student.com","is-a-teacher.com","is-a-techie.com","is-a-therapist.com","is-an-accountant.com","is-an-actor.com","is-an-actress.com","is-an-anarchist.com","is-an-artist.com","is-an-engineer.com","is-an-entertainer.com","is-certified.com","is-gone.com","is-into-anime.com","is-into-cars.com","is-into-cartoons.com","is-into-games.com","is-leet.com","is-not-certified.com","is-slick.com","is-uberleet.com","is-with-theband.com","isa-geek.com","isa-hockeynut.com","issmarterthanyou.com","likes-pie.com","likescandy.com","neat-url.com","saves-the-whales.com","selfip.com","sells-for-less.com","sells-for-u.com","servebbs.com","simple-url.com","space-to-rent.com","teaches-yoga.com","writesthisblog.com","ath.cx","fuettertdasnetz.de","isteingeek.de","istmein.de","lebtimnetz.de","leitungsen.de","traeumtgerade.de","barrel-of-knowledge.info","barrell-of-knowledge.info","dyndns.info","for-our.info","groks-the.info","groks-this.info","here-for-more.info","knowsitall.info","selfip.info","webhop.info","forgot.her.name","forgot.his.name","at-band-camp.net","blogdns.net","broke-it.net","buyshouses.net","dnsalias.net","dnsdojo.net","does-it.net","dontexist.net","dynalias.net","dynathome.net","endofinternet.net","from-az.net","from-co.net","from-la.net","from-ny.net","gets-it.net","ham-radio-op.net","homeftp.net","homeip.net","homelinux.net","homeunix.net","in-the-band.net","is-a-chef.net","is-a-geek.net","isa-geek.net","kicks-ass.net","office-on-the.net","podzone.net","scrapper-site.net","selfip.net","sells-it.net","servebbs.net","serveftp.net","thruhere.net","webhop.net","merseine.nu","mine.nu","shacknet.nu","blogdns.org","blogsite.org","boldlygoingnowhere.org","dnsalias.org","dnsdojo.org","doesntexist.org","dontexist.org","doomdns.org","dvrdns.org","dynalias.org","dyndns.org","go.dyndns.org","home.dyndns.org","endofinternet.org","endoftheinternet.org","from-me.org","game-host.org","gotdns.org","hobby-site.org","homedns.org","homeftp.org","homelinux.org","homeunix.org","is-a-bruinsfan.org","is-a-candidate.org","is-a-celticsfan.org","is-a-chef.org","is-a-geek.org","is-a-knight.org","is-a-linux-user.org","is-a-patsfan.org","is-a-soxfan.org","is-found.org","is-lost.org","is-saved.org","is-very-bad.org","is-very-evil.org","is-very-good.org","is-very-nice.org","is-very-sweet.org","isa-geek.org","kicks-ass.org","misconfused.org","podzone.org","readmyblog.org","selfip.org","sellsyourhome.org","servebbs.org","serveftp.org","servegame.org","stuff-4-sale.org","webhop.org","better-than.tv","dyndns.tv","on-the-web.tv","worse-than.tv","is-by.us","land-4-sale.us","stuff-4-sale.us","dyndns.ws","mypets.ws","ddnsfree.com","ddnsgeek.com","giize.com","gleeze.com","kozow.com","loseyourip.com","ooguy.com","theworkpc.com","casacam.net","dynu.net","accesscam.org","camdvr.org","freeddns.org","mywire.org","webredirect.org","myddns.rocks","dynv6.net","e4.cz","easypanel.app","easypanel.host","*.ewp.live","twmail.cc","twmail.net","twmail.org","mymailer.com.tw","url.tw","at.emf.camp","rt.ht","elementor.cloud","elementor.cool","en-root.fr","mytuleap.com","tuleap-partners.com","encr.app","encoreapi.com","eu.encoway.cloud","eu.org","al.eu.org","asso.eu.org","at.eu.org","au.eu.org","be.eu.org","bg.eu.org","ca.eu.org","cd.eu.org","ch.eu.org","cn.eu.org","cy.eu.org","cz.eu.org","de.eu.org","dk.eu.org","edu.eu.org","ee.eu.org","es.eu.org","fi.eu.org","fr.eu.org","gr.eu.org","hr.eu.org","hu.eu.org","ie.eu.org","il.eu.org","in.eu.org","int.eu.org","is.eu.org","it.eu.org","jp.eu.org","kr.eu.org","lt.eu.org","lu.eu.org","lv.eu.org","me.eu.org","mk.eu.org","mt.eu.org","my.eu.org","net.eu.org","ng.eu.org","nl.eu.org","no.eu.org","nz.eu.org","pl.eu.org","pt.eu.org","ro.eu.org","ru.eu.org","se.eu.org","si.eu.org","sk.eu.org","tr.eu.org","uk.eu.org","us.eu.org","eurodir.ru","eu-1.evennode.com","eu-2.evennode.com","eu-3.evennode.com","eu-4.evennode.com","us-1.evennode.com","us-2.evennode.com","us-3.evennode.com","us-4.evennode.com","relay.evervault.app","relay.evervault.dev","expo.app","staging.expo.app","onfabrica.com","ru.net","adygeya.ru","bashkiria.ru","bir.ru","cbg.ru","com.ru","dagestan.ru","grozny.ru","kalmykia.ru","kustanai.ru","marine.ru","mordovia.ru","msk.ru","mytis.ru","nalchik.ru","nov.ru","pyatigorsk.ru","spb.ru","vladikavkaz.ru","vladimir.ru","abkhazia.su","adygeya.su","aktyubinsk.su","arkhangelsk.su","armenia.su","ashgabad.su","azerbaijan.su","balashov.su","bashkiria.su","bryansk.su","bukhara.su","chimkent.su","dagestan.su","east-kazakhstan.su","exnet.su","georgia.su","grozny.su","ivanovo.su","jambyl.su","kalmykia.su","kaluga.su","karacol.su","karaganda.su","karelia.su","khakassia.su","krasnodar.su","kurgan.su","kustanai.su","lenug.su","mangyshlak.su","mordovia.su","msk.su","murmansk.su","nalchik.su","navoi.su","north-kazakhstan.su","nov.su","obninsk.su","penza.su","pokrovsk.su","sochi.su","spb.su","tashkent.su","termez.su","togliatti.su","troitsk.su","tselinograd.su","tula.su","tuva.su","vladikavkaz.su","vladimir.su","vologda.su","channelsdvr.net","u.channelsdvr.net","edgecompute.app","fastly-edge.com","fastly-terrarium.com","freetls.fastly.net","map.fastly.net","a.prod.fastly.net","global.prod.fastly.net","a.ssl.fastly.net","b.ssl.fastly.net","global.ssl.fastly.net","fastlylb.net","map.fastlylb.net","*.user.fm","fastvps-server.com","fastvps.host","myfast.host","fastvps.site","myfast.space","conn.uk","copro.uk","hosp.uk","fedorainfracloud.org","fedorapeople.org","cloud.fedoraproject.org","app.os.fedoraproject.org","app.os.stg.fedoraproject.org","mydobiss.com","fh-muenster.io","filegear.me","firebaseapp.com","fldrv.com","flutterflow.app","fly.dev","shw.io","edgeapp.net","forgeblocks.com","id.forgerock.io","framer.ai","framer.app","framercanvas.com","framer.media","framer.photos","framer.website","framer.wiki","0e.vc","freebox-os.com","freeboxos.com","fbx-os.fr","fbxos.fr","freebox-os.fr","freeboxos.fr","freedesktop.org","freemyip.com","*.frusky.de","wien.funkfeuer.at","daemon.asia","dix.asia","mydns.bz","0am.jp","0g0.jp","0j0.jp","0t0.jp","mydns.jp","pgw.jp","wjg.jp","keyword-on.net","live-on.net","server-on.net","mydns.tw","mydns.vc","*.futurecms.at","*.ex.futurecms.at","*.in.futurecms.at","futurehosting.at","futuremailing.at","*.ex.ortsinfo.at","*.kunden.ortsinfo.at","*.statics.cloud","aliases121.com","campaign.gov.uk","service.gov.uk","independent-commission.uk","independent-inquest.uk","independent-inquiry.uk","independent-panel.uk","independent-review.uk","public-inquiry.uk","royal-commission.uk","gehirn.ne.jp","usercontent.jp","gentapps.com","gentlentapis.com","lab.ms","cdn-edges.net","localcert.net","localhostcert.net","gsj.bz","githubusercontent.com","githubpreview.dev","github.io","gitlab.io","gitapp.si","gitpage.si","glitch.me","nog.community","co.ro","shop.ro","lolipop.io","angry.jp","babyblue.jp","babymilk.jp","backdrop.jp","bambina.jp","bitter.jp","blush.jp","boo.jp","boy.jp","boyfriend.jp","but.jp","candypop.jp","capoo.jp","catfood.jp","cheap.jp","chicappa.jp","chillout.jp","chips.jp","chowder.jp","chu.jp","ciao.jp","cocotte.jp","coolblog.jp","cranky.jp","cutegirl.jp","daa.jp","deca.jp","deci.jp","digick.jp","egoism.jp","fakefur.jp","fem.jp","flier.jp","floppy.jp","fool.jp","frenchkiss.jp","girlfriend.jp","girly.jp","gloomy.jp","gonna.jp","greater.jp","hacca.jp","heavy.jp","her.jp","hiho.jp","hippy.jp","holy.jp","hungry.jp","icurus.jp","itigo.jp","jellybean.jp","kikirara.jp","kill.jp","kilo.jp","kuron.jp","littlestar.jp","lolipopmc.jp","lolitapunk.jp","lomo.jp","lovepop.jp","lovesick.jp","main.jp","mods.jp","mond.jp","mongolian.jp","moo.jp","namaste.jp","nikita.jp","nobushi.jp","noor.jp","oops.jp","parallel.jp","parasite.jp","pecori.jp","peewee.jp","penne.jp","pepper.jp","perma.jp","pigboat.jp","pinoko.jp","punyu.jp","pupu.jp","pussycat.jp","pya.jp","raindrop.jp","readymade.jp","sadist.jp","schoolbus.jp","secret.jp","staba.jp","stripper.jp","sub.jp","sunnyday.jp","thick.jp","tonkotsu.jp","under.jp","upper.jp","velvet.jp","verse.jp","versus.jp","vivian.jp","watson.jp","weblike.jp","whitesnow.jp","zombie.jp","heteml.net","graphic.design","goip.de","blogspot.ae","blogspot.al","blogspot.am","*.hosted.app","*.run.app","web.app","blogspot.com.ar","blogspot.co.at","blogspot.com.au","blogspot.ba","blogspot.be","blogspot.bg","blogspot.bj","blogspot.com.br","blogspot.com.by","blogspot.ca","blogspot.cf","blogspot.ch","blogspot.cl","blogspot.com.co","*.0emm.com","appspot.com","*.r.appspot.com","blogspot.com","codespot.com","googleapis.com","googlecode.com","pagespeedmobilizer.com","withgoogle.com","withyoutube.com","blogspot.cv","blogspot.com.cy","blogspot.cz","blogspot.de","*.gateway.dev","blogspot.dk","blogspot.com.ee","blogspot.com.eg","blogspot.com.es","blogspot.fi","blogspot.fr","cloud.goog","translate.goog","*.usercontent.goog","blogspot.gr","blogspot.hk","blogspot.hr","blogspot.hu","blogspot.co.id","blogspot.ie","blogspot.co.il","blogspot.in","blogspot.is","blogspot.it","blogspot.jp","blogspot.co.ke","blogspot.kr","blogspot.li","blogspot.lt","blogspot.lu","blogspot.md","blogspot.mk","blogspot.com.mt","blogspot.mx","blogspot.my","cloudfunctions.net","blogspot.com.ng","blogspot.nl","blogspot.no","blogspot.co.nz","blogspot.pe","blogspot.pt","blogspot.qa","blogspot.re","blogspot.ro","blogspot.rs","blogspot.ru","blogspot.se","blogspot.sg","blogspot.si","blogspot.sk","blogspot.sn","blogspot.td","blogspot.com.tr","blogspot.tw","blogspot.ug","blogspot.co.uk","blogspot.com.uy","blogspot.vn","blogspot.co.za","goupile.fr","pymnt.uk","cloudapps.digital","london.cloudapps.digital","gov.nl","grafana-dev.net","grayjayleagues.com","günstigbestellen.de","günstigliefern.de","fin.ci","free.hr","caa.li","ua.rs","conf.se","häkkinen.fi","hrsn.dev","hashbang.sh","hasura.app","hasura-app.io","hatenablog.com","hatenadiary.com","hateblo.jp","hatenablog.jp","hatenadiary.jp","hatenadiary.org","pages.it.hs-heilbronn.de","pages-research.it.hs-heilbronn.de","heiyu.space","helioho.st","heliohost.us","hepforge.org","herokuapp.com","herokussl.com","heyflow.page","heyflow.site","ravendb.cloud","ravendb.community","development.run","ravendb.run","homesklep.pl","*.kin.one","*.id.pub","*.kin.pub","secaas.hk","hoplix.shop","orx.biz","biz.gl","biz.ng","co.biz.ng","dl.biz.ng","go.biz.ng","lg.biz.ng","on.biz.ng","col.ng","firm.ng","gen.ng","ltd.ng","ngo.ng","plc.ng","ie.ua","hostyhosting.io","hf.space","static.hf.space","hypernode.io","iobb.net","co.cz","*.moonscale.io","moonscale.net","gr.com","iki.fi","ibxos.it","iliadboxos.it","smushcdn.com","wphostedmail.com","wpmucdn.com","tempurl.host","wpmudev.host","dyn-berlin.de","in-berlin.de","in-brb.de","in-butter.de","in-dsl.de","in-vpn.de","in-dsl.net","in-vpn.net","in-dsl.org","in-vpn.org","biz.at","info.at","info.cx","ac.leg.br","al.leg.br","am.leg.br","ap.leg.br","ba.leg.br","ce.leg.br","df.leg.br","es.leg.br","go.leg.br","ma.leg.br","mg.leg.br","ms.leg.br","mt.leg.br","pa.leg.br","pb.leg.br","pe.leg.br","pi.leg.br","pr.leg.br","rj.leg.br","rn.leg.br","ro.leg.br","rr.leg.br","rs.leg.br","sc.leg.br","se.leg.br","sp.leg.br","to.leg.br","pixolino.com","na4u.ru","apps-1and1.com","live-website.com","apps-1and1.net","websitebuilder.online","app-ionos.space","iopsys.se","*.dweb.link","ipifony.net","ir.md","is-a-good.dev","is-a.dev","iservschule.de","mein-iserv.de","schulplattform.de","schulserver.de","test-iserv.de","iserv.dev","mel.cloudlets.com.au","cloud.interhostsolutions.be","alp1.ae.flow.ch","appengine.flow.ch","es-1.axarnet.cloud","diadem.cloud","vip.jelastic.cloud","jele.cloud","it1.eur.aruba.jenv-aruba.cloud","it1.jenv-aruba.cloud","keliweb.cloud","cs.keliweb.cloud","oxa.cloud","tn.oxa.cloud","uk.oxa.cloud","primetel.cloud","uk.primetel.cloud","ca.reclaim.cloud","uk.reclaim.cloud","us.reclaim.cloud","ch.trendhosting.cloud","de.trendhosting.cloud","jele.club","dopaas.com","paas.hosted-by-previder.com","rag-cloud.hosteur.com","rag-cloud-ch.hosteur.com","jcloud.ik-server.com","jcloud-ver-jpc.ik-server.com","demo.jelastic.com","paas.massivegrid.com","jed.wafaicloud.com","ryd.wafaicloud.com","j.scaleforce.com.cy","jelastic.dogado.eu","fi.cloudplatform.fi","demo.datacenter.fi","paas.datacenter.fi","jele.host","mircloud.host","paas.beebyte.io","sekd1.beebyteapp.io","jele.io","jc.neen.it","jcloud.kz","cloudjiffy.net","fra1-de.cloudjiffy.net","west1-us.cloudjiffy.net","jls-sto1.elastx.net","jls-sto2.elastx.net","jls-sto3.elastx.net","fr-1.paas.massivegrid.net","lon-1.paas.massivegrid.net","lon-2.paas.massivegrid.net","ny-1.paas.massivegrid.net","ny-2.paas.massivegrid.net","sg-1.paas.massivegrid.net","jelastic.saveincloud.net","nordeste-idc.saveincloud.net","j.scaleforce.net","sdscloud.pl","unicloud.pl","mircloud.ru","enscaled.sg","jele.site","jelastic.team","orangecloud.tn","j.layershift.co.uk","phx.enscaled.us","mircloud.us","myjino.ru","*.hosting.myjino.ru","*.landing.myjino.ru","*.spectrum.myjino.ru","*.vps.myjino.ru","jotelulu.cloud","webadorsite.com","jouwweb.site","*.cns.joyent.com","*.triton.zone","js.org","kaas.gg","khplay.nl","kapsi.fi","ezproxy.kuleuven.be","kuleuven.cloud","keymachine.de","kinghost.net","uni5.net","knightpoint.systems","koobin.events","webthings.io","krellian.net","oya.to","git-repos.de","lcube-server.de","svn-repos.de","leadpages.co","lpages.co","lpusercontent.com","lelux.site","libp2p.direct","runcontainers.dev","co.business","co.education","co.events","co.financial","co.network","co.place","co.technology","linkyard-cloud.ch","linkyard.cloud","members.linode.com","*.nodebalancer.linode.com","*.linodeobjects.com","ip.linodeusercontent.com","we.bs","filegear-sg.me","ggff.net","*.user.localcert.dev","lodz.pl","pabianice.pl","plock.pl","sieradz.pl","skierniewice.pl","zgierz.pl","loginline.app","loginline.dev","loginline.io","loginline.services","loginline.site","lohmus.me","servers.run","krasnik.pl","leczna.pl","lubartow.pl","lublin.pl","poniatowa.pl","swidnik.pl","glug.org.uk","lug.org.uk","lugs.org.uk","barsy.bg","barsy.club","barsycenter.com","barsyonline.com","barsy.de","barsy.dev","barsy.eu","barsy.gr","barsy.in","barsy.info","barsy.io","barsy.me","barsy.menu","barsyonline.menu","barsy.mobi","barsy.net","barsy.online","barsy.org","barsy.pro","barsy.pub","barsy.ro","barsy.rs","barsy.shop","barsyonline.shop","barsy.site","barsy.store","barsy.support","barsy.uk","barsy.co.uk","barsyonline.co.uk","*.magentosite.cloud","hb.cldmail.ru","matlab.cloud","modelscape.com","mwcloudnonprod.com","polyspace.com","mayfirst.info","mayfirst.org","mazeplay.com","mcdir.me","mcdir.ru","vps.mcdir.ru","mcpre.ru","mediatech.by","mediatech.dev","hra.health","medusajs.app","miniserver.com","memset.net","messerli.app","atmeta.com","apps.fbsbx.com","*.cloud.metacentrum.cz","custom.metacentrum.cz","flt.cloud.muni.cz","usr.cloud.muni.cz","meteorapp.com","eu.meteorapp.com","co.pl","*.azurecontainer.io","azure-api.net","azure-mobile.net","azureedge.net","azurefd.net","azurestaticapps.net","1.azurestaticapps.net","2.azurestaticapps.net","3.azurestaticapps.net","4.azurestaticapps.net","5.azurestaticapps.net","6.azurestaticapps.net","7.azurestaticapps.net","centralus.azurestaticapps.net","eastasia.azurestaticapps.net","eastus2.azurestaticapps.net","westeurope.azurestaticapps.net","westus2.azurestaticapps.net","azurewebsites.net","cloudapp.net","trafficmanager.net","blob.core.windows.net","servicebus.windows.net","routingthecloud.com","sn.mynetname.net","routingthecloud.net","routingthecloud.org","csx.cc","mydbserver.com","webspaceconfig.de","mittwald.info","mittwaldserver.info","typo3server.info","project.space","modx.dev","bmoattachments.org","net.ru","org.ru","pp.ru","hostedpi.com","caracal.mythic-beasts.com","customer.mythic-beasts.com","fentiger.mythic-beasts.com","lynx.mythic-beasts.com","ocelot.mythic-beasts.com","oncilla.mythic-beasts.com","onza.mythic-beasts.com","sphinx.mythic-beasts.com","vs.mythic-beasts.com","x.mythic-beasts.com","yali.mythic-beasts.com","cust.retrosnub.co.uk","ui.nabu.casa","cloud.nospamproxy.com","netfy.app","netlify.app","4u.com","nfshost.com","ipfs.nftstorage.link","ngo.us","ngrok.app","ngrok-free.app","ngrok.dev","ngrok-free.dev","ngrok.io","ap.ngrok.io","au.ngrok.io","eu.ngrok.io","in.ngrok.io","jp.ngrok.io","sa.ngrok.io","us.ngrok.io","ngrok.pizza","ngrok.pro","torun.pl","nh-serv.co.uk","nimsite.uk","mmafan.biz","myftp.biz","no-ip.biz","no-ip.ca","fantasyleague.cc","gotdns.ch","3utilities.com","blogsyte.com","ciscofreak.com","damnserver.com","ddnsking.com","ditchyourip.com","dnsiskinky.com","dynns.com","geekgalaxy.com","health-carereform.com","homesecuritymac.com","homesecuritypc.com","myactivedirectory.com","mysecuritycamera.com","myvnc.com","net-freaks.com","onthewifi.com","point2this.com","quicksytes.com","securitytactics.com","servebeer.com","servecounterstrike.com","serveexchange.com","serveftp.com","servegame.com","servehalflife.com","servehttp.com","servehumour.com","serveirc.com","servemp3.com","servep2p.com","servepics.com","servequake.com","servesarcasm.com","stufftoread.com","unusualperson.com","workisboring.com","dvrcam.info","ilovecollege.info","no-ip.info","brasilia.me","ddns.me","dnsfor.me","hopto.me","loginto.me","noip.me","webhop.me","bounceme.net","ddns.net","eating-organic.net","mydissent.net","myeffect.net","mymediapc.net","mypsx.net","mysecuritycamera.net","nhlfan.net","no-ip.net","pgafan.net","privatizehealthinsurance.net","redirectme.net","serveblog.net","serveminecraft.net","sytes.net","cable-modem.org","collegefan.org","couchpotatofries.org","hopto.org","mlbfan.org","myftp.org","mysecuritycamera.org","nflfan.org","no-ip.org","read-books.org","ufcfan.org","zapto.org","no-ip.co.uk","golffan.us","noip.us","pointto.us","stage.nodeart.io","*.developer.app","noop.app","*.northflank.app","*.build.run","*.code.run","*.database.run","*.migration.run","noticeable.news","notion.site","dnsking.ch","mypi.co","n4t.co","001www.com","myiphost.com","forumz.info","soundcast.me","tcp4.me","dnsup.net","hicam.net","now-dns.net","ownip.net","vpndns.net","dynserv.org","now-dns.org","x443.pw","now-dns.top","ntdll.top","freeddns.us","nsupdate.info","nerdpol.ovh","nyc.mn","prvcy.page","obl.ong","observablehq.cloud","static.observableusercontent.com","omg.lol","cloudycluster.net","omniwe.site","123webseite.at","123website.be","simplesite.com.br","123website.ch","simplesite.com","123webseite.de","123hjemmeside.dk","123miweb.es","123kotisivu.fi","123siteweb.fr","simplesite.gr","123homepage.it","123website.lu","123website.nl","123hjemmeside.no","service.one","simplesite.pl","123paginaweb.pt","123minsida.se","is-a-fullstack.dev","is-cool.dev","is-not-a.dev","localplayer.dev","is-local.org","opensocial.site","opencraft.hosting","16-b.it","32-b.it","64-b.it","orsites.com","operaunite.com","*.customer-oci.com","*.oci.customer-oci.com","*.ocp.customer-oci.com","*.ocs.customer-oci.com","*.oraclecloudapps.com","*.oraclegovcloudapps.com","*.oraclegovcloudapps.uk","tech.orange","can.re","authgear-staging.com","authgearapps.com","skygearapp.com","outsystemscloud.com","*.hosting.ovh.net","*.webpaas.ovh.net","ownprovider.com","own.pm","*.owo.codes","ox.rs","oy.lc","pgfog.com","pagexl.com","gotpantheon.com","pantheonsite.io","*.paywhirl.com","*.xmit.co","xmit.dev","madethis.site","srv.us","gh.srv.us","gl.srv.us","lk3.ru","mypep.link","perspecta.cloud","on-web.fr","*.upsun.app","upsunapp.com","ent.platform.sh","eu.platform.sh","us.platform.sh","*.platformsh.site","*.tst.site","platter-app.com","platter-app.dev","platterp.us","pley.games","onporter.run","co.bn","postman-echo.com","pstmn.io","mock.pstmn.io","httpbin.org","prequalifyme.today","xen.prgmr.com","priv.at","protonet.io","chirurgiens-dentistes-en-france.fr","byen.site","pubtls.org","pythonanywhere.com","eu.pythonanywhere.com","qa2.com","qcx.io","*.sys.qcx.io","myqnapcloud.cn","alpha-myqnapcloud.com","dev-myqnapcloud.com","mycloudnas.com","mynascloud.com","myqnapcloud.com","qoto.io","qualifioapp.com","ladesk.com","qbuser.com","*.quipelements.com","vapor.cloud","vaporcloud.io","rackmaze.com","rackmaze.net","cloudsite.builders","myradweb.net","servername.us","web.in","in.net","myrdbx.io","site.rb-hosting.io","*.on-rancher.cloud","*.on-k3s.io","*.on-rio.io","ravpage.co.il","readthedocs-hosted.com","readthedocs.io","rhcloud.com","instances.spawn.cc","onrender.com","app.render.com","replit.app","id.replit.app","firewalledreplit.co","id.firewalledreplit.co","repl.co","id.repl.co","replit.dev","archer.replit.dev","bones.replit.dev","canary.replit.dev","global.replit.dev","hacker.replit.dev","id.replit.dev","janeway.replit.dev","kim.replit.dev","kira.replit.dev","kirk.replit.dev","odo.replit.dev","paris.replit.dev","picard.replit.dev","pike.replit.dev","prerelease.replit.dev","reed.replit.dev","riker.replit.dev","sisko.replit.dev","spock.replit.dev","staging.replit.dev","sulu.replit.dev","tarpit.replit.dev","teams.replit.dev","tucker.replit.dev","wesley.replit.dev","worf.replit.dev","repl.run","resindevice.io","devices.resinstaging.io","hzc.io","adimo.co.uk","itcouldbewor.se","aus.basketball","nz.basketball","git-pages.rit.edu","rocky.page","rub.de","ruhr-uni-bochum.de","io.noc.ruhr-uni-bochum.de","биз.рус","ком.рус","крым.рус","мир.рус","мск.рус","орг.рус","самара.рус","сочи.рус","спб.рус","я.рус","ras.ru","nyat.app","180r.com","dojin.com","sakuratan.com","sakuraweb.com","x0.com","2-d.jp","bona.jp","crap.jp","daynight.jp","eek.jp","flop.jp","halfmoon.jp","jeez.jp","matrix.jp","mimoza.jp","ivory.ne.jp","mail-box.ne.jp","mints.ne.jp","mokuren.ne.jp","opal.ne.jp","sakura.ne.jp","sumomo.ne.jp","topaz.ne.jp","netgamers.jp","nyanta.jp","o0o0.jp","rdy.jp","rgr.jp","rulez.jp","s3.isk01.sakurastorage.jp","s3.isk02.sakurastorage.jp","saloon.jp","sblo.jp","skr.jp","tank.jp","uh-oh.jp","undo.jp","rs.webaccel.jp","user.webaccel.jp","websozai.jp","xii.jp","squares.net","jpn.org","kirara.st","x0.to","from.tv","sakura.tv","*.builder.code.com","*.dev-builder.code.com","*.stg-builder.code.com","*.001.test.code-builder-stg.platform.salesforce.com","*.d.crm.dev","*.w.crm.dev","*.wa.crm.dev","*.wb.crm.dev","*.wc.crm.dev","*.wd.crm.dev","*.we.crm.dev","*.wf.crm.dev","sandcats.io","logoip.com","logoip.de","fr-par-1.baremetal.scw.cloud","fr-par-2.baremetal.scw.cloud","nl-ams-1.baremetal.scw.cloud","cockpit.fr-par.scw.cloud","fnc.fr-par.scw.cloud","functions.fnc.fr-par.scw.cloud","k8s.fr-par.scw.cloud","nodes.k8s.fr-par.scw.cloud","s3.fr-par.scw.cloud","s3-website.fr-par.scw.cloud","whm.fr-par.scw.cloud","priv.instances.scw.cloud","pub.instances.scw.cloud","k8s.scw.cloud","cockpit.nl-ams.scw.cloud","k8s.nl-ams.scw.cloud","nodes.k8s.nl-ams.scw.cloud","s3.nl-ams.scw.cloud","s3-website.nl-ams.scw.cloud","whm.nl-ams.scw.cloud","cockpit.pl-waw.scw.cloud","k8s.pl-waw.scw.cloud","nodes.k8s.pl-waw.scw.cloud","s3.pl-waw.scw.cloud","s3-website.pl-waw.scw.cloud","scalebook.scw.cloud","smartlabeling.scw.cloud","dedibox.fr","schokokeks.net","gov.scot","service.gov.scot","scrysec.com","client.scrypted.io","firewall-gateway.com","firewall-gateway.de","my-gateway.de","my-router.de","spdns.de","spdns.eu","firewall-gateway.net","my-firewall.org","myfirewall.org","spdns.org","seidat.net","sellfy.store","minisite.ms","senseering.net","servebolt.cloud","biz.ua","co.ua","pp.ua","as.sh.cn","sheezy.games","shiftedit.io","myshopblocks.com","myshopify.com","shopitsite.com","shopware.shop","shopware.store","mo-siemens.io","1kapp.com","appchizi.com","applinzi.com","sinaapp.com","vipsinaapp.com","siteleaf.net","small-web.org","aeroport.fr","avocat.fr","chambagri.fr","chirurgiens-dentistes.fr","experts-comptables.fr","medecin.fr","notaires.fr","pharmacien.fr","port.fr","veterinaire.fr","vp4.me","*.snowflake.app","*.privatelink.snowflake.app","streamlit.app","streamlitapp.com","try-snowplow.com","mafelo.net","playstation-cloud.com","srht.site","apps.lair.io","*.stolos.io","spacekit.io","ind.mom","customer.speedpartner.de","myspreadshop.at","myspreadshop.com.au","myspreadshop.be","myspreadshop.ca","myspreadshop.ch","myspreadshop.com","myspreadshop.de","myspreadshop.dk","myspreadshop.es","myspreadshop.fi","myspreadshop.fr","myspreadshop.ie","myspreadshop.it","myspreadshop.net","myspreadshop.nl","myspreadshop.no","myspreadshop.pl","myspreadshop.se","myspreadshop.co.uk","w-corp-staticblitz.com","w-credentialless-staticblitz.com","w-staticblitz.com","stackhero-network.com","runs.onstackit.cloud","stackit.gg","stackit.rocks","stackit.run","stackit.zone","musician.io","novecore.site","api.stdlib.com","feedback.ac","forms.ac","assessments.cx","calculators.cx","funnels.cx","paynow.cx","quizzes.cx","researched.cx","tests.cx","surveys.so","storebase.store","storipress.app","storj.farm","strapiapp.com","media.strapiapp.com","vps-host.net","atl.jelastic.vps-host.net","njs.jelastic.vps-host.net","ric.jelastic.vps-host.net","streak-link.com","streaklinks.com","streakusercontent.com","soc.srcf.net","user.srcf.net","utwente.io","temp-dns.com","supabase.co","supabase.in","supabase.net","syncloud.it","dscloud.biz","direct.quickconnect.cn","dsmynas.com","familyds.com","diskstation.me","dscloud.me","i234.me","myds.me","synology.me","dscloud.mobi","dsmynas.net","familyds.net","dsmynas.org","familyds.org","direct.quickconnect.to","vpnplus.to","mytabit.com","mytabit.co.il","tabitorder.co.il","taifun-dns.de","ts.net","*.c.ts.net","gda.pl","gdansk.pl","gdynia.pl","med.pl","sopot.pl","taveusercontent.com","p.tawk.email","p.tawkto.email","site.tb-hosting.com","edugit.io","s3.teckids.org","telebit.app","telebit.io","*.telebit.xyz","*.firenet.ch","*.svc.firenet.ch","reservd.com","thingdustdata.com","cust.dev.thingdust.io","reservd.dev.thingdust.io","cust.disrec.thingdust.io","reservd.disrec.thingdust.io","cust.prod.thingdust.io","cust.testing.thingdust.io","reservd.testing.thingdust.io","tickets.io","arvo.network","azimuth.network","tlon.network","torproject.net","pages.torproject.net","townnews-staging.com","12hp.at","2ix.at","4lima.at","lima-city.at","12hp.ch","2ix.ch","4lima.ch","lima-city.ch","trafficplex.cloud","de.cool","12hp.de","2ix.de","4lima.de","lima-city.de","1337.pictures","clan.rip","lima-city.rocks","webspace.rocks","lima.zone","*.transurl.be","*.transurl.eu","site.transip.me","*.transurl.nl","tuxfamily.org","dd-dns.de","dray-dns.de","draydns.de","dyn-vpn.de","dynvpn.de","mein-vigor.de","my-vigor.de","my-wan.de","syno-ds.de","synology-diskstation.de","synology-ds.de","diskstation.eu","diskstation.org","typedream.app","pro.typeform.com","*.uberspace.de","uber.space","hk.com","inc.hk","ltd.hk","hk.org","it.com","unison-services.cloud","virtual-user.de","virtualuser.de","name.pm","sch.tf","biz.wf","sch.wf","org.yt","rs.ba","bielsko.pl","upli.io","urown.cloud","dnsupdate.info","us.org","v.ua","express.val.run","web.val.run","vercel.app","v0.build","vercel.dev","vusercontent.net","now.sh","2038.io","router.management","v-info.info","voorloper.cloud","*.vultrobjects.com","wafflecell.com","webflow.io","webflowtest.io","*.webhare.dev","bookonline.app","hotelwithflight.com","reserve-online.com","reserve-online.net","cprapid.com","pleskns.com","wp2.host","pdns.page","plesk.page","wpsquared.site","*.wadl.top","remotewd.com","box.ca","pages.wiardweb.com","toolforge.org","wmcloud.org","wmflabs.org","wdh.app","panel.gg","daemon.panel.gg","wixsite.com","wixstudio.com","editorx.io","wixstudio.io","wix.run","messwithdns.com","woltlab-demo.com","myforum.community","community-pro.de","diskussionsbereich.de","community-pro.net","meinforum.net","affinitylottery.org.uk","raffleentry.org.uk","weeklylottery.org.uk","wpenginepowered.com","js.wpenginepowered.com","half.host","xnbay.com","u2.xnbay.com","u2-local.xnbay.com","cistron.nl","demon.nl","xs4all.space","yandexcloud.net","storage.yandexcloud.net","website.yandexcloud.net","official.academy","yolasite.com","yombo.me","ynh.fr","nohost.me","noho.st","za.net","za.org","zap.cloud","zeabur.app","bss.design","basicserver.io","virtualserver.io","enterprisecloud.nu"].reduce((e,t)=>{const n=t.replace(/^(\*\.|\!)/,""),a=kn.toASCII(n),r=t.charAt(0);if(e.has(a))throw new Error(`Multiple rules found for ${t} (${a})`);return e.set(a,{rule:t,suffix:n,punySuffix:a,wildcard:"*"===r,exception:"!"===r}),e},new Map);const jn={en:JSON.parse('{"cross_sell":{"kayak":{"find_me_accommodation":"Find me accommodation"},"activities":{"explore_activities_with":"Explore activities with ","viator":"Viator","civitatis":"Civitatis"}},"secondary_cta":{"compare_price":"Compare price","book_with_discount":"Save up to {discount}%","book_with_discount_barcelo":"Get Promo","save":"Save {price}","popover":{"header":{"text":"Book with"},"support_hotel":"Support the property directly","feedback":{"text_checked":"{positiveFeedback}/10 users found a good direct deal","text_unchecked":"Help other travelers find better deals"},"discount":{"text_checked":"Discount detected","text_unchecked":"Price discount detected"},"coupon":{"text_checked":"Coupon found"}}},"offers":{"best_offer":"Best offer with","save":"Save {price}","no_discount":"Alternative offer with {provider}","empty":"You\'re viewing the best offer!","popover":{"header":{"text":"Book with"}}},"label":{"own_ota_tooltip":"Check Directo Deal","tooltip":"Direct website found","coupon_tooltip":"Coupon found","discount_tooltip":"Better price found","score_tooltip":"Popular deal found","high_score_tooltip":"Very popular deal found"},"direct_price_tracker":{"saving_label":"Save <strong>{amount}</strong> vs {platform}","span_title":"Price checked just now"}}'),es:JSON.parse('{"cross_sell":{"kayak":{"find_me_accommodation":"Buscar alojamiento"},"activities":{"explore_activities_with":"Explora actividades con ","viator":"Viator","civitatis":"Civitatis"}},"secondary_cta":{"compare_price":"Comparar precio","book_with_discount":"Ahorra hasta {discount}%","book_with_discount_barcelo":"Ver promo","save":"Ahorra {price}","popover":{"header":{"text":"Reserva con"},"support_hotel":"Apoya al alojamiento directamente","feedback":{"text_checked":"{positiveFeedback}/10 usuarios encontraron una buena oferta directa","text_unchecked":"Ayuda a otros viajeros a encontrar mejores ofertas"},"discount":{"text_checked":"Descuento detectado","text_unchecked":"Descuento en precio detectado"},"coupon":{"text_checked":"Cupón encontrado"}}},"offers":{"best_offer":"La mejor oferta con","save":"Ahorra {price}","no_discount":"Oferta alternativa con {provider}","empty":"¡Estás viendo la mejor oferta!","popover":{"header":{"text":"Reserva con"}}},"label":{"own_ota_tooltip":"Ver oferta en Directo","tooltip":"Web directa encontrada","coupon_tooltip":"Cupón encontrado","discount_tooltip":"Mejor precio encontrado","score_tooltip":"Oferta popular encontrada","high_score_tooltip":"Oferta muy popular encontrada"},"direct_price_tracker":{"saving_label":"Ahorras <strong>{amount}</strong> vs {platform}","span_title":"Precio verificado ahora"}}'),fr:JSON.parse('{"cross_sell":{"kayak":{"find_me_accommodation":"Trouver un hébergement"},"activities":{"explore_activities_with":"Découvrez des activités avec ","viator":"Viator","civitatis":"Civitatis"}},"secondary_cta":{"compare_price":"Comparer les prix","book_with_discount":"Économisez jusqu\'à {discount}%","book_with_discount_barcelo":"Voir la promo","save":"Économisez {price}","popover":{"header":{"text":"Réservez avec"},"support_hotel":"Soutenez le bien directement","feedback":{"text_checked":"{positiveFeedback}/10 utilisateurs ont trouvé une bonne offre directe","text_unchecked":"Aidez d\'autres voyageurs à trouver de meilleures offres"},"discount":{"text_checked":"Réduction détectée","text_unchecked":"Réduction de prix détectée"},"coupon":{"text_checked":"Coupon trouvé"}}},"offers":{"best_offer":"La meilleure offre avec","save":"Économisez {price}","no_discount":"Offre alternative avec {provider}","empty":"Vous consultez la meilleure offre!","popover":{"header":{"text":"Réservez avec"}}},"label":{"own_ota_tooltip":"Voir l\'offre sur Directo","tooltip":"Site web direct trouvé","coupon_tooltip":"Coupon trouvé","discount_tooltip":"Meilleur prix trouvé","score_tooltip":"Offre populaire trouvée","high_score_tooltip":"Offre très populaire trouvée"},"direct_price_tracker":{"saving_label":"Vous économisez <strong>{amount}</strong> vs {platform}","span_title":"Prix vérifié à l\'instant"}}'),it:JSON.parse('{"cross_sell":{"kayak":{"find_me_accommodation":"Trova un alloggio"},"activities":{"explore_activities_with":"Esplora le attività con ","viator":"Viator","civitatis":"Civitatis"}},"secondary_cta":{"compare_price":"Confronta il prezzo","book_with_discount":"Risparmia fino al {discount}%","book_with_discount_barcelo":"Vedi la promo","save":"Risparmia {price}","popover":{"header":{"text":"Prenota con"},"support_hotel":"Supporta l\'alojamento direttamente","feedback":{"text_checked":"{positiveFeedback}/10 utenti hanno trovato una buona offerta diretta","text_unchecked":"Aiuta altri viaggiatori a trovare offerte migliori"},"discount":{"text_checked":"Sconto rilevato","text_unchecked":"Sconto sul prezzo rilevato"},"coupon":{"text_checked":"Coupon trovato"}}},"offers":{"best_offer":"La migliore offerta con","save":"Risparmia {price}","no_discount":"Offerta alternativa con {provider}","empty":"Stai visualizzando la migliore offerta!","popover":{"header":{"text":"Prenota con"}}},"label":{"own_ota_tooltip":"Vedi l\'offerta su Directo","tooltip":"Sito web diretto trovato","coupon_tooltip":"Coupon trovato","discount_tooltip":"Prezzo migliore trovato","score_tooltip":"Offerta popolare trovata","high_score_tooltip":"Offerta molto popolare trovata"},"direct_price_tracker":{"saving_label":"Risparmi <strong>{amount}</strong> vs {platform}","span_title":"Prezzo verificato ora"}}'),pt:JSON.parse('{"cross_sell":{"kayak":{"find_me_accommodation":"Encontre um alojamento"},"activities":{"explore_activities_with":"Explore atividades com a ","viator":"Viator","civitatis":"Civitatis"}},"secondary_cta":{"compare_price":"Comparar preço","book_with_discount":"Economize até {discount}%","book_with_discount_barcelo":"Ver promoção","save":"Economize {price}","popover":{"header":{"text":"Reserve com"},"support_hotel":"Apoie o alojamento diretamente","feedback":{"text_checked":"{positiveFeedback}/10 usuários encontraram uma boa oferta direta","text_unchecked":"Ajude outros viajantes a encontrar melhores ofertas"},"discount":{"text_checked":"Desconto detectado","text_unchecked":"Desconto no preço detectado"},"coupon":{"text_checked":"Cupom encontrado"}}},"offers":{"best_offer":"A melhor oferta com","save":"Economize {price}","no_discount":"Oferta alternativa com {provider}","empty":"Você está vendo a melhor oferta!","popover":{"header":{"text":"Reserve com"}}},"label":{"own_ota_tooltip":"Ver oferta na Directo","tooltip":"Encontre uma oferta melhor","coupon_tooltip":"Cupom encontrado","discount_tooltip":"Melhor preço encontrado","score_tooltip":"Oferta popular","high_score_tooltip":"Oferta muito popular"},"direct_price_tracker":{"saving_label":"Você economiza <strong>{amount}</strong> vs {platform}","span_title":"Preço verificado agora"}}')},xn=new class{translations;constructor(e){this.translations=e}getLocalisedString(e,t){const n=t&&Object.keys(this.translations).includes(t)?t:Yt(),a=`{${e}}`,r=Pt(this.translations,`${n}.${e}`)??Pt(this.translations,`en.${e}`)??a;return"string"!=typeof r?(console.warn(`i18n: The path "${e}" for locale "${n}" does not resolve to a string.`),a):r}translate(e,t,n){const a=this.getLocalisedString(e,n);if(!t)return a;let r=a;return Vt(t,(e,t)=>{null!=e&&(r=r.replace(`{${t}}`,e.toString()))}),r}}(jn),Cn=xn.translate.bind(xn);async function Sn(e,t){await Qt(e,e=>{const n=function(e,t){const n=new AbortController;return e.addEventListener("click",async n=>{if(n instanceof MouseEvent&&null!==n.view&&"isSynthetic"in n.view&&"boolean"==typeof n.view.isSynthetic&&n.view.isSynthetic)return;n.preventDefault(),n.stopPropagation(),n.stopImmediatePropagation();try{await t()}catch(e){console.error(e)}const a=new MouseEvent("click",{bubbles:!0,cancelable:!0,view:Object.assign(window,{isSynthetic:!0})});setTimeout(()=>{e.dispatchEvent(a)},100)},{capture:!0,signal:n.signal}),n}(e,t);return()=>{n.abort()}},{retryMs:fn,checkIntervalMs:fn})}var zn=n(723),En=n(997),On=n(155);class An{TCheckbox;latestCheckbox=null;constructor(e){this.TCheckbox=e}async inject(e,t){await Qt(e,e=>{let n;switch(this.latestCheckbox?(n=this.latestCheckbox.checked,this.latestCheckbox.$host.remove(),this.latestCheckbox=null):n=!0,this.latestCheckbox=new this.TCheckbox(n),t?.inject){case"append":case void 0:e.append(this.latestCheckbox.$host);break;case"prepend":e.prepend(this.latestCheckbox.$host);break;case"before":e.before(this.latestCheckbox.$host);break;case"after":e.after(this.latestCheckbox.$host);break;default:t?.inject(e,this.latestCheckbox.$host)}return t?.afterInject?.(e,this.latestCheckbox)},{retryMs:fn,checkIntervalMs:fn,signal:t?.signal,getContainer:t?.getContainer})}get checked(){return null!==this.latestCheckbox&&this.latestCheckbox.isVisible&&this.latestCheckbox.checked}set checked(e){this.latestCheckbox&&(this.latestCheckbox.checked=e)}}function Pn(e){return class{reactShadowDom;visibilityRef;#e;constructor(e){this.reactShadowDom=function(){const e=document.createElement("div");e.style.display="contents";const t=En.H(e),n=document.createElement("div");return n.style.display="contents",n.attachShadow({mode:"closed"}).appendChild(e),{$root:n,render(e){t.render(e)}}}(),this.visibilityRef={current:null},this.#e=e,this.handleClick=this.handleClick.bind(this),this.render()}render(){this.reactShadowDom.render((0,zn.jsx)(e,{visibilityRef:this.visibilityRef,checked:this.#e,onClick:this.handleClick}))}handleClick(){this.checked=!this.checked}get $host(){return this.reactShadowDom.$root}get checked(){return this.#e}set checked(e){this.#e=e,this.render()}get isVisible(){return!!this.visibilityRef.current&&Xt(this.visibilityRef.current)}}}const In=new Set(["renfe.com"]);class Nn extends hn{checkboxManager=new An(Ln);constructor(){super("RENFE_KAYAK")}async shouldActivate(){const e=wn(new URL(window.location.href));return In.has(e)}async handleCrossSell(){this.injectUI()}injectUI(){this.injectCheckbox(),Sn(['button[type="submit"]',".rf-button--primary"],this.handleSearchClick.bind(this))}async injectCheckbox(){await u(100),this.checkboxManager.inject(["#promotionsv2"],{afterInject(e,t){e.style.display="flex"}})}get checked(){return this.checkboxManager.checked}async getDestination(){try{const e=Wt(["#destination"]);if(!e)return null;const t=en(e);if(!t)return null;return`${ln(t).replace(/\(TODAS\)/,"")} Spain`}catch(e){return console.error(e),null}}async getQueryParamMap(e){return{checkin(){const e=Wt(["#first-input"]);if(e){const t=en(e);if(t){const[e,n]=t.split(",");if(n)return an.tryFromSlashDDMMYY(n.trim())}}return null},checkout(){const e=Wt(["#second-input"]);if(e){const t=en(e);if(t){const[e,n]=t.split(",");if(n)return an.tryFromSlashDDMMYY(n.trim())}}return null},adults(){const e=Wt(["#passengersSelection"]);if(e&&"value"in e&&"string"==typeof e.value&&e.value){const[t,n,a]=e.value.matchAll(/(\d+)/g);return t?parseInt(t[1]):2}return 2},children(){const e=Wt(["#passengersSelection"]);if(e&&"value"in e&&"string"==typeof e.value&&e.value){const[t,n,a]=e.value.matchAll(/(\d+)/g);return n?parseInt(n[1]):0}return 0},currency:mn}}}class Ln{$checkboxContainer;$checkbox;$text;$label;$style;$rootHost;$root;constructor(e){this.$checkbox=document.createElement("input"),this.$checkbox.className="dir-checkbox",this.$checkbox.type="checkbox",this.$checkbox.checked=e;const t=Jt();this.$text=document.createTextNode(Cn("cross_sell.kayak.find_me_accommodation",{},t)),this.$label=document.createElement("label"),this.$label.className="dir-label",this.$label.appendChild(this.$checkbox),this.$label.appendChild(this.$text),this.$checkboxContainer=document.createElement("div"),this.$checkboxContainer.className="dir-checkbox-container",this.$checkboxContainer.appendChild(this.$label),this.$style=document.createElement("style"),this.$style.textContent="\n .dir-label {\n display: flex;\n align-items: center;\n font-size: 14px;\n margin-left: 8px;\n color: black;\n }\n\n .dir-checkbox {\n margin-right: 8px;\n }\n\n .dir-checkbox-container {\n align-self: center;\n }\n ",this.$rootHost=document.createElement("div"),this.$rootHost.style.display="contents",this.$root=this.$rootHost.attachShadow({mode:"closed"}),this.$root.appendChild(this.$style),this.$root.appendChild(this.$checkboxContainer)}get $host(){return this.$rootHost}get checked(){return this.$checkbox.checked}set checked(e){this.$checkbox.checked=e}get isVisible(){return Xt(this.$checkbox)}}const Tn=new Set(["skyscanner.com","skyscanner.net","skyscanner.es","skyscanner.fr","skyscanner.it","skyscanner.pt","skyscanner.com.br","skyscanner.co.in","skyscanner.com.mx","skyscanner.de","skyscanner.com","skyscanner.com.au","skyscanner.com.my","skyscanner.co.il","skyscanner.com.ph","skyscanner.co.nz"]);class Dn extends hn{checkboxManager=new An(Rn);constructor(){super("SKYSCANNER_KAYAK")}async shouldActivate(){const e=wn(new URL(window.location.href));return Tn.has(e)}async handleCrossSell(){this.checkboxManager.inject(['[class*="SearchControls_DestinationInput__"] fieldset']),Sn(['[data-testid="desktop-cta"]','[data-testid="mobile-cta"]'],this.handleSearchClick.bind(this))}get checked(){return this.checkboxManager.checked}async getDestination(){try{const e=Wt(['input[name="destinationInput-search"]']);return e?ln(e.value):null}catch(e){return console.error(e),null}}async getQueryParamMap(e){return{checkin(){const e=Wt(['[data-testid="depart-btn"] [class*="SearchControlButton_value__"]']);if(e){const t=en(e);if(t)return an.tryFromSlashDMY(t)}return null},checkout(){const e=Wt(['[data-testid="return-btn"] [class*="SearchControlButton_value__"]']);if(e){const t=en(e);if(t)return an.tryFromSlashDMY(t)}return null},adults(){const e=Wt(['[data-testid="traveller-button"] [class*="SearchControlButton_value__"]']);if(e){const t=e.textContent;if(t){const[e]=t.matchAll(/(\d+)/g);return e?parseInt(e[1]):2}}return 2},children:0,currency:mn}}}class Rn{$checkbox;$text;$span;$label;$style;$rootHost;$root;constructor(e){this.$checkbox=document.createElement("input"),this.$checkbox.className="dir-checkbox",this.$checkbox.type="checkbox",this.$checkbox.checked=e;const t=Jt();this.$text=document.createTextNode(Cn("cross_sell.kayak.find_me_accommodation",{},t)),this.$span=document.createElement("span"),this.$span.className="dir-span",this.$span.appendChild(this.$text),this.$label=document.createElement("label"),this.$label.className="dir-label",this.$label.appendChild(this.$checkbox),this.$label.appendChild(this.$span),this.$style=document.createElement("style"),this.$style.textContent="\n .dir-checkbox {\n background-color: #fff;\n -webkit-appearance: none;\n appearance: none;\n border: .1875rem solid #626971;border-radius: .25rem;\n cursor: pointer;\n height: 1.25rem;\n left: 0;\n margin: 0;\n padding: 0;\n position: absolute;\n top: .125rem;\n vertical-align: text-bottom;\n width: 1.25rem;\n }\n\n .dir-checkbox:checked {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='13' height='9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.354 3.646 5.5 7.5l6-6' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E\");\n background-position: .0625rem;\n background-repeat: no-repeat;\n background-size: calc(100% - .15625rem) auto;\n background-color: #0062e3;\n background-color: var(--bpk-checkbox-checked-color, #0062e3);\n border-color: #0062e3;\n border-color: var(--bpk-checkbox-checked-color, #0062e3);\n }\n\n .dir-label {\n margin-bottom: 1rem;\n margin-top: .5rem;\n width: 100%;\n color: #fff;\n display: inline-block;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5rem;\n margin: 0;\n padding-left: 1.75rem;\n position: relative;\n }\n\n .dir-span {\n word-wrap: break-word;\n cursor: pointer;\n -webkit-hyphens: auto;\n hyphens: auto;\n overflow-wrap: break-word;\n word-break: break-word;\n vertical-align: initial;\n }\n ",this.$rootHost=document.createElement("div"),this.$rootHost.style.display="contents",this.$root=this.$rootHost.attachShadow({mode:"closed"}),this.$root.appendChild(this.$style),this.$root.appendChild(this.$label)}get $host(){return this.$rootHost}get checked(){return this.$checkbox.checked}set checked(e){this.$checkbox.checked=e}get isVisible(){return Xt(this.$checkbox)}}const Mn=new Set(["ryanair.com"]);class $n extends pn{checkboxManager=new An(Bn);constructor(){super("RYANAIR_KAYAK")}async shouldActivate(){const e=wn(new URL(window.location.href));return Mn.has(e)}async handleCrossSell(){const e=new URL(window.location.href);e.pathname.endsWith("/trip/flights/select")||e.pathname.endsWith("/fare-finder")?this.maybeOpenTab():this.injectUI()}get checked(){return this.checkboxManager.checked}injectUI(){this.checkboxManager.inject([".filters-container"]),Sn([".flight-search-widget__start-search button"],this.handleSearchClick.bind(this))}async getDestination(){return new URL(window.location.href).searchParams.get("destinationIata")||null}async getQueryParamMap(e){return{checkin(){const t=e.searchParams.get("dateOut");return t?an.tryFromDashYYYYMMDD(t):null},checkout(){const t=e.searchParams.get("dateIn");return t?an.tryFromDashYYYYMMDD(t):null},adults(){const t=e.searchParams.get("adults");return t?p(t)??2:2},children(){const t=e.searchParams.get("teens"),n=e.searchParams.get("children");if(!t&&!n)return 0;const a=parseInt(t??"0",10),r=parseInt(n??"0",10);return Number.isNaN(a)&&Number.isNaN(r)?0:(Number.isNaN(a)?0:a)+(Number.isNaN(r)?0:r)},currency:()=>e.searchParams.get("currency")??mn}}}class Bn{$checkbox;$text;$label;$style;$rootHost;$root;constructor(e){this.$checkbox=document.createElement("input"),this.$checkbox.className="dir-checkbox",this.$checkbox.type="checkbox",this.$checkbox.checked=e;const t=/^https?:\/\/(?:www\.)?ryanair\.com\/[^/]+\/([^/]+)/i.exec(location.href),n=t?t[1].toLowerCase():Kt();this.$text=document.createTextNode(Cn("cross_sell.kayak.find_me_accommodation",{},n)),this.$label=document.createElement("label"),this.$label.className="dir-label",this.$label.appendChild(this.$checkbox),this.$label.appendChild(this.$text),this.$style=document.createElement("style"),this.$style.textContent="\n .dir-label {\n margin-left: 1rem;\n }\n\n .dir-checkbox {\n margin-right: 0.5em;\n }\n ",this.$rootHost=document.createElement("div"),this.$rootHost.style.display="contents",this.$root=this.$rootHost.attachShadow({mode:"closed"}),this.$root.appendChild(this.$style),this.$root.appendChild(this.$label)}get $host(){return this.$rootHost}get checked(){return this.$checkbox.checked}set checked(e){this.$checkbox.checked=e}get isVisible(){return Xt(this.$checkbox)}}const Un=new Set(["latamairlines.com"]);class Fn extends pn{checkboxManager=new An(Vn);constructor(){super("LATAM_AIRLINES_KAYAK")}async shouldActivate(){const e=wn(new URL(window.location.href));return Un.has(e)}async handleCrossSell(){const e=new URL(window.location.href);e.pathname.endsWith("/es/ofertas-vuelos")||e.pathname.endsWith("/en/flight-offers")||e.pathname.endsWith("/pt/oferta-voos")?this.maybeOpenTab():this.injectUI()}get checked(){return this.checkboxManager.checked}injectUI(){this.checkboxManager.inject(['[class*="LoyaltyBoxstyles__CheckboxContainer"]']),Sn(["button#fsb-search-flights",'button[type="submit"]'],this.handleSearchClick.bind(this))}async getDestination(){return new URL(window.location.href).searchParams.get("destination")||null}async getQueryParamMap(e){return{checkin(){const t=e.searchParams.get("outbound");if(!t)return null;const[n,a]=t.split("T");return n?an.tryFromDashYYYYMMDD(n):null},checkout(){const t=e.searchParams.get("inbound");if(!t)return null;const[n,a]=t.split("T");return n?an.tryFromDashYYYYMMDD(n):null},adults(){const t=e.searchParams.get("adt");return t?p(t)??2:2},children(){const t=e.searchParams.get("chd");return t?p(t)??0:0},currency(){const e=Wt(['[data-testid="current-currency__name-and-symbol"]']);if(e){const t=e.textContent;if(t){const e=t.match(/^(.+?) · (.+)$/);if(e)return e[1]}}return mn}}}}class Vn{$checkboxContainer;$checkbox;$checkboxIconWrapper;$checkboxIconI;$span;$text;$label;$style;$rootHost;$root;constructor(e){this.$checkbox=document.createElement("input"),this.$checkbox.className="dir-checkbox",this.$checkbox.type="checkbox",this.$checkbox.checked=e,this.$checkboxIconI=document.createElement("i"),this.$checkboxIconI.className="dir-checkbox-icon-i",this.$checkboxIconI.ariaHidden="true",this.$checkboxIconI.innerHTML='\n <svg xmlns="http://www.w3.org/2000/svg" fill="none" focusable="false" viewBox="0 0 32 32">\n <path d="M12.57 21.6161L4.38 13.2161L2 15.7186L12.57 26.376L30 8.75351L27.5325 6.37354L12.57 21.6161Z" fill="currentColor"></path>\n </svg>\n ',this.$checkboxIconWrapper=document.createElement("span"),this.$checkboxIconWrapper.className="dir-checkbox-icon-wrapper",this.$checkboxIconWrapper.appendChild(this.$checkboxIconI);const t=Jt();this.$text=document.createTextNode(Cn("cross_sell.kayak.find_me_accommodation",{},t)),this.$span=document.createElement("span"),this.$span.className="dir-span",this.$span.appendChild(this.$text),this.$label=document.createElement("label"),this.$label.className="dir-label",this.$label.appendChild(this.$checkbox),this.$label.appendChild(this.$checkboxIconWrapper),this.$label.appendChild(this.$span),this.$checkboxContainer=document.createElement("div"),this.$checkboxContainer.className="dir-checkbox-container",this.$checkboxContainer.appendChild(this.$label),this.$style=document.createElement("style"),this.$style.textContent="\n * {\n box-sizing: border-box;\n }\n\n .dir-checkbox {\n position: absolute;\n height: 0px;\n width: 0px;\n appearance: none;\n }\n\n .dir-checkbox-container {\n display: inline-block;\n padding: 0.5rem 0px;\n position: relative;\n width: initial;\n }\n\n .dir-label {\n cursor: pointer;\n display: flex;\n flex-direction: row;\n gap: 0.75rem;\n -webkit-box-pack: justify;\n justify-content: space-between;\n pointer-events: initial;\n width: initial;\n align-items: center;\n }\n\n .dir-span {\n display: flex;\n flex-direction: column;\n margin-right: 0px;\n margin-left: 0.5rem;\n text-align: initial;\n }\n\n .dir-checkbox-icon-wrapper {\n --checkbox-size: 1.5rem;\n background: transparent;\n border-radius: 0.25rem;\n border: 2px solid rgb(70, 88, 223);\n cursor: pointer;\n display: inline-flex;\n height: var(--checkbox-size);\n width: var(--checkbox-size);\n flex-shrink: 0;\n }\n\n .dir-checkbox:checked + .dir-checkbox-icon-wrapper {\n background: rgb(70, 88, 223);\n }\n\n .dir-checkbox-icon-wrapper:hover {\n box-shadow: rgb(238, 237, 249) 0px 0px 0px 0.5rem;\n }\n\n .dir-checkbox-icon-i {\n color: rgb(255, 255, 255);\n display: none;\n height: 100%;\n margin: auto;\n width: 100%;\n }\n\n .dir-checkbox:checked + .dir-checkbox-icon-wrapper .dir-checkbox-icon-i {\n display: flex;\n }\n ",this.$rootHost=document.createElement("div"),this.$rootHost.style.display="contents",this.$root=this.$rootHost.attachShadow({mode:"closed"}),this.$root.appendChild(this.$style),this.$root.appendChild(this.$checkboxContainer)}get $host(){return this.$rootHost}get checked(){return this.$checkbox.checked}set checked(e){this.$checkbox.checked=e}get isVisible(){return Xt(this.$checkbox)}}const Hn=new Set(["iberia.com"]);class Kn extends pn{checkboxManagerTab=new An(qn);checkboxManagerAccordion=new An(qn);constructor(){super("IBERIA_KAYAK")}async shouldActivate(){const e=wn(new URL(window.location.href));return Hn.has(e)}async handleCrossSell(){const e=new URL(window.location.href);!e.pathname.endsWith("/flights/")||"1"!==e.searchParams.get("TRIP_TYPE")&&"2"!==e.searchParams.get("TRIP_TYPE")?this.injectUI():this.maybeOpenTab()}async injectUI(){await u(500),this.injectCheckbox(["#tab-flights .ibe-searcher__options .ibe-form__radio-group"],this.checkboxManagerTab),this.injectCheckbox(["#m-tab-searcher-1 .ibe-searcher__options"],this.checkboxManagerAccordion),Sn(["#buttonSubmit1"],this.handleSearchClick.bind(this))}get checked(){return this.checkboxManagerTab.checked||this.checkboxManagerAccordion.checked}async injectCheckbox(e,t){const n=new AbortController;await t.inject(e,{afterInject:(a,r)=>{const o=()=>{switch(t){case this.checkboxManagerAccordion:this.checkboxManagerTab.checked=r.checked;break;case this.checkboxManagerTab:this.checkboxManagerAccordion.checked=r.checked;break;default:throw new Error("Unrecognized checkbox manager")}};r.addEventListener("change",o);let i=!1;const s=async()=>{i||(i=!0,c(),await this.injectCheckbox(e,t),i=!1)};window.addEventListener("resize",s);const c=()=>{n.abort(),r.removeEventListener("change",o),window.removeEventListener("resize",s)};return c},signal:n.signal})}async getDestination(){return new URL(window.location.href).searchParams.get("END_CITY_01")||null}async getQueryParamMap(e){return{checkin(){const t=e.searchParams.get("BEGIN_YEAR_01");if(!t)return null;const n=e.searchParams.get("BEGIN_MONTH_01");if(!n)return null;const a=e.searchParams.get("BEGIN_DAY_01");return a?Yn(t,n,a):null},checkout(){const t=e.searchParams.get("END_YEAR_01");if(!t)return null;const n=e.searchParams.get("END_MONTH_01");if(!n)return null;const a=e.searchParams.get("END_DAY_01");return a?Yn(t,n,a):null},adults(){const t=e.searchParams.get("ADT");return t?p(t)??2:2},children(){const t=e.searchParams.get("CHD");return t?p(t)??0:0},currency:mn}}}class qn{eventTarget=new EventTarget;$checkboxContainer;$checkbox;$text;$span;$label;$style;$rootHost;$root;constructor(e){this.$checkboxContainer=document.createElement("div"),this.$checkboxContainer.className="dir-checkbox-container",this.$checkbox=document.createElement("input"),this.$checkbox.className="dir-checkbox",this.$checkbox.type="checkbox",this.$checkbox.checked=e,this.$checkbox.addEventListener("click",()=>{this.dispatchEvent(new Wn(this.$checkbox.checked))});const t=Jt();this.$text=document.createTextNode(Cn("cross_sell.kayak.find_me_accommodation",{},t)),this.$span=document.createElement("span"),this.$span.className="dir-span",this.$span.appendChild(this.$text),this.$label=document.createElement("label"),this.$label.className="dir-label",this.$label.appendChild(this.$checkbox),this.$label.appendChild(this.$span),this.$style=document.createElement("style"),this.$style.textContent='\n .dir-checkbox {\n margin: 0;\n margin-right: 0.9375rem;\n\n -webkit-appearance: none;\n appearance: none;\n cursor: pointer;\n \n background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAABWSURBVHja7NVBEcBADELRuEYBOnCBrwhgtrcKSPfUyRfwjlBJbJPEKJK2k5RtSd19RnW3JNtFcqy8FskCcD4HYKGFFlrof9C1qb02/rfu6AEAAP//AwC94S6rHK/aNAAAAABJRU5ErkJggg==) no-repeat;\n content: "";\n display: inline-block;\n height: 1.625rem;\n overflow: hidden;\n vertical-align: middle;\n width: 1.625rem;\n margin-top: 0;\n }\n\n .dir-checkbox:checked {\n \n background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAEDSURBVHjaYvj79++2bdtaW1vLyQKtra3btm37+/cvw7Zt2+bPn//x48f/ZIGPHz/Onz9/27ZtDK2trWSbAjertbWVoby8/D/FoLy8fNQgahv05syZXR6en+7cIdagz/fvf33yBFnk39+/V3p7V8nI7nR1+/P9O7EG7fLwXKuiemfRIgj36+PHe/z8V0hKrdPU+vLwIQlee75//wpJqRWSUvtDw27Pn79WTX2FpNRKKelne/aQHEanS8sgZsHR5a5ucgL799evW8wt4KYcjIr6/+8fmbH26sSJldIyKySlNpua/Xz/nqLof3v+/M1Zs789fz6aRQaVQVQraqlW+FOrOgIMANiB7jjdFd/sAAAAAElFTkSuQmCC) no-repeat;\n }\n\n .dir-label {\n color: #666;\n cursor: pointer;\n font-size: .8125rem;\n display: inline-block;\n }\n\n @media screen and (max-width: 25.999rem) {\n\n .dir-checkbox-container {\n display: block;\n }\n\n .dir-checkbox {\n margin-right: 0.3125rem;\n }\n }\n\n @media screen and (min-width: 26rem) and (max-width: 29.999rem) {\n\n .dir-checkbox-container {\n display: inline-block;\n margin-left: 1rem;\n }\n\n .dir-checkbox {\n margin-right: 0.3125rem;\n }\n }\n\n @media screen and (min-width: 30rem) and (max-width: 47.999rem) {\n }\n\n @media screen and (min-width: 48rem) and (max-width: 63.999rem) {\n\n .dir-checkbox-container {\n margin-left: 1rem;\n display: inline-block;\n }\n }\n\n @media screen and (min-width: 64rem) and (max-width: 79.999rem) {\n\n .dir-label {\n padding-top: .3125rem;\n }\n }\n\n @media screen and (min-width: 80rem) {\n\n .dir-label {\n padding-top: .3125rem;\n }\n }\n ',this.$checkboxContainer.appendChild(this.$label),this.$rootHost=document.createElement("div"),this.$rootHost.style.display="contents",this.$root=this.$rootHost.attachShadow({mode:"closed"}),this.$root.appendChild(this.$style),this.$root.appendChild(this.$checkboxContainer)}get $host(){return this.$rootHost}get checked(){return this.$checkbox.checked}set checked(e){this.$checkbox.checked=e}get isVisible(){return Xt(this.$checkbox)}addEventListener(e,t,n){return this.eventTarget.addEventListener(e,t,n)}dispatchEvent(e){return this.eventTarget.dispatchEvent(e)}removeEventListener(e,t,n){return this.eventTarget.removeEventListener(e,t,n)}}function Yn(e,t,n){if(6!==t.length)return null;if(t.slice(0,4)!==e)return null;const a=t.slice(4,6),r=parseInt(e,10);if(Number.isNaN(r))return null;const o=parseInt(a,10);if(Number.isNaN(o))return null;const i=parseInt(n,10);return Number.isNaN(i)?null:an.new(r,o,i)}class Wn extends Event{checked;constructor(e){super("change"),this.checked=e}}const Gn=new Set(["united.com"]);class Qn extends pn{checkboxManager=new An(Jn);constructor(){super("UNITED_KAYAK")}async shouldActivate(){const e=wn(new URL(window.location.href));return Gn.has(e)}async handleCrossSell(){new URL(window.location.href).pathname.endsWith("/fsr/choose-flights")?this.maybeOpenTab():this.injectUI()}get checked(){return this.checkboxManager.checked}injectUI(){this.checkboxManager.inject(['[class*="app-components-BookFlightForm-bookFlightForm__formHeader--"]']),Sn(['[class*="app-components-BookFlightForm-bookFlightForm__findFlightBtn"]'],this.handleSearchClick.bind(this))}async getDestination(){try{const e=new URL(window.location.href).searchParams.get("t");return e?un(e):null}catch(e){return console.error(e),null}}async getQueryParamMap(e){return{checkin(){const t=e.searchParams.get("d");return t?an.tryFromDashYYYYMMDD(t):null},checkout(){const t=e.searchParams.get("r");return t?an.tryFromDashYYYYMMDD(t):null},adults(){const t=e.searchParams.get("px");if(!t)return 2;const n=t.split(",")[0];return n?d(n)??2:2},children(){const t=e.searchParams.get("px");if(!t)return 0;const n=t.split(",")[5];return n?d(n)??0:0},currency:mn}}}class Jn{$checkboxInput;$checkboxSvg;$controlDiv;$text;$textDiv;$label;$style;$rootHost;$root;constructor(e){this.$checkboxInput=document.createElement("input"),this.$checkboxInput.className="dir-checkbox-input",this.$checkboxInput.type="checkbox",this.$checkboxInput.checked=e,this.$checkboxSvg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.$checkboxSvg.classList="dir-checkbox-svg",this.$checkboxSvg.setAttribute("viewBox","0 0 24 24"),this.$checkboxSvg.innerHTML='\n <path fill-rule="evenodd" d="M20 0a4 4 0 0 1 4 4v16a4 4 0 0 1-4 4H4a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4Zm-.38 6.32a1 1 0 0 0-1.35.17l-7.11 9.07-5.51-4.23a1 1 0 0 0-1.41.18 1 1 0 0 0 .06 1.3l.09.08 6.23 4.78a.9.9 0 0 0 .52.2 1 1 0 0 0 .93-.35l7.73-9.86a1 1 0 0 0-.16-1.33Z" class="cls-1"/>\n ',this.$controlDiv=document.createElement("div"),this.$controlDiv.className="dir-control-div",this.$controlDiv.appendChild(this.$checkboxInput),this.$controlDiv.appendChild(this.$checkboxSvg);const t=Jt();this.$text=document.createTextNode(Cn("cross_sell.kayak.find_me_accommodation",{},t)),this.$textDiv=document.createElement("div"),this.$textDiv.className="dir-text-div",this.$textDiv.appendChild(this.$text),this.$label=document.createElement("label"),this.$label.className="dir-label",this.$label.appendChild(this.$controlDiv),this.$label.appendChild(this.$textDiv),this.$style=document.createElement("style"),this.$style.textContent='\n @media screen and (min-width: 1184px) {\n * {\n scroll-margin-top: 100px;\n }\n }\n\n * {\n scroll-margin-top: 72px;\n\n background-repeat: no-repeat;\n box-sizing: border-box;\n }\n\n .dir-checkbox-input {\n \n margin-right: 10px;\n \n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n display: block;\n width: 100%;\n height: 100%;\n cursor: pointer;\n margin: 0;\n -webkit-appearance: none;\n appearance: none;\n border: 2px solid #555;\n border-radius: 4px;\n background-color: rgba(0, 0, 0, 0);\n }\n\n .dir-checkbox-input:checked {\n border: none;\n }\n\n .dir-checkbox-input:focus {\n outline: 4px solid #000;\n outline-offset: 1px;\n }\n\n .dir-checkbox-input:hover, .dir-checkbox-input:focus {\n border-color: #1414d2;\n border-width: 3px;\n }\n\n .dir-checkbox-svg {\n \n width: 20px;\n height: 20px;\n visibility: hidden;\n pointer-events: none;\n \n display: block;\n \n vertical-align: middle;\n fill: currentColor;\n overflow: hidden;\n }\n\n .dir-checkbox-input:checked + .dir-checkbox-svg {\n visibility: visible;\n fill: #1414d2;\n }\n\n .dir-checkbox-input:hover + .dir-checkbox-svg {\n fill: #0d0d8f;\n }\n\n .dir-control-div {\n \n display: block;\n margin-right: .5rem;\n position: relative;\n top: 2px;\n flex: none;\n \n width: 1.25rem;\n height: 1.25rem;\n }\n\n .dir-text-div {\n letter-spacing: normal;\n text-transform: none;\n }\n\n .dir-label {\n visibility: visible;\n text-align: left;\n touch-action: manipulation;\n \n padding: 0;\n \n font-size: .875rem;\n font-weight: 400;\n line-height: 1.7142857143;\n font-family: "NeuePlakTextforUnited-Rg", "Noto Sans", "Arial", sans-serif;\n color: #000;\n display: inline-flex;\n\n \n text-transform: uppercase;\n letter-spacing: 1px;\n\n \n margin-bottom: 14px;\n padding-bottom: .25rem;\n }\n ',this.$rootHost=document.createElement("div"),this.$rootHost.style.display="contents",this.$root=this.$rootHost.attachShadow({mode:"closed"}),this.$root.appendChild(this.$style),this.$root.appendChild(this.$label)}get $host(){return this.$rootHost}get checked(){return this.$checkboxInput.checked}set checked(e){this.$checkboxInput.checked=e}get isVisible(){return Xt(this.$checkboxInput)}}function Zn(e){try{const t=wn(new URL(e));return/^airbnb\.[.a-z]{2,7}/i.exec(t)?"AIRBNB":/^(secure\.)?booking\.com/i.exec(t)?"BOOKING":/^vrbo\.com/i.exec(t)||/^abritel\.fr/i.exec(t)?"VRBO":/^expedia\.[.a-z]{2,7}/i.exec(t)?"EXPEDIA":/google\.[a-z.]{2,7}\/(search\?|travel\/flights\?)/i.exec(e)?"GOOGLE":null}catch(e){return console.error("Error in getPlatform",e),null}}const Xn=/(www\.)?airbnb\.[.a-z]{2,7}\/rooms\/(plus\/)?(\d+)/i,ea=/[https:\/\/]*[www]*\.airbnb\..*?\/homes/i,ta=/[https:\/\/]*[www]*\.airbnb\..*?\/book\/stays/i,na=/^(?:https:\/\/)?(?:www\.)?booking\.com\/hotel\/[\w\-\/]*/i,aa=/^(?:https:\/\/)?(?:www\.)?booking\.com\/searchresults/i,ra=/^(?:https:\/\/)?secure\.booking\.com\/(?:tpi_)?book(?:\.[a-z]+)?\.html/i,oa=/^(?:https:\/\/)?secure\.booking\.com\/confirmation\.[^.]+\.html/i,ia=/(?:www\.)vrbo\.com\/(?:[a-z]{2}-[a-z]{2}\/)?(?:[a-z0-9-]+\/)?p?\d+[a-zA-Z]*/,sa=/(www\.)?vrbo\.com(\/\w{0,2}-\w{0,2})*\/search/,ca=/[https:\/\/]*[www]*\.vrbo\.com(\/\w{0,2}-\w{0,2})?\/td\/tc\/checkout/,la=/(www\.)?abritel\.fr\/location-vacances\/(\w*)/,ua=/(www\.)?abritel\.fr\/search/,da=/[https:\/\/]*[www]*\.abritel\.fr\/\/td\/tc\/checkout/,pa=/expedia.[a-z.]{2,7}\/(?:[a-z0-9-]+\/)?[\w-]*?\.h(\d*)\.[\w-]*\??/,ha=/expedia\.[a-z.]{2,7}\/Hotel-Search/,ma=/^(?:https?:\/\/)?(?:www\.)?expedia\.[a-z.]{2,7}\/checkout/,fa=/(?:https?:\/\/)?(?:www\.)?google\.[a-z.]{2,7}\/search\?/,ga=P(Object.getPrototypeOf,Object);var ya=Function.prototype,ba=Object.prototype,ka=ya.toString,va=ba.hasOwnProperty,wa=ka.call(Object);const _a=function(e){if(!xe(e)||"[object Object]"!=K(e))return!1;var t=ga(e);if(null===t)return!0;var n=va.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&ka.call(n)==wa};function ja(){return"es"===Yt()?"civitatis":"viator"}function xa(e){const t=/(http[s]?:\/\/www\.booking\.com\/[\w\/-]+)\./.exec(e);return(t?t[1]:e).replace(/http[s]?:\/\/www\.booking\.com\/hotel\//,"")}function Ca(e){try{const{pathname:t}=new URL(e),n=xa(e.replace(/\.html?[^]*/,""));return t.includes("searchresults")?null:n}catch(e){return console.error(e),null}}class Sa extends nn{checkboxManager=new An(za);confirmationInfo=null;constructor(){super("BOOKING_ACTIVITIES")}async shouldActivate(){return Sa.isCheckout(window.location)||Sa.isConfirmation(window.location)}static isCheckout(e){return ra.test(e.href)&&null!==Sa.getCheckoutType(e.pathname)}static isConfirmation(e){return oa.test(e.href)}static getCheckoutType(e){return/\/book(?:\.[a-z]+)?\.html$/i.test(window.location.pathname)?"book":/\/tpi_book(?:\.[a-z]+)?\.html$/i.test(window.location.pathname)?"tpi_book":null}async getConfirmationInfoJson(){if(null!==this.confirmationInfo)return this.confirmationInfo;if(!Sa.isConfirmation(window.location))return null;const e=await Zt(['script[data-capla-namespace*="b-post-booking-web-"][data-capla-store-data="apollo"]']);return this.confirmationInfo=e,this.confirmationInfo}async handleCrossSell(){Sa.isConfirmation(window.location)?this.maybeOpenTab():this.injectUI()}injectUI(){const t=Sa.getCheckoutType(window.location.pathname);switch(t){case"book":return this.injectBookUI();case"tpi_book":return this.injectTpiBookUI();case null:return;default:e(t)}}injectBookUI(){const e=['button[name="book"][class*="complete-booking"]'];this.checkboxManager.inject(e,{inject:"before",getContainer:e=>e.parentElement?.parentElement?.parentElement??null}),Sn(e,this.handleSubmitClick.bind(this))}injectTpiBookUI(){const e=['.bp-main-content button[type="submit"]'];this.checkboxManager.inject(e,{inject:"before"}),Sn(e,this.handleSubmitClick.bind(this))}async handleSubmitClick(){await E.setCrossSellWasChecked({crossSellId:this.platform,checked:this.checkboxManager.checked})}async maybeOpenTab(){if(!await E.getCrossSellWasChecked({crossSellId:this.platform}))return;const e=await this.getDestination();if(!e)return;const t=Ca(Wt(['[data-c360-id="hotelTitle"] a'])?.getAttribute("href")??""),[n,a,r,o,i]=await Promise.all([super.getQueryParam("checkin"),super.getQueryParam("checkout"),super.getQueryParam("adults"),super.getQueryParam("children"),super.getQueryParam("currency")]);E.openActivitiesCrossSellTab({provider:ja(),sourceUrl:window.location.href,destination:e,checkin:n,checkout:a,adults:r,children:o,currency:i,sourceId:t})}async getDestination(){const e=await this.getConfirmationInfoJson();if(!e)return null;const t=Qe(e,e=>e.startsWith("PostBookingProperty:"));if(!_a(t))return null;if(!("hotelCity"in t))return null;const n=t.hotelCity;if(!_a(n))return null;const a=n;return"rawValue"in a&&"string"==typeof a.rawValue?a.rawValue:null}async getQueryParamMap(e){const t=await this.getConfirmationInfoJson(),n=t?.body;return{checkin(){const e=n?.trans_checkin;return e&&"string"==typeof e?an.fromDate(new Date(e)):an.fromDate(new Date)},checkout(){const e=n?.trans_checkout;return e&&"string"==typeof e?an.fromDate(new Date(e)):an.fromDate(new Date)},adults(){const e=n?.num_adults;return"number"!=typeof e||Number.isNaN(e)?2:e},children(){const e=n?.child_ages;return Array.isArray(e)?e.length:0},currency:()=>"string"!=typeof n?.trans_currencycode?mn:n?.trans_currencycode}}}class za{$checkbox;$linkText;$link;$text;$label;$wrapper;$style;$rootHost;$root;constructor(t){const n=Jt();this.$checkbox=document.createElement("input"),this.$checkbox.className="dir-checkbox",this.$checkbox.type="checkbox",this.$checkbox.checked=t,this.$text=document.createTextNode(Cn("cross_sell.activities.explore_activities_with",{},n));const a=ja();this.$linkText=document.createTextNode(Cn(`cross_sell.activities.${a}`,{},n)),this.$link=document.createElement("a"),this.$link.href=function(t){switch(t){case"viator":return(()=>{const e=new URL("/","https://www.viator.com");return e.searchParams.append("pid","P00253809"),e.searchParams.append("mcid","42383"),e.searchParams.append("medium","link"),e.toString()})();case"civitatis":return(()=>{const e=new URL("/","https://www.civitatis.com");return e.searchParams.append("aid","110241"),e.toString()})();default:e(t)}}(a),this.$link.target="_blank",this.$link.rel="noopener noreferrer",this.$link.appendChild(this.$linkText),this.$label=document.createElement("label"),this.$label.className="dir-label",this.$label.appendChild(this.$checkbox),this.$label.appendChild(this.$text),this.$label.appendChild(this.$link),this.$wrapper=document.createElement("div"),this.$wrapper.className="dir-wrapper",this.$wrapper.appendChild(this.$label),this.$style=document.createElement("style"),this.$style.textContent="\n .dir-wrapper {\n width: 100%;\n display: flex;\n justify-content: flex-end;\n }\n\n .dir-label {\n margin-right: 0.1em;\n }\n\n .dir-checkbox {\n margin-right: 0.5em;\n }\n ",this.$rootHost=document.createElement("div"),this.$rootHost.style.display="contents",this.$root=this.$rootHost.attachShadow({mode:"closed"}),this.$root.appendChild(this.$style),this.$root.appendChild(this.$wrapper)}get $host(){return this.$rootHost}get checked(){return this.$checkbox.checked}set checked(e){this.$checkbox.checked=e}get isVisible(){return Xt(this.$checkbox)}}const Ea=new Set(["flyfrontier.com","es.flyfrontier.com"]);class Oa extends hn{checkboxManager=new An(Aa);constructor(){super("FLYFRONTIER_KAYAK")}async shouldActivate(){const e=wn(new URL(window.location.href));return Ea.has(e)}async handleCrossSell(){this.injectUI()}get checked(){return this.checkboxManager.checked}injectUI(){this.checkboxManager.inject([".divPromoSearchParent"],{inject:"after"}),Sn(["#btnSearch"],this.handleSearchClick.bind(this))}async getDestination(){try{const e=Wt(["#destination-label"]);return e?e.textContent?.trim()??null:null}catch(e){return console.error(e),null}}async getQueryParamMap(e){return{checkin(){const e=Wt(["input#departureDate"]);if(!e)return null;const t=e.value;if(!t)return null;const n=new Date(t);return Number.isNaN(n.getTime())?null:an.fromDate(n)},checkout(){const e=Wt(["input#returnDate"]);if(!e)return null;const t=e.value;if(!t)return null;const n=new Date(t);return Number.isNaN(n.getTime())?null:an.fromDate(n)},adults(){const e=Wt(["input#passengersInput"]);if(!e)return 2;const t=e.getAttribute("data-travelers-adult");return null===t?2:d(t)??2},children(){const e=Wt(["input#passengersInput"]);if(!e)return 0;const t=e.getAttribute("data-travelers-child")??"0",n=e.getAttribute("data-travelers-infant")??"0";return(d(t)??0)+(d(n)??0)},currency:"USD"}}}const Aa=Pn(function({visibilityRef:e,checked:t,onClick:n}){const a=Jt();return(0,zn.jsxs)(zn.Fragment,{children:[(0,zn.jsx)("style",{children:"\n.dir-label {\n color: #fff;\n font-size: 13px;\n font-weight: 400;\n cursor: pointer;\n\n display: inline-block;\n margin-top: 3%;\n}\n"}),(0,zn.jsxs)("label",{className:"dir-label",children:[(0,zn.jsx)("input",{type:"checkbox",checked:t,onClick:n,onChange:()=>{},ref:e}),Cn("cross_sell.kayak.find_me_accommodation",{},a)]})]})});var Pa=n(395);const Ia=new Set(["southwest.com","espanol.southwest.com"]);class Na extends pn{checkboxManager=new An(La);constructor(){super("SOUTHWEST_KAYAK")}async shouldActivate(){const e=wn(new URL(window.location.href));return Ia.has(e)}async handleCrossSell(){new URL(window.location.href).pathname.endsWith("/air/booking/select-depart.html")?this.maybeOpenTab():this.injectUI()}get checked(){return this.checkboxManager.checked}injectUI(){this.checkboxManager.inject(['#bookingSection [class*="showLowFareContainer__"]']),Sn(['#bookingSection [class*="submit__"] button'],this.handleSearchClick.bind(this))}async getDestination(){try{const e=new URL(window.location.href),t=e.searchParams.get("to");if(t){const e=t.split(",").map(e=>e.trim()).filter(e=>e.length>0)[0];return e?un(e):null}const n=e.searchParams.get("destinationAirportCode");return n?un(n):null}catch(e){return console.error(e),null}}async getQueryParamMap(e){return{checkin(){const t=e.searchParams.get("departureDate");return t?an.tryFromDashYYYYMMDD(t):null},checkout(){const t=e.searchParams.get("returnDate");return t?an.tryFromDashYYYYMMDD(t):null},adults(){const t=e.searchParams.get("adultsCount");if(!t)return 2;const n=d(t);return null===n?2:n},children:()=>(d(e.searchParams.get("teensCount")??"0")??0)+(d(e.searchParams.get("olderChildCount")??"0")??0)+(d(e.searchParams.get("youngerChildCount")??"0")??0)+(d(e.searchParams.get("lapInfantPassengersCount")??"0")??0),currency:"USD"}}}const La=Pn(function({visibilityRef:e,checked:t,onClick:n}){const a=(0,On.useId)(),r=Jt();return(0,zn.jsxs)(zn.Fragment,{children:[(0,zn.jsx)("style",{children:'\n* {\n box-sizing: border-box\n}\n\n.crossSellCheckbox {\n display: inline-block\n}\n\n.formField {\n display: flex;\n flex-direction: column\n}\n\n.hiddenFromScreen {\n border: 0;\n clip: rect(0,0,0,0);\n height: 0;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px\n}\n\n.checkbox {\n align-items: center;\n cursor: pointer;\n display: inline-flex;\n gap: .5rem;\n outline: 0;\n position: relative;\n width: fit-content\n}\n\n.checkbox:before {\n border: 1px solid var(--cmp-core-color-checkbox-border);\n bottom: -2px;\n content: "";\n left: -4px;\n opacity: 0;\n position: absolute;\n right: -4px;\n top: -2px;\n transition: opacity var(--cmp-core-defines-animation-duration-very-fast)\n}\n\n.checkbox:hover .focusRing {\n border-color: var(--cmp-core-color-checkbox-focus)\n}\n\n.checkbox:hover .checkboxIcon {\n border-color: transparent\n}\n\n.checkbox:focus-visible:before {\n opacity: 1\n}\n\n.checkbox:focus-visible .focusRing {\n border-color: var(--cmp-core-color-checkbox-focus)\n}\n\n.checkbox:focus-visible .checkboxIcon {\n border-color: transparent\n}\n\n.checkbox.selected .checkboxIcon {\n background-color: var(--cmp-core-color-checkbox-bg-selected);\n transition: background-color var(--cmp-core-defines-animation-duration-very-fast),border-color var(--cmp-core-defines-animation-duration-very-fast)\n}\n\n.focusRing {\n align-items: center;\n border: 1px solid transparent;\n border-radius: 4px;\n display: flex;\n flex-shrink: 0;\n height: 1.25rem;\n justify-content: center;\n margin: -.125rem;\n position: relative;\n transition: border-color var(--cmp-core-defines-animation-duration-very-fast);\n width: 1.25rem\n}\n\n.checkboxIcon {\n align-items: center;\n background-color: var(--cmp-core-color-checkbox-bg);\n border-color: var(--cmp-core-color-checkbox-border);\n border-radius: 2px;\n border-style: solid;\n border-width: 1px;\n display: flex;\n height: 1rem;\n justify-content: center;\n overflow: hidden;\n transition: background-color var(--cmp-core-defines-animation-duration-very-fast) linear .1s,border-color var(--cmp-core-defines-animation-duration-very-fast);\n width: 1rem;\n}\n\n.iconContainer {\n display: flex\n}\n\n.icon {\n display: inline-block;\n font-size: 0\n}\n\n.transparentBorder {\n border: 2px solid var(--cmp-core-color-icon-border-transparent)\n}\n\n.container {\n align-items: center;\n display: inline-flex;\n justify-content: center\n}\n\n.label {\n color: var(--cmp-core-color-checkbox-content);\n flex: 1;\n min-width: 0;\n transition: color var(--cmp-core-defines-animation-duration-slow)\n}\n'}),(0,zn.jsxs)("span",{className:"crossSellCheckbox formField",children:[(0,zn.jsx)("input",{"aria-hidden":"true",className:"hiddenFromScreen",tabIndex:-1,type:"checkbox",value:t?"true":"false",onChange:()=>{}}),(0,zn.jsxs)("div",{"aria-checked":t,"aria-disabled":"false","aria-labelledby":a,className:Pa("checkbox",{selected:t}),role:"checkbox",tabIndex:0,ref:e,onClick:n,children:[(0,zn.jsx)("span",{className:"focusRing",children:(0,zn.jsx)("span",{className:"checkboxIcon",children:(0,zn.jsx)("div",{className:"iconContainer",style:{opacity:t?1:0,transform:"none"},children:(0,zn.jsx)("span",{className:"container",style:{height:16,width:16},children:(0,zn.jsx)("svg",{"aria-label":"Check",className:"icon transparentBorder",height:16,role:"img",viewBox:"0 0 32 32",style:{fill:"var(--cmp-core-color-checkbox-icon, cmp-core-color-checkbox-icon)",stroke:"var(--cmp-core-color-checkbox-icon, cmp-core-color-checkbox-icon)"},children:(0,zn.jsx)("path",{d:"M2,14 L13,24 L29,7",fill:"none",strokeDasharray:"39",strokeWidth:"5",strokeDashoffset:"0"})})})})})}),(0,zn.jsx)("span",{className:"label",id:a,children:Cn("cross_sell.kayak.find_me_accommodation",{},r)})]})]})]})}),Ta=new Set(["delta.com","es.delta.com"]);class Da extends hn{checkboxManager=new An(Ra);constructor(){super("DELTA_KAYAK")}async shouldActivate(){const e=wn(new URL(window.location.href));return Ta.has(e)}async handleCrossSell(){this.injectUI()}get checked(){return this.checkboxManager.checked}injectUI(){this.checkboxManager.inject(["ngc-search-options fieldset .booking-widget_search-checkbox-section"]),Sn(["#btn-book-submit"],this.handleSearchClick.bind(this))}async getDestination(){try{const e=Wt(["#toAirportName .airport-desc"]);return e?e.textContent?.trim()??null:null}catch(e){return console.error(e),null}}async getQueryParamMap(e){return{checkin(){const e=Wt(["#calDepartLabelCont input"]);if(!e)return null;const t=e.value;return t?an.tryFromSlashMMDDYYYY(t):null},checkout(){const e=Wt(["#calReturnLabelCont input"]);if(!e)return null;const t=e.value;return t?an.tryFromSlashMMDDYYYY(t):null},adults(){const e=Wt(["#passengers-val"]);if(!e)return 2;const t=e.textContent?.match(/\d+/)?.[0]??null;return t?d(t)??2:2},children:0,currency:"USD"}}}const Ra=Pn(function({visibilityRef:e,checked:t,onClick:n}){const a=Jt(),r=(0,On.useId)();return(0,zn.jsxs)(zn.Fragment,{children:[(0,zn.jsx)("style",{children:'\n*, :after, :before {\n box-sizing: border-box;\n}\n\ninput {\n padding: 0;\n}\n\n.dir-wrapper {\n /* always put checkbox at the end */\n order: 99999;\n\n font-weight: 400;\n font-size: .875rem;\n line-height: 1.5;\n}\n\nlabel {\n padding-top: .375rem;\n font-family: Whitney-Light !important;\n font-size: .875rem;\n display: inline-block;\n margin-bottom: .5rem;\n touch-action: manipulation;\n}\n\n.searchOptionCheckboxColumn input+label:before {\n top: .5rem;\n}\n\n@media (min-width: 375px) {\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n}\n\n@media (min-width: 768px) {\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n}\n\n.col-md-6, .col-sm-auto {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\ninput {\n overflow: visible;\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n position: absolute;\n top: .5rem;\n left: 1rem;\n width: 1.125rem;\n height: 1.25rem;\n margin: auto;\n}\n\ninput:focus {\n box-shadow: 0 0 .0625rem .3125rem #242a48, 0 0 .0625rem .375rem #616778 !important;\n background-color: #fafbfc;\n border-radius: 3px !important;\n outline: none !important;\n}\n\ninput+label {\n position: relative;\n padding-left: 2rem;\n line-height: 1.5rem;\n}\n\ninput:checked+label:before {\n color: #818a98;\n content: "\\E909";\n}\n\ninput+label:before {\n position: absolute;\n left: 0;\n font-size: 1.25rem;\n color: #818a98;\n content: "\\E91C";\n background-color: #11172b;\n}\n\n.icon-Checked:before {\n font-family: icomoon !important;\n font-style: normal;\n font-weight: 400;\n font-variant: normal;\n line-height: 1;\n text-transform: none;\n speak: none;\n}\n\n@media (min-width: 992px) {\n .searchOptionCheckboxColumn {\n flex: 0 0 auto !important;\n width: auto !important;\n max-width: none !important;\n }\n\n .dir-wrapper {\n padding: 0 0 0 .8125rem;\n }\n}\n\n@media (max-width: 991.9999px) {\n .dir-wrapper {\n width: 100%;\n }\n}\n'}),(0,zn.jsx)("div",{className:"dir-wrapper",children:(0,zn.jsxs)("div",{className:"col-sm-auto col-md-6 searchOptionCheckboxColumn",children:[(0,zn.jsx)("input",{id:r,type:"checkbox",checked:t,onChange:n}),(0,zn.jsx)("label",{htmlFor:r,className:"icon-Checked",ref:e,children:Cn("cross_sell.kayak.find_me_accommodation",{},a)})]})})]})}),Ma=new Set(["aa.com"]);class $a extends hn{checkboxManager=new An(Ba);constructor(){super("AMERICAN_AIRLINES_KAYAK")}async shouldActivate(){const e=new URL(window.location.href),t=wn(e);return Ma.has(t)&&"/homePage.do"===e.pathname}async handleCrossSell(){this.injectUI()}get checked(){return this.checkboxManager.checked}injectUI(){this.checkboxManager.inject(["#bookingCheckboxContainer >:last-child"],{inject:"append"}),Sn(['#flightSearchFormSubmitButton input[type="submit"]'],this.handleSearchClick.bind(this))}async getDestination(){try{const e=Wt(['input[name="destinationAirport"]']);return e?un(e.value):null}catch(e){return console.error(e),null}}async getQueryParamMap(e){return{checkin(){const e=Wt(['input[name="departDate"]']);return e?an.tryFromSlashMMDDYYYY(e.value):null},checkout(){const e=Wt(['input[name="returnDate"]']);return e?an.tryFromSlashMMDDYYYY(e.value):null},adults(){const e=Wt(['select[name="adultOrSeniorPassengerCount"]']);return e?d(e.value)??2:2},children:0,currency:"USD"}}}const Ba=Pn(function({visibilityRef:e,checked:t,onClick:n}){const a=Jt(),r=(0,On.useId)();return(0,zn.jsxs)(zn.Fragment,{children:[(0,zn.jsx)("style",{children:'\n* {\n box-sizing: border-box;\n}\n\n.dir-container {\n display: inline-block;\n\n font-family: Arial, sans-serif;\n font-size: 1em;\n}\n\ninput[type="checkbox"] {\n border: 0;\n clip: rect(0 0 0 0);\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n}\n\nlabel {\n display: inline-block;\n line-height: 20px;\n margin: 0;\n position: relative;\n width: 100%;\n\n padding: 0;\n border: 0;\n font: inherit;\n font-size: 100%;\n vertical-align: baseline;\n}\n\n.control {\n font: inherit;\n font-size: 100%;\n\n background-color: #fff;\n color: #fff;\n height: 20px;\n width: 20px;\n display: inline-block;\n margin: -2px 1px 0;\n border: 1px solid #9da6ab;\n -webkit-box-shadow: inset 0 0 0 2px #fff, inset 0 0 0 3px #d0dae0;\n box-shadow: inset 0 0 0 2px #fff, inset 0 0 0 3px #d0dae0;\n vertical-align: middle;\n\n margin-right: 1px;\n}\n\ninput[type="checkbox"]:checked~label .control {\n -webkit-box-shadow: inset 0 0 0 2px #fff, inset 0 0 0 3px #0078d2;\n box-shadow: inset 0 0 0 2px #fff, inset 0 0 0 3px #0078d2;\n background-color: #0078d2;\n}\n\ninput[type="checkbox"]:checked~label .control:before {\n content: "";\n height: 4px;\n width: 8px;\n display: inline-block;\n border-color: #fff;\n border-style: none none solid solid;\n border-width: 2px;\n margin: 4px;\n -ms-transform: rotate(-45deg);\n -webkit-transform: rotate(-45deg);\n transform: rotate(-45deg);\n}\n\ninput[type="checkbox"]:focus~label .control, input[type="checkbox"]:hover~label .control, input[type="checkbox"]~label .control:focus, input[type="checkbox"]~label .control:hover {\n outline: 1px solid #0078d2;\n border: 1px solid #0078d2;\n}\n'}),(0,zn.jsxs)("div",{className:"dir-container",children:[(0,zn.jsx)("input",{type:"checkbox",value:t?"true":"false",checked:t,id:r,onChange:()=>{}}),(0,zn.jsxs)("label",{htmlFor:r,ref:e,onClick:n,children:[(0,zn.jsx)("span",{className:"control"})," ",Cn("cross_sell.kayak.find_me_accommodation",{},a)," "]})]})]})});class Ua{platforms=[];constructor(){this.platforms=[new Nn,new Dn,new $n,new Fn,new Kn,new Qn,new Oa,new Na,new Da,new $a,new Sa]}async initialize(e){for(const t of this.platforms)await t.shouldActivate(e)&&await t.handleCrossSell()}}const Fa="directoUserId";let Va="";async function Ha(){if(Va)return Va;const{[Fa]:e}=await chrome.storage.local.get(Fa);return Va=e||"",Va}class Ka{partner_name=""}class qa extends Ka{info=null;parserType="json";constructor(e){if(!e)throw new Error("Partner name is required");super(),this.partner_name=e}shouldHandle(e){throw new Error("Method not implemented.")}async getLocale(){return Yt()}async isReservation(){return!!await this.getReservationId()}async getReservationDetails(){try{if(await this.isReservation())return{platform_reservation_id:await this.getReservationId(),reservation_url:window.location.href,booking_reference:await this.getBookingReference(),partner_name:this.partner_name,status:await this.getStatus(),property_name:await this.getPropertyName(),guest_name:await this.getGuestName(),guest_email:await this.getGuestEmail(),currency:null,gross_total_price:null,net_total_price:null,total_tax_price:null,...await this.getPrice(),...await this.getStayParams(),locale:await this.getLocale(),clean_html:"html"===this.parserType?await this.getCleanHTML():null}}catch(e){console.error("Error getting reservation details",e)}return null}async getStayParams(){return{checkin:await this.buildQueryParams("checkin"),checkout:await this.buildQueryParams("checkout"),adults:await this.buildQueryParams("adults"),children:await this.buildQueryParams("children")}}async buildQueryParams(e,t=window.location.href){const n=new URL(t);return tn((await this.getQueryParamMap(n))[e])}async getInfoJSON(e="#__NEXT_DATA__"){try{if(this.info)return this.info;const t=await Ye(()=>Wt([e]),e=>!e||!e.textContent,10)();return this.info=Ze(t?.textContent??"{}"),this.info}catch(e){return console.error("Error getting info",e),null}}async getReservationId(){throw new Error("Method not implemented.")}async getBookingReference(){throw new Error("Method not implemented.")}async getPropertyName(){return null}async getGuestName(){return null}async getGuestEmail(){return null}async getPrice(){throw new Error("Method not implemented.")}async getStatus(){throw new Error("Method not implemented.")}async getQueryParamMap(e){throw new Error("Method not implemented.")}async getCleanHTML(){return await function({timeout:e=2e3,stableThreshold:t=1e3,checkInterval:n=300,minTextLength:a=200,minElementCount:r=30}){const o=Date.now()+e;return new Promise(i=>{let s=!1,c=Date.now(),l=Date.now(),u=0,d={elements:0,text:0};const p=()=>{s||(s=!0,h.disconnect(),clearTimeout(g),i())},h=new MutationObserver(()=>{c=Date.now()}),m=()=>{if(s)return;const e=Date.now();if(e>=o)return void p();const i=document.body?.getElementsByTagName("*").length??0,h=(document.body?.innerText??"").replace(/\s+/g," ").trim().length;i!==d.elements||h!==d.text?(d={elements:i,text:h},l=e,u=0):e-c>=n&&(()=>{const e=document.querySelector('main, [role="main"], article')??document.body;if(!e)return!1;const t=(e.textContent??"").replace(/\s+/g," ").trim(),n=e.querySelectorAll("section, article, div, p, span").length;return t.length>=a&&n>=r})()?u+=1:u=0,u>=3&&e-l>=t?p():setTimeout(m,n)},f=()=>{s||(document.body?(d={elements:document.body.getElementsByTagName("*").length,text:(document.body.innerText??"").replace(/\s+/g," ").trim().length},h.observe(document.body,{childList:!0,subtree:!0}),m()):setTimeout(f,50))},g=setTimeout(p,e);(e=>{if("complete"===document.readyState)return e();const t=()=>{window.removeEventListener("load",t),document.removeEventListener("DOMContentLoaded",t),e()};window.addEventListener("load",t,{once:!0}),document.addEventListener("DOMContentLoaded",t,{once:!0})})(f)})}({timeout:5e3}),function(e){const t=e.body||e,n=t.querySelector("main")||t||e;if(!n)return"";n.querySelectorAll("script, noscript, style, svg, link, iframe, img, select, textarea, command, object, param, track, base").forEach(e=>e.remove()),n.querySelectorAll("[style]").forEach(e=>{e.removeAttribute("style")});const a=e.createTreeWalker(n,NodeFilter.SHOW_COMMENT,null),r=[];let o;for(;o=a.nextNode();)r.push(o);r.forEach(e=>{e.parentNode&&e.parentNode.removeChild(e)});const i=[/tracking/i,/banner/i];return n.querySelectorAll("[class], [id]").forEach(e=>{const t=`${e.className} ${e.id}`;i.some(e=>e.test(t))&&e.remove()}),n.innerHTML.trim().replace(/\s+/g," ").replace(/\n\s*\n/g,"\n").replace(/^\s+|\s+$/g,"").replace(/\n\s+/g,"\n").replace(/\s+\n/g,"\n")}(document.cloneNode(!0))}}function Ya(e){return Math.round(e)/100}function Wa(e){if(!e)return null;const t=e.match(/\d[\d., \u202f]*/);if(!t)return null;const n=t[0].trim().replace(/[^\d]$/,""),a=n.match(/^(?<integer>\d{1,3}(?:\.\d{3})*)(?:,(?<decimal>\d{1,2}))?$/)??n.match(/^(?<integer>\d{1,3}(?:,\d{3})*)(?:\.(?<decimal>\d{1,2}))?$/)??n.match(/^(?<integer>\d{1,3}(?:[ \u202f]\d{3})*)(?:[.,](?<decimal>\d{1,2}))?$/)??n.match(/^(?<integer>\d+)(?:[.,](?<decimal>\d{1,2}))?$/);if(!a)return null;const r=a.groups.integer.replace(/[., \u202f]/g,""),o=a.groups.decimal||"",i=100*parseInt(r,10),s=parseInt(o.padEnd(2,"0"),10);return isNaN(i)||isNaN(s)?null:i+s}class Ga extends qa{constructor(){super("HYATT")}shouldHandle(e){return/hyatt\.com(?:[a-zA-Z0-9-\/]*?)\/book\/confirm\//i.test(e)||/hyatt\.com(?:[a-zA-Z0-9-\/]*?)\/reservation\/detail\//i.test(e)}async getReservationId(){try{return(new URL(window.location.href).pathname.split("/").pop()??null)||await this.getBookingReference()}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await this.getInfoJSON();return h(Pt(e,"confirmation_number",null))}async getPropertyName(){const e=await this.getInfoJSON(),t=Pt(e,"hotel_name",null);return"string"!=typeof t?null:t}async getGuestName(){const e=Wt(['[data-locator="guest-name"]']),t=e?.textContent?.trim()??null;if(t)return t;const n=Wt(['[data-js="firstName"]']),a=Wt(['[data-js="lastName"]']),r=n?.getAttribute("value")?.trim()??null,o=a?.getAttribute("value")?.trim()??null;return r||o?`${r} ${o}`:await this.getGuestEmail()}async getGuestEmail(){const e=await this.getInfoJSON(),t=Pt(e,"customer_email",null);return"string"==typeof t?t:Wt(['[data-js="email"]'])?.getAttribute("value")||null}async getPrice(){try{const e=Wt(['[data-js="cash-total-price"']),t=e?.getAttribute("data-currency")?.trim()??"",n=e?.getAttribute("data-price")?.trim()??"";return{currency:t,net_total_price:Wa(n),gross_total_price:Wa(n),total_tax_price:null}}catch(e){return console.error("Error getting price",e),null}}async getInfoJSON(){if(this.info)return this.info;try{const e=Gt(['script[type="text/javascript"]']),t=Array.from(e).find(e=>/utag_data\s*=\s*\{/.test(e.textContent||""));if(t){const e=t.textContent,n=e?.match(/utag_data\s*=\s*(\{[\s\S]*?\})/);if(n){const e=n[1];return this.info=Ze(e),this.info}}return null}catch(e){return console.error("Error getting info",e),null}}async getStatus(){return"BOOKED"}async getQueryParamMap(e){try{const e=await this.getInfoJSON(),t=e?.date_checkin||Wt([".originalCheckinDate"])?.textContent?.trim()||null,n=e?.date_checkout||Wt([".originalCheckoutDate"])?.textContent?.trim()||null,a=e?.number_of_adults||Wt(['[data-id="adults"]'])?.getAttribute("data-value")||null,r=e?.number_of_children||null;return{checkin:"string"==typeof t?t:null,checkout:"string"==typeof n?n:null,adults:"number"==typeof a?a:"string"==typeof a?p(a):null,children:"number"==typeof r?r:"string"==typeof r?p(r):null}}catch(e){return console.error("Error getting query param map",e),{checkin:null,checkout:null,adults:null,children:null}}}}class Qa extends qa{constructor(){super("BARCELO"),this.parserType="html"}shouldHandle(e){return/reservation\.barcelo\.com(?:[a-zA-Z\/]*?)\/booking-confirmation/i.test(e)}async getReservationId(){try{const e=new URL(window.location.href).searchParams.get("itineraryNumber");if(e)return e;const t=await Ye(()=>Gt(['[class*="Alert_success__"] span']),e=>!Pt(e,"[1].textContent",null),10)();return t?.[1]?.textContent?.trim()??null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){return await this.getReservationId()}async getPrice(){return null}async getStatus(){return"BOOKED"}async getQueryParamMap(e){return{checkin:null,checkout:null,adults:null,children:null}}}class Ja extends qa{constructor(){super("MARRIOTT"),this.parserType="html"}shouldHandle(e){return/www\.marriott\.com(?:[a-zA-Z-\/]*?)\/reservation\/(confirmation|upcomingReservation)\.mi/i.test(e)}async getReservationId(){try{const e=await Ye(Gt,e=>!Pt(e,"[1].textContent",null))([".booking-id-wrapper span"]),t=e?.length?e[1]?.textContent:null;if(t)return t.trim().replace(/\s/g,"").replace("#","");return new URL(window.location.href).searchParams.get("confirmationNumber")||null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){return await this.getReservationId()}async getStatus(){return"BOOKED"}async getPrice(){return null}async getQueryParamMap(e){return{checkin:null,checkout:null,adults:null,children:null}}}var Za=Object.prototype.toString;const Xa={...(er=function(e,t,n){null!=t&&"function"!=typeof t.toString&&(t=Za.call(t)),e[t]=n},nr=Ft,tr=function(){return nr},function(e,t){return function(e,t,n,a){return Bt(e,function(e,r,o){t(a,n(e),r,o)}),a}(e,er,tr(t),{})})({AED:"د.إ",AFN:"؋",ALL:"L",AMD:"֏",ANG:"ƒ",AOA:"Kz",ARS:"AR$",AUD:"$",AWG:"ƒ",AZN:"ман",BAM:"KM",BBD:"$",BDT:"৳",BGN:"лв",BHD:".د.ب",BIF:"FBu",BMD:"$",BND:"$",BOB:"$b",BRL:"R$",BSD:"$",BTC:"฿",BTN:"Nu.",BWP:"P",BYR:"p.",BZD:"BZ$",CAD:"$",CDF:"FC",CHF:"CHF",CLP:"$",CNY:"¥",COP:"$",CRC:"₡",CUC:"$",CUP:"₱",CVE:"$",CZK:"Kč",DJF:"Fdj",DKK:"kr",DOP:"RD$",DZD:"دج",EEK:"kr",EGP:"£",ERN:"Nfk",ETB:"Br",ETH:"Ξ",EUR:"€",FJD:"$",FKP:"£",GEL:"₾",GGP:"£",GHC:"₵",GHS:"GH₵",GIP:"£",GMD:"D",GNF:"FG",GTQ:"Q",GYD:"$",HKD:"$",HNL:"L",HRK:"kn",HTG:"G",HUF:"Ft",IDR:"Rp",ILS:"₪",IMP:"£",INR:"₹",IQD:"ع.د",IRR:"﷼",ISK:"kr",JEP:"£",JMD:"J$",JOD:"JD",JPY:"¥",KES:"KSh",KGS:"лв",KHR:"៛",KMF:"CF",KPW:"₩",KRW:"₩",KWD:"KD",KYD:"$",KZT:"лв",LAK:"₭",LBP:"£",LKR:"₨",LRD:"$",LSL:"M",LTC:"Ł",LTL:"Lt",LVL:"Ls",LYD:"LD",MAD:"MAD",MDL:"lei",MGA:"Ar",MKD:"ден",MMK:"K",MNT:"₮",MOP:"MOP$",MUR:"₨",MVR:"Rf",MWK:"MK",MXN:"$",MYR:"RM",MZN:"MT",NAD:"$",NGN:"₦",NIO:"C$",NOK:"kr",NPR:"₨",NZD:"$",OMR:"﷼",PAB:"B/.",PEN:"S/.",PGK:"K",PHP:"₱",PKR:"₨",PLN:"zł",PYG:"Gs",QAR:"﷼",RMB:"¥",RON:"lei",RSD:"Дин.",RUB:"₽",RWF:"R₣",SAR:"﷼",SBD:"$",SCR:"₨",SDG:"ج.س.",SEK:"kr",SGD:"$",SHP:"£",SLL:"Le",SOS:"S",SRD:"$",SSP:"£",STD:"Db",SVC:"$",SYP:"£",SZL:"E",THB:"฿",TJS:"SM",TMT:"T",TND:"د.ت",TOP:"T$",TRL:"₤",TRY:"₺",TTD:"TT$",TVD:"$",TWD:"NT$",TZS:"TSh",UAH:"₴",UGX:"USh",UYU:"$U",UZS:"лв",VEF:"Bs",VND:"₫",VUV:"VT",WST:"WS$",XAF:"FCFA",XBT:"Ƀ",XCD:"$",XOF:"CFA",XPF:"₣",YER:"﷼",ZAR:"R",ZWD:"Z$",USD:"$",GBP:"£"}),$:"USD",US$:"USD"};var er,tr,nr;function ar(e){return Xa[e]||e||null}function rr(e){return/^[A-Z]{3}$/.test(e)}class or extends qa{constructor(){super("HOLIDU")}shouldHandle(e){return/holidu\.[.a-z]{2,7}\/reservations\//i.test(e)}async getReservationId(){try{return new URL(window.location.href).pathname.split("/").pop()??null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await this.getInfoJSON(),t=h(Pt(e,"booking.bookingDetails.externalBookingId",null));if(null!==t)return t;const n=h(Pt(e,"booking.bookingDetails.bookingId",null));if(null!==n)return n;const a=Wt(["#contact b"]);return a?.textContent?.trim()??null}async getPrice(){try{const e=await this.getInfoJSON(),t=Ge(Pt(e,"booking.bookingDetails.receipt",null));if(t){const e=Pt(t,"priceTotal.price.local.currency",null),n=Pt(t,"priceTotalWithTaxes.price.local.value",null),a=Pt(t,"priceTotal.price.local.value",null);return{currency:"string"==typeof e?e:null,gross_total_price:Wa(h(n)),net_total_price:Wa(h(a))}}const n=Wt(["#payment-schedule .mb-xxl"]);if(n?.textContent){const e=n.textContent.trim(),t=e.replace(/[\d,.\s]*/g,""),a=Wa(e);return{currency:ar(t),gross_total_price:a,net_total_price:a}}return null}catch(e){return console.error("Error getting price",e),null}}async getPropertyName(){const e=await this.getInfoJSON(),t=Pt(e,"apartment.details.name",null);if("string"==typeof t)return t;const n=Wt([".text-2xl"]);return n?.textContent?.trim()??null}async getGuestName(){const e=await this.getInfoJSON(),t=Pt(e,"booking.bookingDetails.customer",null),n=Pt(t,"firstName",null),a=Pt(t,"lastName",null);return n||a?`${n} ${a}`:null}async getGuestEmail(){const e=await this.getInfoJSON(),t=Pt(e,"booking.bookingDetails.customer.email",null);if("string"==typeof t)return t;const n=Gt([".tw-reset-button.cursor-pointer.text-black-ultra"]);return n?.[5]?.textContent?.trim()??null}async getStatus(){const e=Wt([".pr-m .p-m.bg-error-light"]);return e?.textContent?.trim()?.includes("cancel")||window.location.href.includes("cancel")?"CANCELLED":"BOOKED"}async getLocale(){const e=Wt(['[data-testid="Navbar__LocaleCurrencySelector"]']);return e?.textContent?.trim()?.split("/")[0]?.toLowerCase()?.trim()||this.getLocale()}async getInfoJSON(){try{if(this.info)return this.info;const e=await Ye(()=>Wt(['script[data-key="initial-state"]']),e=>!e||!e.textContent,10)(),t=e?.textContent?.trim()?.replace(/<!--/,"").replace(/-->/,"");return this.info=Ze(t??"{}"),this.info}catch(e){return console.error("Error getting info",e),null}}async getQueryParamMap(e){const t=await this.getInfoJSON(),n=Ge(Pt(t,"booking.bookingDetails",null));if(n){const e=Ge(Pt(n,"guests",null)),t=n.checkin,a=n.checkout,r=e?.adults??null,o=e?.kids??null;return{checkin:"string"==typeof t?t:null,checkout:"string"==typeof a?a:null,adults:"number"==typeof r?r:"string"==typeof r?p(r):null,children:"number"==typeof o?o:"string"==typeof o?p(o):null}}const a=Wt([".pr-m .mt-s:not(.gap-xs)"]);return{checkin:()=>{try{if(!a)return null;const e=a.children[0],t=e?.children[1]?.children[0];return on(t?.textContent?.trim()??null)??null}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{if(!a)return null;const e=a.children[1],t=e?.children[1]?.children[0];return on(t?.textContent?.trim()??null)??null}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=Wt(["#root > section > div > div > div.pr-m > div:nth-child(2) > div > div.mt-xl.w-full > div > div:nth-child(2) > span:nth-child(1)"]);return p(e?.textContent?.trim().replace(/[^0-9]/g,"")??"")}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{const e=Wt(["#root > section > div > div > div.pr-m > div:nth-child(2) > div > div.mt-xl.w-full > div > div:nth-child(2) > span:nth-child(2)"]);return p(e?.textContent?.trim().match(/\d+/g)?.[0]??"")}catch(e){return console.error("Error getting children",e),null}}}}}const ir=".confirmation-page .row > div.col-lg-5.col-12";class sr extends qa{constructor(){super("MEININGER")}shouldHandle(e){return/book\.meininger-hotels\.com\/reservations\/[a-f0-9-]+-(?!guest-details)[^\/]+/i.test(e)}async getReservationId(){try{return(new URL(window.location.href).pathname.split("/").pop()??null)||await this.getBookingReference()}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await this.getInfoJSON(),t=h(Pt(e,"props.bookingCartConfirmation.info.bookingReservationNumber",null));if(null!==t)return t;const n=Wt([`${ir} > div:nth-child(2) > div > div:nth-child(2)`]);return n?.textContent?.trim()??null}async getPropertyName(){const e=await this.getInfoJSON(),t=Pt(e,"props.bookingCartConfirmation.info.hotelFullName",null);return"string"!=typeof t?null:t}async getGuestName(){const e=await this.getInfoJSON(),t=Pt(e,"props.bookingCartConfirmation.info.guest",null),n=Pt(t,"name",null),a=Pt(t,"surname",null);return n||a?`${n} ${a}`:null}async getGuestEmail(){const e=await this.getInfoJSON(),t=Pt(e,"props.bookingCartConfirmation.info.guest.email",null);return"string"!=typeof t?null:t}async getPrice(){try{const e=await this.getInfoJSON(),t=Ge(Pt(e,"props.bookingCartConfirmation",null));if(t){const e=Pt(t,"info.currency",null),n=Pt(t,"totalAmount",null),a=Pt(t,"totalAmountWithCityTax",null),r=Pt(t,"totalCityTax",null);return{currency:"string"==typeof e?e:null,net_total_price:"number"==typeof n?n:null,gross_total_price:"number"==typeof a?a:null,total_tax_price:"number"==typeof r?r:null}}const n=Wt([".bookingCart"]),a=Wt([".bookingCart"])?.children[0],r=a?.getAttribute("data-currency")?.trim()??null,o=n?.children[1];return{currency:r?ar(r):null,net_total_price:Wa(o?.textContent?.trim()||""),gross_total_price:null,total_tax_price:null}}catch(e){return console.error("Error getting price",e),null}}async getInfoJSON(){try{if(this.info)return this.info;const e=await Ye(()=>Wt(["#app"]),e=>!e||!e.getAttribute("data-page"),10)();return this.info=Ze(e?.getAttribute("data-page")||"{}"),this.info}catch(e){return console.error("Error getting info",e),null}}async getStatus(){const e=Wt([".pr-m .p-m.bg-error-light"]);return e?.textContent?.trim()?.includes("cancel")?"CANCELLED":"BOOKED"}async getQueryParamMap(e){const t=await this.getInfoJSON(),n=Ge(Pt(t,"props.bookingCartConfirmation.info",null));if(n){const{arrivalDate:e,departureDate:t,adults:a,children:r}=n;return{checkin:"string"==typeof e?e:null,checkout:"string"==typeof t?t:null,adults:"number"==typeof a?a:"string"==typeof a?p(a):null,children:"number"==typeof r?r:"string"==typeof r?p(r):null}}const a=Wt([`${ir} > div:nth-child(3) > div > div:nth-child(2)`]);return{checkin:()=>{try{if(!a)return null;const e=a.textContent;return on(sn(e?.split(" - ")[0]??null))??null}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{if(!a)return null;const e=a.textContent;return on(sn(e?.split(" - ")[1]??null))??null}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=Wt([`${ir} > div:nth-child(4) > div > div.text-sm.d-flex.flex-column`]);return p(e?.textContent?.trim().match(/\d+/g)?.[0]??"")}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{const e=Wt([`${ir} > div:nth-child(4) > div > div.text-sm.d-flex.flex-column > span:nth-child(2)`]);return p(e?.textContent?.trim().match(/\d+/g)?.[0]??"")}catch(e){return console.error("Error getting children",e),null}}}}}class cr extends qa{constructor(){super("EVOLVE")}shouldHandle(e){return/evolve\.com\/booking\/(\d+)\/confirmation/i.test(e)}async getReservationId(){try{const e=new URL(window.location.href),t=e.pathname.match(/\/booking\/(\d+)\/confirmation/),n=await this.getQueryParamMap(e);if(!t?.[1])return null;const a=await Promise.all(Object.values(n).map(e=>"function"==typeof e?e():e));return`${t[1]}-${a.join("-")}`}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){return this.getReservationId()}async getPrice(){return{currency:null,gross_total_price:null,net_total_price:null}}async getPropertyName(){const e=Wt([".Confirmation_listingCopy__t0MUM .Confirmation_sectionHeading__Mlxru"]);return e?.textContent?.trim()??null}async getGuestName(){return null}async getStatus(){return"BOOKED"}async getQueryParamMap(e){return{checkin:()=>{try{return on(sn(e.searchParams.get("startDate")))??null}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{return on(sn(e.searchParams.get("endDate")))??null}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{return p(e.searchParams.get("adults")??"")}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{return p(e.searchParams.get("children")??"")}catch(e){return console.error("Error getting children",e),null}}}}}class lr extends qa{constructor(){super("ACCOR")}shouldHandle(e){return/secure\.accor\.com\/managebookings\/index(?:\.[a-z]{2}(?:-[a-z]{2})?)?\.shtml#\/details/i.test(e)}async getReservationId(){try{const e=await Ye(()=>Wt([".bd-info__booking-number"]),e=>!e,15)();return e?.textContent?.trim()??null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){return await this.getReservationId()}async getPrice(){try{const e=Wt(["#afterTaxValue"]);if(e?.textContent){const t=Wt([".price-display__value"],e),n=t?.textContent?.trim()??e.textContent.trim(),a=Wa(n)??Math.round(100*parseFloat(n.replace(/[^0-9.,]/g,"").replace(",","."))),r=Wt([".js-currency-text"]);return{currency:r?.textContent?.trim()??"",gross_total_price:a,net_total_price:a}}return null}catch(e){return console.error("Error getting price",e),null}}async getPropertyName(){const e=Wt(["#hotelName"]);return e?.textContent?.trim()||null}async getGuestName(){const e=Wt(["#reserveeFullName"]);return e?.textContent?.trim()||null}async getGuestEmail(){return null}async getStatus(){const e=Wt([".is-cancellation-message"]);return e?.textContent?"CANCELLED":"BOOKED"}async getQueryParamMap(e){const t=Wt([".bd-info__date"]);return{checkin:()=>{try{if(!t)return null;const e=Wt([".bd-info__date-in-value"],t);return e?.textContent?.trim()??null}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{if(!t)return null;const e=Wt([".bd-info__date-out-value"],t);return e?.textContent?.trim()??null}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=Wt(["#roomListPaxAdults_0"]);return e?p(e.textContent?.trim().match(/\d+/g)?.[0]??""):null}catch(e){return console.error("Error getting adults",e),null}},children:null}}}class ur extends qa{constructor(){super("ACCOR")}shouldHandle(e){return/secure\.accor\.com\/ssr\/app\/accor\/confirmation\/index(?:\.[a-z]{2}(?:-[a-z]{2})?)?\.shtml/i.test(e)}async getReservationId(){try{const e=await this.getManageReservationButton(),t=e?.getAttribute("href");if(t){return new URL(t,window.location.origin).searchParams.get("historic.folderNumber")??null}return null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){return await this.getReservationId()}async getPropertyName(){const e=Wt([".hotelTitle__text"]);return e?.textContent?.trim()??null}async getGuestName(){const e=await this.getManageReservationButton(),t=e?.getAttribute("href");return t?new URL(t,window.location.origin).searchParams.get("historic.bookingName")??null:null}async getGuestEmail(){return null}async getPrice(){try{const e=Wt([".booking-price"]);if(e?.textContent){const t=Wt([".mcp-price-number"],e),n=Wt([".mcp-price-cent"],e),a=Wt([".js-currency-text"]),r=`${t?.textContent?.trim()??""}${n?.textContent?.trim()??"00"}`,o=Number(r);return{currency:a?.textContent?.trim()??"",gross_total_price:o,net_total_price:o}}return null}catch(e){return console.error("Error getting price",e),null}}async getStatus(){return"BOOKED"}async getManageReservationButton(){return await Ye(()=>Wt(["a.btn--manage-reservation"]),e=>!e,15)()}async getQueryParamMap(e){const t=Wt(["li.confirmation-booking-summary__body-items-item"]),n=async()=>{try{const t=await this.getManageReservationButton(),n=t?.getAttribute("href");if(!n)return null;const a=new URL(n,e.origin),r=a.searchParams.get("historic.dayIn")??null,o=a.searchParams.get("historic.monthIn")??null;return`${a.searchParams.get("historic.yearIn")??null}-${o}-${r}`}catch(e){return console.error("Error getting checkin",e),null}};return{checkin:n,checkout:async()=>{try{if(!t)return null;const e=p(t.children[0]?.textContent?.trim().match(/\d+/g)?.[0]??"");if(!e)return null;const a=await n();if(!a)return null;const r=new Date(a).getTime()+24*e*60*60*1e3;return on(new Date(r).toISOString())??null}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{return t?p(t.children[1]?.textContent?.trim().match(/\d+/g)?.[1]??""):null}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{return t?p(t.children[1]?.textContent?.trim().match(/\d+/g)?.[2]??""):null}catch(e){return console.error("Error getting children",e),null}}}}}class dr extends qa{constructor(){super("GUESTREADY")}shouldHandle(e){return/book\.guestready\.com\/(?:[a-zA-Z]{2}\/)*reservations\/([a-zA-Z0-9]+)/i.test(e)}async getReservationId(){try{const e=/\/reservations\/([a-zA-Z0-9]+)/,t=new URL(window.location.href);return t.pathname.match(e)?.[1]??null}catch(e){return console.error("Error getting reservation id",e),null}}async getPropertyName(){return null}async getGuestName(){return null}async getBookingReference(){const e=await this.getInfoJSON();return h(Pt(e,"props.pageProps.reservation.booking_number",null))}async getPrice(){try{const e=await this.getInfoJSON(),t=Pt(e,"props.pageProps.reservation.receipts.payments[0].amount_formatted",null);if("string"!=typeof t)return null;const n=t.replace(/[0-9.,\s]/g,""),a=Wa(t);return{currency:ar(n),gross_total_price:a,net_total_price:a}}catch(e){return console.error("Error getting price",e),null}}async getStatus(){const e=await this.getInfoJSON();return"CANCELLED"===Pt(e,"props.pageProps.reservation.ongoing_status",null)?"CANCELLED":"BOOKED"}async getQueryParamMap(e){const t=await this.getInfoJSON(),n=Ge(Pt(t,"props.pageProps.reservation",null));return{checkin:()=>{try{const e=Pt(n,"check_in_date",null);return"string"!=typeof e?null:e}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{const e=Pt(n,"check_out_date",null);return"string"!=typeof e?null:e}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=Pt(n,"adults",null);return"string"==typeof e?p(e):"number"==typeof e?e:null}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{const e=Pt(n,"children",null);return"string"==typeof e?p(e):"number"==typeof e?e:null}catch(e){return console.error("Error getting children",e),null}}}}}const pr=(e,t,n)=>{if(e.searchParams.get(t)&&e.searchParams.get(n)){const a=e.searchParams.get(t),r=`${(parseInt(a?.slice(0,2)||"",10)||0)+1}`.padStart(2,"0"),o=a?.slice(2);return`${o}-${r}-${e.searchParams.get(n)}`}return null};class hr extends qa{constructor(){super("IHG")}shouldHandle(e){return/www\.ihg\.com(?:[a-zA-Z\/]*?)\/pay\/confirmation/i.test(e)}async getReservationId(){try{const e=new URL(window.location.href);return`${e.searchParams.get("confirmationNumber")}-${e.searchParams.get("lastName")}`}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await Ye(()=>Wt(['[data-slnm-ihg="reservationConfirmationMessage"] .notranslate']),e=>!e||!e?.textContent?.trim(),10)();return e?.textContent?.trim()??this.getReservationId()}async getPrice(){try{const e=await Ye(()=>Wt([".table-bottom._total .side-panel-total"]),e=>!e||!e?.textContent?.trim(),10)();if(e?.textContent){const t=e.textContent.replace(/[^0-9.,]/g,""),n=Wt([".brandThemeLink"],e),a=Wa(t);return{currency:n?.textContent?.trim()??"",gross_total_price:a,net_total_price:a}}return null}catch(e){return console.error("Error getting price",e),null}}async getPropertyName(){const e=Wt([".hotelInfoSummary .ng-star-inserted"]);return e?.textContent?.trim()??null}async getGuestName(){const e=Wt(['[data-slnm-ihg="quickEnrollWelcomeContentSID"] .notranslate']);return e?.textContent?.trim()??null}async getGuestEmail(){return await this.getGuestName()}async getStatus(){return"BOOKED"}async getQueryParamMap(e){const t=await Ye(()=>Wt(['[data-slnm-ihg="duplicateReservationButton"]']),e=>!e||!e?.getAttribute("href"),10)(),n=t?.getAttribute("href");if(!n)return{checkin:null,checkout:null,adults:null,children:null};const a=new URL(`${window.location.origin}${n}`);return{checkin:()=>{try{return pr(a,"qCiMy","qCiD")}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{return pr(a,"qCoMy","qCoD")}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{return p(a.searchParams.get("qAdlt")??"")}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{return p(a.searchParams.get("qChld")??"")}catch(e){return console.error("Error getting children",e),null}}}}}class mr extends qa{constructor(){super("MELIA")}shouldHandle(e){return/www\.melia\.com(?:[a-zA-Z\/]*?)\/checkout\/confirmation/i.test(e)}async getReservationId(){try{const e=new URL(window.location.href).searchParams.get("loc");if(e)return e;const t=await this.getInfoJSON();return h(Pt(t,"props.pageProps.checkOutDetails.summary.locatorCode",null))}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await this.getInfoJSON();return h(Pt(e,"props.pageProps.checkOutDetails.summary.selectedConfig.locator",null))}async getPrice(){try{const e=await this.getInfoJSON(),t=Ge(Pt(e,"props.pageProps.checkOutDetails.summary.selectedRoomRate",null));if(t?.currencyPrice){const n=Pt(e,"props.pageProps.checkOutDetails.currency",null),a=h(Pt(t,"currencyPrice",null)||Pt(t,"price",null)),r=h(Pt(t,"currencyPriceWithoutTax",null)||Pt(t,"priceWithoutTax",null)),o=Wa(a),i=Wa(r);return{currency:"string"==typeof n?n:null,gross_total_price:o,net_total_price:o,total_tax_price:null!==o&&null!==i?o-i:null}}return null}catch(e){return console.error("Error getting price",e),null}}async getStatus(){const e=await this.getInfoJSON();return"CANCELLED"===Pt(e,"props.pageProps.reservation.ongoing_status",null)?"CANCELLED":"BOOKED"}async getQueryParamMap(e){const t=await this.getInfoJSON(),n=Pt(t,"props.pageProps.checkOutDetails.summary.selectedConfig.dates",null),a=Ge(Pt(t,"props.pageProps.checkOutDetails.summary.selectedConfig.occupancy[0]",null));return{checkin:()=>{try{if(!Array.isArray(n))return null;const e=n[0];return"string"!=typeof e?null:e}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{if(!Array.isArray(n))return null;const e=n[1];return"string"!=typeof e?null:e}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{return a?"number"==typeof a.adults?a.adults:"string"==typeof a.adults?p(a.adults):null:null}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{return a?"number"==typeof a.children?a.children:"string"==typeof a.children?p(a.children):null:null}catch(e){return console.error("Error getting children",e),null}}}}}class fr extends qa{constructor(){super("MELIA")}shouldHandle(e){return/www\.melia\.com(?:[a-zA-Z\/]*?)\/reservation/i.test(e)}async getReservationId(){try{return this.getBookingReference()}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await Ye(()=>Wt([".definition-list-wrapper___2kUGk dd"]),e=>!e||!e.textContent,10)();return e?.textContent?.trim()??null}async getPrice(){try{const e=await Ye(()=>Wt([".c-payment-card___1_CuQ"]),e=>!e||!e.textContent,10)();if(e){const t=Wt([".price___14pEy.featured___2Dap0"],e),n=Wa((t?.textContent??"").replace(/[a-zA-Z\s]/g,"")),a=t?.textContent?.replace(/[0-9.,\s]/g,"")??null,r=Wt([".summary___3U0EP .price___14pEy"],e);return{currency:a,gross_total_price:n,net_total_price:n,total_tax_price:Wa((r?.textContent??"").replace(/[a-zA-Z\s]/g,""))}}return null}catch(e){return console.error("Error getting price",e),null}}async getStatus(){const e=Gt([".c-definition-list___21ds4"]);if(e){const t=e[3];if(t)return t.textContent?.toLocaleLowerCase().includes("cance")?"CANCELLED":"BOOKED"}return"BOOKED"}async getQueryParamMap(e){const t=Gt([".details-section___2hrKe"]);return{checkin:()=>{try{if(!t?.[1])return null;const e=Wt([".detail___2S67E"],t[1]);return e?.textContent??null}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{if(!t?.[1])return null;const e=(Gt([".detail___2S67E"],t[1])||[])[2];return e?.textContent??null}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{if(!t?.[2])return null;const e=Wt([".capacity___BYiON"],t[2]);return p(e?.textContent?.match(/\d+/)?.[0]??"")}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{if(!t?.[2])return null;const e=Wt([".capacity___BYiON"],t[2]);return p(e?.textContent?.match(/\d+[^]*?(\d+)/)?.[1]??"")}catch(e){return console.error("Error getting children",e),null}}}}}class gr extends qa{constructor(){super("IBEROSTAR")}shouldHandle(e){return/booking\.iberostar\.com\/Book\/Confirm\.aspx/i.test(e)}async getReservationId(){try{return this.getBookingReference()}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await Ye(()=>Wt(["#cphMain_ctl01_Label1"]),e=>!e||!e.textContent,10)();return e?.textContent?.trim()??null}async getGuestName(){const e=await Ye(()=>Wt(["#ContentPlaceHolder3_lblcodclinombre1"]),e=>!e||!e.textContent,10)();return e?.textContent?.trim()??null}async getGuestEmail(){const e=await Ye(()=>Wt(["#ContentPlaceHolder3_lblcodemail1"]),e=>!e||!e.textContent,10)();return e?.textContent?.trim()??null}async getPropertyName(){const e=await Ye(()=>Wt([".hname"]),e=>!e||!e.textContent,10)();return e?.textContent?.trim()??null}async getPrice(){try{const e=await Ye(()=>Gt(["#Totales div"]),e=>!e||qe(e),10)(),t=Array.from(e||[]).find(e=>"none"!==e.style.display);if(t){const e=Wa((t?.textContent??"").replace(/[a-zA-Z\s]/g,"")),n=Wt([".currency"],t);return{currency:n?.textContent?.trim()??null,gross_total_price:e,net_total_price:e,total_tax_price:null}}return null}catch(e){return console.error("Error getting price",e),null}}async getStatus(){return Gt([".alert-cancelled"])?"CANCELLED":"BOOKED"}async getQueryParamMap(e){const t=Wt(["#reservationData"]);return t?{checkin:()=>{try{const e=Wt([".checkin .fieldvalue"],t);return sn(e?.textContent?.trim()??null)}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{const e=Wt([".checkout .fieldvalue"],t);return sn(e?.textContent?.trim()??null)}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=Wt([".people .fieldvalue"],t);return p(e?.textContent?.trim()?.match(/\d+/)?.[0]??"")}catch(e){return console.error("Error getting adults",e),null}},children:null}:{checkin:null,checkout:null,adults:null,children:null}}}class yr extends qa{constructor(){super("SONDER")}shouldHandle(e){return/www\.sonder\.com(?:[a-zA-Z-/]*?)\/bookings\/[a-zA-Z0-9]*?\/confirmations/i.test(e)}async getReservationId(){try{return await this.getBookingReference()}catch(e){return console.error("Error getting reservation id",e),null}}async getGuestName(){const e=await this.getInfoJSON(),t=Pt(e,"props.pageProps.confirmation.guestInfo",null),n=Pt(t,"firstName",null),a=Pt(t,"lastName",null);return n||a?`${n}-${a}`:null}async getBookingReference(){const e=await this.getInfoJSON();return h(Pt(e,"props.pageProps.bookingUniqKey",null))}async getPropertyName(){const e=await this.getProductInfo();return e?`${e?.title} - ${e?.subtitle}`:null}async getPrice(){try{const e=await this.getInfoJSON(),t=Pt(e,"props.pageProps.confirmation.invoiceInfo",null);if(t){const e=Pt(t,"total.value",null),n=Pt(t,"total.currency",null),a=Pt(t,"lineItems",null),r=Wa("string"==typeof e?e.replace(/[^\d.,]/g,""):null);return{currency:"string"==typeof n?n:null,gross_total_price:r,net_total_price:r,total_tax_price:Wa(h(Array.isArray(a)?a?.find(e=>{const t=Ge(e);return!!t&&"taxes"===t.type&&void 0!==t.value})?.value:null))}}return null}catch(e){return console.error("Error getting price",e),null}}async getStatus(){const e=await this.getInfoJSON();return"CANCELLED"===Pt(e,"props.pageProps.reservation.ongoing_status",null)?"CANCELLED":"BOOKED"}async getProductInfo(){const e=await this.getInfoJSON();return Ge(Pt(e,"props.pageProps.confirmation.productInfo",null))??null}async getQueryParamMap(e){const t=await this.getProductInfo();return{checkin:()=>{try{const e=Pt(t,"checkInDate",null);return"string"!=typeof e?null:e}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{const e=Pt(t,"checkOutDate",null);return"string"!=typeof e?null:e}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=Pt(t,"numberOfGuests",null);return"number"==typeof e?e:"string"==typeof e?p(e):null}catch(e){return console.error("Error getting adults",e),null}},children:null}}}class br extends qa{constructor(){super("CHOICEHOTELS")}shouldHandle(e){return/www\.choicehotels\.com(?:[a-zA-Z-/]*?)\/confirmation/i.test(e)||/www\.choicehotels\.com(?:[a-zA-Z-/]*?)\/reservations\/reservation-details/i.test(e)}async getReservationId(){try{const e=await Ye(()=>Wt([".confirmation-number-heading"]),e=>!e,15)(),t=(e?.textContent?.trim()??"").split(" ");return t[t.length-1].trim()}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){return await this.getReservationId()}async getGuestName(){try{const e=await Ye(()=>Wt([".reservation-guest-details .user-name"]),e=>!e,10)();return e?.textContent?.trim()??null}catch(e){return console.error("Error getting guest name",e),null}}async getPropertyName(){try{const e=await Ye(()=>Wt(['[data-track-id="BackToPropertyPage"]']),e=>!e,10)();return e?.textContent?.trim()??null}catch(e){return console.error("Error getting property name",e),null}}async getPrice(){try{const e=Wt(['[data-track-id="summaryOfCharges"]']);if(e?.textContent){const t=Wt([".summary-of-charges-total-amount"],e),n=Wa(t?.textContent?.trim()||""),a=Wt([".currency-code"]),r=Wt([".taxes-total"]),o=Wa(r?.textContent?.trim()||"");return{currency:a?.textContent?.trim().replace(/[()]/g,"")??"",gross_total_price:n,net_total_price:n,total_tax_price:o}}return null}catch(e){return console.error("Error getting price",e),null}}async getStatus(){return"BOOKED"}async getQueryParamMap(e){const t=await Ye(()=>Wt([".booking-summary"]),e=>!e,15)();return{checkin:()=>{try{if(!t)return null;const e=Wt(['[data-track-id="CheckInDate"] .select-day'],t);return e?.textContent?.trim()??null}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{if(!t)return null;const e=Wt(['[data-track-id="CheckOutDate"] .select-day'],t);return e?.textContent?.trim()??null}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=Wt([".occupancy-description"]);return e?p(e.textContent?.trim().match(/\d+/g)?.[0]??""):null}catch(e){return console.error("Error getting adults",e),null}},children:null}}}class kr extends qa{constructor(){super("WYNDHAMHOTELS")}shouldHandle(e){return/wyndhamhotels\.com(?:[a-zA-Z0-9-\/]*?)\/reservation\/confirm/i.test(e)||/wyndhamhotels\.com(?:[a-zA-Z0-9-\/]*?)\/reservation\/view/i.test(e)}async getReservationId(){try{return await this.getBookingReference()}catch(e){return console.error("Error getting reservation id",e),null}}async getInfoJSON(){if(this.info)return this.info;try{const e=Wt(["script"],await Ye(Wt,e=>!e||!e.textContent,10)([".container.component-spacer"])),t=e?.textContent?.match(/var\s+reservationDataFromAEM\s*=\s*(\{[\s\S]*?\});/),n=function(e,t){let n=e;return t.forEach(e=>{n=function(e,t){const n=new RegExp(`${t}\\s*:\\s*("[^"]*"|\\[[\\s\\S]*?\\]|'[^']*'),?`);return e.replace(n,"")}(n,e)}),n}(t?.[1],["taxList","dateRateMap","checkInTime","checkOutTime"])?.replace(/([a-zA-Z0-9_]+)\s*:/g,'"$1":').replace(/\n/g,"");return t?(this.info=Ze(n||"{}"),this.info):null}catch(e){return console.error("Error getting info",e),null}}async getGuestName(){const e=await this.getInfoJSON(),t=Pt(e,"firstName",null),n=Pt(e,"lastName",null);return t||n?`${t}-${n}`:null}async getBookingReference(){const e=await this.getInfoJSON();return h(Pt(e,"confirmationNumber",null))}async getPropertyName(){const e=await this.getInfoJSON();return h(Pt(e,"propertyId",null))}async getPrice(){try{const e=await this.getInfoJSON();if(!e)return null;const t=Pt(e,"totalCash",null),n=Pt(e,"subtotal",null),a=Pt(e,"taxTotal",null),r=Pt(e,"currencyCode",null),o="string"==typeof t?t.replace(/[^\d.,]/g,""):null,i="string"==typeof n?n.replace(/[^\d.,]/g,""):null,s="string"==typeof a?a.replace(/[^\d.,]/g,""):null,c="string"==typeof r?r:null,l=Wa(o);return{currency:c,gross_total_price:l,net_total_price:Wa(i),total_tax_price:Wa(s)}}catch(e){return console.error("Error getting price",e),null}}async getStatus(){return"BOOKED"}async getQueryParamMap(e){const t=await this.getInfoJSON();return{checkin:()=>{try{const e=Pt(t,"checkInDate",null);return"string"!=typeof e?null:e}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{const e=Pt(t,"checkOutDate",null);return"string"!=typeof e?null:e}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=Pt(t,"adults",null);return"number"==typeof e?e:"string"==typeof e?p(e):null}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{const e=Pt(t,"children",null);return"number"==typeof e?e:"string"==typeof e?p(e):null}catch(e){return console.error("Error getting children",e),null}}}}}class vr extends qa{constructor(){super("OYOROOMS")}shouldHandle(e){return/oyorooms\.com(?:[a-zA-Z0-9-\/]*?)\/booking\/([a-zA-Z0-9-]+)/i.test(e)}async getReservationId(){try{return new URL(window.location.href).pathname.split("/").pop()||await this.getBookingReference()||null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await this.getBookingData();return h(Pt(e,"invoice",null))}async getGuestName(){const e=await this.getBookingData(),t=Pt(e,"guest_name",null);if("string"==typeof t)return t;const n=Pt(e,"guest.name",null);return"string"==typeof n?n:await this.getGuestEmail()}async getGuestEmail(){const e=await this.getBookingData(),t=Pt(e,"guest.email",null);if("string"==typeof t)return t;const n=Pt(e,"guest_email",null);return"string"==typeof n?n:null}async getPropertyName(){const e=await this.getBookingData(),t=Pt(e,"get_alias_name",null);return"string"!=typeof t?null:t}async getBookingData(){const e=await this.getInfoJSON();return Ge(Pt(e,"bookingDetailPage.bookingData.data",null))??null}async getInfoJSON(){if(this.info)return this.info;try{const e=Gt(["script"]),t=Array.from(e).find(e=>/window\.__PRELOADED_STATE__\s*=\s*\{/.test(e.textContent||""));if(t){const e=t.textContent,n=e?.match(/window\.__PRELOADED_STATE__\s*=\s*(\{[\s\S]*?\}\n)/);if(n){const e=n[1];return this.info=Ze(e),this.info}}return null}catch(e){return console.error("Error getting info",e),null}}async getPrice(){try{const e=await this.getBookingData();if(!e)return null;const t=h(e.total_amount_excluding_wizard),n=h(e.final_amount_excluding_oyo_money),a=h(e.total_tariff);return{currency:"string"==typeof e.currency_symbol?e.currency_symbol:null,gross_total_price:Wa(t)??Wa(n),net_total_price:Wa(a),total_tax_price:0}}catch(e){return console.error("Error getting price",e),null}}async getStatus(){const e=await this.getBookingData();return"cancelled"===e?.morphedStatus?"CANCELLED":"BOOKED"}async getQueryParamMap(e){const t=await this.getBookingData();return t?{checkin:()=>{try{return"string"!=typeof t.checkin?null:t.checkin}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{return"string"!=typeof t.checkout?null:t.checkout}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{return"number"==typeof t.no_of_adults?t.no_of_adults:"string"==typeof t.no_of_adults?p(t.no_of_adults):null}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{return"number"==typeof t.no_of_children?t.no_of_children:"string"==typeof t.no_of_children?p(t.no_of_children):null}catch(e){return console.error("Error getting children",e),null}}}:{checkin:null,checkout:null,adults:null,children:null}}}class wr extends qa{constructor(){super("CITIZENM")}shouldHandle(e){return/citizenm\.com(?:[a-zA-Z0-9-\/]*?)\/book\/confirmation/i.test(e)}async getReservationId(){try{return new URL(window.location.href).searchParams.get("bookingCode")??null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){return await this.getReservationId()}async getPrice(){try{const e=await Ye(Wt,e=>!e,10)(['[data-testid="booking-confirmation-stay-price-total-amount"']);if(e?.textContent){const t=e.textContent.trim(),n=t.replace(/[0-9.,]/g,"").trim(),a=rr(n)?n:ar(n),r=Wa(t);return{currency:a,gross_total_price:r,net_total_price:r}}return null}catch(e){return console.error("Error getting price",e),null}}async getPropertyName(){const e=await Ye(Wt,e=>!e,10)(['[data-testid="booking-confirmation-info-hotel"] h1']);return e?.textContent?.trim()??null}async getGuestName(){const e=await Ye(Wt,e=>!e,10)(['[data-testid="booking-confirmation-booker-firstname"] .value']),t=await Ye(Wt,e=>!e,10)(['[data-testid="booking-confirmation-booker-lastname"] .value']),n=e?.textContent?.trim(),a=t?.textContent?.trim();return n||a?`${n} ${a}`:null}async getGuestEmail(){const e=await Ye(Wt,e=>!e,10)(['[data-testid="booking-confirmation-booker-email"] .value']);return e?.textContent?.trim()??null}async getStatus(){return"BOOKED"}async getQueryParamMap(e){return{checkin:async()=>{try{const e=await Ye(Wt,e=>!e,10)(['[name="startdate"]']);return e?.getAttribute("value")??null}catch(e){return console.error("Error getting checkin",e),null}},checkout:async()=>{try{const e=await Ye(Wt,e=>!e,10)(['[name="enddate"]']);return e?.getAttribute("value")??null}catch(e){return console.error("Error getting checkout",e),null}},adults:async()=>{try{const e=await Ye(Wt,e=>!e,10)([".rd-guests .value"]);return p(e?.textContent?.trim().replace(/[^0-9]/g,"")??"")}catch(e){return console.error("Error getting adults",e),null}},children:null}}}class _r extends qa{constructor(){super("HOTEL-BB")}shouldHandle(e){return/hotel-bb\.com(?:[a-zA-Z0-9-\/]*?)\/checkout-confirmation\/([a-zA-Z0-9-]+)/i.test(e)}async getReservationId(){try{return new URL(window.location.href).pathname.split("/").pop()??null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await this.getInfoJSON();return h(Pt(e,"transactionId",null))}async getInfoJSON(){try{if(this.info)return this.info;const e=await Ye(()=>Wt(['[data-drupal-selector="drupal-settings-json"]']),e=>!e||!e.textContent,10)();return this.info=Ze(e?.textContent||"{}"),this.info}catch(e){return console.error("Error getting info",e),null}}async getRoomData(){const e=await this.getInfoJSON(),t=Ge(Pt(e,"bookingData.rooms",null))??{},n=Object.values(t);return(n[0]?Ge(n[0]):null)??null}async getPrice(){try{const e=await this.getInfoJSON(),t=Pt(e,"bookingData.totalAmount",null);if(!t)return null;const n=await this.getRoomData(),a=t||Pt(n,"room_info.price"),r=Pt(e,"bbh_datalayer_ga4.page_data.currency",null)||Pt(n,"room_info.currency_code",null),o="string"==typeof a?Wa(a):null;return{currency:"string"==typeof r?r:null,gross_total_price:o,net_total_price:o,total_tax_price:Wa(h(n?.cityTaxAmount))}}catch(e){return console.error("Error getting price",e),null}}async getPropertyName(){const e=await this.getInfoJSON(),t=Pt(e,"bookingData.hotelName",null);return"string"!=typeof t?null:t}async getGuestName(){const e=await this.getRoomData(),t=e?.occupant||e?.occupants_title;if("string"==typeof t)return t;const n=await Ye(Wt,e=>!e,10)([".confirmation__txt-box h1"]);return n?.textContent?.trim().split(",")[0]??null}async getGuestEmail(){const e=await this.getRoomData(),t=e?.booker_email||e?.occupant_email;if("string"==typeof t)return t;const n=await Ye(Wt,e=>!e,10)([".confirmation__txt-box strong"]);return n?.textContent?.trim()??null}async getStatus(){return"BOOKED"}async getQueryParamMap(e){const t=await this.getInfoJSON(),n=Pt(t,"bbh_datalayer_ga4.page_data",null),a=await this.getRoomData(),r=Ge(Pt(a,"room_info",null));return{checkin:()=>{try{const e=Pt(n,"booking_checkin_date",null);if("string"!=typeof e)return null;const[t,a,r]=e.split("/");return`${r}-${a}-${t}`}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{const e=Pt(n,"booking_checkout_date",null);if("string"!=typeof e)return null;const[t,a,r]=e.split("/");return`${r}-${a}-${t}`}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=r?.adultsCount??a?.guestCount??null;return"string"==typeof e?p(e):"number"==typeof e?e:null}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{const e=r?.childrenCount??null;return"string"==typeof e?p(e):"number"==typeof e?e:null}catch(e){return console.error("Error getting children",e),null}}}}}class jr extends qa{constructor(){super("ZENITHOTELES")}shouldHandle(e){return/zenithoteles\.com(?:[a-zA-Z0-9-\/]*?)\/bookcore\/your-booking\/confirmation\/([a-zA-Z0-9-]+)/i.test(e)}async getReservationId(){try{return(new URL(window.location.href).pathname.split("/").pop()??null)||await this.getBookingReference()}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await this.getInfoComponent();if(e)return e.getAttribute("data-booking-code")??null;const t=window.location.href.match(/bookcore\/your-booking\/confirmation\/([a-zA-Z0-9]+)\//);return t?t[1]:null}async getPropertyName(){const e=await this.getInfoComponent(),t=Je(e?.getAttribute("data-hotel-info")||"{}");return h(Pt(t,"hotelName",null))}async getGuestName(){const e=Wt([".voucher__client .voucher__client-info-value"]);return e?.textContent?.trim()??null??null}async getGuestEmail(){const e=Gt([".voucher__client .voucher__client-info-value"]);return e?.[1]?.textContent?.trim()??null??null}async getPrice(){try{const e=await this.getInfoJSON();if(e){const t=h(Pt(e,"currency",null)),n=h(Pt(e,"value",null)),a=h(Pt(e,"tax",null)),r=Wa(n),o=Wa(a);return{currency:t,net_total_price:null!==r&&null!==o?r-o:null,gross_total_price:r,total_tax_price:o}}const t=Wt([".bookingCart"]);let n=Wt([".bookingCart"])?.children[0],a=n?.getAttribute("data-currency")?.trim()??null;const r=t?.children[1];return{currency:a?ar(a):null,net_total_price:Wa(r?.textContent?.trim()||""),gross_total_price:null,total_tax_price:null}}catch(e){return console.error("Error getting price",e),null}}async getInfoComponent(){return await Ye(Wt,e=>!e||!e.getAttribute("data-ga4-event-data"),10)(["#roi-voucher-trackings"])}async getInfoJSON(){try{if(this.info)return this.info;const e=await this.getInfoComponent();return this.info=Ze(e?.getAttribute("data-ga4-event-data")||"{}"),this.info}catch(e){return console.error("Error getting info",e),null}}async getStatus(){return"BOOKED"}async getQueryParamMap(e){const t=await this.getInfoJSON(),n=Pt(t,"items",null);if(n&&Array.isArray(n)&&n[0]){const e=Ge(n[0]);if(e){const t="string"==typeof e.item_category2?e.item_category2.split("-"):null,n=e.item_category3,a=e.item_category4,r=t?t[0]:null,o=t?t[1]:null;return{checkin:"string"==typeof n?n:null,checkout:"string"==typeof a?a:null,adults:"string"==typeof r?p(r):null,children:"string"==typeof o?p(o):null}}}return{checkin:null,checkout:null,adults:null,children:null}}}class xr extends qa{constructor(){super("RADISSON"),this.parserType="html"}shouldHandle(e){return/radissonhotels\.com(?:[a-zA-Z0-9-\/]*?)\/booking\/confirmation/i.test(e)||/radisson-confirmation/i.test(e)}async getReservationId(){try{return(new URL(window.location.href).searchParams.get("bookingId")??null)||await this.getBookingReference()}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await Ye(async()=>Wt(['[name="bookingId"]']),e=>!e,10)();return e?e.getAttribute("value"):null}async getPropertyName(){const e=Wt(['[data-test="propertyName"]']);return e?.textContent?.trim()??null}async getGuestName(){const e=Wt(['[data-test="first-name"]']),t=Wt(['[data-test="last-name"]']),n=e?.textContent?.trim(),a=t?.textContent?.trim();return n||a?`${n} ${a}`:null}async getGuestEmail(){const e=Wt(['[data-test="email"]']);return e?.textContent?.trim()??null}async getPrice(){return null}async getStatus(){return"BOOKED"}async getQueryParamMap(e){const t=Wt(['[data-testid="people"]']),n=t?.textContent?.replace(/\D/g,"");return{checkin:null,checkout:null,adults:p(n??""),children:null}}}class Cr extends qa{constructor(){super("NOVASOL")}shouldHandle(e){return/checkout\.novasol\.com(?:[a-zA-Z0-9-\/]*?)\/booking-complete\?/i.test(e)}async getReservationId(){try{const e=await this.getInfoJSON();return h(Pt(e,"bookingDetails.bookingId",null))}catch(e){return console.error("Error getting reservation id",e),null}}async getInfoJSON(){const e=await super.getInfoJSON();return Ge(Pt(e,"props.pageProps",null))??null}async getPropertyName(){const e=await this.getInfoJSON();return h(Pt(e,"property.propertyCode",null))??h(Pt(e,"propertyUnitCode",null))}async getGuestName(){const e=await this.getInfoJSON(),t=Pt(e,"customerSession.customer",null),n=Pt(t,"firstName",null),a=Pt(t,"lastName",null);return n||a?`${n} ${a}`:null}async getGuestEmail(){const e=await this.getInfoJSON(),t=Pt(e,"customerSession.customer.email",null);return"string"!=typeof t?null:t}async getBookingReference(){const e=await this.getInfoJSON();return h(Pt(e,"bookingDetails.bookingId",null))}async getPrice(){try{const e=await this.getInfoJSON(),t=Pt(e,"customerSession.initialQuote.totalCost",null);if(!t)return null;const n=Pt(t,"value",null),a=Pt(t,"currency",null),r=Wa(h(n));return{currency:"string"==typeof a?a:null,gross_total_price:r,net_total_price:r}}catch(e){return console.error("Error getting price",e),null}}async getStatus(){return"BOOKED"}async getQueryParamMap(e){const t=await this.getInfoJSON(),n=new URL(window.location.href);return{checkin:()=>{try{const e=Pt(t,"bookingDetails.startDate",null);return"string"==typeof e?e.split("T")[0]:n.searchParams.get("start")}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{const e=Pt(t,"bookingDetails.endDate",null);return"string"==typeof e?e.split("T")[0]:n.searchParams.get("end")}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=Pt(t,"bookingDetails.numberOfAdults",null);return"number"==typeof e?e:p("string"==typeof e?e:n.searchParams.get("adult")??"")}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{const e=Pt(t,"bookingDetails.numberOfChildren",null);return"number"==typeof e?e:p("string"==typeof e?e:n.searchParams.get("child")??"")}catch(e){return console.error("Error getting children",e),null}}}}}class Sr extends qa{reservationInfo=null;constructor(){super("BOOKING")}shouldHandle(e){return/secure\.booking\.com\/confirmation(?:\.[a-zA-Z-]{2,5})*\.html/i.test(e)}async getReservationId(){try{return await this.getBookingReference()}catch(e){return console.error("Error getting reservation id",e),null}}async getGuestName(){return null}async getBookingReference(){const e=await this.getReservationInfo();return h(Pt(e,"identity.reservationId",null))}async getPropertyName(){const e=await this.findJSONPartFromRegex(/^PostBookingProperty:{/),t=Pt(e,"url",null);return"string"!=typeof t?null:xa(t.replace(".html",""))??null}async getPrice(){try{const e=await this.getReservationInfo(),t=e?.price;if(t){const n=Pt(t,"userTotalPretty",null),a=Pt(e,"context.selectedCurrency",null),r=Wa("string"==typeof n?n.replace(/[^\d.,]/g,""):null);return{currency:"string"==typeof a?a:null,gross_total_price:r,net_total_price:r,total_tax_price:null}}return null}catch(e){return console.error("Error getting price",e),null}}async getStatus(){return"BOOKED"}async getReservationInfo(){try{if(this.reservationInfo)return this.reservationInfo;const e=await this.findJSONPartFromRegex(/^PostBookingReservation:{/);return this.reservationInfo=e,this.reservationInfo}catch(e){return console.error("Error getting reservation info",e),null}}async findJSONPartFromRegex(e){const t=await this.getInfoJSON();if(!t)return null;const n=Qe(t,e);return n?Ge(n)??null:null}async getInfoJSON(){if(this.info)return this.info;const e=await Zt(['script[data-capla-namespace*="b-post-booking-web-"][data-capla-store-data="apollo"]']);return this.info=e,this.info}buildDate(e){const t=new Date(parseInt(e,10));return`${t.getUTCFullYear()}-${We(t.getUTCMonth()+1)}-${We(t.getUTCDate())}`}async getQueryParamMap(e){const t=await this.getReservationInfo(),n=Ge(Pt(t,"bookedOccupancyInfo",null));return{checkin:()=>{try{const e=Pt(t,"reservationCheckinDate.rawDate",null);return"string"!=typeof e?null:this.buildDate(e+"000")}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{const e=Pt(t,"reservationCheckoutDate.rawDate",null);return"string"!=typeof e?null:this.buildDate(e+"000")}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=n?.numberOfAdults;return"string"==typeof e?p(e):"number"==typeof e?e:null}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{const e=n?.numberOfChildren;return"string"==typeof e?p(e):"number"==typeof e?e:null}catch(e){return console.error("Error getting children",e),null}}}}}class zr extends qa{constructor(){super("EUROSTARSHOTELS"),this.parserType="html"}shouldHandle(e){return/eurostarshotels\.com(?:[^]*?)#confirmation\//i.test(e)}async getReservationId(){try{const e=new URL(window.location.href),t=e.searchParams.get("id_hotel"),n=e.hash.split("/").pop();return t&&n?`${t}-${n}`:null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){return null}async getPropertyName(){return null}async getGuestName(){return null}async getGuestEmail(){return null}async getPrice(){return null}async getStatus(){return"BOOKED"}async getQueryParamMap(e){const t=Wt(['[data-testid="people"]']);return{checkin:null,checkout:null,adults:p(t?.textContent?.replace(/\D/g,"")??null??""),children:null}}}class Er extends qa{constructor(){super("DIRECT_BOOK"),this.parserType="html"}shouldHandle(e){return/direct-book\.com\/properties\/[a-zA-Z0-9-]+\/reservations\/[a-zA-Z0-9-]+/i.test(e)}async getReservationId(){try{return new URL(window.location.href).pathname.split("/").pop()||await this.getBookingReference()}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await Ye(()=>Wt(['[data-cy="reservation-reference-id"]']),e=>!e,10)();if(!e)return null;const t=e.textContent;if(!t)return null;const n=t.split(":")[1];return n?n.replace("#","").replace("\n","").trim()??null:null}async getPrice(){return null}async getStatus(){return"BOOKED"}async getQueryParamMap(e){return{checkin:null,checkout:null,adults:null,children:null}}}class Or extends qa{constructor(){super("BESTWESTERN"),this.parserType="html"}shouldHandle(e){return/bestwestern\.[.a-z]{2,7}(?:[a-zA-Z_\/]*?)\/reservations\/reservation-details\.(thankyou|rewards)\.html/i.test(e)}async getReservationId(){try{const e=await Ye(Gt,e=>!Pt(e,"[1].textContent",null))([".confirmationNumberContainer div"]),t=e?.length?e[1]?.textContent:null;return t?t.trim().replace(/\s/g,"").replace("#",""):null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){return await this.getReservationId()}async getStatus(){return"BOOKED"}async getPrice(){return null}async getQueryParamMap(e){return{checkin:null,checkout:null,adults:null,children:null}}}class Ar extends qa{constructor(){super("GETDIRECTO"),this.parserType="html"}shouldHandle(e){return/secure\.getdirecto\.com\/confirmation\//i.test(e)}async getBookingReference(){try{const e=await Ye(Wt,e=>!Pt(e,"textContent",null))([".confirmation-bookingId span"]),t=e?.textContent;return t??null}catch(e){return console.error("Error getting booking reference",e),null}}async getReservationId(){try{const e=new URL(window.location.href).pathname.split("/").pop();if(e)return e}catch(e){console.error("Error getting reservation id from URL",e)}return await this.getBookingReference()}async getStatus(){return"BOOKED"}async getPrice(){return null}async getQueryParamMap(e){return{checkin:null,checkout:null,adults:null,children:null}}}class Pr extends qa{constructor(){super("ADAGIO_CITY"),this.parserType="html"}shouldHandle(e){return/adagio-city.com(?:[a-zA-Z\/]*?)\/booking\/confirmation\/[a-zA-Z0-9-_]+/i.test(e)}async getReservationId(){try{const e=await Ye(()=>Wt([".confirmation-info-top dd"]),e=>!e,10)();return e?.textContent?.trim()??null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){return await this.getReservationId()}async getPrice(){return null}async getStatus(){return"BOOKED"}async getQueryParamMap(e){return{checkin:null,checkout:null,adults:null,children:null}}}class Ir{trackers=[];activeTracker=null;constructor(){this.trackers=[new Ga,new Qa,new Ja,new or,new sr,new cr,new lr,new ur,new dr,new hr,new mr,new fr,new gr,new yr,new br,new kr,new vr,new wr,new _r,new jr,new xr,new Cr,new Sr,new zr,new Er,new Or,new Ar,new Pr]}async initialize(e){try{const t=this.getTrackerForUrl(e);if(t&&await t.isReservation()){const e=await t.getReservationDetails(),n=await E.getSessionId(),a=await Ha();"html"===t.parserType?E.sendConversionHTMLEvent({...e,session_id:n,user_id:a}):E.sendConversionEvent({...e,session_id:n,user_id:a})}}catch(e){console.error("Error handling reservation tracker",e)}}getTrackerForUrl(e){if(this.activeTracker&&this.activeTracker.shouldHandle(e))return this.activeTracker;for(const t of this.trackers)if(t.shouldHandle(e))return this.activeTracker=t,t;return this.activeTracker=null,null}}const Nr={utm_source:"getdirecto",utm_medium:"extension"};function Lr(e){const t=vn(e);for(const[e,n]of Object.entries(Nr))t.searchParams.set(e,n);return t.toString()}function Tr(e){try{const t=new URL(e).hostname.toLowerCase();return"getdirecto.com"===t||t.endsWith(".getdirecto.com")}catch{return!1}}function Dr(e,t){return Math.floor(Math.random()*(t-e+1)+e)}function Rr(e){var t=this.__data__=new pt(e);this.size=t.size}Rr.prototype.clear=function(){this.__data__=new pt,this.size=0},Rr.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Rr.prototype.get=function(e){return this.__data__.get(e)},Rr.prototype.has=function(e){return this.__data__.has(e)},Rr.prototype.set=function(e,t){var n=this.__data__;if(n instanceof pt){var a=n.__data__;if(!ce||a.length<199)return a.push([e,t]),this.size=++n.size,this;n=this.__data__=new ft(a)}return n.set(e,t),this.size=n.size,this};const Mr=Rr;function $r(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new ft;++t<n;)this.add(e[t])}$r.prototype.add=$r.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},$r.prototype.has=function(e){return this.__data__.has(e)};const Br=$r,Ur=function(e,t){for(var n=-1,a=null==e?0:e.length;++n<a;)if(t(e[n],n,e))return!0;return!1},Fr=function(e,t){return e.has(t)},Vr=function(e,t,n,a,r,o){var i=1&n,s=e.length,c=t.length;if(s!=c&&!(i&&c>s))return!1;var l=o.get(e),u=o.get(t);if(l&&u)return l==t&&u==e;var d=-1,p=!0,h=2&n?new Br:void 0;for(o.set(e,t),o.set(t,e);++d<s;){var m=e[d],f=t[d];if(a)var g=i?a(f,m,d,t,e,o):a(m,f,d,e,t,o);if(void 0!==g){if(g)continue;p=!1;break}if(h){if(!Ur(t,function(e,t){if(!Fr(h,t)&&(m===e||r(m,e,n,a,o)))return h.push(t)})){p=!1;break}}else if(m!==f&&!r(m,f,n,a,o)){p=!1;break}}return o.delete(e),o.delete(t),p},Hr=R.Uint8Array,Kr=function(e){var t=-1,n=Array(e.size);return e.forEach(function(e,a){n[++t]=[a,e]}),n},qr=function(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n};var Yr=M?M.prototype:void 0,Wr=Yr?Yr.valueOf:void 0;const Gr=function(e,t){for(var n=-1,a=null==e?0:e.length,r=0,o=[];++n<a;){var i=e[n];t(i,n,e)&&(o[r++]=i)}return o};var Qr=Object.prototype.propertyIsEnumerable,Jr=Object.getOwnPropertySymbols;const Zr=Jr?function(e){return null==e?[]:(e=Object(e),Gr(Jr(e),function(t){return Qr.call(e,t)}))}:function(){return[]},Xr=function(e){return function(e,t,n){var a=t(e);return Ae(e)?a:function(e,t){for(var n=-1,a=t.length,r=e.length;++n<a;)e[r+n]=t[n];return e}(a,n(e))}(e,$t,Zr)};var eo=Object.prototype.hasOwnProperty;var to="[object Arguments]",no="[object Array]",ao="[object Object]",ro=Object.prototype.hasOwnProperty;const oo=function(e,t,n,a,r,o){var i=Ae(e),s=Ae(t),c=i?no:je(e),l=s?no:je(t),u=(c=c==to?ao:c)==ao,d=(l=l==to?ao:l)==ao,p=c==l;if(p&&De(e)){if(!De(t))return!1;i=!0,u=!1}if(p&&!u)return o||(o=new Mr),i||He(e)?Vr(e,t,n,a,r,o):function(e,t,n,a,r,o,i){switch(n){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!o(new Hr(e),new Hr(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return ct(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var s=Kr;case"[object Set]":var c=1&a;if(s||(s=qr),e.size!=t.size&&!c)return!1;var l=i.get(e);if(l)return l==t;a|=2,i.set(e,t);var u=Vr(s(e),s(t),a,r,o,i);return i.delete(e),u;case"[object Symbol]":if(Wr)return Wr.call(e)==Wr.call(t)}return!1}(e,t,c,n,a,r,o);if(!(1&n)){var h=u&&ro.call(e,"__wrapped__"),m=d&&ro.call(t,"__wrapped__");if(h||m){var f=h?e.value():e,g=m?t.value():t;return o||(o=new Mr),r(f,g,n,a,o)}}return!!p&&(o||(o=new Mr),function(e,t,n,a,r,o){var i=1&n,s=Xr(e),c=s.length;if(c!=Xr(t).length&&!i)return!1;for(var l=c;l--;){var u=s[l];if(!(i?u in t:eo.call(t,u)))return!1}var d=o.get(e),p=o.get(t);if(d&&p)return d==t&&p==e;var h=!0;o.set(e,t),o.set(t,e);for(var m=i;++l<c;){var f=e[u=s[l]],g=t[u];if(a)var y=i?a(g,f,u,t,e,o):a(f,g,u,e,t,o);if(!(void 0===y?f===g||r(f,g,n,a,o):y)){h=!1;break}m||(m="constructor"==u)}if(h&&!m){var b=e.constructor,k=t.constructor;b==k||!("constructor"in e)||!("constructor"in t)||"function"==typeof b&&b instanceof b&&"function"==typeof k&&k instanceof k||(h=!1)}return o.delete(e),o.delete(t),h}(e,t,n,a,r,o))},io=function e(t,n,a,r,o){return t===n||(null==t||null==n||!xe(t)&&!xe(n)?t!=t&&n!=n:oo(t,n,a,r,e,o))},so=function(e){return e==e&&!q(e)},co=function(e,t){return function(n){return null!=n&&n[e]===t&&(void 0!==t||e in Object(n))}},lo=function(e){var t=function(e){for(var t=$t(e),n=t.length;n--;){var a=t[n],r=e[a];t[n]=[a,r,so(r)]}return t}(e);return 1==t.length&&t[0][2]?co(t[0][0],t[0][1]):function(n){return n===e||function(e,t,n,a){var r=n.length,o=r,i=!a;if(null==e)return!o;for(e=Object(e);r--;){var s=n[r];if(i&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++r<o;){var c=(s=n[r])[0],l=e[c],u=s[1];if(i&&s[2]){if(void 0===l&&!(c in e))return!1}else{var d=new Mr;if(a)var p=a(l,u,c,e,t,d);if(!(void 0===p?io(u,l,3,a,d):p))return!1}}return!0}(n,e,t)}},uo=function(e,t){return null!=e&&t in Object(e)},po=function(e,t){return null!=e&&function(e,t,n){for(var a=-1,r=(t=Et(t,e)).length,o=!1;++a<r;){var i=Ot(t[a]);if(!(o=null!=e&&n(e,i)))break;e=e[i]}return o||++a!=r?o:!!(r=null==e?0:e.length)&&Pe(r)&&Dt(i,r)&&(Ae(e)||Oe(e))}(e,t,uo)},ho=function(e){return nt(e)?(t=Ot(e),function(e){return null==e?void 0:e[t]}):function(e){return function(t){return At(t,e)}}(e);var t},mo=function(e){return"function"==typeof e?e:null==e?Ft:"object"==typeof e?Ae(e)?(t=e[0],n=e[1],nt(t)&&so(n)?co(Ot(t),n):function(e){var a=Pt(e,t);return void 0===a&&a===n?po(e,t):io(n,a,3)}):lo(e):ho(e);var t,n},fo=function(e,t){if(e!==t){var n=void 0!==e,a=null===e,r=e==e,o=Xe(e),i=void 0!==t,s=null===t,c=t==t,l=Xe(t);if(!s&&!l&&!o&&e>t||o&&i&&c&&!s&&!l||a&&i&&c||!n&&c||!r)return 1;if(!a&&!o&&!l&&e<t||l&&n&&r&&!a&&!o||s&&n&&r||!i&&r||!c)return-1}return 0},go=function(e,t,n){t=t.length?jt(t,function(e){return Ae(e)?function(t){return At(t,1===e.length?e[0]:e)}:e}):[Ft];var a=-1;t=jt(t,Me(mo));var r=function(e,t){var n=-1,a=Ie(e)?Array(e.length):[];return Ut(e,function(e,r,o){a[++n]=t(e,r,o)}),a}(e,function(e,n,r){return{criteria:jt(t,function(t){return t(e)}),index:++a,value:e}});return function(e,t){var n=e.length;for(e.sort(t);n--;)e[n]=e[n].value;return e}(r,function(e,t){return function(e,t,n){for(var a=-1,r=e.criteria,o=t.criteria,i=r.length,s=n.length;++a<i;){var c=fo(r[a],o[a]);if(c)return a>=s?c:c*("desc"==n[a]?-1:1)}return e.index-t.index}(e,t,n)})},yo=({width:e="29",height:t="31",viewBox:n="0 0 29 31",fill:a="none",style:r={}})=>(0,zn.jsxs)("svg",{width:e,height:t,viewBox:n,style:r,fill:a,xmlns:"http://www.w3.org/2000/svg",children:[(0,zn.jsx)("path",{d:"M23.0716 26.6715C21.7556 25.5134 20.4569 24.3399 19.1234 23.1974C18.8924 22.9998 18.7424 23.0044 18.5196 23.163C17.9021 23.6022 17.2174 23.9458 16.5035 24.2399C15.0518 24.8382 13.516 25.0848 11.9241 25.084C11.2304 25.084 10.5366 25.0821 9.84291 25.0817C9.69079 25.0817 9.56738 25.192 9.56738 25.328V30.3459C9.56738 30.4815 9.69036 30.5914 9.84205 30.5918C10.6313 30.5934 11.4206 30.596 12.2104 30.5995C13.0472 30.6033 13.8862 30.5658 14.6991 30.4478C16.1646 30.2353 17.5992 29.8856 18.9631 29.328C20.4393 28.7244 21.8079 27.9768 23.0596 27.0526C23.2588 26.9055 23.2511 26.8293 23.0716 26.6715Z",fill:"#000141"}),(0,zn.jsx)("path",{d:"M11.9914 6.24371C13.0108 6.25367 14.0341 6.32835 15.0046 6.6133C16.1354 6.94497 17.2632 7.30574 18.2239 7.97061C18.3289 8.043 18.4395 8.11155 18.532 8.19505C18.7 8.34633 18.832 8.32756 18.9845 8.18432C19.1632 8.01619 19.341 7.84729 19.5279 7.68605C20.7084 6.66883 21.8898 5.65237 23.0754 4.63975C23.2177 4.51834 23.2687 4.44902 23.0758 4.30769C22.4382 3.84045 21.7818 3.39924 21.082 3.00821C18.502 1.56625 15.6816 0.791076 12.6509 0.747798C11.7155 0.734394 10.7796 0.726734 9.84419 0.722904C9.69165 0.722138 9.56738 0.832822 9.56738 0.969167V5.9917C9.56738 6.12766 9.69079 6.23797 9.84291 6.23758C10.5589 6.23682 11.275 6.23682 11.991 6.24371H11.9914Z",fill:"#000141"}),(0,zn.jsx)("path",{d:"M6.70176 0.717285H1.12783C0.951519 0.717285 0.808594 0.845031 0.808594 1.00261V30.3052C0.808594 30.4628 0.951519 30.5905 1.12783 30.5905H6.70176C6.87806 30.5905 7.02099 30.4628 7.02099 30.3052V1.00261C7.02099 0.845031 6.87806 0.717285 6.70176 0.717285Z",fill:"#000141"}),(0,zn.jsx)("path",{d:"M25.0106 6.09228C25.5783 6.67174 26.0904 7.28721 26.5364 7.94748C27.1895 8.91453 27.678 9.94209 28.0923 11.0091C28.4973 12.0528 28.6978 13.1205 28.8306 14.2109C28.9073 14.8421 28.9819 15.4713 28.9459 16.1044C28.8345 18.0542 28.3944 19.9351 27.5023 21.7302C27.1826 22.3736 26.8205 23.0032 26.41 23.5892C26.0004 24.174 25.5629 24.7711 24.9428 25.2862C24.6219 24.9867 24.3048 24.6811 23.9766 24.3854C22.8946 23.4103 21.8114 22.4364 20.7213 21.4682C20.5854 21.3475 20.5709 21.289 20.7011 21.1423C21.4459 20.3012 21.9421 19.3384 22.3024 18.3242C22.6928 17.2262 22.8625 16.0849 22.7104 14.9455C22.6101 14.1925 22.4948 13.4288 22.1996 12.6969C21.9001 11.9555 21.514 11.2603 21.0474 10.5962C20.9295 10.4285 20.8267 10.2473 20.6788 10.1033C20.531 9.95971 20.5404 9.87775 20.6943 9.74562C21.7762 8.81534 22.8676 7.89425 23.9252 6.94098C24.2504 6.64799 24.5902 6.3596 24.9424 6.08691C24.9651 6.08845 24.9883 6.08998 25.011 6.09113L25.0106 6.09228Z",fill:"#000141"})]}),bo=({})=>(0,zn.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,zn.jsx)("path",{d:"M10.4306 12.1599C9.8141 11.6173 9.20561 11.0675 8.58086 10.5322C8.47266 10.4396 8.40239 10.4418 8.298 10.5161C8.00871 10.7219 7.6879 10.8828 7.35345 11.0206C6.67329 11.3009 5.95378 11.4165 5.20798 11.4161C4.88296 11.4161 4.55793 11.4152 4.23291 11.415C4.16164 11.415 4.10383 11.4667 4.10383 11.5304V13.8814C4.10383 13.9449 4.16144 13.9964 4.23251 13.9966C4.6023 13.9973 4.97209 13.9985 5.34208 14.0001C5.73416 14.0019 6.12723 13.9843 6.50807 13.9291C7.19465 13.8295 7.86678 13.6657 8.50578 13.4044C9.19738 13.1216 9.83859 12.7714 10.425 12.3384C10.5183 12.2695 10.5147 12.2338 10.4306 12.1599Z",fill:"white"}),(0,zn.jsx)("path",{d:"M5.2395 2.58924C5.71709 2.5939 6.1965 2.62889 6.65121 2.76239C7.181 2.91778 7.70938 3.08681 8.15948 3.3983C8.20866 3.43222 8.26046 3.46433 8.30382 3.50345C8.38252 3.57433 8.44435 3.56553 8.51582 3.49843C8.59953 3.41966 8.68285 3.34052 8.77038 3.26498C9.32346 2.78841 9.87694 2.31219 10.4324 1.83777C10.4991 1.78089 10.523 1.74841 10.4326 1.6822C10.1339 1.46329 9.82635 1.25659 9.49851 1.07338C8.28977 0.397817 6.9684 0.0346442 5.54846 0.0143682C5.11021 0.00808808 4.67176 0.00449952 4.23351 0.00270519C4.16204 0.00234632 4.10383 0.0542024 4.10383 0.118081V2.47117C4.10383 2.53487 4.16164 2.58655 4.23291 2.58637C4.56837 2.58601 4.90403 2.58601 5.2395 2.58924Z",fill:"white"}),(0,zn.jsx)("path",{d:"M2.76098 0H0.149562C0.0669613 0 0 0.0598496 0 0.133678V13.8621C0 13.936 0.0669613 13.9958 0.149562 13.9958H2.76098C2.84358 13.9958 2.91055 13.936 2.91055 13.8621V0.133678C2.91055 0.0598496 2.84358 0 2.76098 0Z",fill:"white"}),(0,zn.jsx)("path",{d:"M11.339 2.5184C11.605 2.78989 11.8449 3.07824 12.0538 3.38758C12.3598 3.84065 12.5887 4.32207 12.7828 4.82197C12.9725 5.31093 13.0665 5.81119 13.1287 6.32203C13.1646 6.61774 13.1996 6.91255 13.1827 7.20915C13.1305 8.12265 12.9243 9.00385 12.5063 9.84485C12.3566 10.1463 12.1869 10.4413 11.9946 10.7158C11.8027 10.9898 11.5977 11.2696 11.3072 11.5109C11.1569 11.3706 11.0083 11.2274 10.8545 11.0889C10.3476 10.632 9.84012 10.1757 9.3294 9.72212C9.26576 9.6656 9.25893 9.63814 9.31996 9.56942C9.66888 9.17539 9.90135 8.72429 10.0702 8.24915C10.2531 7.73471 10.3326 7.2 10.2613 6.66619C10.2143 6.31342 10.1603 5.95563 10.022 5.61273C9.88168 5.26535 9.7008 4.93968 9.48217 4.62854C9.42697 4.54995 9.37878 4.46508 9.30952 4.39761C9.24026 4.33032 9.24468 4.29192 9.31675 4.23002C9.82366 3.79418 10.335 3.36264 10.8304 2.91603C10.9828 2.77876 11.142 2.64365 11.307 2.51589C11.3177 2.51661 11.3283 2.51787 11.339 2.5184Z",fill:"white"})]}),ko=({})=>(0,zn.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,zn.jsx)("path",{d:"M10.4306 12.1599C9.8141 11.6173 9.20561 11.0675 8.58086 10.5322C8.47266 10.4396 8.40239 10.4418 8.298 10.5161C8.00871 10.7219 7.6879 10.8828 7.35345 11.0206C6.67329 11.3009 5.95378 11.4165 5.20798 11.4161C4.88296 11.4161 4.55793 11.4152 4.23291 11.415C4.16164 11.415 4.10383 11.4667 4.10383 11.5304V13.8814C4.10383 13.9449 4.16144 13.9964 4.23251 13.9966C4.6023 13.9973 4.97209 13.9985 5.34208 14.0001C5.73416 14.0019 6.12723 13.9843 6.50807 13.9291C7.19465 13.8295 7.86678 13.6657 8.50578 13.4044C9.19738 13.1216 9.83859 12.7714 10.425 12.3384C10.5183 12.2695 10.5147 12.2338 10.4306 12.1599Z",fill:"#000141"}),(0,zn.jsx)("path",{d:"M5.2395 2.58924C5.71709 2.5939 6.1965 2.62889 6.65121 2.76239C7.181 2.91778 7.70938 3.08681 8.15948 3.3983C8.20866 3.43222 8.26046 3.46433 8.30382 3.50345C8.38252 3.57433 8.44435 3.56553 8.51582 3.49843C8.59953 3.41966 8.68285 3.34052 8.77038 3.26498C9.32346 2.78841 9.87694 2.31219 10.4324 1.83777C10.4991 1.78089 10.523 1.74841 10.4326 1.6822C10.1339 1.46329 9.82635 1.25659 9.49851 1.07338C8.28977 0.397817 6.9684 0.0346442 5.54846 0.0143682C5.11021 0.00808808 4.67176 0.00449952 4.23351 0.00270519C4.16204 0.00234632 4.10383 0.0542024 4.10383 0.118081V2.47117C4.10383 2.53487 4.16164 2.58655 4.23291 2.58637C4.56837 2.58601 4.90403 2.58601 5.2395 2.58924Z",fill:"#000141"}),(0,zn.jsx)("path",{d:"M2.76098 0H0.149562C0.0669613 0 0 0.0598496 0 0.133678V13.8621C0 13.936 0.0669613 13.9958 0.149562 13.9958H2.76098C2.84358 13.9958 2.91055 13.936 2.91055 13.8621V0.133678C2.91055 0.0598496 2.84358 0 2.76098 0Z",fill:"#000141"}),(0,zn.jsx)("path",{d:"M11.339 2.5184C11.605 2.78989 11.8449 3.07824 12.0538 3.38758C12.3598 3.84065 12.5887 4.32207 12.7828 4.82197C12.9725 5.31093 13.0665 5.81119 13.1287 6.32203C13.1646 6.61774 13.1996 6.91255 13.1827 7.20915C13.1305 8.12265 12.9243 9.00385 12.5063 9.84485C12.3566 10.1463 12.1869 10.4413 11.9946 10.7158C11.8027 10.9898 11.5977 11.2696 11.3072 11.5109C11.1569 11.3706 11.0083 11.2274 10.8545 11.0889C10.3476 10.632 9.84012 10.1757 9.3294 9.72212C9.26576 9.6656 9.25893 9.63814 9.31996 9.56942C9.66888 9.17539 9.90135 8.72429 10.0702 8.24915C10.2531 7.73471 10.3326 7.2 10.2613 6.66619C10.2143 6.31342 10.1603 5.95563 10.022 5.61273C9.88168 5.26535 9.7008 4.93968 9.48217 4.62854C9.42697 4.54995 9.37878 4.46508 9.30952 4.39761C9.24026 4.33032 9.24468 4.29192 9.31675 4.23002C9.82366 3.79418 10.335 3.36264 10.8304 2.91603C10.9828 2.77876 11.142 2.64365 11.307 2.51589C11.3177 2.51661 11.3283 2.51787 11.339 2.5184Z",fill:"#000141"})]}),vo=({className:e,style:t})=>(0,zn.jsxs)("svg",{width:"100%",height:"100%",className:e,viewBox:"0 0 32 32",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:t,children:[(0,zn.jsxs)("g",{clipPath:"url(#clip0_38_1686)",children:[(0,zn.jsx)("path",{d:"M25.0747 27.7915C23.6506 26.5506 22.2436 25.2944 20.8003 24.0707C20.5503 23.8588 20.388 23.8645 20.1474 24.0344C19.4793 24.5041 18.7366 24.8725 17.9654 25.1875C16.3942 25.829 14.7314 26.0924 13.0075 26.0924C12.2573 26.0924 11.5051 26.0905 10.7548 26.0905C10.5907 26.0905 10.457 26.2089 10.457 26.354V31.728C10.457 31.8731 10.5907 31.9914 10.7548 31.9914C11.6101 31.9914 12.4634 31.9953 13.3187 31.9991C14.2255 32.0029 15.1323 31.9628 16.0124 31.8368C17.5988 31.6096 19.1528 31.2354 20.6285 30.6379C22.2264 29.9907 23.7079 29.1908 25.0633 28.2019C25.279 28.0454 25.2714 27.9633 25.0767 27.7934L25.0747 27.7915Z",fill:"#FDC307"}),(0,zn.jsx)("path",{d:"M13.0791 5.91629C14.1825 5.92774 15.2898 6.00601 16.3417 6.31146C17.5654 6.66655 18.7872 7.05218 19.8276 7.76426C19.9422 7.84254 20.0605 7.91508 20.1617 8.00481C20.3431 8.16708 20.4862 8.14608 20.6523 7.99335C20.8452 7.8139 21.038 7.63254 21.2403 7.46072C22.5175 6.37065 23.7966 5.28248 25.0814 4.19813C25.236 4.06831 25.2914 3.99386 25.0814 3.84304C24.3903 3.34286 23.6801 2.86942 22.9222 2.45133C20.1293 0.906895 17.0747 0.0764508 13.7931 0.0306332C12.7793 0.0153607 11.7675 0.00772438 10.7538 0.00390625C10.5877 0.00390625 10.4541 0.122268 10.4541 0.267358V5.6452C10.4541 5.79029 10.5877 5.90865 10.7519 5.90865C11.527 5.90865 12.3021 5.90865 13.0772 5.91438L13.0791 5.91629Z",fill:"#FDC307"}),(0,zn.jsx)("path",{d:"M7.35178 0H1.31722C1.12631 0 0.97168 0.137453 0.97168 0.305451V31.6829C0.97168 31.8509 1.12631 31.9883 1.31722 31.9883H7.35178C7.54269 31.9883 7.69732 31.8509 7.69732 31.6829V0.305451C7.69732 0.137453 7.54269 0 7.35178 0Z",fill:"#000141"}),(0,zn.jsx)("path",{d:"M27.1757 5.75577C27.7905 6.37622 28.3441 7.03485 28.8271 7.74311C29.5334 8.77782 30.0622 9.87936 30.5109 11.021C30.95 12.1378 31.1657 13.2813 31.3108 14.4497C31.3929 15.1255 31.475 15.7994 31.4349 16.4771C31.3146 18.5656 30.8373 20.5797 29.8713 22.5002C29.5258 23.1894 29.1325 23.8633 28.6896 24.4914C28.2467 25.1175 27.7733 25.7571 27.1013 26.3088C26.7538 25.9881 26.4102 25.6616 26.0551 25.3447C24.8829 24.3004 23.7108 23.2581 22.531 22.2215C22.384 22.0917 22.3687 22.0306 22.51 21.8721C23.3156 20.971 23.854 19.9401 24.2434 18.8539C24.6653 17.6779 24.8505 16.4561 24.6844 15.2362C24.5756 14.4306 24.4515 13.6116 24.1308 12.8289C23.8062 12.0347 23.3881 11.2902 22.8842 10.58C22.7562 10.4005 22.6455 10.2058 22.4852 10.0531C22.3248 9.89845 22.3362 9.81063 22.5023 9.66936C23.6745 8.67283 24.8562 7.68775 25.9998 6.6664C26.351 6.35331 26.7195 6.04404 27.1013 5.75195C27.1261 5.75195 27.1509 5.75577 27.1757 5.75577Z",fill:"#FDC307"})]}),(0,zn.jsx)("defs",{children:(0,zn.jsx)("clipPath",{id:"clip0_38_1686",children:(0,zn.jsx)("rect",{width:"32",height:"32",fill:"white"})})})]}),wo=({style:e})=>(0,zn.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:e,children:(0,zn.jsx)("path",{d:"M5.50008 14.6666V7.33331M2.16675 8.66665V13.3333C2.16675 14.0697 2.7637 14.6666 3.50008 14.6666H12.4509C13.4381 14.6666 14.2776 13.9464 14.4277 12.9708L15.1456 8.30409C15.332 7.09258 14.3946 5.99998 13.1689 5.99998H10.8334C10.4652 5.99998 10.1667 5.7015 10.1667 5.33331V2.97721C10.1667 2.06931 9.43075 1.33331 8.52286 1.33331C8.30631 1.33331 8.11007 1.46084 8.02212 1.65873L5.67604 6.93741C5.56904 7.17816 5.33029 7.33331 5.06683 7.33331H3.50008C2.7637 7.33331 2.16675 7.93027 2.16675 8.66665Z",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"})}),_o=({className:e=""})=>(0,zn.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:e,children:(0,zn.jsx)("path",{d:"M10.3602 7.52685L6.58682 3.76019C6.52484 3.6977 6.45111 3.64811 6.36987 3.61426C6.28863 3.58041 6.20149 3.56299 6.11348 3.56299C6.02548 3.56299 5.93834 3.58041 5.8571 3.61426C5.77586 3.64811 5.70213 3.6977 5.64015 3.76019C5.51598 3.8851 5.44629 4.05406 5.44629 4.23019C5.44629 4.40631 5.51598 4.57528 5.64015 4.70019L8.94015 8.03352L5.64015 11.3335C5.51598 11.4584 5.44629 11.6274 5.44629 11.8035C5.44629 11.9796 5.51598 12.1486 5.64015 12.2735C5.70189 12.3365 5.77552 12.3866 5.85677 12.421C5.93802 12.4553 6.02528 12.4732 6.11348 12.4735C6.20169 12.4732 6.28894 12.4553 6.37019 12.421C6.45144 12.3866 6.52507 12.3365 6.58682 12.2735L10.3602 8.50685C10.4278 8.44443 10.4818 8.36866 10.5188 8.28433C10.5557 8.19999 10.5748 8.10892 10.5748 8.01685C10.5748 7.92479 10.5557 7.83372 10.5188 7.74938C10.4818 7.66505 10.4278 7.58928 10.3602 7.52685V7.52685Z",fill:"currentColor"})}),jo=({className:e="",style:t={}})=>(0,zn.jsxs)("svg",{width:"29",height:"24",viewBox:"0 0 29 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:e,style:t,children:[(0,zn.jsx)("path",{d:"M0.81897 1.81898C1.34335 1.29459 2.05456 1 2.79615 1H25.1654C25.9069 1 26.6182 1.29459 27.1425 1.81898C27.6669 2.34335 27.9615 3.05458 27.9615 3.79614V8.78571C27.9615 9.11857 27.6886 9.38196 27.3634 9.45315C26.8451 9.56668 26.3654 9.82636 25.9843 10.2074C25.4599 10.7318 25.1654 11.443 25.1654 12.1846C25.1654 12.9262 25.4599 13.6374 25.9843 14.1618C26.3654 14.5428 26.8451 14.8025 27.3634 14.9161C27.6886 14.9873 27.9615 15.2506 27.9615 15.5835V20.5731C27.9615 21.3146 27.6669 22.0259 27.1425 22.5503C26.6182 23.0746 25.9069 23.3692 25.1654 23.3692H2.79615C2.05456 23.3692 1.34335 23.0746 0.81897 22.5503C0.294594 22.0259 0 21.3146 0 20.5731V15.5835C0 15.2506 0.272938 14.9873 0.598128 14.9161C1.11644 14.8025 1.59613 14.5428 1.97717 14.1618C2.50156 13.6374 2.79615 12.9262 2.79615 12.1846C2.79615 11.443 2.50156 10.7318 1.97717 10.2074C1.59613 9.82636 1.11644 9.56668 0.598128 9.45315C0.272938 9.38196 0 9.11857 0 8.78571V3.79614C0 3.05458 0.294594 2.34335 0.81897 1.81898Z",fill:"#FDC307"}),(0,zn.jsx)("path",{d:"M27.789 1.17254L27.7889 1.17252C27.3584 0.741918 26.7743 0.5 26.1654 0.5H3.79615C3.18717 0.5 2.60314 0.741915 2.17252 1.17253C1.74192 1.60314 1.5 2.18719 1.5 2.79614V7.78571C1.5 7.80892 1.50815 7.83953 1.5422 7.87591C1.57863 7.91484 1.63663 7.94973 1.70505 7.96471L1.70512 7.96473C2.31604 8.09855 2.88153 8.40465 3.33075 8.85391C3.94889 9.47202 4.29615 10.3104 4.29615 11.1846C4.29615 12.0588 3.9489 12.8972 3.33075 13.5153C2.88153 13.9646 2.31604 14.2707 1.70512 14.4045L1.70505 14.4045C1.63663 14.4195 1.57863 14.4544 1.5422 14.4933C1.50815 14.5297 1.5 14.5603 1.5 14.5835V19.5731C1.5 20.182 1.74191 20.7661 2.17251 21.1967C2.60313 21.6273 3.18718 21.8692 3.79615 21.8692H26.1654C26.7743 21.8692 27.3584 21.6273 27.789 21.1967C28.2196 20.7661 28.4615 20.182 28.4615 19.5731V14.5835C28.4615 14.5603 28.4534 14.5297 28.4193 14.4933C28.3829 14.4544 28.3249 14.4195 28.2565 14.4045L28.2564 14.4045C27.6455 14.2707 27.08 13.9646 26.6308 13.5153C26.6308 13.5153 26.6308 13.5153 26.6308 13.5153M27.789 1.17254L26.9843 9.20744C26.4599 9.73178 26.1654 10.443 26.1654 11.1846C26.1654 11.9262 26.4599 12.6374 26.9843 13.1618L26.6308 13.5153M27.789 1.17254C28.2196 1.60315 28.4615 2.1872 28.4615 2.79614V7.78571C28.4615 7.8089 28.4534 7.83952 28.4193 7.87591C28.3829 7.91484 28.3249 7.94974 28.2565 7.96471L28.2564 7.96473C27.6455 8.09855 27.08 8.40462 26.6308 8.85387M27.789 1.17254L26.6308 8.85387M26.6308 13.5153C26.0126 12.8972 25.6654 12.0588 25.6654 11.1846C25.6654 10.3104 26.0126 9.47204 26.6308 8.85391M26.6308 13.5153V8.85391M26.6308 8.85391C26.6308 8.8539 26.6308 8.85388 26.6308 8.85387M26.6308 8.85391L26.6308 8.85387",fill:"#000141",stroke:"#FDC307"}),(0,zn.jsx)("path",{d:"M15.779 12.7709C14.4908 14.4694 13.203 16.1677 11.9214 17.8705C11.7811 18.0567 11.6186 18.2124 11.4182 18.3158C11.2155 18.4204 10.9905 18.4627 10.7403 18.4463C10.5788 18.4356 10.4148 18.438 10.2381 18.4406L10.2341 18.4407C10.0853 18.4429 9.92771 18.4453 9.76896 18.4381C9.60837 18.4307 9.41512 18.3864 9.25901 18.2838C9.10235 18.1815 9.00935 18.0237 9.00066 17.8415C8.99252 17.6697 9.06061 17.5059 9.16241 17.3695C9.42982 17.011 9.70024 16.6551 9.9699 16.3003L9.98153 16.285L9.98236 16.2839L9.98485 16.2806L9.98696 16.2778C10.0951 16.1355 10.2031 15.9934 10.3109 15.8512L18.1623 5.48965C18.2352 5.39339 18.3086 5.29773 18.3815 5.20279C18.5489 4.98468 18.7132 4.77051 18.8699 4.55174C18.9944 4.37797 19.1449 4.22651 19.3342 4.12598C19.5267 4.02368 19.7434 3.98255 19.9842 4.00675C20.0696 4.01527 20.159 4.01333 20.2679 4.01057C20.3151 4.00935 20.3672 4.00802 20.4187 4.00802L20.723 4.00824L21.0269 4.00841C21.2472 4.00841 21.5392 4.06498 21.697 4.36928C21.776 4.52151 21.7838 4.67319 21.7438 4.8128C21.7075 4.93979 21.6345 5.04558 21.5753 5.12352C20.3497 6.73933 19.1249 8.35589 17.9002 9.97239L17.6144 10.3496L17.6099 10.3556L17.036 11.1129C16.6321 11.646 16.228 12.1788 15.824 12.7116L15.7813 12.7678L15.779 12.7709Z",fill:"#FDC307"}),(0,zn.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.06166 5.59643C6.964 6.35766 7.00404 7.81567 7.03529 8.21069C7.12611 9.36352 7.6183 10.2209 8.58998 10.699C9.23256 11.0149 9.90736 11.0481 10.5919 10.9543C11.9122 10.7742 12.8683 9.73754 12.9601 8.30151C13.0158 7.44067 13.0128 6.56811 12.9552 5.70776C12.8839 4.65258 12.3898 3.86059 11.5245 3.38842C10.9884 3.09594 10.4357 2.97534 9.87709 3.00415C9.5597 3.02075 9.24037 3.08569 8.92201 3.19506C7.86634 3.55786 7.21986 4.36401 7.06166 5.59643ZM10.0001 5.00024C9.4474 5.00024 9.00013 5.44799 9.00013 6.00024V8.00024C9.00013 8.55249 9.4474 9.00024 10.0001 9.00024C10.2911 9.00024 10.5529 8.8767 10.7355 8.67895C10.8995 8.50024 11.0001 8.26196 11.0001 8.00024V6.00024C11.0001 5.44799 10.5529 5.00024 10.0001 5.00024Z",fill:"#FDC307"}),(0,zn.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M18.0617 13.5964C17.964 14.3577 18.004 15.8157 18.0353 16.2107C18.1261 17.3635 18.6183 18.2209 19.59 18.699C20.2326 19.0149 20.9074 19.0481 21.5919 18.9543C22.9122 18.7742 23.8683 17.7375 23.9601 16.3015C24.0158 15.4407 24.0128 14.5681 23.9552 13.7078C23.8839 12.6526 23.3898 11.8606 22.5245 11.3884C21.9884 11.0959 21.4357 10.9753 20.8771 11.0041C20.5597 11.0207 20.2404 11.0857 19.922 11.1951C18.8663 11.5579 18.2199 12.364 18.0617 13.5964ZM21.0001 13.0002C20.4474 13.0002 20.0001 13.448 20.0001 14.0002V16.0002C20.0001 16.5525 20.4474 17.0002 21.0001 17.0002C21.2911 17.0002 21.5529 16.8767 21.7355 16.679C21.8995 16.5002 22.0001 16.262 22.0001 16.0002V14.0002C22.0001 13.448 21.5529 13.0002 21.0001 13.0002Z",fill:"#FDC307"})]}),xo=({style:e})=>(0,zn.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",className:"size-6",style:e,children:(0,zn.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 6v12m-3-2.818.879.659c1.171.879 3.07.879 4.242 0 1.172-.879 1.172-2.303 0-3.182C13.536 12.219 12.768 12 12 12c-.725 0-1.45-.22-2.003-.659-1.106-.879-1.106-2.303 0-3.182s2.9-.879 4.006 0l.415.33M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"})}),Co=({style:e})=>(0,zn.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",className:"size-6",style:e,children:(0,zn.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M21 8.25c0-2.485-2.099-4.5-4.688-4.5-1.935 0-3.597 1.126-4.312 2.733-.715-1.607-2.377-2.733-4.313-2.733C5.1 3.75 3 5.765 3 8.25c0 7.22 9 12 9 12s9-4.78 9-12Z"})}),So=({style:e})=>(0,zn.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",className:"size-6",style:e,children:(0,zn.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M16.5 6v.75m0 3v.75m0 3v.75m0 3V18m-9-5.25h5.25M7.5 15h3M3.375 5.25c-.621 0-1.125.504-1.125 1.125v3.026a2.999 2.999 0 0 1 0 5.198v3.026c0 .621.504 1.125 1.125 1.125h17.25c.621 0 1.125-.504 1.125-1.125v-3.026a2.999 2.999 0 0 1 0-5.198V6.375c0-.621-.504-1.125-1.125-1.125H3.375Z"})}),zo="#000141",Eo=({style:e,monochromatic:t})=>{const n=t?zo:"#FDC307";return(0,zn.jsxs)("svg",{style:e,width:"70",height:"35",viewBox:"0 0 655 188",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,zn.jsxs)("g",{clipPath:"url(#clip0_2736_1130)",children:[(0,zn.jsx)("path",{d:"M140.53 151.42C133.176 145.377 125.919 139.255 118.468 133.294C117.177 132.263 116.339 132.287 115.094 133.114C111.644 135.406 107.817 137.199 103.828 138.733C95.7161 141.854 87.1346 143.141 78.2395 143.137C74.3629 143.137 70.4864 143.127 66.6099 143.125C65.7599 143.125 65.0703 143.701 65.0703 144.41V170.591C65.0703 171.299 65.7575 171.872 66.6051 171.874C71.0156 171.882 75.4261 171.896 79.8389 171.914C84.5152 171.934 89.2034 171.738 93.7455 171.123C101.934 170.014 109.951 168.19 117.572 165.28C125.821 162.131 133.468 158.23 140.462 153.408C141.576 152.641 141.533 152.243 140.53 151.42Z",fill:n}),(0,zn.jsx)("path",{d:"M78.6076 44.8196C84.3038 44.8716 90.0216 45.2612 95.4449 46.7479C101.764 48.4784 108.066 50.3608 113.434 53.8298C114.021 54.2075 114.638 54.5651 115.156 55.0008C116.094 55.7901 116.832 55.6922 117.684 54.9448C118.682 54.0676 119.676 53.1863 120.72 52.3451C127.317 47.0377 133.918 41.7343 140.543 36.4509C141.338 35.8175 141.623 35.4558 140.546 34.7184C136.983 32.2805 133.315 29.9785 129.405 27.9383C114.988 20.4148 99.2281 16.3704 82.2925 16.1446C77.0656 16.0746 71.8362 16.0347 66.6093 16.0147C65.7569 16.0107 65.0625 16.5882 65.0625 17.2996V43.5048C65.0625 44.2142 65.7521 44.7896 66.6021 44.7876C70.6031 44.7837 74.6041 44.7837 78.6052 44.8196H78.6076Z",fill:n}),(0,zn.jsx)("path",{d:"M49.0472 15.9951H17.901C16.9158 15.9951 16.1172 16.6616 16.1172 17.4838V170.371C16.1172 171.193 16.9158 171.86 17.901 171.86H49.0472C50.0324 171.86 50.8311 171.193 50.8311 170.371V17.4838C50.8311 16.6616 50.0324 15.9951 49.0472 15.9951Z",fill:zo}),(0,zn.jsx)("path",{d:"M151.361 44.0407C154.534 47.064 157.395 50.2752 159.888 53.7203C163.537 58.7659 166.266 64.1272 168.582 69.6944C170.845 75.1396 171.965 80.7108 172.707 86.3998C173.136 89.693 173.553 92.9761 173.351 96.2792C172.729 106.452 170.27 116.266 165.285 125.632C163.499 128.989 161.475 132.274 159.181 135.331C156.892 138.383 154.448 141.498 150.983 144.186C149.19 142.623 147.418 141.028 145.584 139.486C139.538 134.398 133.485 129.317 127.394 124.265C126.635 123.635 126.553 123.33 127.281 122.564C131.442 118.176 134.215 113.153 136.229 107.861C138.41 102.132 139.358 96.1773 138.508 90.2325C137.948 86.3039 137.304 82.3194 135.654 78.5007C133.981 74.6321 131.823 71.0052 129.216 67.5402C128.557 66.665 127.983 65.7198 127.156 64.9685C126.33 64.2191 126.383 63.7915 127.243 63.1021C133.289 58.2483 139.387 53.4425 145.296 48.4688C147.114 46.9401 149.012 45.4355 150.981 44.0127C151.108 44.0207 151.237 44.0287 151.364 44.0347L151.361 44.0407Z",fill:n}),(0,zn.jsx)("path",{d:"M151.356 44.0383C151.229 44.0303 151.1 44.0243 150.973 44.0163C151.042 43.9044 151.112 43.7925 151.179 43.6826C151.236 43.8025 151.296 43.9204 151.353 44.0403L151.356 44.0383Z",fill:zo}),(0,zn.jsx)("path",{d:"M210.432 170.988H186.687V85.6419H210.432V170.988ZM198.56 73.9412C194.889 73.9412 191.792 72.6794 189.268 70.1557C186.744 67.632 185.482 64.5347 185.482 60.8639C185.482 57.1931 186.744 54.0959 189.268 51.5722C191.792 48.9338 194.889 47.6146 198.56 47.6146C202.23 47.6146 205.328 48.9338 207.851 51.5722C210.375 54.0959 211.637 57.1931 211.637 60.8639C211.637 64.5347 210.375 67.632 207.851 70.1557C205.328 72.6794 202.23 73.9412 198.56 73.9412ZM251.545 97.5147C252.692 95.6793 254.011 93.9586 255.502 92.3526C256.994 90.6319 258.772 89.1407 260.837 87.8788C262.901 86.5023 265.253 85.4125 267.891 84.6095C270.53 83.8065 273.512 83.405 276.839 83.405C280.739 83.405 285.27 84.0933 290.433 85.4698L288.196 106.634C286.934 106.405 285.672 106.118 284.41 105.774C283.378 105.545 282.231 105.373 280.969 105.258C279.707 105.028 278.56 104.914 277.527 104.914C273.857 104.914 270.415 105.43 267.203 106.462C264.106 107.495 261.41 108.929 259.116 110.764C256.822 112.599 254.986 114.836 253.61 117.475C252.233 119.998 251.545 122.752 251.545 125.734V170.988H227.799V85.6419H249.308L251.545 97.5147ZM341.212 83.2329C347.636 83.2329 353.486 84.5521 358.763 87.1905C364.04 89.7142 368.571 93.0982 372.356 97.3426C376.142 101.472 379.067 106.29 381.132 111.796C383.197 117.188 384.229 122.752 384.229 128.487C384.229 131.929 383.77 135.599 382.853 139.5H321.94C324.234 143.4 327.504 146.727 331.748 149.48C335.992 152.118 340.581 153.437 345.514 153.437C350.446 153.437 354.748 153.036 358.419 152.233C362.204 151.43 365.76 150.397 369.087 149.135L377.002 163.761C372.758 166.744 367.883 169.038 362.376 170.644C356.985 172.25 351.192 173.053 344.997 173.053C338.229 173.053 331.92 171.906 326.07 169.612C320.219 167.203 315.115 163.991 310.756 159.976C306.396 155.961 302.955 151.2 300.431 145.694C297.908 140.188 296.646 134.338 296.646 128.143C296.646 122.063 297.793 116.328 300.087 110.936C302.381 105.43 305.536 100.669 309.551 96.6543C313.681 92.5247 318.441 89.2554 323.833 86.8464C329.224 84.4374 335.017 83.2329 341.212 83.2329ZM360.656 121.088C359.279 116.156 356.813 112.141 353.257 109.043C349.701 105.946 345.686 104.397 341.212 104.397C336.623 104.397 332.436 105.946 328.651 109.043C324.98 112.141 322.456 116.156 321.08 121.088H360.656ZM443.374 104.397C440.506 104.397 437.81 105.086 435.287 106.462C432.763 107.724 430.526 109.502 428.576 111.796C426.741 113.976 425.249 116.557 424.102 119.54C423.07 122.522 422.554 125.734 422.554 129.175C422.554 132.617 423.07 135.771 424.102 138.639C425.249 141.392 426.741 143.801 428.576 145.866C430.526 147.816 432.763 149.365 435.287 150.512C437.81 151.659 440.506 152.233 443.374 152.233C446.93 152.233 450.371 151.43 453.698 149.824C457.139 148.103 460.065 145.751 462.474 142.769L477.099 157.223C473.085 162.041 468.152 165.884 462.302 168.751C456.451 171.619 450.142 173.053 443.374 173.053C437.179 173.053 431.386 171.906 425.995 169.612C420.603 167.203 415.9 163.991 411.885 159.976C407.87 155.846 404.658 151.086 402.249 145.694C399.955 140.188 398.808 134.338 398.808 128.143C398.808 121.949 399.955 116.156 402.249 110.764C404.658 105.258 407.87 100.497 411.885 96.4823C415.9 92.3526 420.603 89.1407 425.995 86.8464C431.386 84.4374 437.179 83.2329 443.374 83.2329C450.371 83.2329 456.853 84.7242 462.818 87.7067C468.783 90.6893 473.83 94.7616 477.96 99.9237L461.441 112.657C458.115 109.56 455.075 107.437 452.322 106.29C449.683 105.028 446.701 104.397 443.374 104.397ZM521.433 140.36C521.433 144.375 522.637 147.472 525.046 149.652C527.57 151.831 530.839 152.921 534.854 152.921C538.066 152.921 541.278 152.29 544.49 151.028V170.988C541.622 171.906 538.582 172.652 535.37 173.225C532.159 173.913 528.947 174.258 525.735 174.258C522.064 174.258 518.565 173.799 515.238 172.881C511.912 171.963 508.929 170.415 506.291 168.235C503.652 165.941 501.53 162.958 499.924 159.288C498.433 155.502 497.687 150.856 497.687 145.35V106.806H485.47V90.804L497.687 85.6419V66.5422H521.433V85.6419H544.49V106.806H521.433V140.36ZM597.799 83.2329C603.879 83.2329 609.615 84.4374 615.006 86.8464C620.398 89.1407 625.101 92.3526 629.116 96.4823C633.131 100.497 636.286 105.258 638.58 110.764C640.989 116.156 642.193 121.949 642.193 128.143C642.193 134.338 640.989 140.188 638.58 145.694C636.286 151.086 633.131 155.846 629.116 159.976C625.101 163.991 620.398 167.203 615.006 169.612C609.615 171.906 603.879 173.053 597.799 173.053C591.605 173.053 585.812 171.906 580.42 169.612C575.029 167.203 570.326 163.991 566.311 159.976C562.296 155.846 559.084 151.086 556.675 145.694C554.381 140.188 553.233 134.338 553.233 128.143C553.233 121.949 554.381 116.156 556.675 110.764C559.084 105.258 562.296 100.497 566.311 96.4823C570.326 92.3526 575.029 89.1407 580.42 86.8464C585.812 84.4374 591.605 83.2329 597.799 83.2329ZM597.799 152.233C600.667 152.233 603.306 151.659 605.715 150.512C608.238 149.365 610.418 147.816 612.253 145.866C614.203 143.801 615.695 141.392 616.727 138.639C617.874 135.771 618.448 132.617 618.448 129.175C618.448 125.734 617.874 122.522 616.727 119.54C615.695 116.557 614.203 113.976 612.253 111.796C610.418 109.502 608.238 107.724 605.715 106.462C603.306 105.086 600.667 104.397 597.799 104.397C594.932 104.397 592.236 105.086 589.712 106.462C587.188 107.724 584.952 109.502 583.001 111.796C581.166 113.976 579.675 116.557 578.528 119.54C577.495 122.522 576.979 125.734 576.979 129.175C576.979 132.617 577.495 135.771 578.528 138.639C579.675 141.392 581.166 143.801 583.001 145.866C584.952 147.816 587.188 149.365 589.712 150.512C592.236 151.659 594.932 152.233 597.799 152.233Z",fill:zo})]}),(0,zn.jsx)("defs",{children:(0,zn.jsx)("clipPath",{id:"clip0_2736_1130",children:(0,zn.jsx)("rect",{width:"655",height:"188",fill:"white"})})})]})};function Oo(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a<t;a++)n[a-1]=arguments[a];throw new Error("number"==typeof e?"[MobX] minified error nr: "+e+(n.length?" "+n.map(String).join(","):"")+". Find the full error at: https://github.com/mobxjs/mobx/blob/main/packages/mobx/src/errors.ts":"[MobX] "+e)}var Ao={};function Po(){return"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==n.g?n.g:"undefined"!=typeof self?self:Ao}var Io=Object.assign,No=Object.getOwnPropertyDescriptor,Lo=Object.defineProperty,To=Object.prototype,Do=[];Object.freeze(Do);var Ro={};Object.freeze(Ro);var Mo="undefined"!=typeof Proxy,$o=Object.toString();function Bo(){Mo||Oo("Proxy not available")}function Uo(e){var t=!1;return function(){if(!t)return t=!0,e.apply(this,arguments)}}var Fo=function(){};function Vo(e){return"function"==typeof e}function Ho(e){switch(typeof e){case"string":case"symbol":case"number":return!0}return!1}function Ko(e){return null!==e&&"object"==typeof e}function qo(e){if(!Ko(e))return!1;var t=Object.getPrototypeOf(e);if(null==t)return!0;var n=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n.toString()===$o}function Yo(e){var t=null==e?void 0:e.constructor;return!!t&&("GeneratorFunction"===t.name||"GeneratorFunction"===t.displayName)}function Wo(e,t,n){Lo(e,t,{enumerable:!1,writable:!0,configurable:!0,value:n})}function Go(e,t,n){Lo(e,t,{enumerable:!1,writable:!1,configurable:!0,value:n})}function Qo(e,t){var n="isMobX"+e;return t.prototype[n]=!0,function(e){return Ko(e)&&!0===e[n]}}function Jo(e){return null!=e&&"[object Map]"===Object.prototype.toString.call(e)}function Zo(e){return null!=e&&"[object Set]"===Object.prototype.toString.call(e)}var Xo=void 0!==Object.getOwnPropertySymbols,ei="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:Xo?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames;function ti(e){return null===e?null:"object"==typeof e?""+e:e}function ni(e,t){return To.hasOwnProperty.call(e,t)}var ai=Object.getOwnPropertyDescriptors||function(e){var t={};return ei(e).forEach(function(n){t[n]=No(e,n)}),t};function ri(e,t){return!!(e&t)}function oi(e,t,n){return n?e|=t:e&=~t,e}function ii(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function si(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,hi(a.key),a)}}function ci(e,t,n){return t&&si(e.prototype,t),n&&si(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function li(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return ii(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ii(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var a=0;return function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function ui(){return ui=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)({}).hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},ui.apply(null,arguments)}function di(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,pi(e,t)}function pi(e,t){return pi=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},pi(e,t)}function hi(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}var mi=Symbol("mobx-stored-annotations");function fi(e){return Object.assign(function(t,n){if(yi(n))return e.decorate_20223_(t,n);gi(t,n,e)},e)}function gi(e,t,n){ni(e,mi)||Wo(e,mi,ui({},e[mi])),function(e){return e.annotationType_===Ci}(n)||(e[mi][t]=n)}function yi(e){return"object"==typeof e&&"string"==typeof e.kind}var bi=Symbol("mobx administration"),ki=function(){function e(e){void 0===e&&(e="Atom"),this.name_=void 0,this.flags_=0,this.observers_=new Set,this.lastAccessedBy_=0,this.lowestObserverState_=_s.NOT_TRACKING_,this.onBOL=void 0,this.onBUOL=void 0,this.name_=e}var t=e.prototype;return t.onBO=function(){this.onBOL&&this.onBOL.forEach(function(e){return e()})},t.onBUO=function(){this.onBUOL&&this.onBUOL.forEach(function(e){return e()})},t.reportObserved=function(){return Ks(this)},t.reportChanged=function(){Vs(),qs(this),Hs()},t.toString=function(){return this.name_},ci(e,[{key:"isBeingObserved",get:function(){return ri(this.flags_,e.isBeingObservedMask_)},set:function(t){this.flags_=oi(this.flags_,e.isBeingObservedMask_,t)}},{key:"isPendingUnobservation",get:function(){return ri(this.flags_,e.isPendingUnobservationMask_)},set:function(t){this.flags_=oi(this.flags_,e.isPendingUnobservationMask_,t)}},{key:"diffValue",get:function(){return ri(this.flags_,e.diffValueMask_)?1:0},set:function(t){this.flags_=oi(this.flags_,e.diffValueMask_,1===t)}}])}();ki.isBeingObservedMask_=1,ki.isPendingUnobservationMask_=2,ki.diffValueMask_=4;var vi=Qo("Atom",ki);function wi(e,t,n){void 0===t&&(t=Fo),void 0===n&&(n=Fo);var a=new ki(e);return t!==Fo&&hc(uc,a,t,undefined),n!==Fo&&pc(a,n),a}var _i={identity:function(e,t){return e===t},structural:function(e,t){return El(e,t)},default:function(e,t){return Object.is?Object.is(e,t):e===t?0!==e||1/e==1/t:e!=e&&t!=t},shallow:function(e,t){return El(e,t,1)}};function ji(e,t,n){return xc(e)?e:Array.isArray(e)?cs.array(e,{name:n}):qo(e)?cs.object(e,void 0,{name:n}):Jo(e)?cs.map(e,{name:n}):Zo(e)?cs.set(e,{name:n}):"function"!=typeof e||cc(e)||jc(e)?e:Yo(e)?wc(e):sc(n,e)}function xi(e){return e}var Ci="override";function Si(e,t){return{annotationType_:e,options_:t,make_:zi,extend_:Ei,decorate_20223_:Oi}}function zi(e,t,n,a){var r;if(null!=(r=this.options_)&&r.bound)return null===this.extend_(e,t,n,!1)?0:1;if(a===e.target_)return null===this.extend_(e,t,n,!1)?0:2;if(cc(n.value))return 1;var o=Ai(e,this,t,n,!1);return Lo(a,t,o),2}function Ei(e,t,n,a){var r=Ai(e,this,t,n);return e.defineProperty_(t,r,a)}function Oi(e,t){var n,a=t.kind,r=t.name,o=t.addInitializer,i=this,s=function(e){var t,n,a,o;return ys(null!=(t=null==(n=i.options_)?void 0:n.name)?t:r.toString(),e,null!=(a=null==(o=i.options_)?void 0:o.autoAction)&&a)};return"field"==a?function(e){var t,n=e;return cc(n)||(n=s(n)),null!=(t=i.options_)&&t.bound&&((n=n.bind(this)).isMobxAction=!0),n}:"method"==a?(cc(e)||(e=s(e)),null!=(n=this.options_)&&n.bound&&o(function(){var e=this,t=e[r].bind(e);t.isMobxAction=!0,e[r]=t}),e):void Oo("Cannot apply '"+i.annotationType_+"' to '"+String(r)+"' (kind: "+a+"):\n'"+i.annotationType_+"' can only be used on properties with a function value.")}function Ai(e,t,n,a,r){var o,i,s,c,l,u,d,p;void 0===r&&(r=$s.safeDescriptors),p=a,t.annotationType_,p.value;var h,m=a.value;return null!=(o=t.options_)&&o.bound&&(m=m.bind(null!=(h=e.proxy_)?h:e.target_)),{value:ys(null!=(i=null==(s=t.options_)?void 0:s.name)?i:n.toString(),m,null!=(c=null==(l=t.options_)?void 0:l.autoAction)&&c,null!=(u=t.options_)&&u.bound?null!=(d=e.proxy_)?d:e.target_:void 0),configurable:!r||e.isPlainObject_,enumerable:!1,writable:!r}}function Pi(e,t){return{annotationType_:e,options_:t,make_:Ii,extend_:Ni,decorate_20223_:Li}}function Ii(e,t,n,a){var r;if(a===e.target_)return null===this.extend_(e,t,n,!1)?0:2;if(null!=(r=this.options_)&&r.bound&&(!ni(e.target_,t)||!jc(e.target_[t]))&&null===this.extend_(e,t,n,!1))return 0;if(jc(n.value))return 1;var o=Ti(e,this,0,n,!1,!1);return Lo(a,t,o),2}function Ni(e,t,n,a){var r,o=Ti(e,this,0,n,null==(r=this.options_)?void 0:r.bound);return e.defineProperty_(t,o,a)}function Li(e,t){var n,a=t.name,r=t.addInitializer;return jc(e)||(e=wc(e)),null!=(n=this.options_)&&n.bound&&r(function(){var e=this,t=e[a].bind(e);t.isMobXFlow=!0,e[a]=t}),e}function Ti(e,t,n,a,r,o){var i;void 0===o&&(o=$s.safeDescriptors),i=a,t.annotationType_,i.value;var s,c=a.value;return jc(c)||(c=wc(c)),r&&((c=c.bind(null!=(s=e.proxy_)?s:e.target_)).isMobXFlow=!0),{value:c,configurable:!o||e.isPlainObject_,enumerable:!1,writable:!o}}function Di(e,t){return{annotationType_:e,options_:t,make_:Ri,extend_:Mi,decorate_20223_:$i}}function Ri(e,t,n){return null===this.extend_(e,t,n,!1)?0:1}function Mi(e,t,n,a){return r=n,this.annotationType_,r.get,e.defineComputedProperty_(t,ui({},this.options_,{get:n.get,set:n.set}),a);var r}function $i(e,t){var n=this,a=t.name;return(0,t.addInitializer)(function(){var t=il(this)[bi],r=ui({},n.options_,{get:e,context:this});r.name||(r.name="ObservableObject."+a.toString()),t.values_.set(a,new ws(r))}),function(){return this[bi].getObservablePropValue_(a)}}function Bi(e,t){return{annotationType_:e,options_:t,make_:Ui,extend_:Fi,decorate_20223_:Vi}}function Ui(e,t,n){return null===this.extend_(e,t,n,!1)?0:1}function Fi(e,t,n,a){var r,o;return this.annotationType_,e.defineObservableProperty_(t,n.value,null!=(r=null==(o=this.options_)?void 0:o.enhancer)?r:ji,a)}function Vi(e,t){var n=this,a=t.kind,r=t.name,o=new WeakSet;function i(e,t){var a,i,s=il(e)[bi],c=new vs(t,null!=(a=null==(i=n.options_)?void 0:i.enhancer)?a:ji,"ObservableObject."+r.toString(),!1);s.values_.set(r,c),o.add(e)}if("accessor"==a)return{get:function(){return o.has(this)||i(this,e.get.call(this)),this[bi].getObservablePropValue_(r)},set:function(e){return o.has(this)||i(this,e),this[bi].setObservablePropValue_(r,e)},init:function(e){return o.has(this)||i(this,e),e}}}var Hi="true",Ki=qi();function qi(e){return{annotationType_:Hi,options_:e,make_:Yi,extend_:Wi,decorate_20223_:Gi}}function Yi(e,t,n,a){var r,o,i,s;if(n.get)return ps.make_(e,t,n,a);if(n.set){var c=cc(n.set)?n.set:ys(t.toString(),n.set);return a===e.target_?null===e.defineProperty_(t,{configurable:!$s.safeDescriptors||e.isPlainObject_,set:c})?0:2:(Lo(a,t,{configurable:!0,set:c}),2)}if(a!==e.target_&&"function"==typeof n.value)return Yo(n.value)?(null!=(s=this.options_)&&s.autoBind?wc.bound:wc).make_(e,t,n,a):(null!=(i=this.options_)&&i.autoBind?sc.bound:sc).make_(e,t,n,a);var l,u=!1===(null==(r=this.options_)?void 0:r.deep)?cs.ref:cs;return"function"==typeof n.value&&null!=(o=this.options_)&&o.autoBind&&(n.value=n.value.bind(null!=(l=e.proxy_)?l:e.target_)),u.make_(e,t,n,a)}function Wi(e,t,n,a){var r,o,i;return n.get?ps.extend_(e,t,n,a):n.set?e.defineProperty_(t,{configurable:!$s.safeDescriptors||e.isPlainObject_,set:ys(t.toString(),n.set)},a):("function"==typeof n.value&&null!=(r=this.options_)&&r.autoBind&&(n.value=n.value.bind(null!=(i=e.proxy_)?i:e.target_)),(!1===(null==(o=this.options_)?void 0:o.deep)?cs.ref:cs).extend_(e,t,n,a))}function Gi(e,t){Oo("'"+this.annotationType_+"' cannot be used as a decorator")}var Qi={deep:!0,name:void 0,defaultDecorator:void 0,proxy:!0};function Ji(e){return e||Qi}Object.freeze(Qi);var Zi=Bi("observable"),Xi=Bi("observable.ref",{enhancer:xi}),es=Bi("observable.shallow",{enhancer:function(e,t,n){return null==e||ll(e)||qc(e)||Jc(e)||tl(e)?e:Array.isArray(e)?cs.array(e,{name:n,deep:!1}):qo(e)?cs.object(e,void 0,{name:n,deep:!1}):Jo(e)?cs.map(e,{name:n,deep:!1}):Zo(e)?cs.set(e,{name:n,deep:!1}):void 0}}),ts=Bi("observable.struct",{enhancer:function(e,t){return El(e,t)?t:e}}),ns=fi(Zi);function as(e){return!0===e.deep?ji:!1===e.deep?xi:(t=e.defaultDecorator)&&null!=(n=null==(a=t.options_)?void 0:a.enhancer)?n:ji;var t,n,a}function rs(e,t,n){return yi(t)?Zi.decorate_20223_(e,t):Ho(t)?void gi(e,t,Zi):xc(e)?e:qo(e)?cs.object(e,t,n):Array.isArray(e)?cs.array(e,t):Jo(e)?cs.map(e,t):Zo(e)?cs.set(e,t):"object"==typeof e&&null!==e?e:cs.box(e,t)}Io(rs,ns);var os,is,ss={box:function(e,t){var n=Ji(t);return new vs(e,as(n),n.name,!0,n.equals)},array:function(e,t){var n=Ji(t);return(!1===$s.useProxies||!1===n.proxy?wl:$c)(e,as(n),n.name)},map:function(e,t){var n=Ji(t);return new Qc(e,as(n),n.name)},set:function(e,t){var n=Ji(t);return new el(e,as(n),n.name)},object:function(e,t,n){return Cl(function(){return function(e,t,n,a){var r=ai(t);return Cl(function(){var t=il(e,a)[bi];ei(r).forEach(function(e){t.extend_(e,r[e],!n||!(e in n)||n[e])})}),e}(!1===$s.useProxies||!1===(null==n?void 0:n.proxy)?il({},n):function(e,t){var n,a;return Bo(),null!=(a=(n=(e=il(e,t))[bi]).proxy_)?a:n.proxy_=new Proxy(e,zc)}({},n),e,t)})},ref:fi(Xi),shallow:fi(es),deep:ns,struct:fi(ts)},cs=Io(rs,ss),ls="computed",us=Di(ls),ds=Di("computed.struct",{equals:_i.structural}),ps=function(e,t){if(yi(t))return us.decorate_20223_(e,t);if(Ho(t))return gi(e,t,us);if(qo(e))return fi(Di(ls,e));var n=qo(t)?t:{};return n.get=e,n.name||(n.name=e.name||""),new ws(n)};Object.assign(ps,us),ps.struct=fi(ds);var hs=0,ms=1,fs=null!=(os=null==(is=No(function(){},"name"))?void 0:is.configurable)&&os,gs={value:"action",configurable:!0,writable:!1,enumerable:!1};function ys(e,t,n,a){function r(){return function(e,t,n,a,r){var o=function(e,t){var n=!1,a=0,r=$s.trackingDerivation,o=!t||!r;Vs();var i=$s.allowStateChanges;o&&(Ps(),i=bs(!0));var s={runAsAction_:o,prevDerivation_:r,prevAllowStateChanges_:i,prevAllowStateReads_:Ns(!0),notifySpy_:n,startTime_:a,actionId_:ms++,parentActionId_:hs};return hs=s.actionId_,s}(0,t);try{return n.apply(a,r)}catch(e){throw o.error_=e,e}finally{!function(e){hs!==e.actionId_&&Oo(30),hs=e.parentActionId_,void 0!==e.error_&&($s.suppressReactionErrors=!0),ks(e.prevAllowStateChanges_),Ls(e.prevAllowStateReads_),Hs(),e.runAsAction_&&Is(e.prevDerivation_),$s.suppressReactionErrors=!1}(o)}}(0,n,t,a||this,arguments)}return void 0===n&&(n=!1),r.isMobxAction=!0,r.toString=function(){return t.toString()},fs&&(gs.value=e,Lo(r,"name",gs)),r}function bs(e){var t=$s.allowStateChanges;return $s.allowStateChanges=e,t}function ks(e){$s.allowStateChanges=e}var vs=function(e){function t(t,n,a,r,o){var i;return void 0===a&&(a="ObservableValue"),void 0===r&&(r=!0),void 0===o&&(o=_i.default),(i=e.call(this,a)||this).enhancer=void 0,i.name_=void 0,i.equals=void 0,i.hasUnreportedChange_=!1,i.interceptors_=void 0,i.changeListeners_=void 0,i.value_=void 0,i.dehancer=void 0,i.enhancer=n,i.name_=a,i.equals=o,i.value_=n(t,void 0,a),i}di(t,e);var n=t.prototype;return n.dehanceValue=function(e){return void 0!==this.dehancer?this.dehancer(e):e},n.set=function(e){this.value_,(e=this.prepareNewValue_(e))!==$s.UNCHANGED&&this.setNewValue_(e)},n.prepareNewValue_=function(e){if(Ec(this)){var t=Ac(this,{object:this,type:Dc,newValue:e});if(!t)return $s.UNCHANGED;e=t.newValue}return e=this.enhancer(e,this.value_,this.name_),this.equals(this.value_,e)?$s.UNCHANGED:e},n.setNewValue_=function(e){var t=this.value_;this.value_=e,this.reportChanged(),Pc(this)&&Nc(this,{type:Dc,object:this,newValue:e,oldValue:t})},n.get=function(){return this.reportObserved(),this.dehanceValue(this.value_)},n.intercept_=function(e){return Oc(this,e)},n.observe_=function(e,t){return t&&e({observableKind:"value",debugObjectName:this.name_,object:this,type:Dc,newValue:this.value_,oldValue:void 0}),Ic(this,e)},n.raw=function(){return this.value_},n.toJSON=function(){return this.get()},n.toString=function(){return this.name_+"["+this.value_+"]"},n.valueOf=function(){return ti(this.get())},n[Symbol.toPrimitive]=function(){return this.valueOf()},t}(ki),ws=function(){function e(e){this.dependenciesState_=_s.NOT_TRACKING_,this.observing_=[],this.newObserving_=null,this.observers_=new Set,this.runId_=0,this.lastAccessedBy_=0,this.lowestObserverState_=_s.UP_TO_DATE_,this.unboundDepsCount_=0,this.value_=new Cs(null),this.name_=void 0,this.triggeredBy_=void 0,this.flags_=0,this.derivation=void 0,this.setter_=void 0,this.isTracing_=js.NONE,this.scope_=void 0,this.equals_=void 0,this.requiresReaction_=void 0,this.keepAlive_=void 0,this.onBOL=void 0,this.onBUOL=void 0,e.get||Oo(31),this.derivation=e.get,this.name_=e.name||"ComputedValue",e.set&&(this.setter_=ys("ComputedValue-setter",e.set)),this.equals_=e.equals||(e.compareStructural||e.struct?_i.structural:_i.default),this.scope_=e.context,this.requiresReaction_=e.requiresReaction,this.keepAlive_=!!e.keepAlive}var t=e.prototype;return t.onBecomeStale_=function(){var e;(e=this).lowestObserverState_===_s.UP_TO_DATE_&&(e.lowestObserverState_=_s.POSSIBLY_STALE_,e.observers_.forEach(function(e){e.dependenciesState_===_s.UP_TO_DATE_&&(e.dependenciesState_=_s.POSSIBLY_STALE_,e.onBecomeStale_())}))},t.onBO=function(){this.onBOL&&this.onBOL.forEach(function(e){return e()})},t.onBUO=function(){this.onBUOL&&this.onBUOL.forEach(function(e){return e()})},t.get=function(){if(this.isComputing&&Oo(32,this.name_,this.derivation),0!==$s.inBatch||0!==this.observers_.size||this.keepAlive_){if(Ks(this),zs(this)){var e=$s.trackingContext;this.keepAlive_&&!e&&($s.trackingContext=this),this.trackAndCompute()&&((t=this).lowestObserverState_!==_s.STALE_&&(t.lowestObserverState_=_s.STALE_,t.observers_.forEach(function(e){e.dependenciesState_===_s.POSSIBLY_STALE_?e.dependenciesState_=_s.STALE_:e.dependenciesState_===_s.UP_TO_DATE_&&(t.lowestObserverState_=_s.UP_TO_DATE_)}))),$s.trackingContext=e}}else zs(this)&&(this.warnAboutUntrackedRead_(),Vs(),this.value_=this.computeValue_(!1),Hs());var t,n=this.value_;if(Ss(n))throw n.cause;return n},t.set=function(e){if(this.setter_){this.isRunningSetter&&Oo(33,this.name_),this.isRunningSetter=!0;try{this.setter_.call(this.scope_,e)}finally{this.isRunningSetter=!1}}else Oo(34,this.name_)},t.trackAndCompute=function(){var e=this.value_,t=this.dependenciesState_===_s.NOT_TRACKING_,n=this.computeValue_(!0),a=t||Ss(e)||Ss(n)||!this.equals_(e,n);return a&&(this.value_=n),a},t.computeValue_=function(e){this.isComputing=!0;var t,n=bs(!1);if(e)t=Es(this,this.derivation,this.scope_);else if(!0===$s.disableErrorBoundaries)t=this.derivation.call(this.scope_);else try{t=this.derivation.call(this.scope_)}catch(e){t=new Cs(e)}return ks(n),this.isComputing=!1,t},t.suspend_=function(){this.keepAlive_||(Os(this),this.value_=void 0)},t.observe_=function(e,t){var n=this,a=!0,r=void 0;return function(e,t){var n,a,r,o;void 0===t&&(t=Ro);var i,s=null!=(n=null==(a=t)?void 0:a.name)?n:"Autorun";if(t.scheduler||t.delay){var c=function(e){return e.scheduler?e.scheduler:e.delay?function(t){return setTimeout(t,e.delay)}:lc}(t),l=!1;i=new Ys(s,function(){l||(l=!0,c(function(){l=!1,i.isDisposed||i.track(u)}))},t.onError,t.requiresObservable)}else i=new Ys(s,function(){this.track(u)},t.onError,t.requiresObservable);function u(){e(i)}return null!=(r=t)&&null!=(r=r.signal)&&r.aborted||i.schedule_(),i.getDisposer_(null==(o=t)?void 0:o.signal)}(function(){var o=n.get();if(!a||t){var i=Ps();e({observableKind:"computed",debugObjectName:n.name_,type:Dc,object:n,newValue:o,oldValue:r}),Is(i)}a=!1,r=o})},t.warnAboutUntrackedRead_=function(){},t.toString=function(){return this.name_+"["+this.derivation.toString()+"]"},t.valueOf=function(){return ti(this.get())},t[Symbol.toPrimitive]=function(){return this.valueOf()},ci(e,[{key:"isComputing",get:function(){return ri(this.flags_,e.isComputingMask_)},set:function(t){this.flags_=oi(this.flags_,e.isComputingMask_,t)}},{key:"isRunningSetter",get:function(){return ri(this.flags_,e.isRunningSetterMask_)},set:function(t){this.flags_=oi(this.flags_,e.isRunningSetterMask_,t)}},{key:"isBeingObserved",get:function(){return ri(this.flags_,e.isBeingObservedMask_)},set:function(t){this.flags_=oi(this.flags_,e.isBeingObservedMask_,t)}},{key:"isPendingUnobservation",get:function(){return ri(this.flags_,e.isPendingUnobservationMask_)},set:function(t){this.flags_=oi(this.flags_,e.isPendingUnobservationMask_,t)}},{key:"diffValue",get:function(){return ri(this.flags_,e.diffValueMask_)?1:0},set:function(t){this.flags_=oi(this.flags_,e.diffValueMask_,1===t)}}])}();ws.isComputingMask_=1,ws.isRunningSetterMask_=2,ws.isBeingObservedMask_=4,ws.isPendingUnobservationMask_=8,ws.diffValueMask_=16;var _s,js,xs=Qo("ComputedValue",ws);!function(e){e[e.NOT_TRACKING_=-1]="NOT_TRACKING_",e[e.UP_TO_DATE_=0]="UP_TO_DATE_",e[e.POSSIBLY_STALE_=1]="POSSIBLY_STALE_",e[e.STALE_=2]="STALE_"}(_s||(_s={})),function(e){e[e.NONE=0]="NONE",e[e.LOG=1]="LOG",e[e.BREAK=2]="BREAK"}(js||(js={}));var Cs=function(e){this.cause=void 0,this.cause=e};function Ss(e){return e instanceof Cs}function zs(e){switch(e.dependenciesState_){case _s.UP_TO_DATE_:return!1;case _s.NOT_TRACKING_:case _s.STALE_:return!0;case _s.POSSIBLY_STALE_:for(var t=Ns(!0),n=Ps(),a=e.observing_,r=a.length,o=0;o<r;o++){var i=a[o];if(xs(i)){if($s.disableErrorBoundaries)i.get();else try{i.get()}catch(e){return Is(n),Ls(t),!0}if(e.dependenciesState_===_s.STALE_)return Is(n),Ls(t),!0}}return Ts(e),Is(n),Ls(t),!1}}function Es(e,t,n){var a=Ns(!0);Ts(e),e.newObserving_=new Array(0===e.runId_?100:e.observing_.length),e.unboundDepsCount_=0,e.runId_=++$s.runId;var r,o=$s.trackingDerivation;if($s.trackingDerivation=e,$s.inBatch++,!0===$s.disableErrorBoundaries)r=t.call(n);else try{r=t.call(n)}catch(e){r=new Cs(e)}return $s.inBatch--,$s.trackingDerivation=o,function(e){for(var t=e.observing_,n=e.observing_=e.newObserving_,a=_s.UP_TO_DATE_,r=0,o=e.unboundDepsCount_,i=0;i<o;i++){var s=n[i];0===s.diffValue&&(s.diffValue=1,r!==i&&(n[r]=s),r++),s.dependenciesState_>a&&(a=s.dependenciesState_)}for(n.length=r,e.newObserving_=null,o=t.length;o--;){var c=t[o];0===c.diffValue&&Us(c,e),c.diffValue=0}for(;r--;){var l=n[r];1===l.diffValue&&(l.diffValue=0,Bs(l,e))}a!==_s.UP_TO_DATE_&&(e.dependenciesState_=a,e.onBecomeStale_())}(e),Ls(a),r}function Os(e){var t=e.observing_;e.observing_=[];for(var n=t.length;n--;)Us(t[n],e);e.dependenciesState_=_s.NOT_TRACKING_}function As(e){var t=Ps();try{return e()}finally{Is(t)}}function Ps(){var e=$s.trackingDerivation;return $s.trackingDerivation=null,e}function Is(e){$s.trackingDerivation=e}function Ns(e){var t=$s.allowStateReads;return $s.allowStateReads=e,t}function Ls(e){$s.allowStateReads=e}function Ts(e){if(e.dependenciesState_!==_s.UP_TO_DATE_){e.dependenciesState_=_s.UP_TO_DATE_;for(var t=e.observing_,n=t.length;n--;)t[n].lowestObserverState_=_s.UP_TO_DATE_}}var Ds=function(){this.version=6,this.UNCHANGED={},this.trackingDerivation=null,this.trackingContext=null,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!1,this.allowStateReads=!0,this.enforceActions=!0,this.spyListeners=[],this.globalReactionErrorHandlers=[],this.computedRequiresReaction=!1,this.reactionRequiresObservable=!1,this.observableRequiresReaction=!1,this.disableErrorBoundaries=!1,this.suppressReactionErrors=!1,this.useProxies=!0,this.verifyProxies=!1,this.safeDescriptors=!0},Rs=!0,Ms=!1,$s=function(){var e=Po();return e.__mobxInstanceCount>0&&!e.__mobxGlobals&&(Rs=!1),e.__mobxGlobals&&e.__mobxGlobals.version!==(new Ds).version&&(Rs=!1),Rs?e.__mobxGlobals?(e.__mobxInstanceCount+=1,e.__mobxGlobals.UNCHANGED||(e.__mobxGlobals.UNCHANGED={}),e.__mobxGlobals):(e.__mobxInstanceCount=1,e.__mobxGlobals=new Ds):(setTimeout(function(){Ms||Oo(35)},1),new Ds)}();function Bs(e,t){e.observers_.add(t),e.lowestObserverState_>t.dependenciesState_&&(e.lowestObserverState_=t.dependenciesState_)}function Us(e,t){e.observers_.delete(t),0===e.observers_.size&&Fs(e)}function Fs(e){!1===e.isPendingUnobservation&&(e.isPendingUnobservation=!0,$s.pendingUnobservations.push(e))}function Vs(){$s.inBatch++}function Hs(){if(0===--$s.inBatch){Qs();for(var e=$s.pendingUnobservations,t=0;t<e.length;t++){var n=e[t];n.isPendingUnobservation=!1,0===n.observers_.size&&(n.isBeingObserved&&(n.isBeingObserved=!1,n.onBUO()),n instanceof ws&&n.suspend_())}$s.pendingUnobservations=[]}}function Ks(e){var t=$s.trackingDerivation;return null!==t?(t.runId_!==e.lastAccessedBy_&&(e.lastAccessedBy_=t.runId_,t.newObserving_[t.unboundDepsCount_++]=e,!e.isBeingObserved&&$s.trackingContext&&(e.isBeingObserved=!0,e.onBO())),e.isBeingObserved):(0===e.observers_.size&&$s.inBatch>0&&Fs(e),!1)}function qs(e){e.lowestObserverState_!==_s.STALE_&&(e.lowestObserverState_=_s.STALE_,e.observers_.forEach(function(e){e.dependenciesState_===_s.UP_TO_DATE_&&e.onBecomeStale_(),e.dependenciesState_=_s.STALE_}))}var Ys=function(){function e(e,t,n,a){void 0===e&&(e="Reaction"),this.name_=void 0,this.onInvalidate_=void 0,this.errorHandler_=void 0,this.requiresObservable_=void 0,this.observing_=[],this.newObserving_=[],this.dependenciesState_=_s.NOT_TRACKING_,this.runId_=0,this.unboundDepsCount_=0,this.flags_=0,this.isTracing_=js.NONE,this.name_=e,this.onInvalidate_=t,this.errorHandler_=n,this.requiresObservable_=a}var t=e.prototype;return t.onBecomeStale_=function(){this.schedule_()},t.schedule_=function(){this.isScheduled||(this.isScheduled=!0,$s.pendingReactions.push(this),Qs())},t.runReaction_=function(){if(!this.isDisposed){Vs(),this.isScheduled=!1;var e=$s.trackingContext;if($s.trackingContext=this,zs(this)){this.isTrackPending=!0;try{this.onInvalidate_()}catch(e){this.reportExceptionInDerivation_(e)}}$s.trackingContext=e,Hs()}},t.track=function(e){if(!this.isDisposed){Vs(),this.isRunning=!0;var t=$s.trackingContext;$s.trackingContext=this;var n=Es(this,e,void 0);$s.trackingContext=t,this.isRunning=!1,this.isTrackPending=!1,this.isDisposed&&Os(this),Ss(n)&&this.reportExceptionInDerivation_(n.cause),Hs()}},t.reportExceptionInDerivation_=function(e){var t=this;if(this.errorHandler_)this.errorHandler_(e,this);else{if($s.disableErrorBoundaries)throw e;var n="[mobx] uncaught error in '"+this+"'";$s.suppressReactionErrors||console.error(n,e),$s.globalReactionErrorHandlers.forEach(function(n){return n(e,t)})}},t.dispose=function(){this.isDisposed||(this.isDisposed=!0,this.isRunning||(Vs(),Os(this),Hs()))},t.getDisposer_=function(e){var t=this,n=function n(){t.dispose(),null==e||null==e.removeEventListener||e.removeEventListener("abort",n)};return null==e||null==e.addEventListener||e.addEventListener("abort",n),n[bi]=this,"dispose"in Symbol&&"symbol"==typeof Symbol.dispose&&(n[Symbol.dispose]=n),n},t.toString=function(){return"Reaction["+this.name_+"]"},t.trace=function(e){void 0===e&&(e=!1)},ci(e,[{key:"isDisposed",get:function(){return ri(this.flags_,e.isDisposedMask_)},set:function(t){this.flags_=oi(this.flags_,e.isDisposedMask_,t)}},{key:"isScheduled",get:function(){return ri(this.flags_,e.isScheduledMask_)},set:function(t){this.flags_=oi(this.flags_,e.isScheduledMask_,t)}},{key:"isTrackPending",get:function(){return ri(this.flags_,e.isTrackPendingMask_)},set:function(t){this.flags_=oi(this.flags_,e.isTrackPendingMask_,t)}},{key:"isRunning",get:function(){return ri(this.flags_,e.isRunningMask_)},set:function(t){this.flags_=oi(this.flags_,e.isRunningMask_,t)}},{key:"diffValue",get:function(){return ri(this.flags_,e.diffValueMask_)?1:0},set:function(t){this.flags_=oi(this.flags_,e.diffValueMask_,1===t)}}])}();Ys.isDisposedMask_=1,Ys.isScheduledMask_=2,Ys.isTrackPendingMask_=4,Ys.isRunningMask_=8,Ys.diffValueMask_=16;var Ws=100,Gs=function(e){return e()};function Qs(){$s.inBatch>0||$s.isRunningReactions||Gs(Js)}function Js(){$s.isRunningReactions=!0;for(var e=$s.pendingReactions,t=0;e.length>0;){++t===Ws&&(console.error("[mobx] cycle in reaction: "+e[0]),e.splice(0));for(var n=e.splice(0),a=0,r=n.length;a<r;a++)n[a].runReaction_()}$s.isRunningReactions=!1}var Zs=Qo("Reaction",Ys),Xs="action",ec="autoAction",tc=Si(Xs),nc=Si("action.bound",{bound:!0}),ac=Si(ec,{autoAction:!0}),rc=Si("autoAction.bound",{autoAction:!0,bound:!0});function oc(e){return function(t,n){return Vo(t)?ys(t.name||"<unnamed action>",t,e):Vo(n)?ys(t,n,e):yi(n)?(e?ac:tc).decorate_20223_(t,n):Ho(n)?gi(t,n,e?ac:tc):Ho(t)?fi(Si(e?ec:Xs,{name:t,autoAction:e})):void 0}}var ic=oc(!1);Object.assign(ic,tc);var sc=oc(!0);function cc(e){return Vo(e)&&!0===e.isMobxAction}Object.assign(sc,ac),ic.bound=fi(nc),sc.bound=fi(rc);var lc=function(e){return e()};var uc="onBO",dc="onBUO";function pc(e,t,n){return hc(dc,e,t,n)}function hc(e,t,n,a){var r="function"==typeof a?_l(t,n):_l(t),o=Vo(a)?a:n,i=e+"L";return r[i]?r[i].add(o):r[i]=new Set([o]),function(){var e=r[i];e&&(e.delete(o),0===e.size&&delete r[i])}}var mc="always";function fc(e){!0===e.isolateGlobalState&&function(){if(($s.pendingReactions.length||$s.inBatch||$s.isRunningReactions)&&Oo(36),Ms=!0,Rs){var e=Po();0===--e.__mobxInstanceCount&&(e.__mobxGlobals=void 0),$s=new Ds}}();var t,n,a=e.useProxies,r=e.enforceActions;if(void 0!==a&&($s.useProxies=a===mc||"never"!==a&&"undefined"!=typeof Proxy),"ifavailable"===a&&($s.verifyProxies=!0),void 0!==r){var o=r===mc?mc:"observed"===r;$s.enforceActions=o,$s.allowStateChanges=!0!==o&&o!==mc}["computedRequiresReaction","reactionRequiresObservable","observableRequiresReaction","disableErrorBoundaries","safeDescriptors"].forEach(function(t){t in e&&($s[t]=!!e[t])}),$s.allowStateReads=!$s.observableRequiresReaction,e.reactionScheduler&&(t=e.reactionScheduler,n=Gs,Gs=function(e){return t(function(){return n(e)})})}function gc(e){var t,n={name:e.name_};return e.observing_&&e.observing_.length>0&&(n.dependencies=(t=e.observing_,Array.from(new Set(t))).map(gc)),n}var yc=0;function bc(){this.message="FLOW_CANCELLED"}bc.prototype=Object.create(Error.prototype);var kc=Pi("flow"),vc=Pi("flow.bound",{bound:!0}),wc=Object.assign(function(e,t){if(yi(t))return kc.decorate_20223_(e,t);if(Ho(t))return gi(e,t,kc);var n=e,a=n.name||"<unnamed flow>",r=function(){var e,t=arguments,r=++yc,o=ic(a+" - runid: "+r+" - init",n).apply(this,t),i=void 0,s=new Promise(function(t,n){var s=0;function c(e){var t;i=void 0;try{t=ic(a+" - runid: "+r+" - yield "+s++,o.next).call(o,e)}catch(e){return n(e)}u(t)}function l(e){var t;i=void 0;try{t=ic(a+" - runid: "+r+" - yield "+s++,o.throw).call(o,e)}catch(e){return n(e)}u(t)}function u(e){if(!Vo(null==e?void 0:e.then))return e.done?t(e.value):(i=Promise.resolve(e.value)).then(c,l);e.then(u,n)}e=n,c(void 0)});return s.cancel=ic(a+" - runid: "+r+" - cancel",function(){try{i&&_c(i);var t=o.return(void 0),n=Promise.resolve(t.value);n.then(Fo,Fo),_c(n),e(new bc)}catch(t){e(t)}}),s};return r.isMobXFlow=!0,r},kc);function _c(e){Vo(e.cancel)&&e.cancel()}function jc(e){return!0===(null==e?void 0:e.isMobXFlow)}function xc(e){return function(e,t){return!!e&&(void 0!==t?!!ll(e)&&e[bi].values_.has(t):ll(e)||!!e[bi]||vi(e)||Zs(e)||xs(e))}(e)}function Cc(e,t){void 0===t&&(t=void 0),Vs();try{return e.apply(t)}finally{Hs()}}function Sc(e){return e[bi]}wc.bound=fi(vc);var zc={has:function(e,t){return Sc(e).has_(t)},get:function(e,t){return Sc(e).get_(t)},set:function(e,t,n){var a;return!!Ho(t)&&(null==(a=Sc(e).set_(t,n,!0))||a)},deleteProperty:function(e,t){var n;return!!Ho(t)&&(null==(n=Sc(e).delete_(t,!0))||n)},defineProperty:function(e,t,n){var a;return null==(a=Sc(e).defineProperty_(t,n))||a},ownKeys:function(e){return Sc(e).ownKeys_()},preventExtensions:function(e){Oo(13)}};function Ec(e){return void 0!==e.interceptors_&&e.interceptors_.length>0}function Oc(e,t){var n=e.interceptors_||(e.interceptors_=[]);return n.push(t),Uo(function(){var e=n.indexOf(t);-1!==e&&n.splice(e,1)})}function Ac(e,t){var n=Ps();try{for(var a=[].concat(e.interceptors_||[]),r=0,o=a.length;r<o&&((t=a[r](t))&&!t.type&&Oo(14),t);r++);return t}finally{Is(n)}}function Pc(e){return void 0!==e.changeListeners_&&e.changeListeners_.length>0}function Ic(e,t){var n=e.changeListeners_||(e.changeListeners_=[]);return n.push(t),Uo(function(){var e=n.indexOf(t);-1!==e&&n.splice(e,1)})}function Nc(e,t){var n=Ps(),a=e.changeListeners_;if(a){for(var r=0,o=(a=a.slice()).length;r<o;r++)a[r](t);Is(n)}}function Lc(e,t,n){return Cl(function(){var a=il(e,n)[bi];null!=t||(t=function(e){return ni(e,mi)||Wo(e,mi,ui({},e[mi])),e[mi]}(e)),ei(t).forEach(function(e){return a.make_(e,t[e])})}),e}var Tc="splice",Dc="update",Rc={get:function(e,t){var n=e[bi];return t===bi?n:"length"===t?n.getArrayLength_():"string"!=typeof t||isNaN(t)?ni(Bc,t)?Bc[t]:e[t]:n.get_(parseInt(t))},set:function(e,t,n){var a=e[bi];return"length"===t&&a.setArrayLength_(n),"symbol"==typeof t||isNaN(t)?e[t]=n:a.set_(parseInt(t),n),!0},preventExtensions:function(){Oo(15)}},Mc=function(){function e(e,t,n,a){void 0===e&&(e="ObservableArray"),this.owned_=void 0,this.legacyMode_=void 0,this.atom_=void 0,this.values_=[],this.interceptors_=void 0,this.changeListeners_=void 0,this.enhancer_=void 0,this.dehancer=void 0,this.proxy_=void 0,this.lastKnownLength_=0,this.owned_=n,this.legacyMode_=a,this.atom_=new ki(e),this.enhancer_=function(e,n){return t(e,n,"ObservableArray[..]")}}var t=e.prototype;return t.dehanceValue_=function(e){return void 0!==this.dehancer?this.dehancer(e):e},t.dehanceValues_=function(e){return void 0!==this.dehancer&&e.length>0?e.map(this.dehancer):e},t.intercept_=function(e){return Oc(this,e)},t.observe_=function(e,t){return void 0===t&&(t=!1),t&&e({observableKind:"array",object:this.proxy_,debugObjectName:this.atom_.name_,type:"splice",index:0,added:this.values_.slice(),addedCount:this.values_.length,removed:[],removedCount:0}),Ic(this,e)},t.getArrayLength_=function(){return this.atom_.reportObserved(),this.values_.length},t.setArrayLength_=function(e){("number"!=typeof e||isNaN(e)||e<0)&&Oo("Out of range: "+e);var t=this.values_.length;if(e!==t)if(e>t){for(var n=new Array(e-t),a=0;a<e-t;a++)n[a]=void 0;this.spliceWithArray_(t,0,n)}else this.spliceWithArray_(e,t-e)},t.updateArrayLength_=function(e,t){e!==this.lastKnownLength_&&Oo(16),this.lastKnownLength_+=t,this.legacyMode_&&t>0&&vl(e+t+1)},t.spliceWithArray_=function(e,t,n){var a=this;this.atom_;var r=this.values_.length;if(void 0===e?e=0:e>r?e=r:e<0&&(e=Math.max(0,r+e)),t=1===arguments.length?r-e:null==t?0:Math.max(0,Math.min(t,r-e)),void 0===n&&(n=Do),Ec(this)){var o=Ac(this,{object:this.proxy_,type:Tc,index:e,removedCount:t,added:n});if(!o)return Do;t=o.removedCount,n=o.added}if(n=0===n.length?n:n.map(function(e){return a.enhancer_(e,void 0)}),this.legacyMode_){var i=n.length-t;this.updateArrayLength_(r,i)}var s=this.spliceItemsIntoValues_(e,t,n);return 0===t&&0===n.length||this.notifyArraySplice_(e,n,s),this.dehanceValues_(s)},t.spliceItemsIntoValues_=function(e,t,n){var a;if(n.length<1e4)return(a=this.values_).splice.apply(a,[e,t].concat(n));var r=this.values_.slice(e,e+t),o=this.values_.slice(e+t);this.values_.length+=n.length-t;for(var i=0;i<n.length;i++)this.values_[e+i]=n[i];for(var s=0;s<o.length;s++)this.values_[e+n.length+s]=o[s];return r},t.notifyArrayChildUpdate_=function(e,t,n){var a=!this.owned_&&!1,r=Pc(this),o=r||a?{observableKind:"array",object:this.proxy_,type:Dc,debugObjectName:this.atom_.name_,index:e,newValue:t,oldValue:n}:null;this.atom_.reportChanged(),r&&Nc(this,o)},t.notifyArraySplice_=function(e,t,n){var a=!this.owned_&&!1,r=Pc(this),o=r||a?{observableKind:"array",object:this.proxy_,debugObjectName:this.atom_.name_,type:Tc,index:e,removed:n,added:t,removedCount:n.length,addedCount:t.length}:null;this.atom_.reportChanged(),r&&Nc(this,o)},t.get_=function(e){if(!(this.legacyMode_&&e>=this.values_.length))return this.atom_.reportObserved(),this.dehanceValue_(this.values_[e]);console.warn("[mobx] Out of bounds read: "+e)},t.set_=function(e,t){var n=this.values_;if(this.legacyMode_&&e>n.length&&Oo(17,e,n.length),e<n.length){this.atom_;var a=n[e];if(Ec(this)){var r=Ac(this,{type:Dc,object:this.proxy_,index:e,newValue:t});if(!r)return;t=r.newValue}(t=this.enhancer_(t,a))!==a&&(n[e]=t,this.notifyArrayChildUpdate_(e,t,a))}else{for(var o=new Array(e+1-n.length),i=0;i<o.length-1;i++)o[i]=void 0;o[o.length-1]=t,this.spliceWithArray_(n.length,0,o)}},e}();function $c(e,t,n,a){return void 0===n&&(n="ObservableArray"),void 0===a&&(a=!1),Bo(),Cl(function(){var r=new Mc(n,t,a,!1);Go(r.values_,bi,r);var o=new Proxy(r.values_,Rc);return r.proxy_=o,e&&e.length&&r.spliceWithArray_(0,0,e),o})}var Bc={clear:function(){return this.splice(0)},replace:function(e){var t=this[bi];return t.spliceWithArray_(0,t.values_.length,e)},toJSON:function(){return this.slice()},splice:function(e,t){for(var n=arguments.length,a=new Array(n>2?n-2:0),r=2;r<n;r++)a[r-2]=arguments[r];var o=this[bi];switch(arguments.length){case 0:return[];case 1:return o.spliceWithArray_(e);case 2:return o.spliceWithArray_(e,t)}return o.spliceWithArray_(e,t,a)},spliceWithArray:function(e,t,n){return this[bi].spliceWithArray_(e,t,n)},push:function(){for(var e=this[bi],t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];return e.spliceWithArray_(e.values_.length,0,n),e.values_.length},pop:function(){return this.splice(Math.max(this[bi].values_.length-1,0),1)[0]},shift:function(){return this.splice(0,1)[0]},unshift:function(){for(var e=this[bi],t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];return e.spliceWithArray_(0,0,n),e.values_.length},reverse:function(){return $s.trackingDerivation&&Oo(37,"reverse"),this.replace(this.slice().reverse()),this},sort:function(){$s.trackingDerivation&&Oo(37,"sort");var e=this.slice();return e.sort.apply(e,arguments),this.replace(e),this},remove:function(e){var t=this[bi],n=t.dehanceValues_(t.values_).indexOf(e);return n>-1&&(this.splice(n,1),!0)}};function Uc(e,t){"function"==typeof Array.prototype[e]&&(Bc[e]=t(e))}function Fc(e){return function(){var t=this[bi];t.atom_.reportObserved();var n=t.dehanceValues_(t.values_);return n[e].apply(n,arguments)}}function Vc(e){return function(t,n){var a=this,r=this[bi];return r.atom_.reportObserved(),r.dehanceValues_(r.values_)[e](function(e,r){return t.call(n,e,r,a)})}}function Hc(e){return function(){var t=this,n=this[bi];n.atom_.reportObserved();var a=n.dehanceValues_(n.values_),r=arguments[0];return arguments[0]=function(e,n,a){return r(e,n,a,t)},a[e].apply(a,arguments)}}Uc("at",Fc),Uc("concat",Fc),Uc("flat",Fc),Uc("includes",Fc),Uc("indexOf",Fc),Uc("join",Fc),Uc("lastIndexOf",Fc),Uc("slice",Fc),Uc("toString",Fc),Uc("toLocaleString",Fc),Uc("toSorted",Fc),Uc("toSpliced",Fc),Uc("with",Fc),Uc("every",Vc),Uc("filter",Vc),Uc("find",Vc),Uc("findIndex",Vc),Uc("findLast",Vc),Uc("findLastIndex",Vc),Uc("flatMap",Vc),Uc("forEach",Vc),Uc("map",Vc),Uc("some",Vc),Uc("toReversed",Vc),Uc("reduce",Hc),Uc("reduceRight",Hc);var Kc=Qo("ObservableArrayAdministration",Mc);function qc(e){return Ko(e)&&Kc(e[bi])}var Yc={},Wc="add",Gc="delete",Qc=function(){function e(e,t,n){var a=this;void 0===t&&(t=ji),void 0===n&&(n="ObservableMap"),this.enhancer_=void 0,this.name_=void 0,this[bi]=Yc,this.data_=void 0,this.hasMap_=void 0,this.keysAtom_=void 0,this.interceptors_=void 0,this.changeListeners_=void 0,this.dehancer=void 0,this.enhancer_=t,this.name_=n,Vo(Map)||Oo(18),Cl(function(){a.keysAtom_=wi("ObservableMap.keys()"),a.data_=new Map,a.hasMap_=new Map,e&&a.merge(e)})}var t=e.prototype;return t.has_=function(e){return this.data_.has(e)},t.has=function(e){var t=this;if(!$s.trackingDerivation)return this.has_(e);var n=this.hasMap_.get(e);if(!n){var a=n=new vs(this.has_(e),xi,"ObservableMap.key?",!1);this.hasMap_.set(e,a),pc(a,function(){return t.hasMap_.delete(e)})}return n.get()},t.set=function(e,t){var n=this.has_(e);if(Ec(this)){var a=Ac(this,{type:n?Dc:Wc,object:this,newValue:t,name:e});if(!a)return this;t=a.newValue}return n?this.updateValue_(e,t):this.addValue_(e,t),this},t.delete=function(e){var t=this;if(this.keysAtom_,Ec(this)&&!Ac(this,{type:Gc,object:this,name:e}))return!1;if(this.has_(e)){var n=Pc(this),a=n?{observableKind:"map",debugObjectName:this.name_,type:Gc,object:this,oldValue:this.data_.get(e).value_,name:e}:null;return Cc(function(){var n;t.keysAtom_.reportChanged(),null==(n=t.hasMap_.get(e))||n.setNewValue_(!1),t.data_.get(e).setNewValue_(void 0),t.data_.delete(e)}),n&&Nc(this,a),!0}return!1},t.updateValue_=function(e,t){var n=this.data_.get(e);if((t=n.prepareNewValue_(t))!==$s.UNCHANGED){var a=Pc(this),r=a?{observableKind:"map",debugObjectName:this.name_,type:Dc,object:this,oldValue:n.value_,name:e,newValue:t}:null;n.setNewValue_(t),a&&Nc(this,r)}},t.addValue_=function(e,t){var n=this;this.keysAtom_,Cc(function(){var a,r=new vs(t,n.enhancer_,"ObservableMap.key",!1);n.data_.set(e,r),t=r.value_,null==(a=n.hasMap_.get(e))||a.setNewValue_(!0),n.keysAtom_.reportChanged()});var a=Pc(this),r=a?{observableKind:"map",debugObjectName:this.name_,type:Wc,object:this,name:e,newValue:t}:null;a&&Nc(this,r)},t.get=function(e){return this.has(e)?this.dehanceValue_(this.data_.get(e).get()):this.dehanceValue_(void 0)},t.dehanceValue_=function(e){return void 0!==this.dehancer?this.dehancer(e):e},t.keys=function(){return this.keysAtom_.reportObserved(),this.data_.keys()},t.values=function(){var e=this,t=this.keys();return Zc({next:function(){var n=t.next(),a=n.done,r=n.value;return{done:a,value:a?void 0:e.get(r)}}})},t.entries=function(){var e=this,t=this.keys();return Zc({next:function(){var n=t.next(),a=n.done,r=n.value;return{done:a,value:a?void 0:[r,e.get(r)]}}})},t[Symbol.iterator]=function(){return this.entries()},t.forEach=function(e,t){for(var n,a=li(this);!(n=a()).done;){var r=n.value,o=r[0],i=r[1];e.call(t,i,o,this)}},t.merge=function(e){var t=this;return Jc(e)&&(e=new Map(e)),Cc(function(){qo(e)?function(e){var t=Object.keys(e);if(!Xo)return t;var n=Object.getOwnPropertySymbols(e);return n.length?[].concat(t,n.filter(function(t){return To.propertyIsEnumerable.call(e,t)})):t}(e).forEach(function(n){return t.set(n,e[n])}):Array.isArray(e)?e.forEach(function(e){var n=e[0],a=e[1];return t.set(n,a)}):Jo(e)?(function(e){var t=Object.getPrototypeOf(e),n=Object.getPrototypeOf(t);return null===Object.getPrototypeOf(n)}(e)||Oo(19,e),e.forEach(function(e,n){return t.set(n,e)})):null!=e&&Oo(20,e)}),this},t.clear=function(){var e=this;Cc(function(){As(function(){for(var t,n=li(e.keys());!(t=n()).done;){var a=t.value;e.delete(a)}})})},t.replace=function(e){var t=this;return Cc(function(){for(var n,a=function(e){if(Jo(e)||Jc(e))return e;if(Array.isArray(e))return new Map(e);if(qo(e)){var t=new Map;for(var n in e)t.set(n,e[n]);return t}return Oo(21,e)}(e),r=new Map,o=!1,i=li(t.data_.keys());!(n=i()).done;){var s=n.value;if(!a.has(s))if(t.delete(s))o=!0;else{var c=t.data_.get(s);r.set(s,c)}}for(var l,u=li(a.entries());!(l=u()).done;){var d=l.value,p=d[0],h=d[1],m=t.data_.has(p);if(t.set(p,h),t.data_.has(p)){var f=t.data_.get(p);r.set(p,f),m||(o=!0)}}if(!o)if(t.data_.size!==r.size)t.keysAtom_.reportChanged();else for(var g=t.data_.keys(),y=r.keys(),b=g.next(),k=y.next();!b.done;){if(b.value!==k.value){t.keysAtom_.reportChanged();break}b=g.next(),k=y.next()}t.data_=r}),this},t.toString=function(){return"[object ObservableMap]"},t.toJSON=function(){return Array.from(this)},t.observe_=function(e,t){return Ic(this,e)},t.intercept_=function(e){return Oc(this,e)},ci(e,[{key:"size",get:function(){return this.keysAtom_.reportObserved(),this.data_.size}},{key:Symbol.toStringTag,get:function(){return"Map"}}])}(),Jc=Qo("ObservableMap",Qc);function Zc(e){return e[Symbol.toStringTag]="MapIterator",Il(e)}var Xc={},el=function(){function e(e,t,n){var a=this;void 0===t&&(t=ji),void 0===n&&(n="ObservableSet"),this.name_=void 0,this[bi]=Xc,this.data_=new Set,this.atom_=void 0,this.changeListeners_=void 0,this.interceptors_=void 0,this.dehancer=void 0,this.enhancer_=void 0,this.name_=n,Vo(Set)||Oo(22),this.enhancer_=function(e,a){return t(e,a,n)},Cl(function(){a.atom_=wi(a.name_),e&&a.replace(e)})}var t=e.prototype;return t.dehanceValue_=function(e){return void 0!==this.dehancer?this.dehancer(e):e},t.clear=function(){var e=this;Cc(function(){As(function(){for(var t,n=li(e.data_.values());!(t=n()).done;){var a=t.value;e.delete(a)}})})},t.forEach=function(e,t){for(var n,a=li(this);!(n=a()).done;){var r=n.value;e.call(t,r,r,this)}},t.add=function(e){var t=this;if(this.atom_,Ec(this)){var n=Ac(this,{type:Wc,object:this,newValue:e});if(!n)return this;e=n.newValue}if(!this.has(e)){Cc(function(){t.data_.add(t.enhancer_(e,void 0)),t.atom_.reportChanged()});var a=Pc(this),r=a?{observableKind:"set",debugObjectName:this.name_,type:Wc,object:this,newValue:e}:null;a&&Nc(this,r)}return this},t.delete=function(e){var t=this;if(Ec(this)&&!Ac(this,{type:Gc,object:this,oldValue:e}))return!1;if(this.has(e)){var n=Pc(this),a=n?{observableKind:"set",debugObjectName:this.name_,type:Gc,object:this,oldValue:e}:null;return Cc(function(){t.atom_.reportChanged(),t.data_.delete(e)}),n&&Nc(this,a),!0}return!1},t.has=function(e){return this.atom_.reportObserved(),this.data_.has(this.dehanceValue_(e))},t.entries=function(){var e=this.values();return nl({next:function(){var t=e.next(),n=t.value,a=t.done;return a?{value:void 0,done:a}:{value:[n,n],done:a}}})},t.keys=function(){return this.values()},t.values=function(){this.atom_.reportObserved();var e=this,t=this.data_.values();return nl({next:function(){var n=t.next(),a=n.value,r=n.done;return r?{value:void 0,done:r}:{value:e.dehanceValue_(a),done:r}}})},t.intersection=function(e){return Zo(e)&&!tl(e)?e.intersection(this):new Set(this).intersection(e)},t.union=function(e){return Zo(e)&&!tl(e)?e.union(this):new Set(this).union(e)},t.difference=function(e){return new Set(this).difference(e)},t.symmetricDifference=function(e){return Zo(e)&&!tl(e)?e.symmetricDifference(this):new Set(this).symmetricDifference(e)},t.isSubsetOf=function(e){return new Set(this).isSubsetOf(e)},t.isSupersetOf=function(e){return new Set(this).isSupersetOf(e)},t.isDisjointFrom=function(e){return Zo(e)&&!tl(e)?e.isDisjointFrom(this):new Set(this).isDisjointFrom(e)},t.replace=function(e){var t=this;return tl(e)&&(e=new Set(e)),Cc(function(){Array.isArray(e)||Zo(e)?(t.clear(),e.forEach(function(e){return t.add(e)})):null!=e&&Oo("Cannot initialize set from "+e)}),this},t.observe_=function(e,t){return Ic(this,e)},t.intercept_=function(e){return Oc(this,e)},t.toJSON=function(){return Array.from(this)},t.toString=function(){return"[object ObservableSet]"},t[Symbol.iterator]=function(){return this.values()},ci(e,[{key:"size",get:function(){return this.atom_.reportObserved(),this.data_.size}},{key:Symbol.toStringTag,get:function(){return"Set"}}])}(),tl=Qo("ObservableSet",el);function nl(e){return e[Symbol.toStringTag]="SetIterator",Il(e)}var al=Object.create(null),rl="remove",ol=function(){function e(e,t,n,a){void 0===t&&(t=new Map),void 0===a&&(a=Ki),this.target_=void 0,this.values_=void 0,this.name_=void 0,this.defaultAnnotation_=void 0,this.keysAtom_=void 0,this.changeListeners_=void 0,this.interceptors_=void 0,this.proxy_=void 0,this.isPlainObject_=void 0,this.appliedAnnotations_=void 0,this.pendingKeys_=void 0,this.target_=e,this.values_=t,this.name_=n,this.defaultAnnotation_=a,this.keysAtom_=new ki("ObservableObject.keys"),this.isPlainObject_=qo(this.target_)}var t=e.prototype;return t.getObservablePropValue_=function(e){return this.values_.get(e).get()},t.setObservablePropValue_=function(e,t){var n=this.values_.get(e);if(n instanceof ws)return n.set(t),!0;if(Ec(this)){var a=Ac(this,{type:Dc,object:this.proxy_||this.target_,name:e,newValue:t});if(!a)return null;t=a.newValue}if((t=n.prepareNewValue_(t))!==$s.UNCHANGED){var r=Pc(this),o=r?{type:Dc,observableKind:"object",debugObjectName:this.name_,object:this.proxy_||this.target_,oldValue:n.value_,name:e,newValue:t}:null;n.setNewValue_(t),r&&Nc(this,o)}return!0},t.get_=function(e){return $s.trackingDerivation&&!ni(this.target_,e)&&this.has_(e),this.target_[e]},t.set_=function(e,t,n){return void 0===n&&(n=!1),ni(this.target_,e)?this.values_.has(e)?this.setObservablePropValue_(e,t):n?Reflect.set(this.target_,e,t):(this.target_[e]=t,!0):this.extend_(e,{value:t,enumerable:!0,writable:!0,configurable:!0},this.defaultAnnotation_,n)},t.has_=function(e){if(!$s.trackingDerivation)return e in this.target_;this.pendingKeys_||(this.pendingKeys_=new Map);var t=this.pendingKeys_.get(e);return t||(t=new vs(e in this.target_,xi,"ObservableObject.key?",!1),this.pendingKeys_.set(e,t)),t.get()},t.make_=function(e,t){if(!0===t&&(t=this.defaultAnnotation_),!1!==t){if(!(e in this.target_)){var n;if(null!=(n=this.target_[mi])&&n[e])return;Oo(1,t.annotationType_,this.name_+"."+e.toString())}for(var a=this.target_;a&&a!==To;){var r=No(a,e);if(r){var o=t.make_(this,e,r,a);if(0===o)return;if(1===o)break}a=Object.getPrototypeOf(a)}ul(this,0,e)}},t.extend_=function(e,t,n,a){if(void 0===a&&(a=!1),!0===n&&(n=this.defaultAnnotation_),!1===n)return this.defineProperty_(e,t,a);var r=n.extend_(this,e,t,a);return r&&ul(this,0,e),r},t.defineProperty_=function(e,t,n){void 0===n&&(n=!1),this.keysAtom_;try{Vs();var a=this.delete_(e);if(!a)return a;if(Ec(this)){var r=Ac(this,{object:this.proxy_||this.target_,name:e,type:Wc,newValue:t.value});if(!r)return null;var o=r.newValue;t.value!==o&&(t=ui({},t,{value:o}))}if(n){if(!Reflect.defineProperty(this.target_,e,t))return!1}else Lo(this.target_,e,t);this.notifyPropertyAddition_(e,t.value)}finally{Hs()}return!0},t.defineObservableProperty_=function(e,t,n,a){void 0===a&&(a=!1),this.keysAtom_;try{Vs();var r=this.delete_(e);if(!r)return r;if(Ec(this)){var o=Ac(this,{object:this.proxy_||this.target_,name:e,type:Wc,newValue:t});if(!o)return null;t=o.newValue}var i=cl(e),s={configurable:!$s.safeDescriptors||this.isPlainObject_,enumerable:!0,get:i.get,set:i.set};if(a){if(!Reflect.defineProperty(this.target_,e,s))return!1}else Lo(this.target_,e,s);var c=new vs(t,n,"ObservableObject.key",!1);this.values_.set(e,c),this.notifyPropertyAddition_(e,c.value_)}finally{Hs()}return!0},t.defineComputedProperty_=function(e,t,n){void 0===n&&(n=!1),this.keysAtom_;try{Vs();var a=this.delete_(e);if(!a)return a;if(Ec(this)&&!Ac(this,{object:this.proxy_||this.target_,name:e,type:Wc,newValue:void 0}))return null;t.name||(t.name="ObservableObject.key"),t.context=this.proxy_||this.target_;var r=cl(e),o={configurable:!$s.safeDescriptors||this.isPlainObject_,enumerable:!1,get:r.get,set:r.set};if(n){if(!Reflect.defineProperty(this.target_,e,o))return!1}else Lo(this.target_,e,o);this.values_.set(e,new ws(t)),this.notifyPropertyAddition_(e,void 0)}finally{Hs()}return!0},t.delete_=function(e,t){if(void 0===t&&(t=!1),this.keysAtom_,!ni(this.target_,e))return!0;if(Ec(this)&&!Ac(this,{object:this.proxy_||this.target_,name:e,type:rl}))return null;try{var n;Vs();var a,r=Pc(this),o=this.values_.get(e),i=void 0;if(!o&&r&&(i=null==(a=No(this.target_,e))?void 0:a.value),t){if(!Reflect.deleteProperty(this.target_,e))return!1}else delete this.target_[e];if(o&&(this.values_.delete(e),o instanceof vs&&(i=o.value_),qs(o)),this.keysAtom_.reportChanged(),null==(n=this.pendingKeys_)||null==(n=n.get(e))||n.set(e in this.target_),r){var s={type:rl,observableKind:"object",object:this.proxy_||this.target_,debugObjectName:this.name_,oldValue:i,name:e};r&&Nc(this,s)}}finally{Hs()}return!0},t.observe_=function(e,t){return Ic(this,e)},t.intercept_=function(e){return Oc(this,e)},t.notifyPropertyAddition_=function(e,t){var n,a=Pc(this);if(a){var r=a?{type:Wc,observableKind:"object",debugObjectName:this.name_,object:this.proxy_||this.target_,name:e,newValue:t}:null;a&&Nc(this,r)}null==(n=this.pendingKeys_)||null==(n=n.get(e))||n.set(!0),this.keysAtom_.reportChanged()},t.ownKeys_=function(){return this.keysAtom_.reportObserved(),ei(this.target_)},t.keys_=function(){return this.keysAtom_.reportObserved(),Object.keys(this.target_)},e}();function il(e,t){var n;if(ni(e,bi))return e;var a=null!=(n=null==t?void 0:t.name)?n:"ObservableObject",r=new ol(e,new Map,String(a),function(e){var t;return e?null!=(t=e.defaultDecorator)?t:qi(e):void 0}(t));return Wo(e,bi,r),e}var sl=Qo("ObservableObjectAdministration",ol);function cl(e){return al[e]||(al[e]={get:function(){return this[bi].getObservablePropValue_(e)},set:function(t){return this[bi].setObservablePropValue_(e,t)}})}function ll(e){return!!Ko(e)&&sl(e[bi])}function ul(e,t,n){var a;null==(a=e.target_[mi])||delete a[n]}var dl,pl,hl=bl(0),ml=function(){var e=!1,t={};return Object.defineProperty(t,"0",{set:function(){e=!0}}),Object.create(t)[0]=1,!1===e}(),fl=0,gl=function(){};dl=gl,pl=Array.prototype,Object.setPrototypeOf?Object.setPrototypeOf(dl.prototype,pl):void 0!==dl.prototype.__proto__?dl.prototype.__proto__=pl:dl.prototype=pl;var yl=function(e){function t(t,n,a,r){var o;return void 0===a&&(a="ObservableArray"),void 0===r&&(r=!1),o=e.call(this)||this,Cl(function(){var e=new Mc(a,n,r,!0);e.proxy_=o,Go(o,bi,e),t&&t.length&&o.spliceWithArray(0,0,t),ml&&Object.defineProperty(o,"0",hl)}),o}di(t,e);var n=t.prototype;return n.concat=function(){this[bi].atom_.reportObserved();for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return Array.prototype.concat.apply(this.slice(),t.map(function(e){return qc(e)?e.slice():e}))},n[Symbol.iterator]=function(){var e=this,t=0;return Il({next:function(){return t<e.length?{value:e[t++],done:!1}:{done:!0,value:void 0}}})},ci(t,[{key:"length",get:function(){return this[bi].getArrayLength_()},set:function(e){this[bi].setArrayLength_(e)}},{key:Symbol.toStringTag,get:function(){return"Array"}}])}(gl);function bl(e){return{enumerable:!1,configurable:!0,get:function(){return this[bi].get_(e)},set:function(t){this[bi].set_(e,t)}}}function kl(e){Lo(yl.prototype,""+e,bl(e))}function vl(e){if(e>fl){for(var t=fl;t<e+100;t++)kl(t);fl=e}}function wl(e,t,n){return new yl(e,t,n)}function _l(e,t){if("object"==typeof e&&null!==e){if(qc(e))return void 0!==t&&Oo(23),e[bi].atom_;if(tl(e))return e.atom_;if(Jc(e)){if(void 0===t)return e.keysAtom_;var n=e.data_.get(t)||e.hasMap_.get(t);return n||Oo(25,t,xl(e)),n}if(ll(e)){if(!t)return Oo(26);var a=e[bi].values_.get(t);return a||Oo(27,t,xl(e)),a}if(vi(e)||xs(e)||Zs(e))return e}else if(Vo(e)&&Zs(e[bi]))return e[bi];Oo(28)}function jl(e,t){return e||Oo(29),void 0!==t?jl(_l(e,t)):vi(e)||xs(e)||Zs(e)||Jc(e)||tl(e)?e:e[bi]?e[bi]:void Oo(24,e)}function xl(e,t){var n;if(void 0!==t)n=_l(e,t);else{if(cc(e))return e.name;n=ll(e)||Jc(e)||tl(e)?jl(e):_l(e)}return n.name_}function Cl(e){var t=Ps(),n=bs(!0);Vs();try{return e()}finally{Hs(),ks(n),Is(t)}}Object.entries(Bc).forEach(function(e){var t=e[0],n=e[1];"concat"!==t&&Wo(yl.prototype,t,n)}),vl(1e3);var Sl,zl=To.toString;function El(e,t,n){return void 0===n&&(n=-1),Ol(e,t,n)}function Ol(e,t,n,a,r){if(e===t)return 0!==e||1/e==1/t;if(null==e||null==t)return!1;if(e!=e)return t!=t;var o=typeof e;if("function"!==o&&"object"!==o&&"object"!=typeof t)return!1;var i=zl.call(e);if(i!==zl.call(t))return!1;switch(i){case"[object RegExp]":case"[object String]":return""+e==""+t;case"[object Number]":return+e!=+e?+t!=+t:0===+e?1/+e==1/t:+e===+t;case"[object Date]":case"[object Boolean]":return+e===+t;case"[object Symbol]":return"undefined"!=typeof Symbol&&Symbol.valueOf.call(e)===Symbol.valueOf.call(t);case"[object Map]":case"[object Set]":n>=0&&n++}e=Al(e),t=Al(t);var s="[object Array]"===i;if(!s){if("object"!=typeof e||"object"!=typeof t)return!1;var c=e.constructor,l=t.constructor;if(c!==l&&!(Vo(c)&&c instanceof c&&Vo(l)&&l instanceof l)&&"constructor"in e&&"constructor"in t)return!1}if(0===n)return!1;n<0&&(n=-1),r=r||[];for(var u=(a=a||[]).length;u--;)if(a[u]===e)return r[u]===t;if(a.push(e),r.push(t),s){if((u=e.length)!==t.length)return!1;for(;u--;)if(!Ol(e[u],t[u],n-1,a,r))return!1}else{var d=Object.keys(e),p=d.length;if(Object.keys(t).length!==p)return!1;for(var h=0;h<p;h++){var m=d[h];if(!ni(t,m)||!Ol(e[m],t[m],n-1,a,r))return!1}}return a.pop(),r.pop(),!0}function Al(e){return qc(e)?e.slice():Jo(e)||Jc(e)||Zo(e)||tl(e)?Array.from(e.entries()):e}var Pl=(null==(Sl=Po().Iterator)?void 0:Sl.prototype)||{};function Il(e){return e[Symbol.iterator]=Nl,Object.assign(Object.create(Pl),e)}function Nl(){return this}if(["Symbol","Map","Set"].forEach(function(e){void 0===Po()[e]&&Oo("MobX requires global '"+e+"' to be available or polyfilled")}),"object"==typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:function(e){return console.warn("[mobx.spy] Is a no-op in production builds"),function(){}},extras:{getDebugName:xl},$mobx:bi}),!On.useState)throw new Error("mobx-react-lite requires React with Hooks support");if(!Lc)throw new Error("mobx-react-lite@3 requires mobx at least version 6 to be available");var Ll=n(316);function Tl(e){e()}function Dl(e){return gc(_l(e,t));var t}var Rl,Ml,$l=function(){function e(e){var t=this;Object.defineProperty(this,"finalize",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"registrations",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"sweepTimeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"sweep",{enumerable:!0,configurable:!0,writable:!0,value:function(e){void 0===e&&(e=1e4),clearTimeout(t.sweepTimeout),t.sweepTimeout=void 0;var n=Date.now();t.registrations.forEach(function(a,r){n-a.registeredAt>=e&&(t.finalize(a.value),t.registrations.delete(r))}),t.registrations.size>0&&t.scheduleSweep()}}),Object.defineProperty(this,"finalizeAllImmediately",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.sweep(0)}})}return Object.defineProperty(e.prototype,"register",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,n){this.registrations.set(n,{value:t,registeredAt:Date.now()}),this.scheduleSweep()}}),Object.defineProperty(e.prototype,"unregister",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.registrations.delete(e)}}),Object.defineProperty(e.prototype,"scheduleSweep",{enumerable:!1,configurable:!0,writable:!0,value:function(){void 0===this.sweepTimeout&&(this.sweepTimeout=setTimeout(this.sweep,1e4))}}),e}(),Bl=new("undefined"!=typeof FinalizationRegistry?FinalizationRegistry:$l)(function(e){var t;null===(t=e.reaction)||void 0===t||t.dispose(),e.reaction=null}),Ul=n(98);function Fl(e){e.reaction=new Ys("observer".concat(e.name),function(){var t;e.stateVersion=Symbol(),null===(t=e.onStoreChange)||void 0===t||t.call(e)})}var Vl="function"==typeof Symbol&&Symbol.for,Hl=null!==(Ml=null===(Rl=Object.getOwnPropertyDescriptor(function(){},"name"))||void 0===Rl?void 0:Rl.configurable)&&void 0!==Ml&&Ml,Kl=Vl?Symbol.for("react.forward_ref"):"function"==typeof On.forwardRef&&(0,On.forwardRef)(function(e){return null}).$$typeof,ql=Vl?Symbol.for("react.memo"):"function"==typeof On.memo&&(0,On.memo)(function(e){return null}).$$typeof;function Yl(e,t){var n;if(ql&&e.$$typeof===ql)throw new Error("[mobx-react-lite] You are trying to use `observer` on a function component wrapped in either another `observer` or `React.memo`. The observer already applies 'React.memo' for you.");var a=null!==(n=null==t?void 0:t.forwardRef)&&void 0!==n&&n,r=e,o=e.displayName||e.name;if(Kl&&e.$$typeof===Kl&&(a=!0,"function"!=typeof(r=e.render)))throw new Error("[mobx-react-lite] `render` property of ForwardRef was not a function");var i,s,c=function(e,t){return function(e,t){void 0===t&&(t="observed");var n=On.useRef(null);if(!n.current){var a={reaction:null,onStoreChange:null,stateVersion:Symbol(),name:t,subscribe:function(e){return Bl.unregister(a),a.onStoreChange=e,a.reaction||(Fl(a),a.stateVersion=Symbol()),function(){var e;a.onStoreChange=null,null===(e=a.reaction)||void 0===e||e.dispose(),a.reaction=null}},getSnapshot:function(){return a.stateVersion}};n.current=a}var r,o,i=n.current;if(i.reaction||(Fl(i),Bl.register(n,i,i)),On.useDebugValue(i.reaction,Dl),(0,Ul.useSyncExternalStore)(i.subscribe,i.getSnapshot,i.getSnapshot),i.reaction.track(function(){try{r=e()}catch(e){o=e}}),o)throw o;return r}(function(){return r(e,t)},o)};return c.displayName=e.displayName,Hl&&Object.defineProperty(c,"name",{value:e.name,writable:!0,configurable:!0}),e.contextTypes&&(c.contextTypes=e.contextTypes),a&&(c=(0,On.forwardRef)(c)),c=(0,On.memo)(c),i=e,s=c,Object.keys(i).forEach(function(e){Wl[e]||Object.defineProperty(s,e,Object.getOwnPropertyDescriptor(i,e))}),c}var Wl={$$typeof:!0,render:!0,compare:!0,type:!0,displayName:!0};function Gl(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}!function(e){e||(e=Tl),fc({reactionScheduler:e})}(Ll.unstable_batchedUpdates),Bl.finalizeAllImmediately;var Ql=Symbol("patchMixins"),Jl=Symbol("patchedDefinition");function Zl(e,t){for(var n=this,a=arguments.length,r=new Array(a>2?a-2:0),o=2;o<a;o++)r[o-2]=arguments[o];t.locks++;try{var i;return null!=e&&(i=e.apply(this,r)),i}finally{t.locks--,0===t.locks&&t.methods.forEach(function(e){e.apply(n,r)})}}function Xl(e,t){return function(){for(var n=arguments.length,a=new Array(n),r=0;r<n;r++)a[r]=arguments[r];Zl.call.apply(Zl,[this,e,t].concat(a))}}function eu(e,t,n){var a=function(e,t){var n=e[Ql]=e[Ql]||{},a=n[t]=n[t]||{};return a.locks=a.locks||0,a.methods=a.methods||[],a}(e,t);a.methods.indexOf(n)<0&&a.methods.push(n);var r=Object.getOwnPropertyDescriptor(e,t);if(!r||!r[Jl]){var o=e[t],i=tu(e,t,r?r.enumerable:void 0,a,o);Object.defineProperty(e,t,i)}}function tu(e,t,n,a,r){var o,i=Xl(r,a);return(o={})[Jl]=!0,o.get=function(){return i},o.set=function(r){if(this===e)i=Xl(r,a);else{var o=tu(this,t,n,a,r);Object.defineProperty(this,t,o)}},o.configurable=!0,o.enumerable=n,o}var nu=Symbol("ObserverAdministration"),au=Symbol("isMobXReactObserver");function ru(e){var t;return null!=(t=e[nu])?t:e[nu]={reaction:null,mounted:!1,reactionInvalidatedBeforeMount:!1,forceUpdate:null,name:ou(e.constructor),state:void 0,props:void 0,context:void 0}}function ou(e){return e.displayName||e.name||"<component>"}function iu(e){var t=e.bind(this),n=ru(this);return function(){n.reaction||(n.reaction=function(e){return new Ys(e.name+".render()",function(){if(e.mounted)try{null==e.forceUpdate||e.forceUpdate()}catch(n){var t;null==(t=e.reaction)||t.dispose(),e.reaction=null}else e.reactionInvalidatedBeforeMount=!0})}(n),n.mounted||Bl.register(this,n,this));var e=void 0,a=void 0;if(n.reaction.track(function(){try{a=function(e,t){var n=bs(e);try{return t()}finally{ks(n)}}(!1,t)}catch(t){e=t}}),e)throw e;return a}}function su(e,t){return this.state!==t||!function(e,t){if(Gl(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),a=Object.keys(t);if(n.length!==a.length)return!1;for(var r=0;r<n.length;r++)if(!Object.hasOwnProperty.call(t,n[r])||!Gl(e[n[r]],t[n[r]]))return!1;return!0}(this.props,e)}function cu(e,t){if(t&&"class"!==t.kind)throw new Error("The @observer decorator can be used on classes only");return!0===e.isMobxInjector&&console.warn("Mobx observer: You are trying to use `observer` on a component that already has `inject`. Please apply `observer` before applying `inject`"),Object.prototype.isPrototypeOf.call(On.Component,e)||Object.prototype.isPrototypeOf.call(On.PureComponent,e)?function(e){var t=e.prototype;if(e[au]){var n=ou(e);throw new Error("The provided component class ("+n+") has already been declared as an observer component.")}if(e[au]=!0,t.componentWillReact)throw new Error("The componentWillReact life-cycle event is no longer supported");if(e.__proto__!==On.PureComponent)if(t.shouldComponentUpdate){if(t.shouldComponentUpdate!==su)throw new Error("It is not allowed to use shouldComponentUpdate in observer based components.")}else t.shouldComponentUpdate=su;var a=t.render;if("function"!=typeof a){var r=ou(e);throw new Error("[mobx-react] class component ("+r+") is missing `render` method.\n`observer` requires `render` being a function defined on prototype.\n`render = () => {}` or `render = function() {}` is not supported.")}t.render=function(){return Object.defineProperty(this,"render",{configurable:!1,writable:!1,value:iu.call(this,a)}),this.render()};var o=t.componentDidMount;return t.componentDidMount=function(){var e=this,t=ru(this);return t.mounted=!0,Bl.unregister(this),t.forceUpdate=function(){return e.forceUpdate()},t.reaction&&!t.reactionInvalidatedBeforeMount||t.forceUpdate(),null==o?void 0:o.apply(this,arguments)},eu(t,"componentWillUnmount",function(){var e,t=ru(this);null==(e=t.reaction)||e.dispose(),t.reaction=null,t.forceUpdate=null,t.mounted=!1,t.reactionInvalidatedBeforeMount=!1}),e}(e):Yl(e)}if(On.version.split(".")[0],!On.Component)throw new Error("mobx-react requires React to be available");if(!cs)throw new Error("mobx-react requires mobx to be available");const lu=new class{offersById=new Map;constructor(){this.clear=this.clear.bind(this),this.initializeOfferById=this.initializeOfferById.bind(this),this.updateOfferDirectoInfo=this.updateOfferDirectoInfo.bind(this),this.updateOfferDisplayPrices=this.updateOfferDisplayPrices.bind(this),this.updateOfferAlternativeOffers=this.updateOfferAlternativeOffers.bind(this),this.updateOfferListingPrice=this.updateOfferListingPrice.bind(this),Lc(this,{offersById:cs,clear:ic,initializeOfferById:ic,updateOfferDirectoInfo:ic,updateOfferDisplayPrices:ic,updateOfferAlternativeOffers:ic,updateOfferListingPrice:ic})}clear(){this.offersById.clear()}initializeOfferById(e){this.offersById.has(e)||this.offersById.set(e,{directoInfo:{type:"loading"},displayPrices:{type:"loading"},listingPrice:{type:"loading"},alternativeOffers:{type:"loading"}})}updateOfferDirectoInfo(e,t){const n=this.offersById.get(e);if(!n)throw new Error(`Offer ${e} not initialized`);this.offersById.set(e,{...n,directoInfo:t})}updateOfferDisplayPrices(e,t){const n=this.offersById.get(e);if(!n)throw new Error(`Offer ${e} not initialized`);this.offersById.set(e,{...n,displayPrices:t})}updateOfferAlternativeOffers(e,t){const n=this.offersById.get(e);if(!n)throw new Error(`Offer ${e} not initialized`);this.offersById.set(e,{...n,alternativeOffers:t})}updateOfferListingPrice(e,t){const n=this.offersById.get(e);if(!n)throw new Error(`Offer ${e} not initialized`);this.offersById.set(e,{...n,listingPrice:t})}};function uu(e,t){return"loading"===e.type||"error"===e.type?t:e.data}function du(e,t){return"error"===e.type?t:e.data}function pu(e){return{type:"loaded",data:e}}function hu(e){return{type:"error"}}const mu=({icon:e,text:t,check:n})=>(0,zn.jsxs)("div",{className:"directo_popover__bullet-point "+(n?"":"directo_popover__bullet-text-disabled"),children:[e,(0,zn.jsx)("span",{className:"directo_popover__bullet-text",children:t}),n&&(0,zn.jsx)("span",{className:"directo_popover__bullet-check",children:"✓"})]}),fu=cu(({item:e})=>{const t=uu(lu.offersById.get(e.source_id)?.displayPrices??pu(null),null),n=!!e.discount||!!t?.thereIsDiscount,a=!!e.coupon,r=e.score&&e.score>50?Math.ceil((e.score||0)/10):0,o=[{icon:(0,zn.jsx)(So,{style:{height:16,width:16}}),text:Cn("secondary_cta.popover.coupon.text_checked"),check:a,hide:!a},{icon:(0,zn.jsx)(xo,{style:{height:16,width:16}}),text:n?Cn("secondary_cta.popover.discount.text_checked",{discount:e.discount}):Cn("secondary_cta.popover.discount.text_unchecked"),check:n},{icon:(0,zn.jsx)(wo,{style:{height:16,width:16}}),text:r?Cn("secondary_cta.popover.feedback.text_checked",{positiveFeedback:r}):Cn("secondary_cta.popover.feedback.text_unchecked"),check:!!r}];return!Tr(e.directo_url)&&o.unshift({icon:(0,zn.jsx)(Co,{style:{height:16,width:16}}),text:Cn("secondary_cta.popover.support_hotel"),check:!0}),(0,zn.jsx)("div",{className:"directo_popover__bullet-points",children:(i=o,s="check",c="desc",null==i?[]:(Ae(s)||(s=null==s?[]:[s]),Ae(c=l?void 0:c)||(c=null==c?[]:[c]),go(i,s,c))).map((e,t)=>!e.hide&&(0,zn.jsx)(mu,{...e},t))});var i,s,c,l}),gu=({item:e})=>{const t=e.directo_url?_n(e.directo_url):"";return(0,zn.jsxs)(zn.Fragment,{children:[(0,zn.jsxs)("div",{className:"directo_popover__header",children:[(0,zn.jsxs)("div",{className:"directo_popover__header-text",children:[Cn("secondary_cta.popover.header.text")," ",(0,zn.jsx)(vo,{className:"directo_popover__directo-logo"}),"irecto"]}),(0,zn.jsx)("div",{className:"directo_popover__domain",children:(0,zn.jsx)("span",{className:"directo_popover__domain-text",children:t})})]}),(0,zn.jsx)(fu,{item:e})]})},yu={USD:1,EUR:.92,GBP:.79,CAD:1.35,AUD:1.54,CHF:.89,JPY:149.5,NOK:10.8,SEK:10.7,DKK:6.9,PLN:4.1,BRL:5,INR:83.2,ARS:350,CLP:880,COP:4100,MXN:17.5,PEN:3.8,UYU:39.5};function bu(e){return yu[e]||1}function ku(e){try{return!!(e.displayedDirectoPrice&&e.displayedOtaPrice&&e.thereIsDiscount&&e.displayedCurrency)&&(t=e.displayedOtaPrice,n=e.displayedDirectoPrice,Math.round((t-n)/((t+n)/2)*100)>=2)}catch(e){return!1}var t,n}function vu(e,t){return e.toLocaleString(Yt(),{style:"currency",currency:t,currencyDisplay:"symbol",minimumFractionDigits:0})}function wu(e){if(Number.isNaN(e.otaTotalPrice)||Number.isNaN(e.directoPrice)||e.otaTotalPrice<=0||e.directoPrice<=0)return null;const t=e.directoIsNightly?e.lengthOfStay?e.directoPrice*e.lengthOfStay:null:e.directoPrice;if(null===t)return null;const{price1:n,price2:a}=function(e,t,n,a,r){const o=e/bu(t),i=n/bu(a),s=bu(r);return{price1:o*s,price2:i*s,currency:r}}(e.otaTotalPrice,e.otaCurrency,t,e.directoCurrency,e.displayCurrency),r=Ya(n),o=Ya(a),i=Math.max(r-o,0),s=i>0;return{displayedOtaPrice:r,displayedDirectoPrice:o,displayedPriceDifference:i,displayedCurrency:e.displayCurrency,thereIsDiscount:s}}const _u=Date.now(),ju=function(){let e="";let t=0;for(;t<14;)e+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".charAt(Math.floor(62*Math.random())),t+=1;return e}();async function xu(){const{hostname:e}=new URL(window.location.href);return{engagement_time_msec:""+(Date.now()-_u),session_id:ju,user_id_dimension:await Ha(),platform:(Zn(window.location.href)||e).toLowerCase(),page_location:window.location.href,page_title:window.document.title,page_referrer:window.document.referrer,language:window.navigator.language,screen_resolution:`${window.screen.availHeight}x${window.screen.availWidth}`}}async function Cu(){return{user_id:await Ha(),client_id:"GTM-PQTC3VG"}}async function Su(e){return{events:e,...await Cu()}}async function zu(e,t={}){return{name:e,params:{...await xu(),...t}}}function Eu(e){if(e.status>=200&&e.status<300)return e;throw new Error(e.statusText)}function Ou(e,t){const n=function(e){const t=new URL(`https://www.google-analytics.com${e}`);return Object.entries({api_secret:"GE9ObhGLSdmUus1uyoSEaw",measurement_id:"G-KXK74ZXW09"}).forEach(([e,n])=>{if(Array.isArray(n)&&n.length)return n.forEach(n=>t.searchParams.append(e,n));t.searchParams.append(e,n)}),t}(e);return fetch(n.toString(),{body:JSON.stringify(t),method:"POST"}).then(Eu).catch(console.error)}const Au=(e="/mp/collect")=>({async pageView(t,n={}){const a=await zu("page_view",{page_location:t,...n}),r=await Su([a]);return Ou(e,r)},async event(t,n={}){const a=await zu(t,n),r=await Su([a]);return Ou(e,r)},async exception(t={}){const n=await zu("exception",t),a=await Su([n]);return Ou(e,a)}}),Pu=Au(),Iu="click_out_ext_secondary";function Nu({className:e,displayPrices:t,item:n,cta:a}){const r=t&&!!t.displayedDirectoPrice&&!!t.displayedOtaPrice&&ku(t),o=r?Cn("secondary_cta.save",{price:vu(t.displayedPriceDifference,t.displayedCurrency)}):function(e){const t=e.directo_url?_n(e.directo_url):"";return e.discount?"reservation.barcelo.com"===t?Cn("secondary_cta.book_with_discount_barcelo"):Cn("secondary_cta.book_with_discount",{discount:e.discount}):Cn("secondary_cta.compare_price")}(n),i=r||n.discount;return(0,zn.jsxs)("button",{onClick:e=>{const t=Lr(n.directo_url);Pu.event(Iu,{outbound_url:t}),Ob.navigateToDirectLink(t,a,{parametrised:n.stay_parametrised,sourceId:n.source_id,coupon:n.coupon,verified:n.verified,discount:n.discount,stayParams:n.stayParams}),e.stopPropagation()},className:Pa(e,i?"directo-cta-button-shine":"directo-cta-button-dark"),disabled:!n.directo_url,children:[i?(0,zn.jsx)(ko,{}):(0,zn.jsx)(bo,{}),o,(0,zn.jsx)(_o,{})]})}const Lu="\n.directo-cta-button-shine:hover {\n background-color: #edb602;\n}\n\n.directo-cta-button-shine {\n white-space: nowrap;\n font-weight: 600;\n width: 100%;\n min-height: 36px;\n cursor: pointer;\n border-width: 1px;\n border-color: rgb(0 0 0 / 0.1);\n border-radius: 4px;\n padding: 4px 12px;\n background-color: #FDC307;\n display: flex;\n gap: 0.5rem;\n justify-content: space-between;\n align-items: center;\n color: #000141;\n position: relative;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n.directo-cta-button-shine {\n overflow: hidden;\n}\n\n.directo-cta-button-shine::before {\n background: linear-gradient(to right, rgba(216, 182, 182, 0) 0%, #ffffffbe);\n content: '';\n display: block;\n height: 100%;\n left: -75%;\n position: absolute;\n top: 0;\n transform: skewX(-25deg);\n width: 50%;\n z-index: 2;\n -webkit-animation: shine 2s ease-in-out infinite;\n animation: shine 2s ease-in-out infinite;\n}\n\n@keyframes shine {\n 100% {\n left: 125%;\n }\n}\n\n.directo-cta-button-dark {\n white-space: nowrap;\n font-weight: 600;\n width: 100%;\n min-height: 36px;\n cursor: pointer;\n border-width: 1px;\n border-color: rgb(0 0 0 / 0.1);\n border-radius: 4px;\n padding: 4px 12px;\n background-color: #000141;\n display: flex;\n gap: 0.5rem;\n justify-content: space-between;\n align-items: center;\n color: #ffffff;\n position: relative;\n}\n",Tu="\n.secondary-button {\n position: relative;\n width: 100%;\n border: none;\n outline: none;\n color: white;\n cursor: pointer;\n border-radius: 5px;\n font-size: 14px;\n font-weight: bold;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n}\n\n.secondary-button:before{\n position: absolute;\n content: '';\n top: -2px;\n left: -2px;\n height: calc(100% + 4px);\n width: calc(100% + 4px);\n border-radius: 5px;\n z-index: -1;\n opacity: 1;\n filter: blur(5px);\n background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000);\n background-size: 400%;\n transition: opacity 1s ease-in-out;\n animation: animate 20s linear infinite;\n z-index: 1;\n}\n\n.secondary-button:hover:before{\n opacity: 1;\n}\n\n.secondary-button:hover:active{\n background: none;\n}\n\n.secondary-button:hover:active:before{\n filter: blur(2px);\n}\n\n@keyframes animate {\n 0% { background-position: 0 0; }\n 50% { background-position: 400% 0; }\n 100% { background-position: 0 0; }\n}\n\n.secondary-button-span {\n z-index: 2;\n position: relative;\n display: flex;\n align-items: center;\n gap: 6px;\n /*background: radial-gradient(85.26% 304.19% at 109.77% -9.38%, #1E40AF 0%, #172554 100%);*/\n background: rgba(0,0,0,.5);\n padding: 8px 12px;\n width: 100%;\n border-radius: 4px;\n justify-content: center;\n transition: background .2s ease-in-out;\n white-space: nowrap;\n}\n\n.secondary-button-span:hover {\n background: rgba(0, 0, 0, .8);\n}\n\n.secondary-button-container {\n padding: 4px;\n background: rgba(0,0,0,.5);\n border-radius: 8px;\n width: 100%;\n}\n";function Du(e){return(0,zn.jsxs)("div",{className:"popover","data-direction":"top",children:[(0,zn.jsx)("div",{className:"popover__trigger",children:e.children}),(0,zn.jsx)("div",{className:"popover__content",children:e.popover})]})}const Ru="\n.popover {\n position: relative;\n z-index: auto;\n}\n\n.popover__content {\n position: absolute;\n min-width: 130px;\n // width: 362px;\n width: 300px;\n text-align: left;\n display: flex;\n padding: 1rem; /* p-4 */\n visibility: hidden;\n overflow: hidden;\n opacity: 0;\n background: white;\n transition: all 0.25s cubic-bezier(0, 0, 0.2, 1);\n color: #0f172a;\n border-radius: 0.5rem; /* Tailwind rounded-lg */\n font-weight: 500;\n box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1),\n 0 4px 6px -2px rgba(0, 0, 0, 0.05);\n z-index: 999999999;\n flex-direction: column;\n gap: 0.5rem; /* gap-2 */\n align-items: flex-start;\n background-color: #ffffff;\n\n /* Needed to prevent some element (like images) inside popover breaking mouse interactions,\n since they are only visually hidden but still present and breaking hover, clicks, etc. */\n pointer-events: none;\n}\n\n.popover__trigger {\n cursor: pointer;\n z-index: 5;\n}\n\n.popover[data-direction=top] .popover__trigger:hover ~ .popover__content {\n transform: translate3d(-50%, 0, 0);\n visibility: visible;\n opacity: 1;\n}\n.popover[data-direction=top] .popover__content {\n bottom: calc(100% + .5rem);\n left: 50%;\n transform: translate3d(-50%, -15px, 0);\n}\n.popover[data-direction=top] .popover__content:after {\n bottom: -0.5em;\n left: 50%;\n transform: translate3d(-50%, 0, 0);\n border-width: 0 0.5em 0.5em 0.5em;\n border-color: transparent transparent white transparent;\n filter: drop-shadow(1px -1px 1px #bcbcbc);\n}\n",Mu="\n.directo_popover__directo-logo {\n width: 20px;\n height: 20px;\n margin-left: 2px;\n visibility: visible;\n opacity: 1;\n}\n\n/* Title */\n.directo_popover__title {\n font-size: 1.125rem; /* text-lg */\n line-height: 1.75rem; /* leading-7 */\n color: #000000;\n margin: 0;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n.directo_popover__title-text {\n font-weight: bold;\n}\n\n/* Domain / subtitle */\n.directo_popover__domain {\n font-size: 0.875rem; /* text-sm */\n line-height: 1.25rem; /* leading-5 */\n color: #4B5563; /* text-gray-600 */\n}\n\n.directo_popover__domain-text {\n font-weight: normal;\n}\n\n/* Bullet points */\n.directo_popover__bullet-points {\n display: flex;\n flex-direction: column;\n gap: 0.5rem; /* gap-2 */\n align-items: flex-start;\n width: 100%;\n position: relative;\n}\n\n.directo_popover__bullet-point {\n display: flex;\n align-items: center;\n gap: 0.5rem; /* gap-2 */\n width: 100%;\n position: relative;\n color: #000141;\n}\n\n.directo_popover__bullet-text-disabled {\n --tw-text-opacity: 1;\n color: rgb(100 116 139 / var(--tw-text-opacity));\n}\n\n.directo_popover__bullet-check {\n color: limegreen;\n font-size: 18px;\n font-weight: 700;\n}\n\n.directo_popover__header {\n width:100%;\n display: flex;\n flex-direction: column;\n}\n\n.directo_popover__header-text {\n align-items: center;\n display: inline;\n font-size: 20px;\n font-weight: bold;\n color: #000141;\n}\n",$u=cu(({item:e,cta:t})=>{const n=uu(lu.offersById.get(e.source_id)?.displayPrices??pu(null),null);return(0,zn.jsx)(Nu,{displayPrices:n??null,item:e,cta:t})}),Bu=async(e,t)=>{const n=document.createElement("div"),a=n.attachShadow({mode:"closed"}),r=document.createElement("style");r.innerHTML=[Tu,Lu,Ru,Mu].join("\n"),a.appendChild(r);const o=document.createElement("div");return a.appendChild(o),(0,En.H)(o).render((0,zn.jsx)(Du,{popover:(0,zn.jsx)(gu,{item:e}),children:(0,zn.jsx)($u,{item:e,cta:t})})),Object.assign(n,{$reactRoot:o})},Uu=({offer:{price:e,currency:t,providerName:n},providerSvgLogo:a,providerLogo:r,listingPrice:o,bestOffer:i,thereIsDiscount:s})=>{const c=null!==o?Ya(o.totalPrice)-e:null;return(0,zn.jsxs)(zn.Fragment,{children:[(0,zn.jsxs)("div",{className:"popover__header",children:[(0,zn.jsxs)("div",{className:"popover__header-text",children:[Cn(i&&s?"offers.best_offer":"offers.popover.header.text")," ",r?(0,zn.jsx)("img",{className:"popover__offer-provider-logo",src:r}):a]}),(0,zn.jsx)("div",{className:"popover__domain",children:(0,zn.jsx)("span",{className:"popover__domain-text",children:n})})]}),(0,zn.jsx)("span",{style:{color:s?"green":"auto",fontSize:s?"20px":"16px"},children:s&&null!==c?Cn("offers.save",{price:vu(Math.round(c),t)}):Cn("offers.no_discount",{provider:n})})]})},Fu="\n.offers-container {\n display: flex;\n gap: 10px;\n}\n.offers-container.offers-container-vertical {\n flex-direction: column;\n}\n.offers-container.offers-container-horizontal {\n flex-direction: row-reverse;\n}\n.secondary-button {\n position: relative;\n width: 100%;\n border: none;\n outline: none;\n color: white;\n cursor: pointer;\n border-radius: 5px;\n font-size: 14px;\n font-weight: bold;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n}\n.secondary-button:before{\n position: absolute;\n content: '';\n top: -2px;\n left: -2px;\n height: calc(100% + 4px);\n width: calc(100% + 4px);\n border-radius: 5px;\n z-index: -1;\n opacity: 1;\n filter: blur(5px);\n background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000);\n background-size: 400%;\n transition: opacity 1s ease-in-out;\n animation: animate 20s linear infinite;\n z-index: 1;\n}\n.secondary-button:hover:before{\n opacity: 1;\n}\n.secondary-button:hover:active{\n background: none;\n}\n.secondary-button:hover:active:before{\n filter: blur(2px);\n}\n@keyframes animate {\n 0% { background-position: 0 0; }\n 50% { background-position: 400% 0; }\n 100% { background-position: 0 0; }\n}\n.secondary-button-span {\n z-index: 2;\n position: relative;\n display: flex;\n align-items: center;\n gap: 6px;\n /*background: radial-gradient(85.26% 304.19% at 109.77% -9.38%, #1E40AF 0%, #172554 100%);*/\n background: rgba(0,0,0,.5);\n padding: 8px 12px;\n width: 100%;\n border-radius: 4px;\n justify-content: center;\n transition: background .2s ease-in-out;\n white-space: nowrap;\n}\n.secondary-button-span:hover {\n background: rgba(0, 0, 0, .8);\n}\n.secondary-button-container {\n padding: 4px;\n background: rgba(0,0,0,.5);\n border-radius: 8px;\n width: 100%;\n}\n\n.directo-cta-button-light {\n box-shadow: 0 0 5px 1px rgba(253, 195, 7, 0.5);\n white-space: nowrap;\n font-weight: 600;\n width: 100%;\n min-height: 36px;\n cursor: pointer;\n border-width: 1px;\n border-color: rgb(0 0 0 / 0.1);\n border-radius: 4px;\n padding: 4px 12px;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n display: flex;\n gap: 0.5rem;\n justify-content: flex-end;\n align-items: center;\n color: #000141;\n position: relative;\n}\n\n.directo-cta-provider-logo {\n margin-right: auto;\n max-height: 2rem;\n max-width: 5rem;\n}\n\n.directo-cta-button-light-shadow-pulse {\n animation: pulse-shadow 2s infinite ease-in-out;\n background-color: #edb602;\n}\n\n@keyframes pulse-shadow {\n 0% {\n box-shadow: 0 0 10px 2px rgba(253, 195, 7, 0.5);\n }\n 50% {\n box-shadow: 0 0 20px 10px rgba(253, 195, 7, 0.7);\n }\n 100% {\n box-shadow: 0 0 10px 2px rgba(253, 195, 7, 0.5);\n }\n}\n\n/* Title */\n.popover__title {\n font-size: 1.125rem; /* text-lg */\n line-height: 1.75rem; /* leading-7 */\n color: #000000;\n margin: 0;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n.popover__title-text {\n font-weight: bold;\n}\n\n/* Domain / subtitle */\n.popover__domain {\n font-size: 0.875rem; /* text-sm */\n line-height: 1.25rem; /* leading-5 */\n color: #4B5563; /* text-gray-600 */\n}\n\n.popover__domain-text {\n font-weight: normal;\n}\n\n/* Bullet points */\n.popover__bullet-points {\n display: flex;\n flex-direction: column;\n gap: 0.5rem; /* gap-2 */\n align-items: flex-start;\n width: 100%;\n position: relative;\n}\n\n.popover__bullet-point {\n display: flex;\n align-items: center;\n gap: 0.5rem; /* gap-2 */\n width: 100%;\n position: relative;\n color: #000141;\n}\n\n.popover__bullet-text-disabled {\n --tw-text-opacity: 1;\n color: rgb(100 116 139 / var(--tw-text-opacity));\n}\n\n.popover__bullet-check {\n color: limegreen;\n font-size: 18px;\n font-weight: 700;\n}\n\n.popover__header {\n width:100%;\n display: flex;\n flex-direction: column;\n}\n.popover__header-text {\n align-items: center;\n display: inline;\n font-size: 20px;\n font-weight: bold;\n color: #000141;\n}\n\n.popover__header-text img {\n max-height: 2rem;\n max-width: 5rem;\n margin-left: 8px;\n}\n.popover__offer-provider-logo {\n margin-left: 6px;\n visibility: visible;\n opacity: 1;\n transform: scale(1.2) translateY(4px);\n}\n\n/* Title */\n.popover__title {\n font-size: 1.125rem; /* text-lg */\n line-height: 1.75rem; /* leading-7 */\n color: #000000;\n margin: 0;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n.popover__title-text {\n font-weight: bold;\n}\n\n.dr-floating-coupon-icon {\n position: absolute;\n top: -16px;\n left: -16px;\n box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n border-radius: 99px;\n font-size: 12px;\n z-index: 99;\n}\n\n/* Skeleton Loader Styles */\n.skeleton-button {\n position: relative;\n width: 100%;\n height: 36px;\n background: linear-gradient(90deg, #e0e0e0 25%, #f0f0f0 50%, #e0e0e0 75%);\n background-size: 200% 100%;\n border-radius: 4px;\n overflow: hidden;\n animation: skeleton-loading 1.5s ease-in-out infinite;\n}\n\n.skeleton-shine {\n position: absolute;\n top: 0;\n left: -100%;\n width: 100%;\n height: 100%;\n background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.5), transparent);\n animation: skeleton-shine 1.5s ease-in-out infinite;\n}\n\n@keyframes skeleton-loading {\n 0% {\n background-position: 200% 0;\n }\n 100% {\n background-position: -200% 0;\n }\n}\n\n@keyframes skeleton-shine {\n 0% {\n left: -100%;\n }\n 100% {\n left: 100%;\n }\n}\n\n/* Empty State Styles */\n.empty-state-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 16px;\n}\n\n.empty-state-content {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 12px;\n text-align: center;\n max-width: 320px;\n}\n\n.empty-state-title {\n font-size: 16px;\n font-weight: 600;\n margin: 0;\n line-height: 1.2;\n}\n.empty-state-icon {\n width: 24px\n}\n",Vu="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAtCAYAAADV2ImkAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAwaSURBVHgB7Vl5jFXVGf+du7335s3K7AgCioqQWhWVtpg4iq0akVBbjEUtRdtKamrb1MZKY2KUWv9oTVWUaCqgSBFwSbS1LlSpaCUhpiLrFBiwDsww896bmbfe/fT77r0PBpkFXP5o6pmc3Pvucs7v/L7ft5w7wJftC21Cwf9Y0/A5N/m39yb6W7YsRKFYsKZfuLriulkH8Tk2gc/Q5PMvXSg/3L0EBdMRp076jXnJhdnYaxvfREfnRJgW4Kp7xFUXz3ATxjnq5u13oncgJqrGLBIP/2wPPl0Tn4VhIdv3rMPh1ERAgdzXcWUs29+Lw70tUDwgTlxY7hlyR/su1fWakRoASiXI/tyfpJRtQgiJk2/ypBiW27dX4oNd30B/wbSnThqnP/fyM/A8gVgMULVoOBl2Sd2n34QdPnXXAWzqA7b02mbO1CqScfejLk377a0bTgK8OCnA3tInnhS7P1oYAGuq85FJqeC5FPZdJRwuwCuPHgPAhNjnczradNSTPhRNoCcLYRgPiHVLFp8ohhMGLB98MCG3bCugZoyATmwqKvWIGDm4DwLrl18WR5/jax6d2LSSfBFeuj+lbVrdJEIoozE9eliTMhhDuf2xx3ykMllIN5zVi0zME7tRd+ie7UbX6ei64TU36p4XLqSM3HdgF/q6L4VQEZhoVAJH1bC45557xOzW1jHTEk3XxnZsfQCZTF34KnWNmE6QfqurANMEsiVyNAIr/YhdEcpFi+Ti+iG7PC1JRDoeqcRIuadN/Gl2xnlvtlw7M00E+SNoelQNK4dXrpzUsCe9Ab3picLK0UR2eEfXgbMmAQu/DzTUEzQC8K8PgRXPkmMVQibZgKc0AYsWQFZVw7zvD4j3ZELA1INHhE6PJWnA2L72OmXG2Y8u7sNRMR0HeKSwxosRta++M1/05ydCJ6sZ1FUlZK21Abj1FjJmDOmVa1Bx9hTELzgX/pwBCPotfHpGF/CvmgXUNyL19Bq477yL+rHjaa0xBKGQDeW7EG4B0vRPb0r736ZLK6K5h2RZGQWwYn2wvRvpbjJ5PgxNjhPq8YLzAWKt65FlOPTA/dh1y80w+/rhTJtGlmeze/DPmABx0XTkOw8hu3YdsSlg9Q2Q/G2SgwNJWvdKBdh9PSh270X/wfZunpNliKH1LJXhmG1ra+N76n1m98uO7XwcarDsYDRZU0MgVberG1WxClQrGuz+fngxA6ZtwW+ohvjxApSyBWSWPYFYoQSFxmCwTqEI1yrBJbB8dGi8kuJsPX37O29PnjxZ2bhx47BEDnWDTSFyuRwDV5VvzTGUtkuKwaMcT70QtGSmSIT65NNgGHEkTxmLWGsLrM6DyB06CGf2FbDiFci8+jr8tzdBIz2zK/kkAddksBTS7BJ1k+RMeh475WOaT9+7d69GgIfzrSCcHHdx3rx5yoYNG9RXHn587K3VzX9V2jvOBrERZjAEDlVq3w3/sktR8fWLYEw9C5Xzr4efTCKz6s+wcllU/eJ25A91YWDJ/YhR6FM469F7LAtBppEsGVq8T+zyMaYaZ/7q4jln9JxW/xdbUVyyMHbu3Dmk+Y+lV9J6RbAQfaBtzneqLLEKMSVIEoGA2PODMsFCpqURFb/8OWLjx8PL5ZBa/wIyzz6L8WueAerqkXloKfDKq1CMGJRkJfRCAYYMS8QgURBw3w9DHfFPkU5Bp+fPmr7z7X/SIw5h8cQnAtlxUUJETzQ3Nyv5dF8uqRBSUSFghNmtnI9U1UBs915kbvoB/HiMTOvShBI1ty2CaGnBwN//gYHXX0Pjr+9A9RXfpEyswuvPwlz7PPw1a6HJMCn5nku4iXFyZBrD74nJ0rhx40RnZ2cZyzHRYkhxT506VTl8+LCYsm3Tu3vSvUvNfC4YnJ0syLxkAIWcLJGsQW1FHWqUODleEuqESai5YT6sdB/SD/8RFTcvQMXll6GfNNx+/+8opzhQbroBhfFj4RBQj+Tg0tGmY94q4oDqLrlu97Z/E9ggQkVZFiMB5swWaKehoUGQJrXzOnc+6NZUbZFBamDAYcDnVxXdoCLNACvIIwar7r6TnKmE/tWrIShiJGdfjVIqjb133Qlz3VrsX7kcNqVj67zzKaM7cNgBGThpOKOqL13Z2bE8F2JSpk+ffsTaw0pCRgJm4KlUKjje+72bJlQbTV/x9+8jk4egy44X0ECJhBeg33wjjDPPQuatjXDXPwdjTB0EOWHx40OIUz2RoPKz2NUVJFe3MgnTtaEzCVEl19Q6eeblKmrfOnjALJDWS6XSkLF4SIa51dXVBQ8vyhtfox1EnN0i0BxNwLrzHCc40i94zQ2Iz50LO5tHbumjiHMZSU4oKXQZLc1wyAEtWmzlOV9lO6O048Mg9jqk20AaxLTX1VH/IxmbwWAZB1uZsAQcDgu4XHRQ8EZfX1/AZfHAXsfJZeBSvHQp6LuORedWED+9YEIbxl13kGmpPH5qJeLd3QhCTLGI9LJlUJMVmPjUCox7+ilMuPEGlDo64G5+j97zYNG7DNoi8MVSTg4U+0oRq4IwHCHvGIw4vin0MAdwTviJec3jmh6qablXg5yrV1ZBcE1xpAyWKE45He7130XhwEewn1yOBGc0cGHmIaeSycnJai6bBT2eQH7XDvQ8shQVlFw0hHHZp4XarufkdfWFa1Ndiy3LYoq506aQc1NQvY0ImK+xthlwBfVkDDHj6pam6sebxr+oqtopLIMgatAfs9RfLATllU5hT1XCUpx17VJyKJBFssSiSxc0mlinzsFRRIU+KXXrbZmeH+4vFvNKPF4yTZPBlsjp7Pfff7+8wRpaEuUFsIci5DF4wYKlbc6m3YQeb2YkHunOJQ07XMTTUwmKFnFyKoXf9kOdEzGU3WjVVBDWqjp1CoOUdNSgLiLde36Q4VTHb2ovFl3K7yxJv7q6mgH6BLZc6WMkwCxyVFVVlTczfgTarU8kSm4u77oWadkOwfLR5ULICwGGQKgop1rDdcOQ5ZM0OBL4XLD7IVCWC4c0h57zpJePMdFCeBQZ/Gw262OErdKQ9XBjY2OwOooUPjkf74ncbel0cptR9+hYXf+JKb0iwfSTRqxRkE4ZlMes0p8vQ7kEsxJITzJAAsrRhGXCzum7HboUtUJ6Slpoy6VhGHaoXTciSA4HeriqKCgtEeo4Ti1J2kog1DRfVxc0n5JcnKh6Q1EU4RBgm5nlVChEBDyUhsPscs0QmEvClMK53S217ctk/EEAi9zJsiWqEvncwdEPBMe046o1GVZUQWghswoyER+V8iJ0XVcJiLa1kJPzE5XnKq7XyoDz8A71eM7WuO+fytz45HAlMnlKyA2m4ySE71dxKOuB//KKTGozjeOrquppmkZr9cxkMmnl83mLIpSTyWTKLI/O8NFkF0YLkofR29tbjhjMcjzq6tW1DfG5mnGJpwv397mBTZ2mKVc3jr271rYvJ+XiP6qyalGm94mLkkljtqJdQNvU6qdLhTcOmPwdK2DXjsViJbJSkRZQInJMcniHo0OUdeWogD9xj1kth7hYBDgRnRvRvfL2XCG22BpYWFd/aj+F6Bf70ym6Vp7Up3s+M+tQY9kSIO6kNpMTBq0HFtXi3rRp0yRnuaFYHmkTOugDQsCGUllZKchswNHooSPSdAQ8iDqrcgP7GTiDpWN5DBmN4xFYx7ZtZpm34OaYMWMskgHfkyOBLbM4NNpQGnIQGK22tjZGetMIRJxCkBEB1gYDJgYFERiMS+e013QGh0gG5ZAT28SqQ05mkZOxgwVOxuyuX79+xLB2Ip+qAgckbamkLS0CqZOTaFSoBLIgHQYOSWlVIfYCiRCDMnrXp/se3WOLeIlEgirQkh2xW44G5Ygw+KPXkO2EPlWxA1xzzTUe7bN4Aqu1tbVEYFl3HDvzZPoCeTxrJU9Ag873iMk8AcwT2OA3SapAC+J3OHRZtFFwaMxAJlwzjAb2ZFvZCYNijMJP4IQURSrpSN+qUFtTU8Ofseqj3hAdx1Dn69XUk7RYjjb8rk4SUHGSH9U/zRf4wd8tEG3JVVqApAqvHDHK40ran0na8ki+TwvyOe1zJo20GjyDL7pFRXWZ8TLrWrmTqY84JC1Mi5hUBzH6qf9V8Zn+xzF4nEEZ8pNNDnP+Zfuy/V+2/wLQlMJlaj4ozgAAAABJRU5ErkJggg==",Hu=({className:e,count:t})=>(0,zn.jsx)(zn.Fragment,{children:Array(t).fill(null).map((t,n)=>(0,zn.jsx)("div",{className:Pa(e,"skeleton-button"),children:(0,zn.jsx)("div",{className:"skeleton-shine"})},n))}),Ku=()=>(0,zn.jsx)("div",{className:"empty-state-container",children:(0,zn.jsxs)("div",{className:"empty-state-content",children:[(0,zn.jsx)(vo,{className:"empty-state-icon"}),(0,zn.jsx)("h3",{className:"empty-state-title",children:Cn("offers.empty")})]})});function qu(e){return e.rate.base+(e.rate.taxes||0)+(e.rate.hotelFees||0)}function Yu(e){return"offer"===e.type?qu(e.offer):e.displayPrices?e.displayPrices.displayedDirectoPrice:1/0}function Wu(e,t){return Yu(e)-Yu(t)}const Gu=new Map([["BOOKING",new Set(["Booking"])],["EXPEDIA",new Set(["Expedia"])]]);const Qu=Au(),Ju=({className:e,providerLogo:t,providerSvgLogo:n,bestOffer:a,onClick:r,price:o,currency:i})=>(0,zn.jsxs)("button",{onClick:r,className:Pa(e,"directo-cta-button-light",a&&"directo-cta-button-light-shadow-pulse"),children:[a&&(0,zn.jsx)("div",{className:"dr-floating-coupon-icon",children:(0,zn.jsx)("img",{src:Vu,alt:"Directo",style:{width:"40px",height:"40px"}})}),t?(0,zn.jsx)("img",{className:"directo-cta-provider-logo",src:t}):n,(0,zn.jsx)("span",{style:{fontSize:"20px"},children:vu(Math.floor(o),i)}),(0,zn.jsx)(_o,{})]});function Zu({offer:e,listingPrice:t,index:n,ctaPrefix:a}){const r=null!==t&&function(e,t){if(e.currency!==t.currency)return!1;const n=qu(e);return t.totalPrice/100-n>0}(e,t),o=0===n&&r,i=qu(e),s=e.currency,c=`${a}_${e.provider.name.replace(".","_").toUpperCase()}`,l=e.provider.logoUrl;return(0,zn.jsx)(Du,{popover:(0,zn.jsx)(Uu,{offer:{price:i,currency:s,providerName:e.provider.name},providerLogo:l,listingPrice:t,bestOffer:o,thereIsDiscount:r}),children:(0,zn.jsx)(Ju,{className:"offers-item",providerLogo:l,bestOffer:o,price:i,currency:s,onClick:async t=>{E.openOutclickTab({cta:c,sourceUrl:window.location.href,targetUrl:e.url,sourceId:e.source_id,stayParams:e.stayParams,redirectEngineParams:null}),t&&t.stopPropagation()}})})}function Xu({item:e,displayPrices:t,listingPrice:n,cta:a,index:r}){if(!t)return(0,zn.jsx)(Du,{popover:(0,zn.jsx)(gu,{item:e}),children:(0,zn.jsx)(Nu,{className:"offers-item",item:e,displayPrices:t,cta:a})});const o=0===r&&!!t.thereIsDiscount;return(0,zn.jsx)(Du,{popover:(0,zn.jsx)(Uu,{offer:{price:t.displayedDirectoPrice,currency:t.displayedCurrency,providerName:"Directo"},providerSvgLogo:(0,zn.jsx)(Eo,{style:{verticalAlign:"-0.15rem",maxHeight:"1.5rem",width:"80px"}}),listingPrice:n,bestOffer:o,thereIsDiscount:t.thereIsDiscount}),children:(0,zn.jsx)(Ju,{className:"offers-item",onClick:t=>{const n=Lr(e.directo_url);Qu.event(Iu,{outbound_url:n}),Ob.navigateToDirectLink(n,a,{parametrised:e.stay_parametrised,sourceId:e.source_id,coupon:e.coupon,verified:e.verified,discount:e.discount,stayParams:e.stayParams}),t&&t.stopPropagation()},price:t.displayedDirectoPrice,currency:t.displayedCurrency,bestOffer:o,providerSvgLogo:(0,zn.jsx)(Eo,{style:{maxHeight:"1.25rem",marginRight:"auto",marginTop:"-3px"},monochromatic:o})})})}const ed=({children:e,isVertical:t})=>(0,zn.jsx)("div",{className:Pa("offers-container",t?"offers-container-vertical":"offers-container-horizontal"),children:e}),td=cu(({sourceId:t,options:n,platform:a})=>{const r=lu.offersById.get(t);if(!r)throw new Error("Offers data not found for sourceId: "+t);if("loading"===r.alternativeOffers.type||"loading"===r.listingPrice.type||"loading"===r.directoInfo.type)return n.hideLoadingSkeleton?null:(0,zn.jsx)(ed,{isVertical:n.vertical,children:(0,zn.jsx)(Hu,{count:n.loadingItems})});const{alternativeOffers:o,listingPrice:i,directoInfo:s,displayPrices:c}=r,l=du(o,[]),u=du(i,null);var d;const p=function(e,t,n,a,r){if(r<1)return[];const o=null!==t?{type:"directo",directoInfo:t,displayPrices:"loaded"===n.type?n.data:null}:null,i=e.filter(function(e){return t=>!Gu.get(e)?.has(t.provider.name)}(a)).map(e=>({type:"offer",offer:e})),s=i.toSorted(Wu);if(o){if(Tr(o.directoInfo.directo_url))return o.directoInfo.pricing?"loading"===n.type?[o,...r>1?Array(r-1).fill({type:"loading",count:1}):[]]:n.data&&ku(n.data)?[o]:r>1?[o,...s.slice(0,r-1)].sort(Wu):[o,...s].sort(Wu).slice(0,r):s.slice(0,r);if(s.length>0){if("loading"===n.type)return[...s.slice(0,r-1),{type:"loading",count:1}];const e=s[0]?Yu(s[0]):null,t=n.data?.displayedOtaPrice??null;return null!==e&&null!==t&&t>e?o.directoInfo.verified?[...s,o].sort(Wu).slice(0,r):s.slice(0,r):[...s,o].sort(Wu).slice(0,r)}return[o]}return s.slice(0,r)}(l,du(s,null),"error"===(d=c).type?{type:"loaded",data:null}:d,a,n.maxItems);return 0===p.length?n.hideEmptyState?null:(0,zn.jsx)(Ku,{}):(0,zn.jsx)(ed,{isVertical:n.vertical,children:p.map((t,a)=>{switch(t.type){case"directo":return(0,zn.jsx)(Xu,{index:a,item:t.directoInfo,displayPrices:t.displayPrices,listingPrice:u,cta:`${n.ctaPrefix}_DIRECTO`},a);case"offer":return(0,zn.jsx)(Zu,{offer:t.offer,listingPrice:u,index:a,ctaPrefix:n.ctaPrefix},a);case"loading":return n.hideLoadingSkeleton?null:(0,zn.jsx)(Hu,{count:t.count},a);default:e(t)}})})});class nd{renderedLabels={};renderedSecondaryCTAs={};insertedOfferComponents={};debouncedRenderMLs=null;platform=null;displayName=null}class ad extends nd{base=this.constructor;listingsInPage=new Set;rendererConfig;constructor(e){super(),this.rendererConfig=e}shouldActivate(e){throw new Error("Method not implemented.")}getLinkId(){if(!this.platform)throw new Error("Platform not set");return`${this.platform.substring(0,3)}${this.getItemId()}`}async getListingLoS(e){const t=await this.buildListingQueryParam("checkin",e),n=await this.buildListingQueryParam("checkout",e);return t&&n?function(e,t){const n=new Date(e),a=new Date(t),r=Math.ceil((a.getTime()-n.getTime())/864e5);return isNaN(r)||r<1?null:r}(t,n):null}async getPrice(e){if(!await this.getListingLoS(e))return null;const t=this.base.getSection(new URL(window.location.href));return"DETAIL"===t?await this.getDetailPrice():"LIST"===t?await this.getPriceFromList(e):"CHECKOUT"===t?await this.getCheckoutPrice(e):null}async getDestinationInUrl(){return null}async getHotelIdInDetail(){return null}async getHotelIdInCheckout(){return null}cleanRenderedLabel(e){this.renderedLabels[e]&&(this.renderedLabels[e].remove(),delete this.renderedLabels[e])}filterNewListingsInPage(e){const t=[];return e.forEach(e=>{this.listingsInPage.has(e)||t.push(e),this.listingsInPage.add(e)}),this.listingsInPage.forEach(t=>{e.find(e=>e===t)||this.listingsInPage.delete(t)}),t}cleanAllRenderedLabels(){Object.keys(this.renderedLabels).forEach(e=>{this.cleanRenderedLabel(e)}),Object.keys(this.renderedSecondaryCTAs).forEach(e=>{this.cleanRenderedSecondaryCTAs(e)}),Object.keys(this.insertedOfferComponents).forEach(e=>{this.cleanInsertedOfferComponent(e)}),this.listingsInPage.clear()}cleanRenderedSecondaryCTAs(e){this.renderedSecondaryCTAs[e]&&(this.renderedSecondaryCTAs[e].forEach(e=>e&&e.remove&&e.remove()),delete this.renderedSecondaryCTAs[e])}cleanInsertedOfferComponent(e){this.insertedOfferComponents[e]&&(this.insertedOfferComponents[e].remove(),delete this.insertedOfferComponents[e])}setRenderedSecondaryCTA(e,t){this.renderedSecondaryCTAs[e]||(this.renderedSecondaryCTAs[e]=new Set),this.renderedSecondaryCTAs[e].add(t)}setInsertedOfferComponent(e,t){this.insertedOfferComponents[e]=t}async insertSecondaryCTA(e,t,n,a,r=document.body){if(!1===this.rendererConfig.renderSecondaryCTAs)return null;const o=a||e.source_id,i=this.renderedSecondaryCTAs[o];if(i&&[...i].every(e=>e.isConnected))return null;const s=await Ye(Wt,e=>!e,10)(t,r);if(!s)return null;this.cleanRenderedSecondaryCTAs(o);const c=await Bu(e,n);return s.appendChild(c),this.setRenderedSecondaryCTA(o,c),c}async insertOffersComponent(e,t){if(!1===this.rendererConfig.renderAlternativeOffers)return null;const{idSuffix:n,selector:a,container:r=document.body,componentOptions:o}=t,i=`${e}${n?`-${n}`:""}`,s=this.insertedOfferComponents[i];if(s&&s.isConnected)return null;let c=null;if(c=a?await Ye(Wt,e=>!e,10)(a,r):r,!c)return null;const l=await(async(e,t,n)=>{const a=document.createElement("div"),r=a.attachShadow({mode:"closed"}),o=document.createElement("style");o.innerHTML=[Fu,Lu,Ru,Mu,n.styles?n.styles:""].join("\n"),r.appendChild(o);const i=document.createElement("div");return r.appendChild(i),(0,En.H)(i).render((0,zn.jsx)(td,{sourceId:e,options:n,platform:t})),a})(e,this.platform,o);return this.cleanInsertedOfferComponent(i),c.appendChild(l),this.setInsertedOfferComponent(i,l),l}async canMakePricingRequest(e){const t=await this.buildListingQueryParam("checkin",e),n=await this.buildListingQueryParam("checkout",e);return!!t&&!!n}async insertOffersComponentInList(e){}async insertOffersComponentInDetail(e){}getListingNameFromList(e){return null}async insertSecondaryCTAInDetailView(e){throw new Error("Method not implemented.")}async insertSecondaryCTAInCheckoutView(e){throw new Error("Method not implemented.")}getItemId(e){throw new Error("Method not implemented.")}getItemIdOnOTACheckout(){throw new Error("Method not implemented.")}setMLRenderer(e){throw new Error("Method not implemented.")}getListingsInPage(){throw new Error("Method not implemented.")}markListingAsMultilisting(e,t){throw new Error("Method not implemented.")}getPriceFromList(e){throw new Error("Method not implemented.")}getDetailPrice(){throw new Error("Method not implemented.")}getCheckoutPrice(e){throw new Error("Method not implemented.")}async getPlatformQueryParamMap(e){throw new Error("Method not implemented.")}async getListingQueryParamMap(e,t){return this.getPlatformQueryParamMap(t)}async buildPlatformQueryParam(e,t=window.location.href){const n=new URL(t);return tn((await this.getPlatformQueryParamMap(n))[e])}async buildListingQueryParam(e,t,n=window.location.href){const a=new URL(n);return tn((await this.getListingQueryParamMap(t,a))[e])}static getSection(e){throw new Error("Method not implemented.")}}const rd=function(){return R.Date.now()};var od=/\s/;var id=/^\s+/;const sd=function(e){return e?e.slice(0,function(e){for(var t=e.length;t--&&od.test(e.charAt(t)););return t}(e)+1).replace(id,""):e};var cd=/^[-+]0x[0-9a-f]+$/i,ld=/^0b[01]+$/i,ud=/^0o[0-7]+$/i,dd=parseInt;const pd=function(e){if("number"==typeof e)return e;if(Xe(e))return NaN;if(q(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=q(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=sd(e);var n=ld.test(e);return n||ud.test(e)?dd(e.slice(2),n?2:8):cd.test(e)?NaN:+e};var hd=Math.max,md=Math.min;const fd=function(e,t,n){var a,r,o,i,s,c,l=0,u=!1,d=!1,p=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function h(t){var n=a,o=r;return a=r=void 0,l=t,i=e.apply(o,n)}function m(e){var n=e-c;return void 0===c||n>=t||n<0||d&&e-l>=o}function f(){var e=rd();if(m(e))return g(e);s=setTimeout(f,function(e){var n=t-(e-c);return d?md(n,o-(e-l)):n}(e))}function g(e){return s=void 0,p&&a?h(e):(a=r=void 0,i)}function y(){var e=rd(),n=m(e);if(a=arguments,r=this,c=e,n){if(void 0===s)return function(e){return l=e,s=setTimeout(f,t),u?h(e):i}(c);if(d)return clearTimeout(s),s=setTimeout(f,t),h(c)}return void 0===s&&(s=setTimeout(f,t)),i}return t=pd(t)||0,q(n)&&(u=!!n.leading,o=(d="maxWait"in n)?hd(pd(n.maxWait)||0,t):o,p="trailing"in n?!!n.trailing:p),y.cancel=function(){void 0!==s&&clearTimeout(s),l=0,a=c=r=s=void 0},y.flush=function(){return void 0===s?i:g(rd())},y},gd=Au(),yd=()=>(0,zn.jsx)("div",{className:"dr-floating-directo dr-direct",children:(0,zn.jsx)("span",{style:{position:"relative",zIndex:10},children:(0,zn.jsx)(yo,{})})});class bd extends On.Component{box=On.createRef();item;backgroundColor;platform;constructor(e){super(e),this.state={hidden:!0},this.navigate=this.navigate.bind(this),this.item=e.item,this.backgroundColor=e.backgroundColor,this.platform=e.platform}navigate(e){return t=>{t.preventDefault();const n=Lr(e);gd.event("click_out_ml",{outbound_url:n}),Ob.navigateToDirectLink(n,"LIST",{parametrised:this.item.stay_parametrised,sourceId:this.item.source_id,verified:this.item.verified,coupon:this.item.coupon,discount:this.item.discount,stayParams:this.item.stayParams})}}getThumbs(){const e=this.item.score??0;let t="👍";return e>=70?t="👍👍👍":e>=50&&(t="👍👍"),e?(0,zn.jsx)("div",{className:"dr-floating-score-icon",children:t}):null}getFloatingLabel(){return this.item.coupon?(0,zn.jsx)("div",{className:"dr-floating-coupon-icon",children:(0,zn.jsx)(jo,{})}):this.item.discount?(0,zn.jsx)("div",{className:"dr-floating-coupon-icon",children:(0,zn.jsx)("img",{src:Vu,alt:"Directo",className:"dr-h-7 dr-w-7"})}):this.getThumbs()}getTooltipText(){const{score:e,discount:t,coupon:n}=this.item,a=Tr(this.item.directo_url);return Cn(a?"label.own_ota_tooltip":n?"label.coupon_tooltip":t?"label.discount_tooltip":e&&e>70?"label.high_score_tooltip":e?"label.score_tooltip":"label.tooltip")}render(){const e="GOOGLE"===Zn(window.location.href);return(0,zn.jsxs)("button",{onClick:this.navigate(this.item.directo_url),ref:this.box,style:{position:"relative",backgroundColor:this.backgroundColor},className:"dr-floating-container",children:[this.getFloatingLabel(),!e&&(0,zn.jsx)("span",{className:"dr-floating-container-before",style:{boxShadow:`${"booking"===this.platform?"-10px":"10px"} 10px 0 ${this.backgroundColor}`}}),(0,zn.jsx)(yd,{},this.item.source_id),(0,zn.jsx)("div",{className:"dr-floating-label-popover",children:this.getTooltipText()}),!e&&(0,zn.jsx)("span",{className:"dr-floating-container-after",style:{boxShadow:`${"booking"===this.platform?"-10px":"10px"} 10px 0 ${this.backgroundColor}`}})]})}}const kd=function(e,t,n="white",a=!1){const r=Zn(window.location.href)?.toLowerCase(),o=document.createElement("div"),i=o.attachShadow({mode:"closed"}),s=function(e,t,n=!1){const a=document.createElement("style");return a.innerHTML='.dr-floating-directo {\n position: relative;\n margin-top: 5px;\n }\n .dr-floating-directo:before {\n content: "";\n position: absolute;\n width: 29px;\n height: 31px;\n background-color: #FDC307;\n left: 0;\n top: 0;\n border-top-right-radius: 100%;\n border-bottom-right-radius: 100%;\n border-top-left-radius: 8px;\n border-bottom-left-radius: 8px;\n animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;\n}\n.dr-floating-directo:after {\n content: "";\n position: absolute;\n width: 39px;\n height: 41px;\n background-color: #FDC307;\n left: -5px;\n top: -5px;\n border-top-right-radius: 100%;\n border-bottom-right-radius: 100%;\n border-top-left-radius: 8px;\n border-bottom-left-radius: 8px;\n}\n.dr-floating-container {\n outline: none;\n border: 0;\n cursor: pointer;\n width: 50px;\n height: 55px;\n background: white;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.dr-floating-score-icon {\n position: absolute;\n top: -12px;\n left: -20px;\n background-color: #3B82F6;\n box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n border: 3px solid white;\n border-radius: 99px;\n padding: 2px 6px;\n font-size: 12px;\n z-index: 99;\n}\n\n.dr-floating-coupon-icon {\n position: absolute;\n top: -16px;\n left: -16px;\n box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n border-radius: 99px;\n font-size: 12px;\n z-index: 99;\n}\n\n.dr-floating-container-before,\n.dr-floating-container-after {\n z-index: -1;\n}\n.dr-floating-container-before {\n position: absolute;\n width: 20px;\n height: 20px;\n bottom: 0px;\n background: transparent;\n border-radius: 50%;\n}\n.dr-floating-container-after {\n position: absolute;\n width: 20px;\n height: 20px;\n top: -20px;\n background: transparent;\n border-radius: 50%;\n}\n @keyframes ping {\n 75%, 100% {\n transform: scale(2);\n opacity: 0;\n }\n}',a.innerHTML+=`.dr-floating-container {\n\n ${"booking"===t?"border-top-right-radius: 25px; margin-left: 0;":"border-top-left-radius: 10px; margin-left: 5px;"}\n }\n .dr-floating-container-before,\n .dr-floating-container-after {\n box-shadow: ${"booking"===t?"-10px":"10px"} 10px 0 ${e};\n }\n .dr-floating-container-before {\n ${"booking"===t?"right: -20px;":"left: -20px;"}\n }\n.dr-floating-container-after {\n ${"booking"===t?"left: 0px;":"vrbo"===t?"left: 30px;":"left: 25px;"}\n\n}\n `,a.innerHTML+=`\n .dr-floating-label-popover {\n position: absolute;\n ${["booking","google"].includes(t)?"top: -51px;left: 50%; border-radius: 8px;":"left: -60px;top: -33px;border-radius: 8px 8px 2px 8px;"}\n color: #000141;\n transform: translateX(-50%);\n background: white;\n padding-top: 8px;\n padding-right: 16px;\n padding-bottom: 8px;\n padding-left: 16px;\n box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n z-index: 999;\n visibility: hidden;\n opacity: 0;\n transition: all .15s ease-in-out;\n font-weight: 600;\n width: 148px;\n padding-top: 8px;\n padding-bottom: 8px;\n text-align: center;\n pointer-events: none;\n }\n .dr-floating-container:hover .dr-floating-label-popover {\n visibility: visible;\n opacity: 1;\n ${["booking","google"].includes(t)?`top: -41px;left: ${n?130:50}%;`:"left: -60px;top: -23px;border-radius: 8px 8px 2px 8px;"}\n }\n `,a}(n,r,a);i.appendChild(s);const c=document.createElement("div");return Object.assign(c.style,t),i.appendChild(c),(0,En.H)(c).render((0,zn.jsx)(bd,{item:e,backgroundColor:n,platform:r})),o};var vd=/^[a-zA-Z:_][a-zA-Z0-9:_.-]*$/,wd={revert:function(){}},_d=new Map,jd=new Set;function xd(e){var t=_d.get(e);return t||(t={element:e,attributes:{}},_d.set(e,t)),t}function Cd(e,t,n,a,r){var o=n(e),i={isDirty:!1,originalValue:o,virtualValue:o,mutations:[],el:e,_positionTimeout:null,observer:new MutationObserver(function(){if("position"!==t||!i._positionTimeout){"position"===t&&(i._positionTimeout=setTimeout(function(){i._positionTimeout=null},1e3));var a=n(e);"position"===t&&a.parentNode===i.virtualValue.parentNode&&a.insertBeforeNode===i.virtualValue.insertBeforeNode||a!==i.virtualValue&&(i.originalValue=a,r(i))}}),mutationRunner:r,setValue:a,getCurrentValue:n};return"position"===t&&e.parentNode?i.observer.observe(e.parentNode,{childList:!0,subtree:!0,attributes:!1,characterData:!1}):i.observer.observe(e,function(e){return"html"===e?{childList:!0,subtree:!0,attributes:!0,characterData:!0}:{childList:!1,subtree:!1,attributes:!0,attributeFilter:[e]}}(t)),i}function Sd(e,t){var n=t.getCurrentValue(t.el);t.virtualValue=e,e&&"string"!=typeof e?n&&e.parentNode===n.parentNode&&e.insertBeforeNode===n.insertBeforeNode||(t.isDirty=!0,Kd()):e!==n&&(t.isDirty=!0,Kd())}function zd(e){var t=e.originalValue;e.mutations.forEach(function(e){return t=e.mutate(t)}),Sd(function(e){return Rd||(Rd=document.createElement("div")),Rd.innerHTML=e,Rd.innerHTML}(t),e)}function Ed(e){var t=new Set(e.originalValue.split(/\s+/).filter(Boolean));e.mutations.forEach(function(e){return e.mutate(t)}),Sd(Array.from(t).filter(Boolean).join(" "),e)}function Od(e){var t=e.originalValue;e.mutations.forEach(function(e){return t=e.mutate(t)}),Sd(t,e)}function Ad(e){var t=e.originalValue;e.mutations.forEach(function(e){var n=function(e){var t=e.parentSelector,n=e.insertBeforeSelector,a=document.querySelector(t);if(!a)return null;var r=n?document.querySelector(n):null;return n&&!r?null:{parentNode:a,insertBeforeNode:r}}(e.mutate());t=n||t}),Sd(t,e)}var Pd=function(e){return e.innerHTML},Id=function(e,t){return e.innerHTML=t};function Nd(e){var t=xd(e);return t.html||(t.html=Cd(e,"html",Pd,Id,zd)),t.html}var Ld=function(e){return{parentNode:e.parentElement,insertBeforeNode:e.nextElementSibling}},Td=function(e,t){t.insertBeforeNode&&!t.parentNode.contains(t.insertBeforeNode)||t.parentNode.insertBefore(e,t.insertBeforeNode)};function Dd(e){var t=xd(e);return t.position||(t.position=Cd(e,"position",Ld,Td,Ad)),t.position}var Rd,Md,$d=function(e,t){return t?e.className=t:e.removeAttribute("class")},Bd=function(e){return e.className};function Ud(e){var t=xd(e);return t.classes||(t.classes=Cd(e,"class",Bd,$d,Ed)),t.classes}function Fd(e,t){var n,a=xd(e);return a.attributes[t]||(a.attributes[t]=Cd(e,t,(n=t,function(e){var t;return null!=(t=e.getAttribute(n))?t:null}),function(e){return function(t,n){return null!==n?t.setAttribute(e,n):t.removeAttribute(e)}}(t),Od)),a.attributes[t]}function Vd(e,t,n){if(n.isDirty){n.isDirty=!1;var a=n.virtualValue;n.mutations.length||function(e,t){var n,a,r=_d.get(e);if(r)if("html"===t)null==(n=r.html)||null==(a=n.observer)||a.disconnect(),delete r.html;else if("class"===t){var o,i;null==(o=r.classes)||null==(i=o.observer)||i.disconnect(),delete r.classes}else if("position"===t){var s,c;null==(s=r.position)||null==(c=s.observer)||c.disconnect(),delete r.position}else{var l,u,d;null==(l=r.attributes)||null==(u=l[t])||null==(d=u.observer)||d.disconnect(),delete r.attributes[t]}}(e,t),n.setValue(e,a)}}function Hd(e,t){e.html&&Vd(t,"html",e.html),e.classes&&Vd(t,"class",e.classes),e.position&&Vd(t,"position",e.position),Object.keys(e.attributes).forEach(function(n){Vd(t,n,e.attributes[n])})}function Kd(){_d.forEach(Hd)}function qd(e){if("position"!==e.kind||1!==e.elements.size){var t=new Set(e.elements);document.querySelectorAll(e.selector).forEach(function(n){t.has(n)||(e.elements.add(n),function(e,t){var n=null;"html"===e.kind?n=Nd(t):"class"===e.kind?n=Ud(t):"attribute"===e.kind?n=Fd(t,e.attribute):"position"===e.kind&&(n=Dd(t)),n&&(n.mutations.push(e),n.mutationRunner(n))}(e,n))})}}function Yd(){jd.forEach(qd)}function Wd(e){return"undefined"==typeof document?wd:(jd.add(e),qd(e),{revert:function(){var t;(t=e).elements.forEach(function(e){return function(e,t){var n=null;if("html"===e.kind?n=Nd(t):"class"===e.kind?n=Ud(t):"attribute"===e.kind?n=Fd(t,e.attribute):"position"===e.kind&&(n=Dd(t)),n){var a=n.mutations.indexOf(e);-1!==a&&n.mutations.splice(a,1),n.mutationRunner(n)}}(t,e)}),t.elements.clear(),jd.delete(t)}})}function Gd(e,t){return Wd({kind:"html",elements:new Set,mutate:t,selector:e})}function Qd(e,t){return Wd({kind:"position",elements:new Set,mutate:t,selector:e})}function Jd(e,t){return Wd({kind:"class",elements:new Set,mutate:t,selector:e})}function Zd(e,t,n){return vd.test(t)?"class"===t||"className"===t?Jd(e,function(e){var t=n(Array.from(e).join(" "));e.clear(),t&&t.split(/\s+/g).filter(Boolean).forEach(function(t){return e.add(t)})}):Wd({kind:"attribute",attribute:t,elements:new Set,mutate:n,selector:e}):wd}"undefined"!=typeof document&&(Md||(Md=new MutationObserver(function(){Yd()})),Yd(),Md.observe(document.documentElement,{childList:!0,subtree:!0,attributes:!1,characterData:!1}));var Xd={html:Gd,classes:Jd,attribute:Zd,position:Qd,declarative:function(e){var t=e.selector,n=e.action,a=e.value,r=e.attribute,o=e.parentSelector,i=e.insertBeforeSelector;if("html"===r){if("append"===n)return Gd(t,function(e){return e+(null!=a?a:"")});if("set"===n)return Gd(t,function(){return null!=a?a:""})}else if("class"===r){if("append"===n)return Jd(t,function(e){a&&e.add(a)});if("remove"===n)return Jd(t,function(e){a&&e.delete(a)});if("set"===n)return Jd(t,function(e){e.clear(),a&&e.add(a)})}else if("position"===r){if("set"===n&&o)return Qd(t,function(){return{insertBeforeSelector:i,parentSelector:o}})}else{if("append"===n)return Zd(t,r,function(e){return null!==e?e+(null!=a?a:""):null!=a?a:""});if("set"===n)return Zd(t,r,function(){return null!=a?a:""});if("remove"===n)return Zd(t,r,function(){return null})}return wd}};const ep=Xd;function tp(e){let t=2166136261;const n=e.length;for(let a=0;a<n;a++)t^=e.charCodeAt(a),t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24);return t>>>0}function np(e,t,n){return 2===n?tp(tp(e+t)+"")%1e4/1e4:1===n?tp(t+e)%1e3/1e3:null}function ap(e,t){return e>=t[0]&&e<t[1]}function rp(e){try{const t=e.replace(/([^\\])\//g,"$1\\/");return new RegExp(t)}catch(e){return void console.error(e)}}function op(e,t,n){try{const a=new URL(e,"https://_");if("regex"===t){const e=rp(n);return!!e&&(e.test(a.href)||e.test(a.href.substring(a.origin.length)))}return"simple"===t&&function(e,t){try{const n=new URL(t.replace(/^([^:/?]*)\./i,"https://$1.").replace(/\*/g,"_____"),"https://_____"),a=[[e.host,n.host,!1],[e.pathname,n.pathname,!0]];return n.hash&&a.push([e.hash,n.hash,!1]),n.searchParams.forEach((t,n)=>{a.push([e.searchParams.get(n)||"",t,!1])}),!a.some(e=>!function(e,t,n){try{let a=t.replace(/[*.+?^${}()|[\]\\]/g,"\\$&").replace(/_____/g,".*");return n&&(a="\\/?"+a.replace(/(^\/|\/$)/g,"")+"\\/?"),new RegExp("^"+a+"$","i").test(e)}catch(e){return!1}}(e[0],e[1],e[2]))}catch(e){return!1}}(a,n)}catch(e){return!1}}const ip=e=>Uint8Array.from(atob(e),e=>e.charCodeAt(0));async function sp(e,t,n){if(t=t||"",!(n=n||globalThis.crypto&&globalThis.crypto.subtle))throw new Error("No SubtleCrypto implementation found");try{const a=await n.importKey("raw",ip(t),{name:"AES-CBC",length:128},!0,["encrypt","decrypt"]),[r,o]=e.split("."),i=await n.decrypt({name:"AES-CBC",iv:ip(r)},a,ip(o));return(new TextDecoder).decode(i)}catch(e){throw new Error("Failed to decrypt")}}function cp(e){return"string"==typeof e?e:JSON.stringify(e)}function lp(e){"number"==typeof e&&(e+=""),e&&"string"==typeof e||(e="0");const t=e.replace(/(^v|\+.*$)/g,"").split(/[-.]/);return 3===t.length&&t.push("~"),t.map(e=>e.match(/^[0-9]+$/)?e.padStart(5," "):e).join("-")}const up={};function dp(e,t){if("$or"in t)return yp(e,t.$or);if("$nor"in t)return!yp(e,t.$nor);if("$and"in t)return function(e,t){for(let n=0;n<t.length;n++)if(!dp(e,t[n]))return!1;return!0}(e,t.$and);if("$not"in t)return!dp(e,t.$not);for(const[n,a]of Object.entries(t))if(!hp(a,pp(e,n)))return!1;return!0}function pp(e,t){const n=t.split(".");let a=e;for(let e=0;e<n.length;e++){if(!a||"object"!=typeof a||!(n[e]in a))return null;a=a[n[e]]}return a}function hp(e,t){if("string"==typeof e)return t+""===e;if("number"==typeof e)return 1*t===e;if("boolean"==typeof e)return!!t===e;if(null===e)return null===t;if(Array.isArray(e)||!mp(e))return JSON.stringify(t)===JSON.stringify(e);for(const n in e)if(!gp(n,t,e[n]))return!1;return!0}function mp(e){const t=Object.keys(e);return t.length>0&&t.filter(e=>"$"===e[0]).length===t.length}function fp(e,t){return Array.isArray(e)?e.some(e=>t.includes(e)):t.includes(e)}function gp(e,t,n){switch(e){case"$veq":return lp(t)===lp(n);case"$vne":return lp(t)!==lp(n);case"$vgt":return lp(t)>lp(n);case"$vgte":return lp(t)>=lp(n);case"$vlt":return lp(t)<lp(n);case"$vlte":return lp(t)<=lp(n);case"$eq":return t===n;case"$ne":return t!==n;case"$lt":return t<n;case"$lte":return t<=n;case"$gt":return t>n;case"$gte":return t>=n;case"$exists":return n?null!=t:null==t;case"$in":return!!Array.isArray(n)&&fp(t,n);case"$nin":return!!Array.isArray(n)&&!fp(t,n);case"$not":return!hp(n,t);case"$size":return!!Array.isArray(t)&&hp(n,t.length);case"$elemMatch":return function(e,t){if(!Array.isArray(e))return!1;const n=mp(t)?e=>hp(t,e):e=>dp(e,t);for(let t=0;t<e.length;t++)if(e[t]&&n(e[t]))return!0;return!1}(t,n);case"$all":if(!Array.isArray(t))return!1;for(let e=0;e<n.length;e++){let a=!1;for(let r=0;r<t.length;r++)if(hp(n[e],t[r])){a=!0;break}if(!a)return!1}return!0;case"$regex":try{return(a=n,up[a]||(up[a]=new RegExp(a.replace(/([^\\])\//g,"$1\\/"))),up[a]).test(t)}catch(e){return!1}case"$type":return function(e){if(null===e)return"null";if(Array.isArray(e))return"array";const t=typeof e;return["string","number","boolean","object","undefined"].includes(t)?t:"unknown"}(t)===n;default:return console.error("Unknown operator: "+e),!1}var a}function yp(e,t){if(!t.length)return!0;for(let n=0;n<t.length;n++)if(dp(e,t[n]))return!0;return!1}const bp={staleTTL:6e4,cacheKey:"gbFeaturesCache",backgroundSync:!0,maxEntries:10,disableIdleStreams:!1,idleStreamInterval:2e4},kp={fetch:globalThis.fetch?globalThis.fetch.bind(globalThis):void 0,SubtleCrypto:globalThis.crypto?globalThis.crypto.subtle:void 0,EventSource:globalThis.EventSource},vp={fetchFeaturesCall:e=>{let{host:t,clientKey:n,headers:a}=e;return kp.fetch("".concat(t,"/api/features/").concat(n),{headers:a})},fetchRemoteEvalCall:e=>{let{host:t,clientKey:n,payload:a,headers:r}=e;const o={method:"POST",headers:{"Content-Type":"application/json",...r},body:JSON.stringify(a)};return kp.fetch("".concat(t,"/api/eval/").concat(n),o)},eventSourceCall:e=>{let{host:t,clientKey:n,headers:a}=e;return a?new kp.EventSource("".concat(t,"/sub/").concat(n),{headers:a}):new kp.EventSource("".concat(t,"/sub/").concat(n))},startIdleListener:()=>{let e;if("undefined"==typeof window||"undefined"==typeof document)return;const t=()=>{"visible"===document.visibilityState?(window.clearTimeout(e),Cp.forEach(e=>{e&&"idle"===e.state&&Mp(e)})):"hidden"===document.visibilityState&&(e=window.setTimeout(zp,bp.idleStreamInterval))};return document.addEventListener("visibilitychange",t),()=>document.removeEventListener("visibilitychange",t)},stopIdleListener:()=>{}};try{globalThis.localStorage&&(kp.localStorage=globalThis.localStorage)}catch(e){}const wp=new Map;let _p=!1;const jp=new Map,xp=new Map,Cp=new Map,Sp=new Set;function zp(){Cp.forEach(e=>{e&&(e.state="idle",Rp(e))})}async function Ep(){try{if(!kp.localStorage)return;await kp.localStorage.setItem(bp.cacheKey,JSON.stringify(Array.from(jp.entries())))}catch(e){}}function Op(e){const[t,n]=e.getApiInfo();return"".concat(t,"||").concat(n)}function Ap(e){const t=Op(e);if(!e.isRemoteEval())return t;const n=e.getAttributes(),a=e.getCacheKeyAttributes()||Object.keys(e.getAttributes()),r={};a.forEach(e=>{r[e]=n[e]});const o=e.getForcedVariations(),i=e.getUrl();return"".concat(t,"||").concat(JSON.stringify({ca:r,fv:o,url:i}))}function Pp(){const e=Array.from(jp.entries()).map(e=>{let[t,n]=e;return{key:t,staleAt:n.staleAt.getTime()}}).sort((e,t)=>e.staleAt-t.staleAt),t=Math.min(Math.max(0,jp.size-bp.maxEntries),jp.size);for(let n=0;n<t;n++)jp.delete(e[n].key)}function Ip(e,t,n){const a=n.dateUpdated||"",r=new Date(Date.now()+bp.staleTTL),o=jp.get(t);if(o&&a&&o.version===a)return o.staleAt=r,void Ep();jp.set(t,{data:n,version:a,staleAt:r,sse:Sp.has(e)}),Pp(),Ep();const i=wp.get(e);i&&i.forEach(e=>Np(e,n))}async function Np(e,t){t=await e.decryptPayload(t,void 0,kp.SubtleCrypto),await e.refreshStickyBuckets(t),e.setExperiments(t.experiments||e.getExperiments()),e.setFeatures(t.features||e.getFeatures())}async function Lp(e){const{apiHost:t,apiRequestHeaders:n}=e.getApiHosts(),a=e.getClientKey(),r=e.isRemoteEval(),o=Op(e),i=Ap(e);let s=xp.get(i);return s||(s=(r?vp.fetchRemoteEvalCall({host:t,clientKey:a,payload:{attributes:e.getAttributes(),forcedVariations:e.getForcedVariations(),forcedFeatures:Array.from(e.getForcedFeatures().entries()),url:e.getUrl()},headers:n}):vp.fetchFeaturesCall({host:t,clientKey:a,headers:n})).then(e=>("enabled"===e.headers.get("x-sse-support")&&Sp.add(o),e.json())).then(t=>(Ip(o,i,t),Tp(e),xp.delete(i),t)).catch(e=>(xp.delete(i),Promise.resolve({}))),xp.set(i,s)),await s}function Tp(e){const t=Op(e),n=Ap(e),{streamingHost:a,streamingHostRequestHeaders:r}=e.getApiHosts(),o=e.getClientKey();if(bp.backgroundSync&&Sp.has(t)&&kp.EventSource){if(Cp.has(t))return;const e={src:null,host:a,clientKey:o,headers:r,cb:a=>{try{if("features-updated"===a.type){const e=wp.get(t);e&&e.forEach(e=>{Lp(e)})}else if("features"===a.type){const e=JSON.parse(a.data);Ip(t,n,e)}e.errors=0}catch(t){Dp(e)}},errors:0,state:"active"};Cp.set(t,e),Mp(e)}}function Dp(e){if("idle"!==e.state&&(e.errors++,e.errors>3||e.src&&2===e.src.readyState)){const t=Math.pow(3,e.errors-3)*(1e3+1e3*Math.random());Rp(e),setTimeout(()=>{["idle","active"].includes(e.state)||Mp(e)},Math.min(t,3e5))}}function Rp(e){e.src&&(e.src.onopen=null,e.src.onerror=null,e.src.close(),e.src=null,"active"===e.state&&(e.state="disabled"))}function Mp(e){e.src=vp.eventSourceCall({host:e.host,clientKey:e.clientKey,headers:e.headers}),e.state="active",e.src.addEventListener("features",e.cb),e.src.addEventListener("features-updated",e.cb),e.src.onerror=()=>Dp(e),e.src.onopen=()=>{e.errors=0}}const $p="undefined"!=typeof window&&"undefined"!=typeof document,Bp=function(){let e;try{e="0.32.0"}catch(t){e=""}return e}();class Up{constructor(e){if(e=e||{},this.version=Bp,this._ctx=this.context=e,this._renderer=null,this._trackedExperiments=new Set,this._trackedFeatures={},this.debug=!1,this._subscriptions=new Set,this._rtQueue=[],this._rtTimer=0,this.ready=!1,this._assigned=new Map,this._forcedFeatureValues=new Map,this._attributeOverrides={},this._activeAutoExperiments=new Map,this._triggeredExpKeys=new Set,this._loadFeaturesCalled=!1,e.remoteEval){if(e.decryptionKey)throw new Error("Encryption is not available for remoteEval");if(!e.clientKey)throw new Error("Missing clientKey");let t=!1;try{t=!!new URL(e.apiHost||"").hostname.match(/growthbook\.io$/i)}catch(e){}if(t)throw new Error("Cannot use remoteEval on GrowthBook Cloud")}else if(e.cacheKeyAttributes)throw new Error("cacheKeyAttributes are only used for remoteEval");e.features&&(this.ready=!0),$p&&e.enableDevMode&&(window._growthbook=this,document.dispatchEvent(new Event("gbloaded"))),e.experiments&&(this.ready=!0,this._updateAllAutoExperiments()),e.clientKey&&!e.remoteEval&&this._refresh({},!0,!1)}async loadFeatures(e){e&&e.autoRefresh&&(this._ctx.subscribeToChanges=!0),this._loadFeaturesCalled=!0,await this._refresh(e,!0,!0),this._canSubscribe()&&function(e){const t=Op(e),n=wp.get(t)||new Set;n.add(e),wp.set(t,n)}(this)}async refreshFeatures(e){await this._refresh(e,!1,!0)}getApiInfo(){return[this.getApiHosts().apiHost,this.getClientKey()]}getApiHosts(){const e=this._ctx.apiHost||"https://cdn.growthbook.io";return{apiHost:e.replace(/\/*$/,""),streamingHost:(this._ctx.streamingHost||e).replace(/\/*$/,""),apiRequestHeaders:this._ctx.apiHostRequestHeaders,streamingHostRequestHeaders:this._ctx.streamingHostRequestHeaders}}getClientKey(){return this._ctx.clientKey||""}isRemoteEval(){return this._ctx.remoteEval||!1}getCacheKeyAttributes(){return this._ctx.cacheKeyAttributes}async _refresh(e,t,n){if(e=e||{},!this._ctx.clientKey)throw new Error("Missing clientKey");await async function(e,t,n,a,r,o){o||(bp.backgroundSync=!1);const i=await async function(e,t,n,a){const r=Op(e),o=Ap(e),i=new Date;await async function(){if(!_p){_p=!0;try{if(kp.localStorage){const e=await kp.localStorage.getItem(bp.cacheKey);if(e){const t=JSON.parse(e);t&&Array.isArray(t)&&t.forEach(e=>{let[t,n]=e;jp.set(t,{...n,staleAt:new Date(n.staleAt)})}),Pp()}}}catch(e){}if(!bp.disableIdleStreams){const e=vp.startIdleListener();e&&(vp.stopIdleListener=e)}}}();const s=jp.get(o);return s&&!a&&(t||s.staleAt>i)?(s.sse&&Sp.add(r),s.staleAt<i?Lp(e):Tp(e),s.data):await function(e,t){return new Promise(n=>{let a,r=!1;const o=e=>{r||(r=!0,a&&clearTimeout(a),n(e||null))};t&&(a=setTimeout(()=>o(),t)),e.then(e=>o(e)).catch(()=>o())})}(Lp(e),n)}(e,a,t,n);r&&i&&await Np(e,i)}(this,e.timeout,e.skipCache||this._ctx.enableDevMode,t,n,!1!==this._ctx.backgroundSync)}_render(){this._renderer&&this._renderer()}setFeatures(e){this._ctx.features=e,this.ready=!0,this._render()}async setEncryptedFeatures(e,t,n){const a=await sp(e,t||this._ctx.decryptionKey,n);this.setFeatures(JSON.parse(a))}setExperiments(e){this._ctx.experiments=e,this.ready=!0,this._updateAllAutoExperiments()}async setEncryptedExperiments(e,t,n){const a=await sp(e,t||this._ctx.decryptionKey,n);this.setExperiments(JSON.parse(a))}async decryptPayload(e,t,n){return e.encryptedFeatures&&(e.features=JSON.parse(await sp(e.encryptedFeatures,t||this._ctx.decryptionKey,n)),delete e.encryptedFeatures),e.encryptedExperiments&&(e.experiments=JSON.parse(await sp(e.encryptedExperiments,t||this._ctx.decryptionKey,n)),delete e.encryptedExperiments),e}async setAttributes(e){this._ctx.attributes=e,this._ctx.stickyBucketService&&await this.refreshStickyBuckets(),this._ctx.remoteEval?await this._refreshForRemoteEval():(this._render(),this._updateAllAutoExperiments())}async setAttributeOverrides(e){this._attributeOverrides=e,this._ctx.stickyBucketService&&await this.refreshStickyBuckets(),this._ctx.remoteEval?await this._refreshForRemoteEval():(this._render(),this._updateAllAutoExperiments())}async setForcedVariations(e){this._ctx.forcedVariations=e||{},this._ctx.remoteEval?await this._refreshForRemoteEval():(this._render(),this._updateAllAutoExperiments())}setForcedFeatures(e){this._forcedFeatureValues=e,this._render()}async setURL(e){if(this._ctx.url=e,this._ctx.remoteEval)return await this._refreshForRemoteEval(),void this._updateAllAutoExperiments(!0);this._updateAllAutoExperiments(!0)}getAttributes(){return{...this._ctx.attributes,...this._attributeOverrides}}getForcedVariations(){return this._ctx.forcedVariations||{}}getForcedFeatures(){return this._forcedFeatureValues||new Map}getStickyBucketAssignmentDocs(){return this._ctx.stickyBucketAssignmentDocs||{}}getUrl(){return this._ctx.url||""}getFeatures(){return this._ctx.features||{}}getExperiments(){return this._ctx.experiments||[]}subscribe(e){return this._subscriptions.add(e),()=>{this._subscriptions.delete(e)}}_canSubscribe(){return!1!==this._ctx.backgroundSync&&this._ctx.subscribeToChanges}async _refreshForRemoteEval(){this._ctx.remoteEval&&this._loadFeaturesCalled&&await this._refresh({},!1,!0).catch(()=>{})}getAllResults(){return new Map(this._assigned)}destroy(){var e;this._subscriptions.clear(),this._assigned.clear(),this._trackedExperiments.clear(),this._trackedFeatures={},this._rtQueue=[],this._rtTimer&&clearTimeout(this._rtTimer),e=this,wp.forEach(t=>t.delete(e)),$p&&window._growthbook===this&&delete window._growthbook,this._activeAutoExperiments.forEach(e=>{e.undo()}),this._activeAutoExperiments.clear(),this._triggeredExpKeys.clear()}setRenderer(e){this._renderer=e}forceVariation(e,t){this._ctx.forcedVariations=this._ctx.forcedVariations||{},this._ctx.forcedVariations[e]=t,this._ctx.remoteEval?this._refreshForRemoteEval():(this._updateAllAutoExperiments(),this._render())}run(e){const t=this._run(e,null);return this._fireSubscriptions(e,t),t}triggerExperiment(e){return this._triggeredExpKeys.add(e),this._ctx.experiments?this._ctx.experiments.filter(t=>t.key===e).map(e=>e.manual?this._runAutoExperiment(e):null).filter(e=>null!==e):null}_runAutoExperiment(e,t){const n=this._activeAutoExperiments.get(e);if(e.manual&&!this._triggeredExpKeys.has(e.key)&&!n)return null;const a=this.run(e),r=JSON.stringify(a.value);if(!t&&a.inExperiment&&n&&n.valueHash===r)return a;if(n&&this._undoActiveAutoExperiment(e),a.inExperiment){const t=this._applyDOMChanges(a.value);t&&this._activeAutoExperiments.set(e,{undo:t,valueHash:r})}return a}_undoActiveAutoExperiment(e){const t=this._activeAutoExperiments.get(e);t&&(t.undo(),this._activeAutoExperiments.delete(e))}_updateAllAutoExperiments(e){const t=this._ctx.experiments||[],n=new Set(t);this._activeAutoExperiments.forEach((e,t)=>{n.has(t)||(e.undo(),this._activeAutoExperiments.delete(t))}),t.forEach(t=>{this._runAutoExperiment(t,e)})}_fireSubscriptions(e,t){const n=e.key,a=this._assigned.get(n);a&&a.result.inExperiment===t.inExperiment&&a.result.variationId===t.variationId||(this._assigned.set(n,{experiment:e,result:t}),this._subscriptions.forEach(n=>{try{n(e,t)}catch(e){console.error(e)}}))}_trackFeatureUsage(e,t){if("override"===t.source)return;const n=JSON.stringify(t.value);if(this._trackedFeatures[e]!==n){if(this._trackedFeatures[e]=n,this._ctx.onFeatureUsage)try{this._ctx.onFeatureUsage(e,t)}catch(e){}$p&&window.fetch&&(this._rtQueue.push({key:e,on:t.on}),this._rtTimer||(this._rtTimer=window.setTimeout(()=>{this._rtTimer=0;const e=[...this._rtQueue];this._rtQueue=[],this._ctx.realtimeKey&&window.fetch("https://rt.growthbook.io/?key=".concat(this._ctx.realtimeKey,"&events=").concat(encodeURIComponent(JSON.stringify(e))),{cache:"no-cache",mode:"no-cors"}).catch(()=>{})},this._ctx.realtimeInterval||2e3)))}}_getFeatureResult(e,t,n,a,r,o){const i={value:t,on:!!t,off:!t,source:n,ruleId:a||""};return r&&(i.experiment=r),o&&(i.experimentResult=o),this._trackFeatureUsage(e,i),i}isOn(e){return this.evalFeature(e).on}isOff(e){return this.evalFeature(e).off}getFeatureValue(e,t){const n=this.evalFeature(e).value;return null===n?t:n}feature(e){return this.evalFeature(e)}evalFeature(e){if(this._forcedFeatureValues.has(e))return this._getFeatureResult(e,this._forcedFeatureValues.get(e),"override");if(!this._ctx.features||!this._ctx.features[e])return this._getFeatureResult(e,null,"unknownFeature");const t=this._ctx.features[e];if(t.rules)for(const n of t.rules){if(n.filters&&this._isFilteredOut(n.filters))continue;if("force"in n){if(n.condition&&!this._conditionPasses(n.condition))continue;if(!this._isIncludedInRollout(n.seed||e,n.hashAttribute,this._ctx.stickyBucketService&&!n.disableStickyBucketing?n.fallbackAttribute:void 0,n.range,n.coverage,n.hashVersion))continue;return n.tracks&&n.tracks.forEach(e=>{this._track(e.experiment,e.result)}),this._getFeatureResult(e,n.force,"force",n.id)}if(!n.variations)continue;const t={variations:n.variations,key:n.key||e};"coverage"in n&&(t.coverage=n.coverage),n.weights&&(t.weights=n.weights),n.hashAttribute&&(t.hashAttribute=n.hashAttribute),n.fallbackAttribute&&(t.fallbackAttribute=n.fallbackAttribute),n.disableStickyBucketing&&(t.disableStickyBucketing=n.disableStickyBucketing),void 0!==n.bucketVersion&&(t.bucketVersion=n.bucketVersion),void 0!==n.minBucketVersion&&(t.minBucketVersion=n.minBucketVersion),n.namespace&&(t.namespace=n.namespace),n.meta&&(t.meta=n.meta),n.ranges&&(t.ranges=n.ranges),n.name&&(t.name=n.name),n.phase&&(t.phase=n.phase),n.seed&&(t.seed=n.seed),n.hashVersion&&(t.hashVersion=n.hashVersion),n.filters&&(t.filters=n.filters),n.condition&&(t.condition=n.condition);const a=this._run(t,e);if(this._fireSubscriptions(t,a),a.inExperiment&&!a.passthrough)return this._getFeatureResult(e,a.value,"experiment",n.id,t,a)}return this._getFeatureResult(e,void 0===t.defaultValue?null:t.defaultValue,"defaultValue")}_isIncludedInRollout(e,t,n,a,r,o){if(!a&&void 0===r)return!0;const{hashValue:i}=this._getHashAttribute(t,n);if(!i)return!1;const s=np(e,i,o||1);return null!==s&&(a?ap(s,a):void 0===r||s<=r)}_conditionPasses(e){return dp(this.getAttributes(),e)}_isFilteredOut(e){return e.some(e=>{const{hashValue:t}=this._getHashAttribute(e.attribute);if(!t)return!0;const n=np(e.seed,t,e.hashVersion||2);return null===n||!e.ranges.some(e=>ap(n,e))})}_run(e,t){const n=e.key,a=e.variations.length;if(a<2)return this._getResult(e,-1,!1,t);if(!1===this._ctx.enabled)return this._getResult(e,-1,!1,t);e=this._mergeOverrides(e);const r=function(e,t,n){if(!t)return null;const a=t.split("?")[1];if(!a)return null;const r=a.replace(/#.*/,"").split("&").map(e=>e.split("=",2)).filter(t=>{let[n]=t;return n===e}).map(e=>{let[,t]=e;return parseInt(t)});return r.length>0&&r[0]>=0&&r[0]<n?r[0]:null}(n,this._getContextUrl(),a);if(null!==r)return this._getResult(e,r,!1,t);if(this._ctx.forcedVariations&&n in this._ctx.forcedVariations){const a=this._ctx.forcedVariations[n];return this._getResult(e,a,!1,t)}if("draft"===e.status||!1===e.active)return this._getResult(e,-1,!1,t);const{hashAttribute:o,hashValue:i}=this._getHashAttribute(e.hashAttribute,this._ctx.stickyBucketService&&!e.disableStickyBucketing?e.fallbackAttribute:void 0);if(!i)return this._getResult(e,-1,!1,t);let s=-1,c=!1,l=!1;if(this._ctx.stickyBucketService&&!e.disableStickyBucketing){const{variation:t,versionIsBlocked:n}=this._getStickyBucketVariation(e.key,e.bucketVersion,e.minBucketVersion,e.meta);c=t>=0,s=t,l=!!n}if(!c){if(e.filters){if(this._isFilteredOut(e.filters))return this._getResult(e,-1,!1,t)}else if(e.namespace&&!function(e,t){const n=np("__"+t[0],e,1);return null!==n&&n>=t[1]&&n<t[2]}(i,e.namespace))return this._getResult(e,-1,!1,t);if(e.include&&!function(e){try{return e()}catch(e){return console.error(e),!1}}(e.include))return this._getResult(e,-1,!1,t);if(e.condition&&!this._conditionPasses(e.condition))return this._getResult(e,-1,!1,t);if(e.groups&&!this._hasGroupOverlap(e.groups))return this._getResult(e,-1,!1,t)}if(e.url&&!this._urlIsValid(e.url))return this._getResult(e,-1,!1,t);if(e.urlPatterns&&!function(e,t){if(!t.length)return!1;let n=!1,a=!1;for(let r=0;r<t.length;r++){const o=op(e,t[r].type,t[r].pattern);if(!1===t[r].include){if(o)return!1}else n=!0,o&&(a=!0)}return a||!n}(this._getContextUrl(),e.urlPatterns))return this._getResult(e,-1,!1,t);const u=np(e.seed||n,i,e.hashVersion||1);if(null===u)return this._getResult(e,-1,!1,t);if(c||(s=function(e,t){for(let n=0;n<t.length;n++)if(ap(e,t[n]))return n;return-1}(u,e.ranges||function(e,t,n){(t=void 0===t?1:t)<0?t=0:t>1&&(t=1);const a=(r=e)<=0?[]:new Array(r).fill(1/r);var r;(n=n||a).length!==e&&(n=a);const o=n.reduce((e,t)=>t+e,0);(o<.99||o>1.01)&&(n=a);let i=0;return n.map(e=>{const n=i;return i+=e,[n,n+t*e]})}(a,void 0===e.coverage?1:e.coverage,e.weights))),l)return this._getResult(e,-1,!1,t,void 0,!0);if(s<0)return this._getResult(e,-1,!1,t);if("force"in e)return this._getResult(e,void 0===e.force?-1:e.force,!1,t);if(this._ctx.qaMode)return this._getResult(e,-1,!1,t);if("stopped"===e.status)return this._getResult(e,-1,!1,t);const d=this._getResult(e,s,!0,t,u,c);if(this._ctx.stickyBucketService&&!e.disableStickyBucketing){const{changed:t,key:n,doc:a}=this._generateStickyBucketAssignmentDoc(o,cp(i),{[this._getStickyBucketExperimentKey(e.key,e.bucketVersion)]:d.key});t&&(this._ctx.stickyBucketAssignmentDocs=this._ctx.stickyBucketAssignmentDocs||{},this._ctx.stickyBucketAssignmentDocs[n]=a,this._ctx.stickyBucketService.saveAssignments(a))}return this._track(e,d),d}log(e,t){this.debug&&(this._ctx.log?this._ctx.log(e,t):console.log(e,t))}_track(e,t){if(!this._ctx.trackingCallback)return;const n=e.key,a=t.hashAttribute+t.hashValue+n+t.variationId;if(!this._trackedExperiments.has(a)){this._trackedExperiments.add(a);try{this._ctx.trackingCallback(e,t)}catch(e){console.error(e)}}}_mergeOverrides(e){const t=e.key,n=this._ctx.overrides;return n&&n[t]&&"string"==typeof(e=Object.assign({},e,n[t])).url&&(e.url=rp(e.url)),e}_getHashAttribute(e,t){let n=e||"id",a="";return this._attributeOverrides[n]?a=this._attributeOverrides[n]:this._ctx.attributes?a=this._ctx.attributes[n]||"":this._ctx.user&&(a=this._ctx.user[n]||""),!a&&t&&(this._attributeOverrides[t]?a=this._attributeOverrides[t]:this._ctx.attributes?a=this._ctx.attributes[t]||"":this._ctx.user&&(a=this._ctx.user[t]||""),a&&(n=t)),{hashAttribute:n,hashValue:a}}_getResult(e,t,n,a,r,o){let i=!0;(t<0||t>=e.variations.length)&&(t=0,i=!1);const{hashAttribute:s,hashValue:c}=this._getHashAttribute(e.hashAttribute,this._ctx.stickyBucketService&&!e.disableStickyBucketing?e.fallbackAttribute:void 0),l=e.meta?e.meta[t]:{},u={key:l.key||""+t,featureId:a,inExperiment:i,hashUsed:n,variationId:t,value:e.variations[t],hashAttribute:s,hashValue:c,stickyBucketUsed:!!o};return l.name&&(u.name=l.name),void 0!==r&&(u.bucket=r),l.passthrough&&(u.passthrough=l.passthrough),u}_getContextUrl(){return this._ctx.url||($p?window.location.href:"")}_urlIsValid(e){const t=this._getContextUrl();if(!t)return!1;const n=t.replace(/^https?:\/\//,"").replace(/^[^/]*\//,"/");return!!e.test(t)||!!e.test(n)}_hasGroupOverlap(e){const t=this._ctx.groups||{};for(let n=0;n<e.length;n++)if(t[e[n]])return!0;return!1}_applyDOMChanges(e){if(!$p)return;const t=[];if(e.css){const n=document.createElement("style");n.innerHTML=e.css,document.head.appendChild(n),t.push(()=>n.remove())}if(e.js){const n=document.createElement("script");n.innerHTML=e.js,document.head.appendChild(n),t.push(()=>n.remove())}return e.domMutations&&e.domMutations.forEach(e=>{t.push(ep.declarative(e).revert)}),()=>{t.forEach(e=>e())}}_deriveStickyBucketIdentifierAttributes(e){const t=new Set,n=e&&e.features?e.features:this.getFeatures(),a=e&&e.experiments?e.experiments:this.getExperiments();return Object.keys(n).forEach(e=>{const a=n[e];if(a.rules)for(const e of a.rules)e.variations&&(t.add(e.hashAttribute||"id"),e.fallbackAttribute&&t.add(e.fallbackAttribute))}),a.map(e=>{t.add(e.hashAttribute||"id"),e.fallbackAttribute&&t.add(e.fallbackAttribute)}),Array.from(t)}async refreshStickyBuckets(e){if(this._ctx.stickyBucketService){const t=this._getStickyBucketAttributes(e);this._ctx.stickyBucketAssignmentDocs=await this._ctx.stickyBucketService.getAllAssignments(t)}}_getStickyBucketAssignments(){const e={};return Object.values(this._ctx.stickyBucketAssignmentDocs||{}).forEach(t=>{t.assignments&&Object.assign(e,t.assignments)}),e}_getStickyBucketVariation(e,t,n,a){t=t||0,n=n||0,a=a||[];const r=this._getStickyBucketExperimentKey(e,t),o=this._getStickyBucketAssignments();if(n>0)for(let t=0;t<=n;t++)if(void 0!==o[this._getStickyBucketExperimentKey(e,t)])return{variation:-1,versionIsBlocked:!0};const i=o[r];if(void 0===i)return{variation:-1};const s=a.findIndex(e=>e.key===i);return s<0?{variation:-1}:{variation:s}}_getStickyBucketExperimentKey(e,t){return t=t||0,"".concat(e,"__").concat(t)}_getStickyBucketAttributes(e){const t={};return this._ctx.stickyBucketIdentifierAttributes=this._ctx.stickyBucketIdentifierAttributes?this._ctx.stickyBucketIdentifierAttributes:this._deriveStickyBucketIdentifierAttributes(e),this._ctx.stickyBucketIdentifierAttributes.forEach(e=>{const{hashValue:n}=this._getHashAttribute(e);t[e]=cp(n)}),t}_generateStickyBucketAssignmentDoc(e,t,n){const a="".concat(e,"||").concat(t),r=this._ctx.stickyBucketAssignmentDocs&&this._ctx.stickyBucketAssignmentDocs[a]&&this._ctx.stickyBucketAssignmentDocs[a].assignments||{},o={...r,...n};return{key:a,doc:{attributeName:e,attributeValue:t,assignments:o},changed:JSON.stringify(r)!==JSON.stringify(o)}}}async function Fp(e,t){return{user_id:await Ha(),experiment_id:e,variation_id:t,url_visited:window.location.href}}const Vp=["experiment","defaultValue"];let Hp=null;function Kp(){if(Hp)return Hp;const e=new Up({apiHost:"https://cdn.growthbook.io",clientKey:"sdk-9jiRKLpeCAeQD7C",enableDevMode:!1,subscribeToChanges:!0,trackingCallback:async(e,t)=>{await _(await Fp(e.key,t.key))}});return Hp=Object.assign(e,{async getFeature(t){const n=await E.getGrowthbookFeature(t);if(n)return"experiment"===n?.source&&await _(await Fp(n.key,n?.experimentResult?.key??"0")),n;await e.loadFeatures();const a=e.evalFeature(t);return a&&Vp.includes(a.source)&&await E.setGrowthbookFeature({key:t,...a}),a}}),Hp}const qp="undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__,Yp="10.29.0",Wp=globalThis;function Gp(){return Qp(Wp),Wp}function Qp(e){const t=e.__SENTRY__=e.__SENTRY__||{};return t.version=t.version||Yp,t[Yp]=t[Yp]||{}}function Jp(e,t,n=Wp){const a=n.__SENTRY__=n.__SENTRY__||{},r=a[Yp]=a[Yp]||{};return r[e]||(r[e]=t())}const Zp=["debug","info","warn","error","log","assert","trace"],Xp={};function eh(e){if(!("console"in Wp))return e();const t=Wp.console,n={},a=Object.keys(Xp);a.forEach(e=>{const a=Xp[e];n[e]=t[e],t[e]=a});try{return e()}finally{a.forEach(e=>{t[e]=n[e]})}}function th(){return ah().enabled}function nh(e,...t){qp&&th()&&eh(()=>{Wp.console[e](`Sentry Logger [${e}]:`,...t)})}function ah(){return qp?Jp("loggerSettings",()=>({enabled:!1})):{enabled:!1}}const rh=function(...e){nh("log",...e)},oh=function(...e){nh("warn",...e)},ih=function(...e){nh("error",...e)},sh=[];function ch(e,t){for(const n of t)n?.afterAllSetup&&n.afterAllSetup(e)}function lh(e,t,n){if(n[t.name])qp&&rh(`Integration skipped because it was already installed: ${t.name}`);else{if(n[t.name]=t,sh.includes(t.name)||"function"!=typeof t.setupOnce||(t.setupOnce(),sh.push(t.name)),t.setup&&"function"==typeof t.setup&&t.setup(e),"function"==typeof t.preprocessEvent){const n=t.preprocessEvent.bind(t);e.on("preprocessEvent",(t,a)=>n(t,a,e))}if("function"==typeof t.processEvent){const n=t.processEvent.bind(t),a=Object.assign((t,a)=>n(t,a,e),{id:t.name});e.addEventProcessor(a)}qp&&rh(`Integration installed: ${t.name}`)}}function uh(e){const t=[];e.message&&t.push(e.message);try{const n=e.exception.values[e.exception.values.length-1];n?.value&&(t.push(n.value),n.type&&t.push(`${n.type}: ${n.value}`))}catch{}return t}const dh=Object.prototype.toString;function ph(e){switch(dh.call(e)){case"[object Error]":case"[object Exception]":case"[object DOMException]":case"[object WebAssembly.Exception]":return!0;default:return _h(e,Error)}}function hh(e,t){return dh.call(e)===`[object ${t}]`}function mh(e){return hh(e,"ErrorEvent")}function fh(e){return hh(e,"DOMError")}function gh(e){return hh(e,"String")}function yh(e){return"object"==typeof e&&null!==e&&"__sentry_template_string__"in e&&"__sentry_template_values__"in e}function bh(e){return null===e||yh(e)||"object"!=typeof e&&"function"!=typeof e}function kh(e){return hh(e,"Object")}function vh(e){return"undefined"!=typeof Event&&_h(e,Event)}function wh(e){return Boolean(e?.then&&"function"==typeof e.then)}function _h(e,t){try{return e instanceof t}catch{return!1}}function jh(e){return!("object"!=typeof e||null===e||!(e.__isVue||e._isVue||e.__v_isVNode))}const xh=Wp;function Ch(e,t={}){if(!e)return"<unknown>";try{let n=e;const a=5,r=[];let o=0,i=0;const s=" > ",c=s.length;let l;const u=Array.isArray(t)?t:t.keyAttrs,d=!Array.isArray(t)&&t.maxStringLength||80;for(;n&&o++<a&&(l=Sh(n,u),!("html"===l||o>1&&i+r.length*c+l.length>=d));)r.push(l),i+=l.length,n=n.parentNode;return r.reverse().join(s)}catch{return"<unknown>"}}function Sh(e,t){const n=e,a=[];if(!n?.tagName)return"";if(xh.HTMLElement&&n instanceof HTMLElement&&n.dataset){if(n.dataset.sentryComponent)return n.dataset.sentryComponent;if(n.dataset.sentryElement)return n.dataset.sentryElement}a.push(n.tagName.toLowerCase());const r=t?.length?t.filter(e=>n.getAttribute(e)).map(e=>[e,n.getAttribute(e)]):null;if(r?.length)r.forEach(e=>{a.push(`[${e[0]}="${e[1]}"]`)});else{n.id&&a.push(`#${n.id}`);const e=n.className;if(e&&gh(e)){const t=e.split(/\s+/);for(const e of t)a.push(`.${e}`)}}const o=["aria-label","type","name","title","alt"];for(const e of o){const t=n.getAttribute(e);t&&a.push(`[${e}="${t}"]`)}return a.join("")}function zh(){try{return xh.document.location.href}catch{return""}}function Eh(e,t,n){if(!(t in e))return;const a=e[t];if("function"!=typeof a)return;const r=n(a);"function"==typeof r&&Ah(r,a);try{e[t]=r}catch{qp&&rh(`Failed to replace method "${t}" in object`,e)}}function Oh(e,t,n){try{Object.defineProperty(e,t,{value:n,writable:!0,configurable:!0})}catch{qp&&rh(`Failed to add non-enumerable property "${t}" to object`,e)}}function Ah(e,t){try{const n=t.prototype||{};e.prototype=t.prototype=n,Oh(e,"__sentry_original__",t)}catch{}}function Ph(e){return e.__sentry_original__}function Ih(e){if(ph(e))return{message:e.message,name:e.name,stack:e.stack,...Lh(e)};if(vh(e)){const t={type:e.type,target:Nh(e.target),currentTarget:Nh(e.currentTarget),...Lh(e)};return"undefined"!=typeof CustomEvent&&_h(e,CustomEvent)&&(t.detail=e.detail),t}return e}function Nh(e){try{return"undefined"!=typeof Element&&_h(e,Element)?Ch(e):Object.prototype.toString.call(e)}catch{return"<unknown>"}}function Lh(e){if("object"==typeof e&&null!==e){const t={};for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t}return{}}let Th;function Dh(e=function(){const e=Wp;return e.crypto||e.msCrypto}()){try{if(e?.randomUUID)return e.randomUUID().replace(/-/g,"")}catch{}return Th||(Th=[1e7]+1e3+4e3+8e3+1e11),Th.replace(/[018]/g,e=>(e^(16*Math.random()&15)>>e/4).toString(16))}function Rh(e){return e.exception?.values?.[0]}function Mh(e){const{message:t,event_id:n}=e;if(t)return t;const a=Rh(e);return a?a.type&&a.value?`${a.type}: ${a.value}`:a.type||a.value||n||"<unknown>":n||"<unknown>"}function $h(e,t,n){const a=e.exception=e.exception||{},r=a.values=a.values||[],o=r[0]=r[0]||{};o.value||(o.value=t||""),o.type||(o.type=n||"Error")}function Bh(e,t){const n=Rh(e);if(!n)return;const a=n.mechanism;if(n.mechanism={type:"generic",handled:!0,...a,...t},t&&"data"in t){const e={...a?.data,...t.data};n.mechanism.data=e}}function Uh(e){if(function(e){try{return e.__sentry_captured__}catch{}}(e))return!0;try{Oh(e,"__sentry_captured__",!0)}catch{}return!1}const Fh="?",Vh=/\(error: (.*)\)/,Hh=/captureMessage|captureException/;function Kh(e){return e[e.length-1]||{}}const qh="<anonymous>";function Yh(e){try{return e&&"function"==typeof e&&e.name||qh}catch{return qh}}function Wh(e){const t=e.exception;if(t){const e=[];try{return t.values.forEach(t=>{t.stacktrace.frames&&e.push(...t.stacktrace.frames)}),e}catch{return}}}function Gh(e){return"__v_isVNode"in e&&e.__v_isVNode?"[VueVNode]":"[VueViewModel]"}function Qh(e,t=0){return"string"!=typeof e||0===t||e.length<=t?e:`${e.slice(0,t)}...`}function Jh(e,t){if(!Array.isArray(e))return"";const n=[];for(let t=0;t<e.length;t++){const a=e[t];try{jh(a)?n.push(Gh(a)):n.push(String(a))}catch{n.push("[value cannot be serialized]")}}return n.join(t)}function Zh(e,t,n=!1){return!!gh(e)&&(hh(t,"RegExp")?t.test(e):!!gh(t)&&(n?e===t:e.includes(t)))}function Xh(e,t=[],n=!1){return t.some(t=>Zh(e,t,n))}const em=[/^Script error\.?$/,/^Javascript error: Script error\.? on line 0$/,/^ResizeObserver loop completed with undelivered notifications.$/,/^Cannot redefine property: googletag$/,/^Can't find variable: gmo$/,/^undefined is not an object \(evaluating 'a\.[A-Z]'\)$/,'can\'t redefine non-configurable property "solana"',"vv().getRestrictions is not a function. (In 'vv().getRestrictions(1,a)', 'vv().getRestrictions' is undefined)","Can't find variable: _AutofillCallbackHandler",/^Non-Error promise rejection captured with value: Object Not Found Matching Id:\d+, MethodName:simulateEvent, ParamCount:\d+$/,/^Java exception was raised during method invocation$/],tm=(e={})=>{let t;return{name:"EventFilters",setup(n){const a=n.getOptions();t=am(e,a)},processEvent(n,a,r){if(!t){const n=r.getOptions();t=am(e,n)}return function(e,t){if(e.type){if("transaction"===e.type&&function(e,t){if(!t?.length)return!1;const n=e.transaction;return!!n&&Xh(n,t)}(e,t.ignoreTransactions))return qp&&oh(`Event dropped due to being matched by \`ignoreTransactions\` option.\nEvent: ${Mh(e)}`),!0}else{if(function(e,t){return!!t?.length&&uh(e).some(e=>Xh(e,t))}(e,t.ignoreErrors))return qp&&oh(`Event dropped due to being matched by \`ignoreErrors\` option.\nEvent: ${Mh(e)}`),!0;if(function(e){return!!e.exception?.values?.length&&(!e.message&&!e.exception.values.some(e=>e.stacktrace||e.type&&"Error"!==e.type||e.value))}(e))return qp&&oh(`Event dropped due to not having an error message, error type or stacktrace.\nEvent: ${Mh(e)}`),!0;if(function(e,t){if(!t?.length)return!1;const n=rm(e);return!!n&&Xh(n,t)}(e,t.denyUrls))return qp&&oh(`Event dropped due to being matched by \`denyUrls\` option.\nEvent: ${Mh(e)}.\nUrl: ${rm(e)}`),!0;if(!function(e,t){if(!t?.length)return!0;const n=rm(e);return!n||Xh(n,t)}(e,t.allowUrls))return qp&&oh(`Event dropped due to not being matched by \`allowUrls\` option.\nEvent: ${Mh(e)}.\nUrl: ${rm(e)}`),!0}return!1}(n,t)?null:n}}},nm=(e={})=>({...tm(e),name:"InboundFilters"});function am(e={},t={}){return{allowUrls:[...e.allowUrls||[],...t.allowUrls||[]],denyUrls:[...e.denyUrls||[],...t.denyUrls||[]],ignoreErrors:[...e.ignoreErrors||[],...t.ignoreErrors||[],...e.disableErrorDefaults?[]:em],ignoreTransactions:[...e.ignoreTransactions||[],...t.ignoreTransactions||[]]}}function rm(e){try{const t=[...e.exception?.values??[]].reverse().find(e=>void 0===e.mechanism?.parent_id&&e.stacktrace?.frames?.length),n=t?.stacktrace?.frames;return n?function(e=[]){for(let t=e.length-1;t>=0;t--){const n=e[t];if(n&&"<anonymous>"!==n.filename&&"[native code]"!==n.filename)return n.filename||null}return null}(n):null}catch{return qp&&ih(`Cannot extract url for event ${Mh(e)}`),null}}function om(){return Date.now()/1e3}let im;function sm(){return(im??(im=function(){const{performance:e}=Wp;if(!e?.now||!e.timeOrigin)return om;const t=e.timeOrigin;return()=>(t+e.now())/1e3}()))()}function cm(e,t={}){if(t.user&&(!e.ipAddress&&t.user.ip_address&&(e.ipAddress=t.user.ip_address),e.did||t.did||(e.did=t.user.id||t.user.email||t.user.username)),e.timestamp=t.timestamp||sm(),t.abnormal_mechanism&&(e.abnormal_mechanism=t.abnormal_mechanism),t.ignoreDuration&&(e.ignoreDuration=t.ignoreDuration),t.sid&&(e.sid=32===t.sid.length?t.sid:Dh()),void 0!==t.init&&(e.init=t.init),!e.did&&t.did&&(e.did=`${t.did}`),"number"==typeof t.started&&(e.started=t.started),e.ignoreDuration)e.duration=void 0;else if("number"==typeof t.duration)e.duration=t.duration;else{const t=e.timestamp-e.started;e.duration=t>=0?t:0}t.release&&(e.release=t.release),t.environment&&(e.environment=t.environment),!e.ipAddress&&t.ipAddress&&(e.ipAddress=t.ipAddress),!e.userAgent&&t.userAgent&&(e.userAgent=t.userAgent),"number"==typeof t.errors&&(e.errors=t.errors),t.status&&(e.status=t.status)}function lm(e,t,n=2){if(!t||"object"!=typeof t||n<=0)return t;if(e&&0===Object.keys(t).length)return e;const a={...e};for(const e in t)Object.prototype.hasOwnProperty.call(t,e)&&(a[e]=lm(a[e],t[e],n-1));return a}function um(){return Dh()}function dm(){return Dh().substring(16)}const pm="_sentrySpan";function hm(e,t){t?Oh(e,pm,t):delete e[pm]}function mm(e){return e[pm]}class fm{constructor(){this._notifyingListeners=!1,this._scopeListeners=[],this._eventProcessors=[],this._breadcrumbs=[],this._attachments=[],this._user={},this._tags={},this._attributes={},this._extra={},this._contexts={},this._sdkProcessingMetadata={},this._propagationContext={traceId:um(),sampleRand:Math.random()}}clone(){const e=new fm;return e._breadcrumbs=[...this._breadcrumbs],e._tags={...this._tags},e._attributes={...this._attributes},e._extra={...this._extra},e._contexts={...this._contexts},this._contexts.flags&&(e._contexts.flags={values:[...this._contexts.flags.values]}),e._user=this._user,e._level=this._level,e._session=this._session,e._transactionName=this._transactionName,e._fingerprint=this._fingerprint,e._eventProcessors=[...this._eventProcessors],e._attachments=[...this._attachments],e._sdkProcessingMetadata={...this._sdkProcessingMetadata},e._propagationContext={...this._propagationContext},e._client=this._client,e._lastEventId=this._lastEventId,hm(e,mm(this)),e}setClient(e){this._client=e}setLastEventId(e){this._lastEventId=e}getClient(){return this._client}lastEventId(){return this._lastEventId}addScopeListener(e){this._scopeListeners.push(e)}addEventProcessor(e){return this._eventProcessors.push(e),this}setUser(e){return this._user=e||{email:void 0,id:void 0,ip_address:void 0,username:void 0},this._session&&cm(this._session,{user:e}),this._notifyScopeListeners(),this}getUser(){return this._user}setTags(e){return this._tags={...this._tags,...e},this._notifyScopeListeners(),this}setTag(e,t){return this.setTags({[e]:t})}setAttributes(e){return this._attributes={...this._attributes,...e},this._notifyScopeListeners(),this}setAttribute(e,t){return this.setAttributes({[e]:t})}removeAttribute(e){return e in this._attributes&&(delete this._attributes[e],this._notifyScopeListeners()),this}setExtras(e){return this._extra={...this._extra,...e},this._notifyScopeListeners(),this}setExtra(e,t){return this._extra={...this._extra,[e]:t},this._notifyScopeListeners(),this}setFingerprint(e){return this._fingerprint=e,this._notifyScopeListeners(),this}setLevel(e){return this._level=e,this._notifyScopeListeners(),this}setTransactionName(e){return this._transactionName=e,this._notifyScopeListeners(),this}setContext(e,t){return null===t?delete this._contexts[e]:this._contexts[e]=t,this._notifyScopeListeners(),this}setSession(e){return e?this._session=e:delete this._session,this._notifyScopeListeners(),this}getSession(){return this._session}update(e){if(!e)return this;const t="function"==typeof e?e(this):e,n=t instanceof fm?t.getScopeData():kh(t)?e:void 0,{tags:a,attributes:r,extra:o,user:i,contexts:s,level:c,fingerprint:l=[],propagationContext:u}=n||{};return this._tags={...this._tags,...a},this._attributes={...this._attributes,...r},this._extra={...this._extra,...o},this._contexts={...this._contexts,...s},i&&Object.keys(i).length&&(this._user=i),c&&(this._level=c),l.length&&(this._fingerprint=l),u&&(this._propagationContext=u),this}clear(){return this._breadcrumbs=[],this._tags={},this._attributes={},this._extra={},this._user={},this._contexts={},this._level=void 0,this._transactionName=void 0,this._fingerprint=void 0,this._session=void 0,hm(this,void 0),this._attachments=[],this.setPropagationContext({traceId:um(),sampleRand:Math.random()}),this._notifyScopeListeners(),this}addBreadcrumb(e,t){const n="number"==typeof t?t:100;if(n<=0)return this;const a={timestamp:om(),...e,message:e.message?Qh(e.message,2048):e.message};return this._breadcrumbs.push(a),this._breadcrumbs.length>n&&(this._breadcrumbs=this._breadcrumbs.slice(-n),this._client?.recordDroppedEvent("buffer_overflow","log_item")),this._notifyScopeListeners(),this}getLastBreadcrumb(){return this._breadcrumbs[this._breadcrumbs.length-1]}clearBreadcrumbs(){return this._breadcrumbs=[],this._notifyScopeListeners(),this}addAttachment(e){return this._attachments.push(e),this}clearAttachments(){return this._attachments=[],this}getScopeData(){return{breadcrumbs:this._breadcrumbs,attachments:this._attachments,contexts:this._contexts,tags:this._tags,attributes:this._attributes,extra:this._extra,user:this._user,level:this._level,fingerprint:this._fingerprint||[],eventProcessors:this._eventProcessors,propagationContext:this._propagationContext,sdkProcessingMetadata:this._sdkProcessingMetadata,transactionName:this._transactionName,span:mm(this)}}setSDKProcessingMetadata(e){return this._sdkProcessingMetadata=lm(this._sdkProcessingMetadata,e,2),this}setPropagationContext(e){return this._propagationContext=e,this}getPropagationContext(){return this._propagationContext}captureException(e,t){const n=t?.event_id||Dh();if(!this._client)return qp&&oh("No client configured on scope - will not capture exception!"),n;const a=new Error("Sentry syntheticException");return this._client.captureException(e,{originalException:e,syntheticException:a,...t,event_id:n},this),n}captureMessage(e,t,n){const a=n?.event_id||Dh();if(!this._client)return qp&&oh("No client configured on scope - will not capture message!"),a;const r=n?.syntheticException??new Error(e);return this._client.captureMessage(e,t,{originalException:e,syntheticException:r,...n,event_id:a},this),a}captureEvent(e,t){const n=t?.event_id||Dh();return this._client?(this._client.captureEvent(e,{...t,event_id:n},this),n):(qp&&oh("No client configured on scope - will not capture event!"),n)}_notifyScopeListeners(){this._notifyingListeners||(this._notifyingListeners=!0,this._scopeListeners.forEach(e=>{e(this)}),this._notifyingListeners=!1)}}class gm{constructor(e,t){let n,a;n=e||new fm,a=t||new fm,this._stack=[{scope:n}],this._isolationScope=a}withScope(e){const t=this._pushScope();let n;try{n=e(t)}catch(e){throw this._popScope(),e}return wh(n)?n.then(e=>(this._popScope(),e),e=>{throw this._popScope(),e}):(this._popScope(),n)}getClient(){return this.getStackTop().client}getScope(){return this.getStackTop().scope}getIsolationScope(){return this._isolationScope}getStackTop(){return this._stack[this._stack.length-1]}_pushScope(){const e=this.getScope().clone();return this._stack.push({client:this.getClient(),scope:e}),e}_popScope(){return!(this._stack.length<=1||!this._stack.pop())}}function ym(){const e=Qp(Gp());return e.stack=e.stack||new gm(Jp("defaultCurrentScope",()=>new fm),Jp("defaultIsolationScope",()=>new fm))}function bm(e){return ym().withScope(e)}function km(e,t){const n=ym();return n.withScope(()=>(n.getStackTop().scope=e,t(e)))}function vm(e){return ym().withScope(()=>e(ym().getIsolationScope()))}function wm(e){const t=Qp(e);return t.acs?t.acs:{withIsolationScope:vm,withScope:bm,withSetScope:km,withSetIsolationScope:(e,t)=>vm(t),getCurrentScope:()=>ym().getScope(),getIsolationScope:()=>ym().getIsolationScope()}}function _m(){return wm(Gp()).getCurrentScope()}function jm(){return wm(Gp()).getIsolationScope()}function xm(){return _m().getClient()}function Cm(e){const t=e.getPropagationContext(),{traceId:n,parentSpanId:a,propagationSpanId:r}=t,o={trace_id:n,span_id:r||dm()};return a&&(o.parent_span_id=a),o}let Sm;const zm=new WeakMap,Em=()=>({name:"FunctionToString",setupOnce(){Sm=Function.prototype.toString;try{Function.prototype.toString=function(...e){const t=Ph(this),n=zm.has(xm())&&void 0!==t?t:this;return Sm.apply(n,e)}}catch{}},setup(e){zm.set(e,!0)}}),Om=()=>{let e;return{name:"Dedupe",processEvent(t){if(t.type)return t;try{if(function(e,t){return!!t&&(!!function(e,t){const n=e.message,a=t.message;return!(!n&&!a)&&(!(n&&!a||!n&&a)&&(n===a&&(!!Pm(e,t)&&!!Am(e,t))))}(e,t)||!!function(e,t){const n=Im(t),a=Im(e);return!(!n||!a)&&(n.type===a.type&&n.value===a.value&&(!!Pm(e,t)&&!!Am(e,t)))}(e,t))}(t,e))return qp&&oh("Event dropped due to being a duplicate of previously captured event."),null}catch{}return e=t}}};function Am(e,t){let n=Wh(e),a=Wh(t);if(!n&&!a)return!0;if(n&&!a||!n&&a)return!1;if(a.length!==n.length)return!1;for(let e=0;e<a.length;e++){const t=a[e],r=n[e];if(t.filename!==r.filename||t.lineno!==r.lineno||t.colno!==r.colno||t.function!==r.function)return!1}return!0}function Pm(e,t){let n=e.fingerprint,a=t.fingerprint;if(!n&&!a)return!0;if(n&&!a||!n&&a)return!1;try{return!(n.join("")!==a.join(""))}catch{return!1}}function Im(e){return e.exception?.values?.[0]}const Nm={},Lm={};function Tm(e,t){Nm[e]=Nm[e]||[],Nm[e].push(t)}function Dm(e,t){if(!Lm[e]){Lm[e]=!0;try{t()}catch(t){qp&&ih(`Error while instrumenting ${e}`,t)}}}function Rm(e,t){const n=e&&Nm[e];if(n)for(const a of n)try{a(t)}catch(t){qp&&ih(`Error while triggering instrumentation handler.\nType: ${e}\nName: ${Yh(a)}\nError:`,t)}}function Mm(){"console"in Wp&&Zp.forEach(function(e){e in Wp.console&&Eh(Wp.console,e,function(t){return Xp[e]=t,function(...t){Rm("console",{args:t,level:e});const n=Xp[e];n?.apply(Wp.console,t)}})})}const $m=Wp;function Bm(e){return e&&/^function\s+\w+\(\)\s+\{\s+\[native code\]\s+\}$/.test(e.toString())}function Um(e,t=!1){t&&!function(){if("string"==typeof EdgeRuntime)return!0;if(!function(){if(!("fetch"in $m))return!1;try{return new Headers,new Request("data:,"),new Response,!0}catch{return!1}}())return!1;if(Bm($m.fetch))return!0;let e=!1;const t=$m.document;if(t&&"function"==typeof t.createElement)try{const n=t.createElement("iframe");n.hidden=!0,t.head.appendChild(n),n.contentWindow?.fetch&&(e=Bm(n.contentWindow.fetch)),t.head.removeChild(n)}catch(e){qp&&oh("Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ",e)}return e}()||Eh(Wp,"fetch",function(t){return function(...n){const a=new Error,{method:r,url:o}=function(e){if(0===e.length)return{method:"GET",url:""};if(2===e.length){const[t,n]=e;return{url:Vm(t),method:Fm(n,"method")?String(n.method).toUpperCase():"GET"}}const t=e[0];return{url:Vm(t),method:Fm(t,"method")?String(t.method).toUpperCase():"GET"}}(n),i={args:n,fetchData:{method:r,url:o},startTimestamp:1e3*sm(),virtualError:a,headers:Hm(n)};return e||Rm("fetch",{...i}),t.apply(Wp,n).then(async t=>(e?e(t):Rm("fetch",{...i,endTimestamp:1e3*sm(),response:t}),t),e=>{if(Rm("fetch",{...i,endTimestamp:1e3*sm(),error:e}),ph(e)&&void 0===e.stack&&(e.stack=a.stack,Oh(e,"framesToPop",1)),e instanceof TypeError&&("Failed to fetch"===e.message||"Load failed"===e.message||"NetworkError when attempting to fetch resource."===e.message))try{const t=new URL(i.fetchData.url);e.message=`${e.message} (${t.host})`}catch{}throw e})}})}function Fm(e,t){return!!e&&"object"==typeof e&&!!e[t]}function Vm(e){return"string"==typeof e?e:e?Fm(e,"url")?e.url:e.toString?e.toString():"":""}function Hm(e){const[t,n]=e;try{if("object"==typeof n&&null!==n&&"headers"in n&&n.headers)return new Headers(n.headers);if("undefined"!=typeof Request&&_h(t,Request))return new Headers(t.headers)}catch{}}const Km=100;function qm(e,t){const n=xm(),a=jm();if(!n)return;const{beforeBreadcrumb:r=null,maxBreadcrumbs:o=Km}=n.getOptions();if(o<=0)return;const i={timestamp:om(),...e},s=r?eh(()=>r(i,t)):i;null!==s&&(n.emit&&n.emit("beforeAddBreadcrumb",s,t),a.addBreadcrumb(s,o))}function Ym(e){return void 0===e?void 0:e>=400&&e<500?"warning":e>=500?"error":void 0}function Wm(e){if(!e)return{};const t=e.match(/^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);if(!t)return{};const n=t[6]||"",a=t[8]||"";return{host:t[4],path:t[5],protocol:t[2],search:n,hash:a,relative:t[5]+n+a}}const Gm=Wp;let Qm,Jm,Zm;function Xm(){if(!Gm.document)return;const e=Rm.bind(null,"dom"),t=ef(e,!0);Gm.document.addEventListener("click",t,!1),Gm.document.addEventListener("keypress",t,!1),["EventTarget","Node"].forEach(t=>{const n=Gm,a=n[t]?.prototype;a?.hasOwnProperty?.("addEventListener")&&(Eh(a,"addEventListener",function(t){return function(n,a,r){if("click"===n||"keypress"==n)try{const a=this.__sentry_instrumentation_handlers__=this.__sentry_instrumentation_handlers__||{},o=a[n]=a[n]||{refCount:0};if(!o.handler){const a=ef(e);o.handler=a,t.call(this,n,a,r)}o.refCount++}catch{}return t.call(this,n,a,r)}}),Eh(a,"removeEventListener",function(e){return function(t,n,a){if("click"===t||"keypress"==t)try{const n=this.__sentry_instrumentation_handlers__||{},r=n[t];r&&(r.refCount--,r.refCount<=0&&(e.call(this,t,r.handler,a),r.handler=void 0,delete n[t]),0===Object.keys(n).length&&delete this.__sentry_instrumentation_handlers__)}catch{}return e.call(this,t,n,a)}}))})}function ef(e,t=!1){return n=>{if(!n||n._sentryCaptured)return;const a=function(e){try{return e.target}catch{return null}}(n);if(function(e,t){return"keypress"===e&&(!t?.tagName||"INPUT"!==t.tagName&&"TEXTAREA"!==t.tagName&&!t.isContentEditable)}(n.type,a))return;Oh(n,"_sentryCaptured",!0),a&&!a._sentryId&&Oh(a,"_sentryId",Dh());const r="keypress"===n.type?"input":n.type;(function(e){if(e.type!==Jm)return!1;try{if(!e.target||e.target._sentryId!==Zm)return!1}catch{}return!0})(n)||(e({event:n,name:r,global:t}),Jm=n.type,Zm=a?a._sentryId:void 0),clearTimeout(Qm),Qm=Gm.setTimeout(()=>{Zm=void 0,Jm=void 0},1e3)}}const tf="__sentry_xhr_v3__";function nf(){if(!Gm.XMLHttpRequest)return;const e=XMLHttpRequest.prototype;e.open=new Proxy(e.open,{apply(e,t,n){const a=new Error,r=1e3*sm(),o=gh(n[0])?n[0].toUpperCase():void 0,i=function(e){if(gh(e))return e;try{return e.toString()}catch{}}(n[1]);if(!o||!i)return e.apply(t,n);t[tf]={method:o,url:i,request_headers:{}},"POST"===o&&i.match(/sentry_key/)&&(t.__sentry_own_request__=!0);const s=()=>{const e=t[tf];if(e&&4===t.readyState){try{e.status_code=t.status}catch{}Rm("xhr",{endTimestamp:1e3*sm(),startTimestamp:r,xhr:t,virtualError:a})}};return"onreadystatechange"in t&&"function"==typeof t.onreadystatechange?t.onreadystatechange=new Proxy(t.onreadystatechange,{apply:(e,t,n)=>(s(),e.apply(t,n))}):t.addEventListener("readystatechange",s),t.setRequestHeader=new Proxy(t.setRequestHeader,{apply(e,t,n){const[a,r]=n,o=t[tf];return o&&gh(a)&&gh(r)&&(o.request_headers[a.toLowerCase()]=r),e.apply(t,n)}}),e.apply(t,n)}}),e.send=new Proxy(e.send,{apply(e,t,n){const a=t[tf];return a?(void 0!==n[0]&&(a.body=n[0]),Rm("xhr",{startTimestamp:1e3*sm(),xhr:t}),e.apply(t,n)):e.apply(t,n)}})}let af;function rf(e){const t="history";Tm(t,e),Dm(t,of)}function of(){function e(e){return function(...t){const n=t.length>2?t[2]:void 0;if(n){const a=af,r=function(e){try{return new URL(e,Gm.location.origin).toString()}catch{return e}}(String(n));if(af=r,a===r)return e.apply(this,t);Rm("history",{from:a,to:r})}return e.apply(this,t)}}Gm.addEventListener("popstate",()=>{const e=Gm.location.href,t=af;af=e,t!==e&&Rm("history",{from:t,to:e})}),"history"in $m&&$m.history&&(Eh(Gm.history,"pushState",e),Eh(Gm.history,"replaceState",e))}const sf="undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__,cf="production";function lf(e){return new df(t=>{t(e)})}function uf(e){return new df((t,n)=>{n(e)})}class df{constructor(e){this._state=0,this._handlers=[],this._runExecutor(e)}then(e,t){return new df((n,a)=>{this._handlers.push([!1,t=>{if(e)try{n(e(t))}catch(e){a(e)}else n(t)},e=>{if(t)try{n(t(e))}catch(e){a(e)}else a(e)}]),this._executeHandlers()})}catch(e){return this.then(e=>e,e)}finally(e){return new df((t,n)=>{let a,r;return this.then(t=>{r=!1,a=t,e&&e()},t=>{r=!0,a=t,e&&e()}).then(()=>{r?n(a):t(a)})})}_executeHandlers(){if(0===this._state)return;const e=this._handlers.slice();this._handlers=[],e.forEach(e=>{e[0]||(1===this._state&&e[1](this._value),2===this._state&&e[2](this._value),e[0]=!0)})}_runExecutor(e){const t=(e,t)=>{0===this._state&&(wh(t)?t.then(n,a):(this._state=e,this._value=t,this._executeHandlers()))},n=e=>{t(1,e)},a=e=>{t(2,e)};try{e(n,a)}catch(e){a(e)}}}function pf(e,t,n,a=0){try{const r=hf(t,n,e,a);return wh(r)?r:lf(r)}catch(e){return uf(e)}}function hf(e,t,n,a){const r=n[a];if(!e||!r)return e;const o=r({...e},t);return qp&&null===o&&rh(`Event processor "${r.id||"?"}" dropped event`),wh(o)?o.then(e=>hf(e,t,n,a+1)):hf(o,t,n,a+1)}const mf="sentry.profile_id",ff="sentry.exclusive_time",gf=/^sentry-/;function yf(e){return e.split(",").map(e=>{const t=e.indexOf("=");return-1===t?[]:[e.slice(0,t),e.slice(t+1)].map(e=>{try{return decodeURIComponent(e.trim())}catch{return}})}).reduce((e,[t,n])=>(t&&n&&(e[t]=n),e),{})}const bf=/^o(\d+)\./,kf=/^(?:(\w+):)\/\/(?:(\w+)(?::(\w+)?)?@)([\w.-]+)(?::(\d+))?\/(.+)/;function vf(e,t=!1){const{host:n,path:a,pass:r,port:o,projectId:i,protocol:s,publicKey:c}=e;return`${s}://${c}${t&&r?`:${r}`:""}@${n}${o?`:${o}`:""}/${a?`${a}/`:a}${i}`}function wf(e){return{protocol:e.protocol,publicKey:e.publicKey||"",pass:e.pass||"",host:e.host,port:e.port||"",path:e.path||"",projectId:e.projectId}}function _f(e){const t=e.getOptions(),{host:n}=e.getDsn()||{};let a;return t.orgId?a=String(t.orgId):n&&(a=function(e){const t=e.match(bf);return t?.[1]}(n)),a}function jf(e){if(e){if("object"==typeof e&&"deref"in e&&"function"==typeof e.deref)try{return e.deref()}catch{return}return e}}function xf(e){const t=e;return{scope:t._sentryScope,isolationScope:jf(t._sentryIsolationScope)}}let Cf=!1;function Sf(e){const{spanId:t,traceId:n,isRemote:a}=e.spanContext(),r=a?t:Af(e).parent_span_id,o=xf(e).scope;return{parent_span_id:r,span_id:a?o?.getPropagationContext().propagationSpanId||dm():t,trace_id:n}}function zf(e){return e&&e.length>0?e.map(({context:{spanId:e,traceId:t,traceFlags:n,...a},attributes:r})=>({span_id:e,trace_id:t,sampled:1===n,attributes:r,...a})):void 0}function Ef(e){return"number"==typeof e?Of(e):Array.isArray(e)?e[0]+e[1]/1e9:e instanceof Date?Of(e.getTime()):sm()}function Of(e){return e>9999999999?e/1e3:e}function Af(e){if(function(e){return"function"==typeof e.getSpanJSON}(e))return e.getSpanJSON();const{spanId:t,traceId:n}=e.spanContext();if(function(e){const t=e;return!!(t.attributes&&t.startTime&&t.name&&t.endTime&&t.status)}(e)){const{attributes:a,startTime:r,name:o,endTime:i,status:s,links:c}=e;return{span_id:t,trace_id:n,data:a,description:o,parent_span_id:"parentSpanId"in e?e.parentSpanId:"parentSpanContext"in e?e.parentSpanContext?.spanId:void 0,start_timestamp:Ef(r),timestamp:Ef(i)||void 0,status:Pf(s),op:a["sentry.op"],origin:a["sentry.origin"],links:zf(c)}}return{span_id:t,trace_id:n,start_timestamp:0,data:{}}}function Pf(e){if(e&&0!==e.code)return 1===e.code?"ok":e.message||"internal_error"}function If(e){return e._sentryRootSpan||e}function Nf(){Cf||(eh(()=>{console.warn("[Sentry] Returning null from `beforeSendSpan` is disallowed. To drop certain spans, configure the respective integrations directly or use `ignoreSpans`.")}),Cf=!0)}function Lf(e,t){const n=t.getOptions(),{publicKey:a}=t.getDsn()||{},r={environment:n.environment||cf,release:n.release,public_key:a,trace_id:e,org_id:_f(t)};return t.emit("createDsc",r),r}function Tf(e){const t=xm();if(!t)return{};const n=If(e),a=Af(n),r=a.data,o=n.spanContext().traceState,i=o?.get("sentry.sample_rate")??r["sentry.sample_rate"]??r["sentry.previous_trace_sample_rate"];function s(e){return"number"!=typeof i&&"string"!=typeof i||(e.sample_rate=`${i}`),e}const c=n._frozenDsc;if(c)return s(c);const l=o?.get("sentry.dsc"),u=l&&function(e){const t=function(e){if(e&&(gh(e)||Array.isArray(e)))return Array.isArray(e)?e.reduce((e,t)=>{const n=yf(t);return Object.entries(n).forEach(([t,n])=>{e[t]=n}),e},{}):yf(e)}(e);if(!t)return;const n=Object.entries(t).reduce((e,[t,n])=>(t.match(gf)&&(e[t.slice(7)]=n),e),{});return Object.keys(n).length>0?n:void 0}(l);if(u)return s(u);const d=Lf(e.spanContext().traceId,t),p=r["sentry.source"],h=a.description;return"url"!==p&&h&&(d.transaction=h),function(){if("boolean"==typeof __SENTRY_TRACING__&&!__SENTRY_TRACING__)return!1;const e=xm()?.getOptions();return!(!e||null==e.tracesSampleRate&&!e.tracesSampler)}()&&(d.sampled=String(function(e){const{traceFlags:t}=e.spanContext();return 1===t}(n)),d.sample_rand=o?.get("sentry.sample_rand")??xf(n).scope?.getPropagationContext().sampleRand.toString()),s(d),t.emit("createDsc",d,n),d}function Df(e,t){const{extra:n,tags:a,user:r,contexts:o,level:i,sdkProcessingMetadata:s,breadcrumbs:c,fingerprint:l,eventProcessors:u,attachments:d,propagationContext:p,transactionName:h,span:m}=t;Rf(e,"extra",n),Rf(e,"tags",a),Rf(e,"user",r),Rf(e,"contexts",o),e.sdkProcessingMetadata=lm(e.sdkProcessingMetadata,s,2),i&&(e.level=i),h&&(e.transactionName=h),m&&(e.span=m),c.length&&(e.breadcrumbs=[...e.breadcrumbs,...c]),l.length&&(e.fingerprint=[...e.fingerprint,...l]),u.length&&(e.eventProcessors=[...e.eventProcessors,...u]),d.length&&(e.attachments=[...e.attachments,...d]),e.propagationContext={...e.propagationContext,...p}}function Rf(e,t,n){e[t]=lm(e[t],n,1)}let Mf,$f,Bf,Uf;function Ff(e,t=100,n=1/0){try{return Hf("",e,t,n)}catch(e){return{ERROR:`**non-serializable** (${e})`}}}function Vf(e,t=3,n=102400){const a=Ff(e,t);return r=a,function(e){return~-encodeURI(e).split(/%..|./).length}(JSON.stringify(r))>n?Vf(e,t-1,n):a;var r}function Hf(e,t,n=1/0,a=1/0,r=function(){const e=new WeakSet;return[function(t){return!!e.has(t)||(e.add(t),!1)},function(t){e.delete(t)}]}()){const[o,i]=r;if(null==t||["boolean","string"].includes(typeof t)||"number"==typeof t&&Number.isFinite(t))return t;const s=function(e,t){try{if("domain"===e&&t&&"object"==typeof t&&t._events)return"[Domain]";if("domainEmitter"===e)return"[DomainEmitter]";if("undefined"!=typeof global&&t===global)return"[Global]";if("undefined"!=typeof window&&t===window)return"[Window]";if("undefined"!=typeof document&&t===document)return"[Document]";if(jh(t))return Gh(t);if(kh(n=t)&&"nativeEvent"in n&&"preventDefault"in n&&"stopPropagation"in n)return"[SyntheticEvent]";if("number"==typeof t&&!Number.isFinite(t))return`[${t}]`;if("function"==typeof t)return`[Function: ${Yh(t)}]`;if("symbol"==typeof t)return`[${String(t)}]`;if("bigint"==typeof t)return`[BigInt: ${String(t)}]`;const a=function(e){const t=Object.getPrototypeOf(e);return t?.constructor?t.constructor.name:"null prototype"}(t);return/^HTML(\w*)Element$/.test(a)?`[HTMLElement: ${a}]`:`[object ${a}]`}catch(e){return`**non-serializable** (${e})`}var n}(e,t);if(!s.startsWith("[object "))return s;if(t.__sentry_skip_normalization__)return t;const c="number"==typeof t.__sentry_override_normalization_depth__?t.__sentry_override_normalization_depth__:n;if(0===c)return s.replace("object ","");if(o(t))return"[Circular ~]";const l=t;if(l&&"function"==typeof l.toJSON)try{return Hf("",l.toJSON(),c-1,a,r)}catch{}const u=Array.isArray(t)?[]:{};let d=0;const p=Ih(t);for(const e in p){if(!Object.prototype.hasOwnProperty.call(p,e))continue;if(d>=a){u[e]="[MaxProperties ~]";break}const t=p[e];u[e]=Hf(e,t,c-1,a,r),d++}return i(t),u}function Kf(e,t,n,a,r,o){const{normalizeDepth:i=3,normalizeMaxBreadth:s=1e3}=e,c={...t,event_id:t.event_id||n.event_id||Dh(),timestamp:t.timestamp||om()},l=n.integrations||e.integrations.map(e=>e.name);!function(e,t){const{environment:n,release:a,dist:r,maxValueLength:o}=t;e.environment=e.environment||n||cf,!e.release&&a&&(e.release=a),!e.dist&&r&&(e.dist=r);const i=e.request;i?.url&&o&&(i.url=Qh(i.url,o)),o&&e.exception?.values?.forEach(e=>{e.value&&(e.value=Qh(e.value,o))})}(c,e),function(e,t){t.length>0&&(e.sdk=e.sdk||{},e.sdk.integrations=[...e.sdk.integrations||[],...t])}(c,l),r&&r.emit("applyFrameMetadata",t),void 0===t.type&&function(e,t){const n=function(e){const t=Wp._sentryDebugIds,n=Wp._debugIds;if(!t&&!n)return{};const a=t?Object.keys(t):[],r=n?Object.keys(n):[];if(Uf&&a.length===$f&&r.length===Bf)return Uf;$f=a.length,Bf=r.length,Uf={},Mf||(Mf={});const o=(t,n)=>{for(const a of t){const t=n[a],r=Mf?.[a];if(r&&Uf&&t)Uf[r[0]]=t,Mf&&(Mf[a]=[r[0],t]);else if(t){const n=e(a);for(let e=n.length-1;e>=0;e--){const r=n[e],o=r?.filename;if(o&&Uf&&Mf){Uf[o]=t,Mf[a]=[o,t];break}}}}};return t&&o(a,t),n&&o(r,n),Uf}(t);e.exception?.values?.forEach(e=>{e.stacktrace?.frames?.forEach(e=>{e.filename&&(e.debug_id=n[e.filename])})})}(c,e.stackParser);const u=function(e,t){if(!t)return e;const n=e?e.clone():new fm;return n.update(t),n}(a,n.captureContext);n.mechanism&&Bh(c,n.mechanism);const d=r?r.getEventProcessors():[],p=Jp("globalScope",()=>new fm).getScopeData();o&&Df(p,o.getScopeData()),u&&Df(p,u.getScopeData());const h=[...n.attachments||[],...p.attachments];return h.length&&(n.attachments=h),function(e,t){const{fingerprint:n,span:a,breadcrumbs:r,sdkProcessingMetadata:o}=t;!function(e,t){const{extra:n,tags:a,user:r,contexts:o,level:i,transactionName:s}=t;Object.keys(n).length&&(e.extra={...n,...e.extra}),Object.keys(a).length&&(e.tags={...a,...e.tags}),Object.keys(r).length&&(e.user={...r,...e.user}),Object.keys(o).length&&(e.contexts={...o,...e.contexts}),i&&(e.level=i),s&&"transaction"!==e.type&&(e.transaction=s)}(e,t),a&&function(e,t){e.contexts={trace:Sf(t),...e.contexts},e.sdkProcessingMetadata={dynamicSamplingContext:Tf(t),...e.sdkProcessingMetadata};const n=Af(If(t)).description;n&&!e.transaction&&"transaction"===e.type&&(e.transaction=n)}(e,a),function(e,t){e.fingerprint=e.fingerprint?Array.isArray(e.fingerprint)?e.fingerprint:[e.fingerprint]:[],t&&(e.fingerprint=e.fingerprint.concat(t)),e.fingerprint.length||delete e.fingerprint}(e,n),function(e,t){const n=[...e.breadcrumbs||[],...t];e.breadcrumbs=n.length?n:void 0}(e,r),function(e,t){e.sdkProcessingMetadata={...e.sdkProcessingMetadata,...t}}(e,o)}(c,p),pf([...d,...p.eventProcessors],c,n).then(e=>(e&&function(e){const t={};if(e.exception?.values?.forEach(e=>{e.stacktrace?.frames?.forEach(e=>{e.debug_id&&(e.abs_path?t[e.abs_path]=e.debug_id:e.filename&&(t[e.filename]=e.debug_id),delete e.debug_id)})}),0===Object.keys(t).length)return;e.debug_meta=e.debug_meta||{},e.debug_meta.images=e.debug_meta.images||[];const n=e.debug_meta.images;Object.entries(t).forEach(([e,t])=>{n.push({type:"sourcemap",code_file:e,debug_id:t})})}(e),"number"==typeof i&&i>0?function(e,t,n){if(!e)return null;const a={...e,...e.breadcrumbs&&{breadcrumbs:e.breadcrumbs.map(e=>({...e,...e.data&&{data:Ff(e.data,t,n)}}))},...e.user&&{user:Ff(e.user,t,n)},...e.contexts&&{contexts:Ff(e.contexts,t,n)},...e.extra&&{extra:Ff(e.extra,t,n)}};return e.contexts?.trace&&a.contexts&&(a.contexts.trace=e.contexts.trace,e.contexts.trace.data&&(a.contexts.trace.data=Ff(e.contexts.trace.data,t,n))),e.spans&&(a.spans=e.spans.map(e=>({...e,...e.data&&{data:Ff(e.data,t,n)}}))),e.contexts?.flags&&a.contexts&&(a.contexts.flags=Ff(e.contexts.flags,3,n)),a}(e,i,s):e))}const qf=["user","level","extra","contexts","tags","fingerprint","propagationContext"];function Yf(e,t){return _m().captureEvent(e,t)}function Wf(e){const t=jm(),n=_m(),{userAgent:a}=Wp.navigator||{},r=function(e){const t=sm(),n={sid:Dh(),init:!0,timestamp:t,started:t,duration:0,status:"ok",errors:0,ignoreDuration:!1,toJSON:()=>function(e){return{sid:`${e.sid}`,init:e.init,started:new Date(1e3*e.started).toISOString(),timestamp:new Date(1e3*e.timestamp).toISOString(),status:e.status,errors:e.errors,did:"number"==typeof e.did||"string"==typeof e.did?`${e.did}`:void 0,duration:e.duration,abnormal_mechanism:e.abnormal_mechanism,attrs:{release:e.release,environment:e.environment,ip_address:e.ipAddress,user_agent:e.userAgent}}}(n)};return e&&cm(n,e),n}({user:n.getUser()||t.getUser(),...a&&{userAgent:a},...e}),o=t.getSession();return"ok"===o?.status&&cm(o,{status:"exited"}),Gf(),t.setSession(r),r}function Gf(){const e=jm(),t=_m().getSession()||e.getSession();t&&function(e){let t={};"ok"===e.status&&(t={status:"exited"}),cm(e,t)}(t),Qf(),e.setSession()}function Qf(){const e=jm(),t=xm(),n=e.getSession();n&&t&&t.captureSession(n)}function Jf(e=!1){e?Gf():Qf()}const Zf=Wp;let Xf=0;function eg(){return Xf>0}function tg(e,t={}){if(!function(e){return"function"==typeof e}(e))return e;try{const t=e.__sentry_wrapped__;if(t)return"function"==typeof t?t:e;if(Ph(e))return e}catch{return e}const n=function(...n){try{const a=n.map(e=>tg(e,t));return e.apply(this,a)}catch(e){throw Xf++,setTimeout(()=>{Xf--}),function(...e){const t=wm(Gp());if(2===e.length){const[n,a]=e;return n?t.withSetScope(n,a):t.withScope(a)}t.withScope(e[0])}(a=>{var r;a.addEventProcessor(e=>(t.mechanism&&($h(e,void 0,void 0),Bh(e,t.mechanism)),e.extra={...e.extra,arguments:n},e)),r=e,_m().captureException(r,function(e){if(e)return function(e){return e instanceof fm||"function"==typeof e}(e)||function(e){return Object.keys(e).some(e=>qf.includes(e))}(e)?{captureContext:e}:e}(undefined))}),e}};try{for(const t in e)Object.prototype.hasOwnProperty.call(e,t)&&(n[t]=e[t])}catch{}Ah(n,e),Oh(e,"__sentry_wrapped__",n);try{Object.getOwnPropertyDescriptor(n,"name").configurable&&Object.defineProperty(n,"name",{get:()=>e.name})}catch{}return n}const ng=(e={})=>{const t={console:!0,dom:!0,fetch:!0,history:!0,sentry:!0,xhr:!0,...e};return{name:"Breadcrumbs",setup(e){var n;t.console&&function(e){const t="console";Tm(t,e),Dm(t,Mm)}(function(e){return function(t){if(xm()!==e)return;const n={category:"console",data:{arguments:t.args,logger:"console"},level:(a=t.level,"warn"===a?"warning":["fatal","error","warning","log","info","debug"].includes(a)?a:"log"),message:Jh(t.args," ")};var a;if("assert"===t.level){if(!1!==t.args[0])return;n.message=`Assertion failed: ${Jh(t.args.slice(1)," ")||"console.assert"}`,n.data.arguments=t.args.slice(1)}qm(n,{input:t.args,level:t.level})}}(e)),t.dom&&(n=function(e,t){return function(n){if(xm()!==e)return;let a,r,o="object"==typeof t?t.serializeAttribute:void 0,i="object"==typeof t&&"number"==typeof t.maxStringLength?t.maxStringLength:void 0;i&&i>1024&&(sf&&oh(`\`dom.maxStringLength\` cannot exceed 1024, but a value of ${i} was configured. Sentry will use 1024 instead.`),i=1024),"string"==typeof o&&(o=[o]);try{const e=n.event,t=function(e){return!!e&&!!e.target}(e)?e.target:e;a=Ch(t,{keyAttrs:o,maxStringLength:i}),r=function(e){if(!xh.HTMLElement)return null;let t=e;for(let e=0;e<5;e++){if(!t)return null;if(t instanceof HTMLElement){if(t.dataset.sentryComponent)return t.dataset.sentryComponent;if(t.dataset.sentryElement)return t.dataset.sentryElement}t=t.parentNode}return null}(t)}catch{a="<unknown>"}if(0===a.length)return;const s={category:`ui.${n.name}`,message:a};r&&(s.data={"ui.component_name":r}),qm(s,{event:n.event,name:n.name,global:n.global})}}(e,t.dom),Tm("dom",n),Dm("dom",Xm)),t.xhr&&function(e){Tm("xhr",e),Dm("xhr",nf)}(function(e){return function(t){if(xm()!==e)return;const{startTimestamp:n,endTimestamp:a}=t,r=t.xhr[tf];if(!n||!a||!r)return;const{method:o,url:i,status_code:s,body:c}=r,l={method:o,url:i,status_code:s},u={xhr:t.xhr,input:c,startTimestamp:n,endTimestamp:a},d={category:"xhr",data:l,type:"http",level:Ym(s)};e.emit("beforeOutgoingRequestBreadcrumb",d,u),qm(d,u)}}(e)),t.fetch&&function(e){const t="fetch";Tm(t,e),Dm(t,()=>Um(void 0,undefined))}(function(e){return function(t){if(xm()!==e)return;const{startTimestamp:n,endTimestamp:a}=t;if(a&&(!t.fetchData.url.match(/sentry_key/)||"POST"!==t.fetchData.method))if(t.fetchData.method,t.fetchData.url,t.error){const r=t.fetchData,o={data:t.error,input:t.args,startTimestamp:n,endTimestamp:a},i={category:"fetch",data:r,level:"error",type:"http"};e.emit("beforeOutgoingRequestBreadcrumb",i,o),qm(i,o)}else{const r=t.response,o={...t.fetchData,status_code:r?.status};t.fetchData.request_body_size,t.fetchData.response_body_size;const i={input:t.args,response:r,startTimestamp:n,endTimestamp:a},s={category:"fetch",data:o,type:"http",level:Ym(o.status_code)};e.emit("beforeOutgoingRequestBreadcrumb",s,i),qm(s,i)}}}(e)),t.history&&rf(function(e){return function(t){if(xm()!==e)return;let n=t.from,a=t.to;const r=Wm(Zf.location.href);let o=n?Wm(n):void 0;const i=Wm(a);o?.path||(o=r),r.protocol===i.protocol&&r.host===i.host&&(a=i.relative),r.protocol===o.protocol&&r.host===o.host&&(n=o.relative),qm({category:"navigation",data:{from:n,to:a}})}}(e)),t.sentry&&e.on("beforeSendEvent",function(e){return function(t){xm()===e&&qm({category:"sentry."+("transaction"===t.type?"transaction":"event"),event_id:t.event_id,level:t.level,message:Mh(t)},{event:t})}}(e))}}},ag=["EventTarget","Window","Node","ApplicationCache","AudioTrackList","BroadcastChannel","ChannelMergerNode","CryptoOperation","EventSource","FileReader","HTMLUnknownElement","IDBDatabase","IDBRequest","IDBTransaction","KeyOperation","MediaController","MessagePort","ModalWindow","Notification","SVGElementInstance","Screen","SharedWorker","TextTrack","TextTrackCue","TextTrackList","WebSocket","WebSocketWorker","Worker","XMLHttpRequest","XMLHttpRequestEventTarget","XMLHttpRequestUpload"],rg=(e={})=>{const t={XMLHttpRequest:!0,eventTarget:!0,requestAnimationFrame:!0,setInterval:!0,setTimeout:!0,unregisterOriginalCallbacks:!1,...e};return{name:"BrowserApiErrors",setupOnce(){t.setTimeout&&Eh(Zf,"setTimeout",og),t.setInterval&&Eh(Zf,"setInterval",og),t.requestAnimationFrame&&Eh(Zf,"requestAnimationFrame",ig),t.XMLHttpRequest&&"XMLHttpRequest"in Zf&&Eh(XMLHttpRequest.prototype,"send",sg);const e=t.eventTarget;e&&(Array.isArray(e)?e:ag).forEach(e=>function(e,t){const n=Zf,a=n[e]?.prototype;a?.hasOwnProperty?.("addEventListener")&&(Eh(a,"addEventListener",function(n){return function(a,r,o){try{"function"==typeof r.handleEvent&&(r.handleEvent=tg(r.handleEvent,{mechanism:{data:{handler:Yh(r),target:e},handled:!1,type:"auto.browser.browserapierrors.handleEvent"}}))}catch{}return t.unregisterOriginalCallbacks&&function(e,t,n){e&&"object"==typeof e&&"removeEventListener"in e&&"function"==typeof e.removeEventListener&&e.removeEventListener(t,n)}(this,a,r),n.apply(this,[a,tg(r,{mechanism:{data:{handler:Yh(r),target:e},handled:!1,type:"auto.browser.browserapierrors.addEventListener"}}),o])}}),Eh(a,"removeEventListener",function(e){return function(t,n,a){try{const r=n.__sentry_wrapped__;r&&e.call(this,t,r,a)}catch{}return e.call(this,t,n,a)}}))}(e,t))}}};function og(e){return function(...t){const n=t[0];return t[0]=tg(n,{mechanism:{handled:!1,type:`auto.browser.browserapierrors.${Yh(e)}`}}),e.apply(this,t)}}function ig(e){return function(t){return e.apply(this,[tg(t,{mechanism:{data:{handler:Yh(e)},handled:!1,type:"auto.browser.browserapierrors.requestAnimationFrame"}})])}}function sg(e){return function(...t){const n=this;return["onload","onerror","onprogress","onreadystatechange"].forEach(e=>{e in n&&"function"==typeof n[e]&&Eh(n,e,function(t){const n={mechanism:{data:{handler:Yh(t)},handled:!1,type:`auto.browser.browserapierrors.xhr.${e}`}},a=Ph(t);return a&&(n.mechanism.data.handler=Yh(a)),tg(t,n)})}),e.apply(this,t)}}let cg=null;function lg(){cg=Wp.onerror,Wp.onerror=function(e,t,n,a,r){return Rm("error",{column:a,error:r,line:n,msg:e,url:t}),!!cg&&cg.apply(this,arguments)},Wp.onerror.__SENTRY_INSTRUMENTED__=!0}let ug=null;function dg(){ug=Wp.onunhandledrejection,Wp.onunhandledrejection=function(e){return Rm("unhandledrejection",e),!ug||ug.apply(this,arguments)},Wp.onunhandledrejection.__SENTRY_INSTRUMENTED__=!0}function pg(e,t){const n=mg(e,t),a={type:yg(t),value:bg(t)};return n.length&&(a.stacktrace={frames:n}),void 0===a.type&&""===a.value&&(a.value="Unrecoverable error caught"),a}function hg(e,t){return{exception:{values:[pg(e,t)]}}}function mg(e,t){const n=t.stacktrace||t.stack||"",a=function(e){return e&&fg.test(e.message)?1:0}(t),r=function(e){return"number"==typeof e.framesToPop?e.framesToPop:0}(t);try{return e(n,a,r)}catch{}return[]}const fg=/Minified React error #\d+;/i;function gg(e){return"undefined"!=typeof WebAssembly&&void 0!==WebAssembly.Exception&&e instanceof WebAssembly.Exception}function yg(e){const t=e?.name;return!t&&gg(e)?e.message&&Array.isArray(e.message)&&2==e.message.length?e.message[0]:"WebAssembly.Exception":t}function bg(e){const t=e?.message;return gg(e)?Array.isArray(e.message)&&2==e.message.length?e.message[1]:"wasm exception":t?t.error&&"string"==typeof t.error.message?t.error.message:t:"No error message"}function kg(e,t,n,a,r){let o;if(mh(t)&&t.error)return hg(e,t.error);if(fh(t)||hh(t,"DOMException")){const r=t;if("stack"in t)o=hg(e,t);else{const t=r.name||(fh(r)?"DOMError":"DOMException"),i=r.message?`${t}: ${r.message}`:t;o=vg(e,i,n,a),$h(o,i)}return"code"in r&&(o.tags={...o.tags,"DOMException.code":`${r.code}`}),o}return ph(t)?hg(e,t):kh(t)||vh(t)?(o=function(e,t,n,a){const r=xm(),o=r?.getOptions().normalizeDepth,i=function(e){for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)){const n=e[t];if(n instanceof Error)return n}}(t),s={__serialized__:Vf(t,o)};if(i)return{exception:{values:[pg(e,i)]},extra:s};const c={exception:{values:[{type:vh(t)?t.constructor.name:a?"UnhandledRejection":"Error",value:wg(t,{isUnhandledRejection:a})}]},extra:s};if(n){const t=mg(e,n);t.length&&(c.exception.values[0].stacktrace={frames:t})}return c}(e,t,n,r),Bh(o,{synthetic:!0}),o):(o=vg(e,t,n,a),$h(o,`${t}`,void 0),Bh(o,{synthetic:!0}),o)}function vg(e,t,n,a){const r={};if(a&&n){const a=mg(e,n);a.length&&(r.exception={values:[{value:t,stacktrace:{frames:a}}]}),Bh(r,{synthetic:!0})}if(yh(t)){const{__sentry_template_string__:e,__sentry_template_values__:n}=t;return r.logentry={message:e,params:n},r}return r.message=t,r}function wg(e,{isUnhandledRejection:t}){const n=function(e){const t=Object.keys(Ih(e));return t.sort(),t[0]?t.join(", "):"[object has no keys]"}(e),a=t?"promise rejection":"exception";return mh(e)?`Event \`ErrorEvent\` captured as ${a} with message \`${e.message}\``:vh(e)?`Event \`${function(e){try{const t=Object.getPrototypeOf(e);return t?t.constructor.name:void 0}catch{}}(e)}\` (type=${e.type}) captured as ${a}`:`Object captured as ${a} with keys: ${n}`}const _g=(e={})=>{const t={onerror:!0,onunhandledrejection:!0,...e};return{name:"GlobalHandlers",setupOnce(){Error.stackTraceLimit=50},setup(e){t.onerror&&(function(e){!function(){const t="error";Tm(t,t=>{const{stackParser:n,attachStacktrace:a}=xg();if(xm()!==e||eg())return;const{msg:r,url:o,line:i,column:s,error:c}=t,l=function(e,t,n,a){const r=e.exception=e.exception||{},o=r.values=r.values||[],i=o[0]=o[0]||{},s=i.stacktrace=i.stacktrace||{},c=s.frames=s.frames||[],l=a,u=n,d=function(e){if(gh(e)&&0!==e.length){if(e.startsWith("data:")){const t=e.match(/^data:([^;]+)/);return`<data:${t?t[1]:"text/javascript"}${e.includes("base64,")?",base64":""}>`}return e}}(t)??zh();return 0===c.length&&c.push({colno:l,filename:d,function:Fh,in_app:!0,lineno:u}),e}(kg(n,c||r,void 0,a,!1),o,i,s);l.level="error",Yf(l,{originalException:c,mechanism:{handled:!1,type:"auto.browser.global_handlers.onerror"}})}),Dm(t,lg)}()}(e),jg("onerror")),t.onunhandledrejection&&(function(e){!function(){const t="unhandledrejection";Tm(t,t=>{const{stackParser:n,attachStacktrace:a}=xg();if(xm()!==e||eg())return;const r=function(e){if(bh(e))return e;try{if("reason"in e)return e.reason;if("detail"in e&&"reason"in e.detail)return e.detail.reason}catch{}return e}(t),o=bh(r)?{exception:{values:[{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(r)}`}]}}:kg(n,r,void 0,a,!0);o.level="error",Yf(o,{originalException:r,mechanism:{handled:!1,type:"auto.browser.global_handlers.onunhandledrejection"}})}),Dm(t,dg)}()}(e),jg("onunhandledrejection"))}}};function jg(e){sf&&rh(`Global Handler attached: ${e}`)}function xg(){const e=xm();return e?.getOptions()||{stackParser:()=>[],attachStacktrace:!1}}function Cg(e,t,n,a,r,o){if(!r.exception?.values||!o||!_h(o.originalException,Error))return;const i=r.exception.values.length>0?r.exception.values[r.exception.values.length-1]:void 0;i&&(r.exception.values=Sg(e,t,a,o.originalException,n,r.exception.values,i,0))}function Sg(e,t,n,a,r,o,i,s){if(o.length>=n+1)return o;let c=[...o];if(_h(a[r],Error)){zg(i,s);const o=e(t,a[r]),l=c.length;Eg(o,r,l,s),c=Sg(e,t,n,a[r],r,[o,...c],o,l)}return Array.isArray(a.errors)&&a.errors.forEach((a,o)=>{if(_h(a,Error)){zg(i,s);const l=e(t,a),u=c.length;Eg(l,`errors[${o}]`,u,s),c=Sg(e,t,n,a,r,[l,...c],l,u)}}),c}function zg(e,t){e.mechanism={handled:!0,type:"auto.core.linked_errors",...e.mechanism,..."AggregateError"===e.type&&{is_exception_group:!0},exception_id:t}}function Eg(e,t,n,a){e.mechanism={handled:!0,...e.mechanism,type:"chained",source:t,exception_id:n,parent_id:a}}const Og=(e={})=>{const t=e.limit||5,n=e.key||"cause";return{name:"LinkedErrors",preprocessEvent(e,a,r){Cg(pg,r.getOptions().stackParser,n,t,e,a)}}};function Ag(e,t=[]){return[e,t]}function Pg(e,t){const[n,a]=e;return[n,[...a,t]]}function Ig(e,t){const n=e[1];for(const e of n)if(t(e,e[0].type))return!0;return!1}function Ng(e){const t=Qp(Wp);return t.encodePolyfill?t.encodePolyfill(e):(new TextEncoder).encode(e)}function Lg(e){const[t,n]=e;let a=JSON.stringify(t);function r(e){"string"==typeof a?a="string"==typeof e?a+e:[Ng(a),e]:a.push("string"==typeof e?Ng(e):e)}for(const e of n){const[t,n]=e;if(r(`\n${JSON.stringify(t)}\n`),"string"==typeof n||n instanceof Uint8Array)r(n);else{let e;try{e=JSON.stringify(n)}catch{e=JSON.stringify(Ff(n))}r(e)}}return"string"==typeof a?a:function(e){const t=e.reduce((e,t)=>e+t.length,0),n=new Uint8Array(t);let a=0;for(const t of e)n.set(t,a),a+=t.length;return n}(a)}function Tg(e){const t="string"==typeof e.data?Ng(e.data):e.data;return[{type:"attachment",length:t.length,filename:e.filename,content_type:e.contentType,attachment_type:e.attachmentType},t]}const Dg={session:"session",sessions:"session",attachment:"attachment",transaction:"transaction",event:"error",client_report:"internal",user_report:"default",profile:"profile",profile_chunk:"profile",replay_event:"replay",replay_recording:"replay",check_in:"monitor",feedback:"feedback",span:"span",raw_security:"security",log:"log_item",metric:"metric",trace_metric:"metric"};function Rg(e){return Dg[e]}function Mg(e){if(!e?.sdk)return;const{name:t,version:n}=e.sdk;return{name:t,version:n}}function $g(e,t){const n=t??function(e){return Bg().get(e)}(e)??[];if(0===n.length)return;const a=e.getOptions(),r=function(e,t,n,a){const r={};return t?.sdk&&(r.sdk={name:t.sdk.name,version:t.sdk.version}),n&&a&&(r.dsn=vf(a)),Ag(r,[(o=e,[{type:"log",item_count:o.length,content_type:"application/vnd.sentry.items.log+json"},{items:o}])]);var o}(n,a._metadata,a.tunnel,e.getDsn());Bg().set(e,[]),e.emit("flushLogs"),e.sendEnvelope(r)}function Bg(){return Jp("clientToLogBufferMap",()=>new WeakMap)}function Ug(e,t){const n=t??function(e){return Fg().get(e)}(e)??[];if(0===n.length)return;const a=e.getOptions(),r=function(e,t,n,a){const r={};return t?.sdk&&(r.sdk={name:t.sdk.name,version:t.sdk.version}),n&&a&&(r.dsn=vf(a)),Ag(r,[(o=e,[{type:"trace_metric",item_count:o.length,content_type:"application/vnd.sentry.items.trace-metric+json"},{items:o}])]);var o}(n,a._metadata,a.tunnel,e.getDsn());Fg().set(e,[]),e.emit("flushMetrics"),e.sendEnvelope(r)}function Fg(){return Jp("clientToMetricBufferMap",()=>new WeakMap)}const Vg=Symbol.for("SentryBufferFullError");function Hg(e=100){const t=new Set;function n(e){t.delete(e)}return{get $(){return Array.from(t)},add:function(a){if(!(t.size<e))return uf(Vg);const r=a();return t.add(r),r.then(()=>n(r),()=>n(r)),r},drain:function(e){if(!t.size)return lf(!0);const n=Promise.allSettled(Array.from(t)).then(()=>!0);if(!e)return n;const a=[n,new Promise(t=>setTimeout(()=>t(!1),e))];return Promise.race(a)}}}function Kg(e,t,n=Hg(e.bufferSize||64)){let a={};return{send:function(r){const o=[];if(Ig(r,(t,n)=>{const r=Rg(n);!function(e,t,n=Date.now()){return function(e,t){return e[t]||e.all||0}(e,t)>n}(a,r)?o.push(t):e.recordDroppedEvent("ratelimit_backoff",r)}),0===o.length)return Promise.resolve({});const i=Ag(r[0],o),s=t=>{Ig(i,(n,a)=>{e.recordDroppedEvent(t,Rg(a))})};return n.add(()=>t({body:Lg(i)}).then(e=>(void 0!==e.statusCode&&(e.statusCode<200||e.statusCode>=300)&&qp&&oh(`Sentry responded with status code ${e.statusCode} to sent event.`),a=function(e,{statusCode:t,headers:n},a=Date.now()){const r={...e},o=n?.["x-sentry-rate-limits"],i=n?.["retry-after"];if(o)for(const e of o.trim().split(",")){const[t,n,,,o]=e.split(":",5),i=parseInt(t,10),s=1e3*(isNaN(i)?60:i);if(n)for(const e of n.split(";"))"metric_bucket"===e&&o&&!o.split(";").includes("custom")||(r[e]=a+s);else r.all=a+s}else i?r.all=a+function(e,t=Date.now()){const n=parseInt(`${e}`,10);if(!isNaN(n))return 1e3*n;const a=Date.parse(`${e}`);return isNaN(a)?6e4:a-t}(i,a):429===t&&(r.all=a+6e4);return r}(a,e),e),e=>{throw s("network_error"),qp&&ih("Encountered error running transport request:",e),e})).then(e=>e,e=>{if(e===Vg)return qp&&ih("Skipped sending event because buffer is full."),s("queue_overflow"),Promise.resolve({});throw e})},flush:e=>n.drain(e)}}function qg(e){rh(`Ignoring span ${e.op} - ${e.description} because it matches \`ignoreSpans\`.`)}function Yg(e,t){if(!t?.length||!e.description)return!1;for(const n of t){if(Gg(n)){if(Zh(e.description,n))return qp&&qg(e),!0;continue}if(!n.name&&!n.op)continue;const t=!n.name||Zh(e.description,n.name),a=!n.op||e.op&&Zh(e.op,n.op);if(t&&a)return qp&&qg(e),!0}return!1}function Wg(e,t){const n=t.parent_span_id,a=t.span_id;if(n)for(const t of e)t.parent_span_id===a&&(t.parent_span_id=n)}function Gg(e){return"string"==typeof e||e instanceof RegExp}const Qg="Not capturing exception because it's already been captured.",Jg="Discarded session because of missing or non-string release",Zg=Symbol.for("SentryInternalError"),Xg=Symbol.for("SentryDoNotSendEventError");function ey(e){return{message:e,[Zg]:!0}}function ty(e){return{message:e,[Xg]:!0}}function ny(e){return!!e&&"object"==typeof e&&Zg in e}function ay(e){return!!e&&"object"==typeof e&&Xg in e}function ry(e,t,n,a,r){let o,i=0,s=!1;e.on(n,()=>{i=0,clearTimeout(o),s=!1}),e.on(t,t=>{i+=a(t),i>=8e5?r(e):s||(s=!0,o=setTimeout(()=>{r(e)},5e3))}),e.on("flush",()=>{r(e)})}class oy{constructor(e){if(this._options=e,this._integrations={},this._numProcessing=0,this._outcomes={},this._hooks={},this._eventProcessors=[],this._promiseBuffer=Hg(e.transportOptions?.bufferSize??64),e.dsn?this._dsn=function(e){const t="string"==typeof e?function(e){const t=kf.exec(e);if(!t)return void eh(()=>{console.error(`Invalid Sentry Dsn: ${e}`)});const[n,a,r="",o="",i="",s=""]=t.slice(1);let c="",l=s;const u=l.split("/");if(u.length>1&&(c=u.slice(0,-1).join("/"),l=u.pop()),l){const e=l.match(/^\d+/);e&&(l=e[0])}return wf({host:o,pass:r,path:c,projectId:l,port:i,protocol:n,publicKey:a})}(e):wf(e);if(t&&function(e){if(!qp)return!0;const{port:t,projectId:n,protocol:a}=e;return!(["protocol","publicKey","host","projectId"].find(t=>!e[t]&&(ih(`Invalid Sentry Dsn: ${t} missing`),!0))||(n.match(/^\d+$/)?function(e){return"http"===e||"https"===e}(a)?t&&isNaN(parseInt(t,10))&&(ih(`Invalid Sentry Dsn: Invalid port ${t}`),1):(ih(`Invalid Sentry Dsn: Invalid protocol ${a}`),1):(ih(`Invalid Sentry Dsn: Invalid projectId ${n}`),1)))}(t))return t}(e.dsn):qp&&oh("No DSN provided, client will not send events."),this._dsn){const r=(t=this._dsn,n=e.tunnel,a=e._metadata?e._metadata.sdk:void 0,n||`${function(e){return`${function(e){const t=e.protocol?`${e.protocol}:`:"",n=e.port?`:${e.port}`:"";return`${t}//${e.host}${n}${e.path?`/${e.path}`:""}/api/`}(e)}${e.projectId}/envelope/`}(t)}?${function(e,t){const n={sentry_version:"7"};return e.publicKey&&(n.sentry_key=e.publicKey),t&&(n.sentry_client=`${t.name}/${t.version}`),new URLSearchParams(n).toString()}(t,a)}`);this._transport=e.transport({tunnel:this._options.tunnel,recordDroppedEvent:this.recordDroppedEvent.bind(this),...e.transportOptions,url:r})}var t,n,a;this._options.enableLogs=this._options.enableLogs??this._options._experiments?.enableLogs,this._options.enableLogs&&ry(this,"afterCaptureLog","flushLogs",uy,$g),(this._options.enableMetrics??this._options._experiments?.enableMetrics??1)&&ry(this,"afterCaptureMetric","flushMetrics",ly,Ug)}captureException(e,t,n){const a=Dh();if(Uh(e))return qp&&rh(Qg),a;const r={event_id:a,...t};return this._process(()=>this.eventFromException(e,r).then(e=>this._captureEvent(e,r,n)).then(e=>e),"error"),r.event_id}captureMessage(e,t,n,a){const r={event_id:Dh(),...n},o=yh(e)?e:String(e),i=bh(e),s=i?this.eventFromMessage(o,t,r):this.eventFromException(e,r);return this._process(()=>s.then(e=>this._captureEvent(e,r,a)),i?"unknown":"error"),r.event_id}captureEvent(e,t,n){const a=Dh();if(t?.originalException&&Uh(t.originalException))return qp&&rh(Qg),a;const r={event_id:a,...t},o=e.sdkProcessingMetadata||{},i=o.capturedSpanScope,s=o.capturedSpanIsolationScope,c=iy(e.type);return this._process(()=>this._captureEvent(e,r,i||n,s),c),r.event_id}captureSession(e){this.sendSession(e),cm(e,{init:!1})}getDsn(){return this._dsn}getOptions(){return this._options}getSdkMetadata(){return this._options._metadata}getTransport(){return this._transport}async flush(e){const t=this._transport;if(!t)return!0;this.emit("flush");const n=await this._isClientDoneProcessing(e),a=await t.flush(e);return n&&a}async close(e){const t=await this.flush(e);return this.getOptions().enabled=!1,this.emit("close"),t}getEventProcessors(){return this._eventProcessors}addEventProcessor(e){this._eventProcessors.push(e)}init(){(this._isEnabled()||this._options.integrations.some(({name:e})=>e.startsWith("Spotlight")))&&this._setupIntegrations()}getIntegrationByName(e){return this._integrations[e]}addIntegration(e){const t=this._integrations[e.name];lh(this,e,this._integrations),t||ch(this,[e])}sendEvent(e,t={}){this.emit("beforeSendEvent",e,t);let n=function(e,t,n,a){const r=Mg(n),o=e.type&&"replay_event"!==e.type?e.type:"event";!function(e,t){if(!t)return e;const n=e.sdk||{};e.sdk={...n,name:n.name||t.name,version:n.version||t.version,integrations:[...e.sdk?.integrations||[],...t.integrations||[]],packages:[...e.sdk?.packages||[],...t.packages||[]],settings:e.sdk?.settings||t.settings?{...e.sdk?.settings,...t.settings}:void 0}}(e,n?.sdk);const i=function(e,t,n,a){const r=e.sdkProcessingMetadata?.dynamicSamplingContext;return{event_id:e.event_id,sent_at:(new Date).toISOString(),...t&&{sdk:t},...!!n&&a&&{dsn:vf(a)},...r&&{trace:r}}}(e,r,a,t);return delete e.sdkProcessingMetadata,Ag(i,[[{type:o},e]])}(e,this._dsn,this._options._metadata,this._options.tunnel);for(const e of t.attachments||[])n=Pg(n,Tg(e));this.sendEnvelope(n).then(t=>this.emit("afterSendEvent",e,t))}sendSession(e){const{release:t,environment:n=cf}=this._options;if("aggregates"in e){const a=e.attrs||{};if(!a.release&&!t)return void(qp&&oh(Jg));a.release=a.release||t,a.environment=a.environment||n,e.attrs=a}else{if(!e.release&&!t)return void(qp&&oh(Jg));e.release=e.release||t,e.environment=e.environment||n}this.emit("beforeSendSession",e);const a=function(e,t,n,a){const r=Mg(n);return Ag({sent_at:(new Date).toISOString(),...r&&{sdk:r},...!!a&&t&&{dsn:vf(t)}},["aggregates"in e?[{type:"sessions"},e]:[{type:"session"},e.toJSON()]])}(e,this._dsn,this._options._metadata,this._options.tunnel);this.sendEnvelope(a)}recordDroppedEvent(e,t,n=1){if(this._options.sendClientReports){const a=`${e}:${t}`;qp&&rh(`Recording outcome: "${a}"${n>1?` (${n} times)`:""}`),this._outcomes[a]=(this._outcomes[a]||0)+n}}on(e,t){const n=this._hooks[e]=this._hooks[e]||new Set,a=(...e)=>t(...e);return n.add(a),()=>{n.delete(a)}}emit(e,...t){const n=this._hooks[e];n&&n.forEach(e=>e(...t))}async sendEnvelope(e){if(this.emit("beforeEnvelope",e),this._isEnabled()&&this._transport)try{return await this._transport.send(e)}catch(e){return qp&&ih("Error while sending envelope:",e),{}}return qp&&ih("Transport disabled"),{}}_setupIntegrations(){const{integrations:e}=this._options;this._integrations=function(e,t){const n={};return t.forEach(t=>{t&&lh(e,t,n)}),n}(this,e),ch(this,e)}_updateSessionFromEvent(e,t){let n="fatal"===t.level,a=!1;const r=t.exception?.values;if(r){a=!0,n=!1;for(const e of r)if(!1===e.mechanism?.handled){n=!0;break}}const o="ok"===e.status;(o&&0===e.errors||o&&n)&&(cm(e,{...n&&{status:"crashed"},errors:e.errors||Number(a||n)}),this.captureSession(e))}async _isClientDoneProcessing(e){let t=0;for(;!e||t<e;){if(await new Promise(e=>setTimeout(e,1)),!this._numProcessing)return!0;t++}return!1}_isEnabled(){return!1!==this.getOptions().enabled&&void 0!==this._transport}_prepareEvent(e,t,n,a){const r=this.getOptions(),o=Object.keys(this._integrations);return!t.integrations&&o?.length&&(t.integrations=o),this.emit("preprocessEvent",e,t),e.type||a.setLastEventId(e.event_id||t.event_id),Kf(r,e,t,n,this,a).then(e=>{if(null===e)return e;this.emit("postprocessEvent",e,t),e.contexts={trace:Cm(n),...e.contexts};const a=function(e,t){const n=t.getPropagationContext();return n.dsc||Lf(n.traceId,e)}(this,n);return e.sdkProcessingMetadata={dynamicSamplingContext:a,...e.sdkProcessingMetadata},e})}_captureEvent(e,t={},n=_m(),a=jm()){return qp&&sy(e)&&rh(`Captured error event \`${uh(e)[0]||"<unknown>"}\``),this._processEvent(e,t,n,a).then(e=>e.event_id,e=>{qp&&(ay(e)?rh(e.message):ny(e)?oh(e.message):oh(e))})}_processEvent(e,t,n,a){const r=this.getOptions(),{sampleRate:o}=r,i=cy(e),s=sy(e),c=`before send for type \`${e.type||"error"}\``,l=void 0===o?void 0:function(e){if("boolean"==typeof e)return Number(e);const t="string"==typeof e?parseFloat(e):e;return"number"!=typeof t||isNaN(t)||t<0||t>1?void 0:t}(o);if(s&&"number"==typeof l&&Math.random()>l)return this.recordDroppedEvent("sample_rate","error"),uf(ty(`Discarding event because it's not included in the random sample (sampling rate = ${o})`));const u=iy(e.type);return this._prepareEvent(e,t,n,a).then(e=>{if(null===e)throw this.recordDroppedEvent("event_processor",u),ty("An event processor returned `null`, will not send event.");if(t.data&&!0===t.data.__sentry__)return e;const n=function(e,t,n,a){const{beforeSend:r,beforeSendTransaction:o,beforeSendSpan:i,ignoreSpans:s}=t;let c=n;if(sy(c)&&r)return r(c,a);if(cy(c)){if(i||s){const t=function(e){const{trace_id:t,parent_span_id:n,span_id:a,status:r,origin:o,data:i,op:s}=e.contexts?.trace??{};return{data:i??{},description:e.transaction,op:s,parent_span_id:n,span_id:a??"",start_timestamp:e.start_timestamp??0,status:r,timestamp:e.timestamp,trace_id:t??"",origin:o,profile_id:i?.[mf],exclusive_time:i?.[ff],measurements:e.measurements,is_segment:!0}}(c);if(s?.length&&Yg(t,s))return null;if(i){const e=i(t);e?c=lm(n,{type:"transaction",timestamp:(l=e).timestamp,start_timestamp:l.start_timestamp,transaction:l.description,contexts:{trace:{trace_id:l.trace_id,span_id:l.span_id,parent_span_id:l.parent_span_id,op:l.op,status:l.status,origin:l.origin,data:{...l.data,...l.profile_id&&{[mf]:l.profile_id},...l.exclusive_time&&{[ff]:l.exclusive_time}}}},measurements:l.measurements}):Nf()}if(c.spans){const t=[],n=c.spans;for(const e of n)if(s?.length&&Yg(e,s))Wg(n,e);else if(i){const n=i(e);n?t.push(n):(Nf(),t.push(e))}else t.push(e);const a=c.spans.length-t.length;a&&e.recordDroppedEvent("before_send","span",a),c.spans=t}}if(o){if(c.spans){const e=c.spans.length;c.sdkProcessingMetadata={...n.sdkProcessingMetadata,spanCountBeforeProcessing:e}}return o(c,a)}}var l;return c}(this,r,e,t);return function(e,t){const n=`${t} must return \`null\` or a valid event.`;if(wh(e))return e.then(e=>{if(!kh(e)&&null!==e)throw ey(n);return e},e=>{throw ey(`${t} rejected with ${e}`)});if(!kh(e)&&null!==e)throw ey(n);return e}(n,c)}).then(r=>{if(null===r){if(this.recordDroppedEvent("before_send",u),i){const t=1+(e.spans||[]).length;this.recordDroppedEvent("before_send","span",t)}throw ty(`${c} returned \`null\`, will not send event.`)}const o=n.getSession()||a.getSession();if(s&&o&&this._updateSessionFromEvent(o,r),i){const e=(r.sdkProcessingMetadata?.spanCountBeforeProcessing||0)-(r.spans?r.spans.length:0);e>0&&this.recordDroppedEvent("before_send","span",e)}const l=r.transaction_info;if(i&&l&&r.transaction!==e.transaction){const e="custom";r.transaction_info={...l,source:e}}return this.sendEvent(r,t),r}).then(null,e=>{if(ay(e)||ny(e))throw e;throw this.captureException(e,{mechanism:{handled:!1,type:"internal"},data:{__sentry__:!0},originalException:e}),ey(`Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.\nReason: ${e}`)})}_process(e,t){this._numProcessing++,this._promiseBuffer.add(e).then(e=>(this._numProcessing--,e),e=>(this._numProcessing--,e===Vg&&this.recordDroppedEvent("queue_overflow",t),e))}_clearOutcomes(){const e=this._outcomes;return this._outcomes={},Object.entries(e).map(([e,t])=>{const[n,a]=e.split(":");return{reason:n,category:a,quantity:t}})}_flushOutcomes(){qp&&rh("Flushing outcomes...");const e=this._clearOutcomes();if(0===e.length)return void(qp&&rh("No outcomes to send"));if(!this._dsn)return void(qp&&rh("No dsn provided, will not send outcomes"));qp&&rh("Sending outcomes:",e);const t=(n=e,Ag((a=this._options.tunnel&&vf(this._dsn))?{dsn:a}:{},[[{type:"client_report"},{timestamp:om(),discarded_events:n}]]));var n,a;this.sendEnvelope(t)}}function iy(e){return"replay_event"===e?"replay":e||"error"}function sy(e){return void 0===e.type}function cy(e){return"transaction"===e.type}function ly(e){let t=0;return e.name&&(t+=2*e.name.length),t+=8,t+dy(e.attributes)}function uy(e){let t=0;return e.message&&(t+=2*e.message.length),t+dy(e.attributes)}function dy(e){if(!e)return 0;let t=0;return Object.values(e).forEach(e=>{Array.isArray(e)?t+=e.length*py(e[0]):bh(e)?t+=py(e):t+=100}),t}function py(e){return"string"==typeof e?2*e.length:"number"==typeof e?8:"boolean"==typeof e?4:0}function hy(e){"aggregates"in e?void 0===e.attrs?.ip_address&&(e.attrs={...e.attrs,ip_address:"{{auto}}"}):void 0===e.ipAddress&&(e.ipAddress="{{auto}}")}const my="undefined"==typeof __SENTRY_DEBUG__||__SENTRY_DEBUG__,fy={};function gy(e,t=function(e){const t=fy[e];if(t)return t;let n=Gm[e];if(Bm(n))return fy[e]=n.bind(Gm);const a=Gm.document;if(a&&"function"==typeof a.createElement)try{const t=a.createElement("iframe");t.hidden=!0,a.head.appendChild(t);const r=t.contentWindow;r?.[e]&&(n=r[e]),a.head.removeChild(t)}catch(t){my&&oh(`Could not create sandbox iframe for ${e} check, bailing to window.${e}: `,t)}return n?fy[e]=n.bind(Gm):n}("fetch")){let n=0,a=0;return Kg(e,async function(r){const o=r.body.length;n+=o,a++;const i={body:r.body,method:"POST",referrerPolicy:"strict-origin",headers:e.headers,keepalive:n<=6e4&&a<15,...e.fetchOptions};try{const n=await t(e.url,i);return{statusCode:n.status,headers:{"x-sentry-rate-limits":n.headers.get("X-Sentry-Rate-Limits"),"retry-after":n.headers.get("Retry-After")}}}catch(e){throw fy.fetch=void 0,e}finally{n-=o,a--}},Hg(e.bufferSize||40))}function yy(e,t,n,a){const r={filename:e,function:"<anonymous>"===t?Fh:t,in_app:!0};return void 0!==n&&(r.lineno=n),void 0!==a&&(r.colno=a),r}const by=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,ky=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,vy=/\((\S*)(?::(\d+))(?::(\d+))\)/,wy=/at (.+?) ?\(data:(.+?),/,_y=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,jy=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,xy=function(...e){const t=e.sort((e,t)=>e[0]-t[0]).map(e=>e[1]);return(e,n=0,a=0)=>{const r=[],o=e.split("\n");for(let e=n;e<o.length;e++){let n=o[e];n.length>1024&&(n=n.slice(0,1024));const i=Vh.test(n)?n.replace(Vh,"$1"):n;if(!i.match(/\S*Error: /)){for(const e of t){const t=e(i);if(t){r.push(t);break}}if(r.length>=50+a)break}}return function(e){if(!e.length)return[];const t=Array.from(e);return/sentryWrapped/.test(Kh(t).function||"")&&t.pop(),t.reverse(),Hh.test(Kh(t).function||"")&&(t.pop(),Hh.test(Kh(t).function||"")&&t.pop()),t.slice(0,50).map(e=>({...e,filename:e.filename||Kh(t).filename,function:e.function||Fh}))}(r.slice(a))}}([30,e=>{const t=e.match(wy);if(t)return{filename:`<data:${t[2]}>`,function:t[1]};const n=by.exec(e);if(n){const[,e,t,a]=n;return yy(e,Fh,+t,+a)}const a=ky.exec(e);if(a){if(a[2]&&0===a[2].indexOf("eval")){const e=vy.exec(a[2]);e&&(a[2]=e[1],a[3]=e[2],a[4]=e[3])}const[e,t]=Cy(a[1]||Fh,a[2]);return yy(t,e,a[3]?+a[3]:void 0,a[4]?+a[4]:void 0)}}],[50,e=>{const t=_y.exec(e);if(t){if(t[3]&&t[3].indexOf(" > eval")>-1){const e=jy.exec(t[3]);e&&(t[1]=t[1]||"eval",t[3]=e[1],t[4]=e[2],t[5]="")}let e=t[3],n=t[1]||Fh;return[n,e]=Cy(n,e),yy(e,n,t[4]?+t[4]:void 0,t[5]?+t[5]:void 0)}}]),Cy=(e,t)=>{const n=-1!==e.indexOf("safari-extension"),a=-1!==e.indexOf("safari-web-extension");return n||a?[-1!==e.indexOf("@")?e.split("@")[0]:Fh,n?`safari-extension:${t}`:`safari-web-extension:${t}`]:[e,t]},Sy=chrome.runtime.getManifest(),zy={extension:`${chrome.runtime.id}-${Sy.version}`,"extension.id":chrome.runtime.id,"extension.version":Sy.version,"extension.name":Sy.name},Ey=function(e){const t=chrome.runtime.id.replace(/[^a-z0-9]/gi,"-");return{debug:!1,dsn:"https://7828ac544c6e096e4c0e9cc2cd02e1a8@o4510509937328128.ingest.de.sentry.io/4510510038843472",transport:gy,stackParser:xy,integrations:e.integrations,sendDefaultPii:!1,enableLogs:!1,enableMetrics:!1,environment:"production",release:"0.1.0",dist:`${t}-${Sy.version}`}}({integrations:[nm(),Em(),rg(),ng(),_g(),Og(),Om(),{name:"HttpContext",preprocessEvent(e){if(!Zf.navigator&&!Zf.location&&!Zf.document)return;const t=function(){const e=zh(),{referrer:t}=Zf.document||{},{userAgent:n}=Zf.navigator||{};return{url:e,headers:{...t&&{Referer:t},...n&&{"User-Agent":n}}}}(),n={...t.headers,...e.request?.headers};e.request={...t,...e.request,headers:n}}},{name:"BrowserSession",setupOnce(){void 0!==Zf.document?(Wf({ignoreDuration:!0}),Jf(),rf(({from:e,to:t})=>{void 0!==e&&e!==t&&(Wf({ignoreDuration:!0}),Jf())})):sf&&oh("Using the `browserSessionIntegration` in non-browser environments is not supported.")}}].filter(e=>!["BrowserApiErrors","Breadcrumbs","GlobalHandlers"].includes(e.name))}),Oy=new class extends oy{constructor(e){const t=(n=e,{release:"string"==typeof __SENTRY_RELEASE__?__SENTRY_RELEASE__:Zf.SENTRY_RELEASE?.id,sendClientReports:!0,parentSpanIsAlwaysRootSpan:!0,...n});var n;!function(e,t,n=[t],a="npm"){const r=e._metadata||{};r.sdk||(r.sdk={name:`sentry.javascript.${t}`,packages:n.map(e=>({name:`${a}:@sentry/${e}`,version:Yp})),version:Yp}),e._metadata=r}(t,"browser",["browser"],Zf.SENTRY_SDK_SOURCE||"npm"),t._metadata?.sdk&&(t._metadata.sdk.settings={infer_ip:t.sendDefaultPii?"auto":"never",...t._metadata.sdk.settings}),super(t);const{sendDefaultPii:a,sendClientReports:r,enableLogs:o,_experiments:i,enableMetrics:s}=this._options,c=s??i?.enableMetrics??!0;Zf.document&&(r||o||c)&&Zf.document.addEventListener("visibilitychange",()=>{"hidden"===Zf.document.visibilityState&&(r&&this._flushOutcomes(),o&&$g(this),c&&Ug(this))}),a&&this.on("beforeSendSession",hy)}eventFromException(e,t){return function(e,t,n,a){const r=kg(e,t,n?.syntheticException||void 0,a);return Bh(r),r.level="error",n?.event_id&&(r.event_id=n.event_id),lf(r)}(this._options.stackParser,e,t,this._options.attachStacktrace)}eventFromMessage(e,t="info",n){return function(e,t,n="info",a,r){const o=vg(e,t,a?.syntheticException||void 0,r);return o.level=n,a?.event_id&&(o.event_id=a.event_id),lf(o)}(this._options.stackParser,e,t,n,this._options.attachStacktrace)}_prepareEvent(e,t,n,a){return e.platform=e.platform||"javascript",super._prepareEvent(e,t,n,a)}}(Ey),Ay=new fm;Ay.setClient(Oy),Ay.setTags({...zy,scope:"content"}),Oy.init();const Py='[data-testid="content-scroller"]';function Iy(e){if("childList"===e.type){if(e.removedNodes.length)return!0;if(e.addedNodes&&e.addedNodes[0]&&e.addedNodes[0]?.firstChild&&"dr-floating-container"===(e.addedNodes[0]?.firstChild).className)return!0;if(!e.addedNodes[0]?.firstChild?.className)return!0}return!1}class Ny extends ad{constructor(e){super(e),this.platform="AIRBNB",this.displayName="Airbnb"}shouldActivate(e){return/airbnb\.[.a-z]{2,7}/i.test(e)}getListingsInPage(){const e=document.querySelectorAll("a.bn2bl2p");return Array.from(e).map(e=>{const t=e.getAttribute("target")?.replace("listing_","");return t})}findListingElement(e){return document.querySelector(`[target=listing_${e}]`)}async insertOffersComponentInList(e){const t=this.findListingElement(e);if(!t)return;const n=t.closest('[itemprop="itemListElement"]');n&&this.insertOffersComponent(e,{idSuffix:"list",container:n,componentOptions:{maxItems:1,loadingItems:1,ctaPrefix:"OFFERS_IN_LIST_ITEM",styles:Ly,vertical:!0,hideEmptyState:!0,hideLoadingSkeleton:!1}})}async markListingAsMultilisting(e,t){this.cleanRenderedLabel(e);const n=this.findListingElement(e);if(!n)return;const a=null!==n.closest(Py),r=this.getLabelPlacement(n),o=kd(t,r,a?"#F7F6F2":"white");this.renderedLabels[e]||(this.renderedLabels[e]=o,this.appendLabel(n,o))}async insertSecondaryCTAInDetailView(e){if((await Kp().getFeature("secondary-ctas-offers")).on)this.insertOffersComponent(e.source_id,{idSuffix:"detail-secondary-cta",selector:Ty,componentOptions:{maxItems:1,loadingItems:1,ctaPrefix:"OFFERS_IN_DETAIL_BOOK",styles:Dy,vertical:!0,hideEmptyState:!0,hideLoadingSkeleton:!1}});else{const t=await this.insertSecondaryCTA(e,Ty,"SECONDARY_CTA_IN_DETAIL_BOOK");if(!t)return;t.style.marginTop="10px";const n=await Ye(()=>Wt([".directo-cta-button-shine",".directo-cta-button-dark"],t.$reactRoot))();if(!n)return;n.style.borderRadius="8px",n.style.padding="15px 12px"}}async insertSecondaryCTAInCheckoutView(e){const t=await this.insertSecondaryCTA(e,['[data-section-id="CONFIRM_AND_PAY"]'],"SECONDARY_CTA_IN_CHECKOUT_FOOTER");if(!t)return;t.parentElement&&(t.parentElement.style.display="flex"),t.style.marginLeft="10px";const n=await Ye(()=>Wt([".directo-cta-button-shine",".directo-cta-button-dark"],t.$reactRoot))();n&&(n.style.borderRadius="8px",n.style.padding="18px 12px",n.style.fontSize="16px",n.style.gap="12px",n.style.height="48px",n.style.right="0px")}getLabelPlacement(e){const{top:t,right:n}=function(e){const t=e.parentElement?.parentElement;if(!t)return console.warn("Parent element not found."),{right:-5,top:0};const n=Wt(["picture img"],t);if(!n)return console.warn("Picture element not found."),{right:-5,top:0};const a=null!==e.closest(Py);return{right:-5,top:n.height-(a?70:54)}}(e);return{position:"absolute",top:`${t}px`,right:`${n}px`,zIndex:"1",borderTopLeftRadius:"25px"}}appendLabel(e,t){if(!1===this.rendererConfig.renderLabels)return;const n=Dr(1,3);try{switch(n){case 1:return e.append(t);case 2:return e.parentElement.append(t);case 3:return e.parentElement.children[1].append(t)}}catch(n){return e.append(t)}}async setMLRenderer(e){this.debouncedRenderMLs||(this.debouncedRenderMLs=fd(e,2e3,{trailing:!0})),setTimeout(async()=>{const e=await Ye(Wt,e=>!e)(["[itemprop=itemListElement]"]);new MutationObserver(e=>{for(const t of e)!Iy(t)&&this.debouncedRenderMLs&&this.debouncedRenderMLs()}).observe(e,{childList:!0,subtree:!0})},800),this.debouncedRenderMLs()}async getPriceFromList(e){if(!e)return null;const t=this.findListingElement(e);if(!t)return null;if(null!==t.closest(Py))return null;const n=await Ye(Wt,e=>!e,2)(['[data-testid="price-availability-row"] [role="presentation"] [aria-hidden="true"] [role="button"]','[data-testid="price-availability-row"] [role="presentation"] [aria-hidden="true"]'],t.parentElement);if(!n)return null;const a=[...n.querySelectorAll("span")].find(e=>"clip"!==getComputedStyle(e).overflow);if(!a)return null;const r=a.textContent,o=Wa(r),i=await this.buildListingQueryParam("currency",e);if(null===o||!i)return null;const s=await this.getListingLoS(e);return null===s?null:{priceString:r,currency:i,priceStringIsNightly:!1,totalPrice:o,nightlyPrice:o/s}}async getCheckoutPrice(e){const t=Wt(['[data-testid="pd-value-TOTAL"]']);if(!t)return null;const n=t.textContent||"",a=Wa(n),r=await this.buildListingQueryParam("currency",e);if(null===a||!r)return null;const o=await this.getListingLoS(e);return null===o?null:{priceString:n,currency:r,priceStringIsNightly:!1,totalPrice:a,nightlyPrice:a/o}}async canMakePricingRequest(e){const{hash:t}=window.location,n=t.includes("availability-calendar");return await super.canMakePricingRequest(e)&&!n}async getDetailPrice(){let e="";const t=await Ye(()=>{const e=Wt(['[data-testid="book-it-default"] button']);if(!e)return null;const t="dialog"===e.getAttribute("aria-haspopup");return[...e.querySelectorAll("span")].find(e=>{const n=getComputedStyle(e);return"solid"===n.textDecorationStyle&&(!!t||"underline"===n.textDecorationLine)})||null},e=>!e)();t&&(e=t.textContent||"");const n=e.replace(/\n/gm,""),a=this.getItemId();if(null===a)return null;const r=await this.buildListingQueryParam("currency",a),o=Wa(n);if(null===o||!r)return null;const i=await this.getListingLoS(a);return null===i?null:{priceString:n,currency:r,priceStringIsNightly:!1,totalPrice:o,nightlyPrice:o/i}}getItemId(e){return(Xn.exec(e||location.href)||[])[3]??null}async getItemIdOnOTACheckout(){return(/(www\.)?airbnb\.[.a-z]{2,7}\/book\/stays\/(\d+)/i.exec(location.href)||[])[2]??null}getListingNameFromList(e){const t=this.findListingElement(e.source_id),n=t?.parentElement?.querySelector('[data-testid="listing-card-title"]')?.textContent;return n||e.directo_url}async getDestinationInUrl(){const e=/[https:\/\/]*[www]*\.airbnb\.[^\/]+\/s\/([^\/]+)\/homes/i.exec(location.href);return e?.length?decodeURIComponent(e[1]):null}async getPlatformQueryParamMap(e){return{checkin:()=>e.searchParams.get("check_in")||e.searchParams.get("checkin")||cn(new Date(Date.now()+8641e4)),checkout:()=>e.searchParams.get("check_out")||e.searchParams.get("checkout")||cn(new Date(Date.now()+16641e4)),adults:()=>e.searchParams.get("adults")||"2",children:()=>e.searchParams.get("children")||"0",currency:async()=>{try{if(e.searchParams.has("display_currency"))return e.searchParams.get("display_currency");if(e.searchParams.has("currency"))return e.searchParams.get("currency");if(e.searchParams.has("guestCurrency"))return e.searchParams.get("guestCurrency");const t=await Ye(()=>Gt(["footer button span:not(:has(*))"]),e=>!e||0===e.length,8)();if(!t||0===t.length)throw new Error("Could not scrape platform currency in Airbnb (no candidates)");const n=[...t].map(e=>e.textContent.replace(/\n/gm,"")).filter(rr).at(-1)??null;if(!n)throw new Error("Could not scrape platform currency in Airbnb (no valid currency)");return n}catch(e){return Ay.captureException(e),null}}}}static getSection(e){const t=e.href;return ea.test(t)?"LIST":Xn.test(t)?"DETAIL":ta.test(t)?"CHECKOUT":"UNKNOWN"}cleanRenderedSecondaryCTA(e,t){e.remove(),delete this.renderedSecondaryCTAs[t]}}const Ly="\n.offers-container {\n margin-top: 0.5em;\n}\n",Ty=['._wgmchy[data-testid="book-it-default"]'],Dy="\n.offers-container, .empty-state-container {\n margin-top: 10px;\n}\n\n.offers-item {\n border-radius: 8px;\n padding: 15px 12px;\n}\n\n.skeleton-button {\n padding: 5px 0;\n}\n";function Ry(e){if("childList"===e.type){if(e.removedNodes.length)return!0;const t=e.addedNodes[0];if(""===t?.className&&"DIV"===t?.nodeName)return!0;if(t&&"dr-floating-container"===t?.firstChild?.className)return!0}return!1}class My extends ad{lastUrl="";mapWasOpen=!1;isGridMode=void 0;embeddedInfoCache=null;constructor(e){super(e),this.platform="BOOKING",this.displayName="Booking.com",this.mapWasOpen=this.isMapOpen()}shouldActivate(e){return/booking\.com/i.test(e)}static getItemId(e=window.location.href){return Ca(e)}getListingsInPage(){if(this.isMapOpen())return[];const e=Gt(['[data-testid="property-card"]','[data-testid="property-card-desktop-single-image"]']),t=Array.from(e||[]).map(e=>{const t=e.querySelector("a");let n=t?.getAttribute("href");return xa((a=n.match(/[^]+?\.html/))&&a.length?a[0]:void 0);var a});return this.filterNewListingsInPage(t)}getListingCardContainer(e){const t=e.closest('[data-testid="property-card-container"]');return t?.firstChild?.firstChild??null}findListingElement(e){const t=Gt(['[data-testid="property-card"]','[data-testid="property-card-desktop-single-image"]']);if(!t||0===t.length)return null;let n=null;for(const a of t){const t=a.querySelector("a")||a,r=t.getAttribute("href");if(r&&xa(r)===e){n=t;break}}return n?this.getListingCardContainer(n):null}isMapOpen(){const{hash:e}=window.location,t=e.includes("map_opened");return this.mapWasOpen!==t&&(this.mapWasOpen=t,this.listingsInPage.clear(),this.renderedLabels=[]),t}async setGridMode(){const e=await Ye(Wt,e=>!e,5)(['[role="radiogroup"]']);return void 0===this.isGridMode&&(this.isGridMode="grid"===e.querySelector("[checked]")?.getAttribute("value")),e&&e.addEventListener("change",()=>{this.cleanAllRenderedLabels(),this.isGridMode=!this.isGridMode,this.debouncedRenderMLs&&this.debouncedRenderMLs()}),this.isGridMode}async insertOffersComponentInList(e){setTimeout(()=>{if(this.isMapOpen())return;const t=this.findListingElement(e);if(!t)return;const n=t.closest('[data-testid="property-card"]');n&&this.insertOffersComponent(e,{idSuffix:"list",container:n,componentOptions:{maxItems:4,loadingItems:3,ctaPrefix:"VIO_BOOKING_LIST",styles:$y,vertical:!0,hideEmptyState:!0,hideLoadingSkeleton:!0}})},2e3)}async insertOffersComponentInDetail(e){const t=await Ye(e=>Wt(e),e=>null===e,10)([".hprt-reservation-cta"]);t&&await this.insertOffersComponent(e,{idSuffix:"detail",container:t,componentOptions:{maxItems:4,loadingItems:3,vertical:!0,styles:By,ctaPrefix:"VIO_BOOKING_DETAIL"}})}async markListingAsMultilisting(e,t){if(this.isMapOpen())return;const n=this.findListingElement(e);if(!n)return;const a=n.closest('[data-testid="property-card"]');if(!a)return;const r=window.getComputedStyle(a).getPropertyValue("background-color"),o=this.getLabelPlacement(n),i=kd(t,o,r);this.appendLabel(e,a,i),this.rankListing(t,a)}rankListing(e,t){if(t&&t.parentElement)try{const n=new URL(window.location.href).searchParams.get("order");if(e.ranking&&(!n||"popularity"===n)){const e=t.parentElement;e.insertBefore(t,e.firstChild)}}catch(e){console.error(e)}}async insertSecondaryCTAInDetailView(e){if((await Kp().getFeature("secondary-ctas-offers")).on)this.insertOffersComponent(e.source_id,{idSuffix:"detail-secondary-cta-alt",selector:Uy,componentOptions:{maxItems:1,loadingItems:1,ctaPrefix:"OFFERS_IN_DETAIL_ALT",styles:Fy,vertical:!0,hideEmptyState:!0,hideLoadingSkeleton:!1}}),this.insertOffersComponent(e.source_id,{idSuffix:"detail-secondary-cta-book",selector:Vy,componentOptions:{maxItems:1,loadingItems:1,ctaPrefix:"OFFERS_IN_DETAIL_BOOK",styles:Hy,vertical:!0,hideEmptyState:!0,hideLoadingSkeleton:!1}});else{const t=await this.insertSecondaryCTA(e,Uy,"SECONDARY_CTA_IN_DETAIL_ALT",`${e.source_id}-1`);t&&(t.style.marginTop="10px");const n=await this.insertSecondaryCTA(e,Vy,"SECONDARY_CTA_IN_DETAIL_BOOK",`${e.source_id}-2`);n&&(n.style.marginTop="10px")}}async insertSecondaryCTAInCheckoutView(e){return this.debouncedInsertSecondaryCTAInCheckoutView(e)}debouncedInsertSecondaryCTAInCheckoutView=fd(this.insertSecondaryCTAInCheckoutViewToDebounce,9e3,{leading:!0});async insertSecondaryCTAInCheckoutViewToDebounce(e){if((await Kp().getFeature("secondary-ctas-offers")).on)this.insertOffersComponent(e.source_id,{idSuffix:"checkout-secondary-cta-book",selector:Ky,componentOptions:{maxItems:1,loadingItems:1,ctaPrefix:"OFFERS_IN_CHECKOUT_FOOTER",styles:qy,vertical:!0,hideEmptyState:!0,hideLoadingSkeleton:!1}});else{const t=await this.insertSecondaryCTA(e,Ky,"SECONDARY_CTA_IN_CHECKOUT_FOOTER");if(!t)return;const n=await Ye(()=>Wt([".directo-cta-button-shine",".directo-cta-button-dark"],t.$reactRoot))();if(!n)return;n.style.padding="14px 15px",n.style.fontSize="15px"}}appendLabel(e,t,n){!1!==this.rendererConfig.renderLabels&&(this.cleanRenderedLabel(e),t.append(n),this.renderedLabels[e]=n,setTimeout(()=>{const a=this.findListingElement(e);a&&(a===t||this.appendLabel(e,a,n))},2e3))}getLabelPlacement(e){return{position:"absolute",zIndex:"200",bottom:"0px",borderTopRightRadius:"25px"}}async setMLRenderer(e){this.debouncedRenderMLs||(this.debouncedRenderMLs=fd(e,2500,{trailing:!0})),setTimeout(async()=>{const e=(await Ye(Wt,e=>!e)(['[data-testid="property-card"]'])).parentElement,t=new MutationObserver(e=>{this.cleanAllRenderedLabels()});t.disconnect();const n=e.parentElement?.parentElement?.parentElement?.querySelector(".d3c5f9b609");t.observe(n,{childList:!0,subtree:!0});const a=new MutationObserver(e=>{for(const t of e)!Ry(t)&&this.debouncedRenderMLs&&this.debouncedRenderMLs()});a.disconnect();const r=e.parentElement?.parentElement?.parentElement?.querySelector('[data-results-container="1"]');a.observe(r,{childList:!0,subtree:!0}),this.setGridMode&&this.setGridMode(),this.lastUrl=window.location.href},2e3),this.lastUrl!==window.location.href&&this.listingsInPage.clear(),this.debouncedRenderMLs()}async getPriceObject(e,t,n){const a=Wa(t);if(null===a)return null;const r=await this.getListingLoS(e);return null===r?null:{priceString:t,currency:n,priceStringIsNightly:!1,nightlyPrice:a/r,totalPrice:a}}async getPriceFromList(e){const t=this.findListingElement(e),n=await Ye(Wt,e=>!e,2)(['[data-testid="price-and-discounted-price"]'],t?.parentElement?.parentElement?.parentElement);if(!n)return null;const a=n.textContent,r=a.replace(/\n/gm,""),o=ar(a.replace(/[0-9\s,.]/g,"").trim());return o?this.getPriceObject(e,r,o):null}async getDetailPrice(){const e=await Ye(Wt,e=>!e,2)(["#hprt-table .bui-price-display__value"]);if(!e)return null;const t=e.textContent.replace(/\n/gm,""),n=this.getItemId();if(null===n)return null;const a=await this.getDetailCurrency(t);return a?this.getPriceObject(n,t,a):null}getCurrencyFromUtagData(){return this.getValueFromUtagData("currency")}async getDetailCurrency(e){const t=await this.getCurrencyFromUtagData();return t||ar(e.replace(/[0-9\s,.]/g,"").trim())}async getCheckoutPriceElement(){return Ye(Wt,e=>!e,12)(['[data-component="core/animate-price"]'])}async getCheckoutPrice(e){const t=await this.getCheckoutPriceElement();if(!t)return null;const n=t.textContent.replace(/\n/gm,""),a=await this.getCheckoutCurrency(t);return a?this.getPriceObject(e,n,a):null}async getCheckoutCurrency(e){const t=e.getAttribute("data-currency");if(t)return t;const n=e.textContent;return n?this.getDetailCurrency(n):null}getItemId(e){return My.getItemId(e)}async getItemIdOnOTACheckout(){try{return this.getItemIdOnOTACheckoutFromJsonApplicationContext()||this.getItemIdOnOTACheckoutFromSidebar()}catch(e){return console.error(e),null}}getItemIdOnOTACheckoutFromJsonApplicationContext(){const e=Wt(['[data-capla-application-context="data-capla-application-context"]']);if(!e)return null;const t=Je(e.textContent||"{}"),n=Pt(t,"body.BPRenderData.bookingSummaryDetails.hotelAbsoluteUrl",null);return"string"!=typeof n?null:this.getItemId(n)}getItemIdOnOTACheckoutFromSidebar(){const e=Wt(['[data-testid="booking-details-date-summary"]'])?.parentElement,t=e?.querySelector("a"),n=t?.getAttribute("href");return n?this.getItemId(n):null}getListingNameFromList(e){const t=this.findListingElement(e.source_id),n=t?.parentElement?.parentElement?.parentElement?.querySelector('[data-testid="title"]')?.textContent;return n||e.directo_url}async getDestinationInUrl(){return null}getScriptTagWithUtagDataContent(){const e=/window\.utag_data = ({\n[^]*?});/gm.exec(window.document.body.innerHTML);return e?e[1]:null}async getUtagData(){try{return await Ye(()=>{const e=this.getScriptTagWithUtagDataContent();if(!e)return null;return Ge(Je(e.replace(/'/g,'"').replace(/([a-zA-Z0-9_]+):/g,'"$1":').split("\n").filter(e=>(e.match(/"/g)||[]).length<=4).join("\n")))||null},e=>!e,3)()}catch(e){return null}}async getValueFromUtagData(e){try{const t=await this.getUtagData();if(!t)return null;if(!(e in t))return null;const n=String(t[e]).trim();return["-1",""].includes(n)?null:n}catch(e){return console.error(e),null}}async getHotelIdInDetail(){return await this.getValueFromUtagData("hotel_id")??this.getHotelIdFromHiddenInput()??this.getHotelIdOnOtaCheckoutFromJsonApplicationContext()}async getHotelIdInCheckout(){return this.getHotelIdInDetail()}getHotelIdFromHiddenInput(){const e=Wt(['input[name="hotel_id"]']);if(!e)return null;const t=e.value.trim();return"string"!=typeof t||""===t?null:t}getHotelIdOnOtaCheckoutFromJsonApplicationContext(){const e=Wt(['[data-capla-application-context="data-capla-application-context"]']);if(!e)return null;const t=Je(e.textContent||"{}"),n=Pt(t,"body.hotel_id",null);return"string"!=typeof n||""===n?null:n}async getPlatformQueryParamMap(e){const{search:t}=e;return Vt(t?.split(";").slice(1),t=>{const[n,a]=t.split("=");e.searchParams.set(n,a)}),e.searchParams.forEach((t,n)=>{e.searchParams.set(n,t.split(";")[0])}),{checkin:async()=>{const t=e.searchParams.get("checkin");if(t&&an.tryFromDashYYYYMMDD(t))return t;const n=await this.getValueFromUtagData("date_in");if(n)return n;return await this.getEmbeddedValue(e,Gy[My.getSection(e)]("checkin"))||an.unsafe_fromDate(rn(new Date,1)).toDashYYYYMMDD()},checkout:async()=>{const t=e.searchParams.get("checkout");if(t&&an.tryFromDashYYYYMMDD(t))return t;const n=await this.getValueFromUtagData("date_out");if(n)return n;const a=await this.getEmbeddedValue(e,Gy[My.getSection(e)]("checkout"));if(a)return a;return function(e,t){if(!e||!t)return null;const n=an.tryFromDashYYYYMMDD(e);if(!n)return null;const a=parseInt(t,10);if(Number.isNaN(a)||a<0)return null;const r=rn(n.unsafe_toDate(),a);return an.fromDate(r)?.toDashYYYYMMDD()??null}(e.searchParams.get("checkin"),e.searchParams.get("interval"))||an.unsafe_fromDate(rn(new Date,2)).toDashYYYYMMDD()},adults:async()=>{const t=e.searchParams.get("req_adults")||e.searchParams.get("group_adults");if(t)return t;return await this.getValueFromUtagData("adults")||"2"},children:async()=>{const t=e.searchParams.get("req_children")||e.searchParams.get("group_children");if(t)return t;return await this.getValueFromUtagData("children")||"0"},currency:async()=>{try{const e=await Ye(Wt,e=>!e,4)(['[data-testid="header-currency-picker-trigger"]']),t=Pt(e,"textContent")?.replace(/\n/gm,"");if(t===Qy)return null;if(!t)throw new Error("Could not scrape platform currency in Booking");return t}catch(e){return Ay.captureException(e),null}}}}async getListingQueryParamMap(e,t){return{...await this.getPlatformQueryParamMap(t),currency:async()=>{try{if("DETAIL"===My.getSection(t)){const e=await this.getCurrencyFromUtagData();if(e)return e}else if("CHECKOUT"===My.getSection(t)){const e=await this.getCheckoutPriceElement();if(e){const t=await this.getCheckoutCurrency(e);if(t)return t}}const n=await this.getPrice(e),a=n?.currency??null;if(!a)throw new Error(`Could not scrape listing ${e} currency in Booking`);return a}catch(e){return Ay.captureException(e),null}}}}static getSection(e){const t=e.href;return aa.test(t)?"LIST":na.test(t)?"DETAIL":ra.test(t)?"CHECKOUT":oa.test(t)?"CONFIRMATION":"UNKNOWN"}async getEmbeddedInfoJson(e){if(null!==this.embeddedInfoCache)return this.embeddedInfoCache;const t=Yy[My.getSection(e)];if(!t)return null;const n=await Zt([t]);return this.embeddedInfoCache=n,this.embeddedInfoCache}async getEmbeddedValue(e,t){const n=await this.getEmbeddedInfoJson(e);if(!n)return null;const a=t(n);return"string"!=typeof a?null:a}}const $y="\n.offers-container {\n margin-top: 20px;\n}\n",By="\n.offers-container {\n margin-top: 10px;\n}\n",Uy=["#top-book"],Fy="\n.offers-container {\n margin-top: 10px;\n display: block;\n}\n",Vy=[".ph-footer"],Hy="\n.offers-container {\n margin-top: 10px;\n display: block;\n}\n",Ky=[".bui-group.bui-button-group.bui-group--vertical-align-middle.bui-group--inline.bui-group--align-end"],qy="\n.offers-container {\n min-width: 15em;\n}\n\n.offers-item, .skeleton-button {\n padding: 12px 15px;\n}\n",Yy={LIST:'script[data-capla-namespace*="b-search-web-searchresults"][data-capla-store-data="apollo"]',DETAIL:'script[data-capla-namespace*="b-property-web-property"][data-capla-store-data="apollo"]',CHECKOUT:'script[data-capla-namespace*="b-checkout-bp-accommodation"][data-capla-store-data="apollo"]',CONFIRMATION:'script[data-capla-namespace*="b-post-booking-web"][data-capla-store-data="apollo"]',UNKNOWN:null},Wy=()=>()=>null,Gy={LIST:function(e){return t=>{if(!t.ROOT_QUERY)return null;const n=Ge(t.ROOT_QUERY);if(!n||!n.searchQueries)return null;const a=Ge(n.searchQueries);if(!a)return null;const r=Qe(a,/^search\(.*\)$/);if(!r)return null;const o=Ge(r);if(!o||!o.searchMeta)return null;const i=Ge(o.searchMeta);if(!i||!i.dates)return null;const s=Ge(i.dates);if(!s)return null;const c=s[e];return"string"!=typeof c?null:c}},DETAIL:function(e){return t=>{if(!t.ROOT_QUERY)return null;const n=Ge(t.ROOT_QUERY);if(!n)return null;const a=Qe(n,/^hotelPageByPageName\(.*\)$/);if(!a)return null;const r=Ge(a);if(!r||!r.propertyFullExtended)return null;const o=Ge(r.propertyFullExtended);if(!o||!o.searchBoxPrefillData)return null;const i=Ge(o.searchBoxPrefillData);if(!i||!i.dates)return null;const s=Ge(i.dates);if(!s)return null;const c=s[e];return"string"!=typeof c?null:c}},CHECKOUT:Wy,CONFIRMATION:Wy,UNKNOWN:Wy},Qy="€$£",Jy=function(e,t,n,a){var r=-1,o=null==e?0:e.length;for(a&&o&&(n=e[++r]);++r<o;)n=t(n,e[r],r,e);return n},Zy=function(e,t,n,a,r){return r(e,function(e,r,o){n=a?(a=!1,e):t(n,e,r,o)}),n},Xy=function(e,t){return e>t},eb=function(e,t){return e&&e.length?function(e,t,n){for(var a=-1,r=e.length;++a<r;){var o=e[a],i=t(o);if(null!=i&&(void 0===s?i==i&&!Xe(i):n(i,s)))var s=i,c=o}return c}(e,mo(t),Xy):void 0};class tb extends ad{constructor(e){super(e),this.platform="VRBO",this.displayName="Vrbo"}shouldActivate(e){return/vrbo\.com/i.test(e)}getListingsInPage(){const e=function(e,t,n){var a=Ae(e)?Jy:Zy,r=arguments.length<3;return a(e,mo(t),n,r,Ut)}(Gt(['[data-stid="open-hotel-information"]','[role="listitem"] a']),(e,t)=>{const n=t.getAttribute("href");return e.push(this.getIdFromUrl(n)),e},[]);return this.filterNewListingsInPage(e)}findListingElement(e){const t=Gt(['[data-stid="open-hotel-information"]','[role="listitem"] .HitCarousel a']);let n=null;return t?.forEach(t=>{const a=t.getAttribute("href");a?.indexOf(e)>-1&&(n=t)}),n}async renderAlternativeCTAInList(e,t){const n=t.parentElement;if(!n)return;const a=await this.insertSecondaryCTA(e,['[data-test-id="price-summary"]'],"SECONDARY_CTA_IN_LIST_ITEM",`${e.source_id}-list`,n);if(!a)return;a.style.marginTop="12px";const r=await Ye(()=>Wt([".popover__content"],a.$reactRoot))();r&&(r.style.left="39px");const o=await Ye(()=>Wt([".popover"],a.$reactRoot))();o&&(o.style.zIndex="300")}async markListingAsMultilisting(e,t){this.cleanRenderedLabel(e);const n=this.findListingElement(e);if(!n||!n.parentElement)return;const a=this.getLabelPlacement(n),r=kd(t,a);if(this.renderedLabels[e])return;const o=Wt(["figure",".LazyLoad"],n.parentElement)||n;this.appendLabel(e,o,r),this.renderAlternativeCTAInList(t,n)}async insertSecondaryCTAInDetailView(e){const t=await this.insertSecondaryCTA(e,['[data-stid="property-offers"]'],"SECONDARY_CTA_IN_DETAIL_BOOK");if(!t)return;const n=await Ye(()=>Wt([".directo-cta-button-shine",".directo-cta-button-dark"],t.$reactRoot))();n&&(n.style.borderRadius="30px",t.style.padding="10px 0px")}async insertSecondaryCTAInCheckoutView(e){return this.debouncedInsertSecondaryCTAInCheckoutView(e)}debouncedInsertSecondaryCTAInCheckoutView=fd(this.insertSecondaryCTAInCheckoutViewToDebounce,9e3,{leading:!0});async insertSecondaryCTAInCheckoutViewToDebounce(e){const t=await this.insertSecondaryCTA(e,['[data-at-id="contact-continue-button-standard"]'],"SECONDARY_CTA_IN_CHECKOUT_FOOTER");if(t){t.parentElement?.parentElement&&(t.parentElement.parentElement.style.display="flex",t.parentElement.parentElement.appendChild(t)),t.style.marginLeft="10px";const e=await Ye(()=>Wt([".directo-cta-button-shine",".directo-cta-button-dark"],t.$reactRoot))();e&&(e.style.borderRadius="99px",e.style.padding="18px 28px",e.style.gap="16px",e.style.fontSize="16px")}await this.insertSecondaryCTA(e,[".price-details"],"SECONDARY_CTA_IN_CHECKOUT_SUMMARY")}appendLabel(e,t,n){if(!1===this.rendererConfig.renderLabels)return;const a=Dr(1,5);try{switch(a){case 1:return t.append(n);case 2:return t.children[0].append(n);case 3:return t.children[0].children[0].append(n);case 4:return t.children[0].children[0].children[0].append(n);case 5:return t.children[0].children[0].children[1].append(n)}}catch(e){return t.append(n)}finally{this.renderedLabels[e]=n}}getLabelPlacement(e){const{bottom:t,left:n}=function(e){const t=e.parentElement?.parentElement;return t?{left:(Wt(["figure",".LazyLoad"],t)||t).clientWidth-50,bottom:t.clientHeight-e.clientHeight}:(console.warn("Parent element not found."),{left:0,bottom:0})}(e);return{position:"absolute",bottom:`${t}px`,left:`${n}px`,zIndex:"300"}}async setMLRenderer(e){this.debouncedRenderMLs||(this.debouncedRenderMLs=fd(e,2e3,{leading:!0}));const t=await Ye(Wt,e=>!e)([".HitCollection",'[data-stid="property-listing-results"]']);new MutationObserver(e=>{for(const t of e)"childList"===t.type&&this.debouncedRenderMLs&&this.debouncedRenderMLs()}).observe(t,{childList:!0,subtree:!0}),this.debouncedRenderMLs()}async getPriceObject(e,t){const n=Wa(e),a=await this.buildListingQueryParam("currency",t);if(null===n||!a)return null;const r=await this.getListingLoS(t);return null===r?null:{priceString:e,currency:a,priceStringIsNightly:!1,nightlyPrice:n/r,totalPrice:n}}async getPriceString(e){const t=await Ye(Gt,e=>!e||0===e.length,10)(['[data-test-id="price-summary-message-line"] *:not(del):not(.is-visually-hidden):not(:has(*))'],e);if(!t||0===t.length)return null;const n=[...t].map(e=>{const t=e.textContent;if(!t)return null;const n=Wa(t);return null===n?null:{text:t,cents:n}}).filter(e=>null!==e),a=eb(n,e=>e.cents);return a?.text||null}async findDetailPriceContainerElement(){return await Ye(Wt,e=>!e,10)(['[data-stid="property-offer-price-summary"]'])}async getDetailPrice(){const e=await this.findDetailPriceContainerElement();if(!e)return null;const t=await this.getPriceString(e);if(!t)return null;const n=this.getItemId();return this.getPriceObject(t,n)}async getPriceFromList(e){const t=this.findListingElement(e)?.parentElement;if(!t)return null;const n=await this.getPriceString(t);return n?this.getPriceObject(n,e):null}async getCheckoutPrice(e){const t=Wt([".price-details__price"]);if(!t)return null;const n=t.textContent||"",a=Wa(n),r=n.replace(/[\d.,\s]/g,"").trim();if(!r)return null;const o=ar(r);if(null===a||!o)return null;const i=await this.getListingLoS(e);return null===i?null:{priceString:n,currency:o,priceStringIsNightly:!1,totalPrice:a,nightlyPrice:a/i}}getItemId(e){const{href:t}=window.location;return this.getIdFromUrl(e||t)}async getItemIdOnOTACheckout(){try{const{pathname:e}=new URL(window.location.href),t=/checkout\/\d{3}\.(\d+)\.\d+/i.exec(e);return t&&t.length>1?t[1]:null}catch(e){return console.error(e),null}}getListingNameFromList(e){const t=this.findListingElement(e.source_id);if(!t||!t.parentElement)return null;const n=Wt(["h3.uitk-heading"],t.parentElement),a=n?.textContent;return a||e.directo_url}getIdFromUrl(e){const t=/(\/[a-z-]*\/)?([a-z]*)?[0-9]+[a-z]*/.exec(e);if(t&&t[0])return t[0];const n=new URL(e).pathname.split("/");return n[n.length-1].replace(/[a-z]*/g,"")}async getPlatformQueryParamMap(e){return{checkin:()=>e.searchParams.get("startDate")||e.searchParams.get("chkin")||cn(new Date(Date.now()+8641e4)),checkout:()=>e.searchParams.get("endDate")||e.searchParams.get("chkout")||cn(new Date(Date.now()+16641e4)),children:()=>{const t=e.searchParams.get("childrenCount");return t||((n=e.searchParams.get("children")||this.getQueryParamFromApolloState("children")||"0")?n.split(",").filter(e=>"1_"===e.slice(0,2)).length.toString():null);var n},adults:()=>{const t=e.searchParams.get("adultsCount");return t||((e.searchParams.get("adults")||this.getQueryParamFromApolloState("adults")||"2").split(",")[0]||null)},currency:()=>{try{const t=e.searchParams.get("top_cur");if(t)return t;const n=this.getCurrencyFromApolloState()||this.getQueryParamFromApolloState("currency")||null;if(!n)throw new Error(`Could not scrape platform currency in VRBO (${this.platform}, ${this.base.name})`);return n}catch(e){return Ay.captureException(e),null}}}}static getSection(e){const t=e.href;return sa.test(t)?"LIST":ia.test(t)?"DETAIL":ca.test(t)?"CHECKOUT":"UNKNOWN"}cachedApolloState=null;getApolloState(){if(this.cachedApolloState)return this.cachedApolloState;const e=Gt(["script"]);if(!e)return null;const t=[...e].find(e=>nb.test(e.textContent));if(!t)return null;const n=t.textContent.replace(nb,"").replace(ab,"");if(!n)return null;const a=Je(n);return"string"!=typeof a?null:(this.cachedApolloState=Ze(a),this.cachedApolloState)}getApolloStateLocalePreferences(){const e=this.getApolloState();if(!e||!e.ROOT_QUERY)return null;const t=Ge(e.ROOT_QUERY);if(!t)return null;const n=Qe(t,/^localePreferences\(.*\)$/);if(!n)return null;return Ge(n)||null}getQueryParamFromApolloState(e){try{const t=this.getApolloStateLocalePreferences();if(!t||!t.queryParamsToSubmit||!Array.isArray(t.queryParamsToSubmit))return null;const n=t.queryParamsToSubmit.map(Ge).filter(e=>void 0!==e&&"string"==typeof e.key&&"string"==typeof e.value).find(t=>t.key===e)?.value;return n??null}catch(t){return console.error(`Error getting query param ${e} from Apollo state`,t),null}}getCurrencyFromApolloState(){try{const e=this.getApolloStateLocalePreferences();if(!e||!e.trigger)return null;const t=Ge(e.trigger);if(!t)return null;const n=t.text;return"string"!=typeof n?null:n}catch(e){return console.error("Error getting currency from Apollo state",e),null}}}const nb=/^window\.__APOLLO_STATE__ = JSON.parse\(/,ab=/\);$/;class rb extends tb{constructor(e){super(e),this.displayName="Abritel"}shouldActivate(e){return/abritel\.fr/i.test(e)}getIdFromUrl(e){const t=/\/location-vacances\/([a-z]*[0-9]+[a-z]*)|$|\?/.exec(e);let n=null;return t&&t[1]&&(n=t[1]),function(e){return/p(\d+)$/.test(e)?e.replace(/^p/,"")+"a":/p(\d+)a$/.test(e)?e.replace(/^p/,"").replace(/a$/,"ha"):/p(\d+)vb$/.test(e)?e.replace(/^p/,"").replace("vb",""):e}(n)}static getSection(e){const t=e.href;return ua.test(t)?"LIST":la.test(t)?"DETAIL":da.test(t)?"CHECKOUT":"UNKNOWN"}async getPlatformQueryParamMap(e){return{...await super.getPlatformQueryParamMap(e),currency:"EUR"}}}class ob extends tb{constructor(e){super(e),this.platform="EXPEDIA",this.displayName="Expedia"}shouldActivate(e){return/expedia\.[a-z.]{2,7}/i.test(e)}getLabelPlacement(e){const{bottom:t,left:n}=function(e){const t=e.parentElement?.parentElement;return t?{left:(Wt(["figure",".LazyLoad"],t)||t).clientWidth-50,bottom:t.clientHeight-e.clientHeight}:(console.warn("Parent element not found."),{left:0,bottom:0})}(e);return{position:"absolute",bottom:`${t}px`,left:`${n}px`,zIndex:"300"}}getItemId(e){const{href:t}=window.location;return this.getIdFromUrl(e||t)}async getHotelIdInDetail(){const{href:e}=window.location;return this.getIdFromUrl(e)||null}async getItemIdOnOTACheckout(){try{const e=Wt(['[data-stid="product-details-wrapper"] img']);return new URL(e?.getAttribute("src")||"").pathname.split("/").slice(-2)[0]||null}catch(e){return console.error(e),null}}getIdFromUrl(e){const t=/\/[\w-]*?\.h(\d*)\.[\w-]*\??/g.exec(e);return t?t[1]:""}async insertSecondaryCTAInDetailView(e){}async insertSecondaryCTAInCheckoutView(e){return this.debouncedInsertSecondaryCTAInCheckoutView(e)}async insertSecondaryCTAInCheckoutViewToDebounce(e){const t=Kp().getFeature("secondary-ctas-offers");setTimeout(async()=>{try{if((await t).on){const t=await this.insertOffersComponent(e.source_id,{idSuffix:"checkout-secondary-cta",selector:['[data-module="booking"] :has(> [data-testid="book-button"])'],componentOptions:{maxItems:1,loadingItems:1,ctaPrefix:"OFFERS_IN_CHECKOUT_FOOTER",styles:cb,vertical:!0,hideEmptyState:!0,hideLoadingSkeleton:!1}});if(!t)return;t.style.display="inline-block"}else{const t=await Ye(Wt,e=>!e,10)(['[data-testid="book-button"]']),n=await Bu(e,"SECONDARY_CTA_IN_CHECKOUT_FOOTER");t.parentElement?.appendChild(n),this.setRenderedSecondaryCTA(e.source_id,n),n.parentElement.style.display="flex";const a=await Ye(()=>Wt([".directo-cta-button-shine",".directo-cta-button-dark"],n.$reactRoot))();if(!a)return;a.style.padding="14px 20px",a.style.gap="16px",a.style.fontSize="14px",a.style.marginTop="18px"}}catch(e){Ay.captureException(e),console.error("Error inserting secondary CTA in Expedia checkout view",e)}},2e3)}debouncedInsertSecondaryCTAInCheckoutView=fd(this.insertSecondaryCTAInCheckoutViewToDebounce,9e3,{leading:!0});async getCheckoutPrice(e){const t=Wt(['[data-stid="price-summary-card"] [style="text-align:right"] .uitk-type-500']);if(!t)return null;const n=t.textContent||"",a=Wa(n),r=n.replace(/[\d.,\s]/g,"").trim();if(!r)return null;const o=ar(r);if(null===a||!o)return null;const i=await this.getListingLoS(e);return null===i?null:{priceString:n,currency:o,priceStringIsNightly:!1,totalPrice:a,nightlyPrice:a/i}}async findDetailPriceContainerElement(){return await Ye(Wt,e=>!e,10)(['[data-stid="property-offer-1"]'])}async insertOffersComponentInDetail(e){const t=await Ye(e=>{const t=Wt(e);return t?t.parentElement:null},e=>null===e,10)(['[data-stid="submit-hotel-reserve"]']);t&&await this.insertOffersComponent(e,{idSuffix:"list",container:t,componentOptions:{maxItems:4,loadingItems:3,vertical:!0,styles:sb,ctaPrefix:"VIO_EXEDIA_DETAIL"}})}static getSection(e){const t=e.href;return ha.test(t)?"LIST":pa.test(t)?"DETAIL":ma.test(t)?"CHECKOUT":"UNKNOWN"}async renderAlternativeCTAInList(e,t){}async insertOffersComponentInList(e){const t=this.findListingElement(e);if(!t)return;const n=t.parentElement;n&&await this.insertOffersComponent(e,{idSuffix:"list",selector:['[data-test-id="price-summary"]'],container:n,componentOptions:{maxItems:1,loadingItems:1,ctaPrefix:"OFFERS_IN_LIST_ITEM",styles:ib,vertical:!1,hideEmptyState:!0,hideLoadingSkeleton:!1}})}}const ib="\n.offers-container {\n margin-top: 0.5em;\n\n position: relative;\n z-index: 300;\n}\n",sb="\n.offers-container {\n margin: 1em 0;\n}\n\n.offers-container.offers-container-horizontal {\n flex-direction: row;\n}\n\n@media screen and (min-width: 992px) {\n .offers-container {\n margin: 1em 0 1em 0;\n }\n}\n",cb="\n.offers-container {\n min-width: 15em;\n margin-left: 1em;\n}\n\n\n.skeleton-button {\n top: 0.5em;\n}\n";var lb=1/0;const ub=function(e){var t=function(e){return e?(e=pd(e))===lb||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}(e),n=t%1;return t==t?n?t-n:t:0};var db=Math.max;const pb=(hb=function(e,t,n){var a=null==e?0:e.length;if(!a)return-1;var r=null==n?0:ub(n);return r<0&&(r=db(a+r,0)),function(e,t,n,a){for(var r=e.length,o=n+(a?1:-1);a?o--:++o<r;)if(t(e[o],o,e))return o;return-1}(e,mo(t),r)},function(e,t,n){var a=Object(e);if(!Ie(e)){var r=mo(t);e=$t(e),t=function(e){return r(a[e],e,a)}}var o=hb(e,t,n);return o>-1?a[r?e[o]:o]:void 0});var hb;function mb(e){if("childList"===e.type){if(e.removedNodes.length)return!0;if(e.addedNodes&&e.addedNodes[0]&&e.addedNodes[0]?.firstChild&&"dr-floating-container"===(e.addedNodes[0]?.firstChild).className)return!0;if(!e.addedNodes[0]?.firstChild?.className)return!0}return!1}class fb extends ad{constructor(e){super(e),this.platform="GOOGLE",this.displayName="Google"}shouldActivate(e){return null!==/google\.[a-z.]{2,7}\/search\?/i.exec(e)}getListingsInPage(){const e=Gt(['#search [jsname="UWckNb"]'])||[];return function(e){for(var t=-1,n=null==e?0:e.length,a=0,r=[];++t<n;){var o=e[t];o&&(r[a++]=o)}return r}(Array.from(e).map(e=>{const t=e.getAttribute("href"),n=Zn(t);if(!n)return null;const a=function(e,t){switch(e){case"AIRBNB":return new Ny(t);case"BOOKING":return new My(t);case"VRBO":return new tb(t);case"EXPEDIA":return new ob(t);default:return null}}(n,this.rendererConfig);return a?`${n}::${a.getItemId(t)}`:null}))}findListingElement(e){const t=Gt(['#search [jsname="UWckNb"]']);return pb(t,t=>{const n=t.getAttribute("href");return!!n&&function(e){const t=Zn(e);return"GOOGLE"!==t&&null!==t}(n)&&n.includes(e)})??null}markListingAsMultilisting(e,t){this.cleanRenderedLabel(e);const n=this.findListingElement(e);if(!n)return;const a=this.getLabelPlacement(n),r=kd(t,{...a,transform:"scaleY(-1)"},"transparent");this.renderedLabels[e]||(this.renderedLabels[e]=r,this.appendLabel(n,r))}getLabelPlacement(e){return{position:"absolute",top:"0px",left:"-85px",zIndex:"127",borderTopLeftRadius:"25px"}}appendLabel(e,t){if(!1!==this.rendererConfig.renderLabels)return e.append(t)}async setMLRenderer(e){this.debouncedRenderMLs||(this.debouncedRenderMLs=fd(e,2e3,{trailing:!0})),setTimeout(async()=>{const e=await Ye(Wt,e=>!e)(["#search"]);new MutationObserver(e=>{for(const t of e)!mb(t)&&this.debouncedRenderMLs&&this.debouncedRenderMLs()}).observe(e,{childList:!0,subtree:!0})},800),this.debouncedRenderMLs()}async getPriceFromList(e){return null}async getDetailPrice(){return null}getItemId(){return""}getListingNameFromList(e){const t=this.findListingElement(e.source_id),n=t?.parentElement?.querySelector('[data-testid="listing-card-title"]')?.textContent;return n||e.directo_url}async getDestinationInUrl(){return""}async getPlatformQueryParamMap(e){return{checkin:()=>e.searchParams.get("check_in")||e.searchParams.get("checkin"),checkout:()=>e.searchParams.get("check_out")||e.searchParams.get("checkout"),adults:()=>e.searchParams.get("adults")||"2",children:()=>e.searchParams.get("children")||"0",currency:()=>e.searchParams.has("display_currency")?e.searchParams.get("display_currency"):e.searchParams.has("currency")?e.searchParams.get("currency"):null}}static getSection(e){const t=e.href;return fa.test(t)?"LIST":"UNKNOWN"}}const gb=new class{renderer=void 0;availableRenderers=[];initialize(e){if(void 0!==this.renderer)throw new Error("PlatformContentFactory already initialized");this.availableRenderers=[new Ny(e),new My(e),new tb(e),new rb(e),new ob(e),new fb(e)],this.renderer=this.getActivableRenderer(window.location.href)}get(){if(void 0===this.renderer)throw new Error("PlatformContentFactory not initialized");return this.renderer}getActivableRenderer(e){for(const t of this.availableRenderers)if(t.shouldActivate(e))return t;return null}};async function yb(e){const t=gb.get();return t?await t.getPrice(e):null}async function bb(e){const t=gb.get();return t?await t.getListingLoS(e):null}function kb(){const e=gb.get();return e?e.getListingsInPage():[]}function vb(){const e=gb.get();return e?e.getItemId():null}async function wb(){const e=gb.get();return e?await e.getItemIdOnOTACheckout():null}async function _b(){const e=gb.get();return e?await e.getHotelIdInDetail():null}async function jb(){const e=gb.get();return e?await e.getHotelIdInCheckout():null}const xb=["checkin","checkout","currency","children","adults"];async function Cb(e){const t=await Promise.all(xb.map(async t=>{const n=await e(t);return[t,"checkin"===t||"checkout"===t?n?sn(n):null:n]}));return Object.fromEntries(t)}async function Sb(e,t){return Cb(n=>async function(e,t,n=window.location.href){const a=gb.get();return a?await a.buildListingQueryParam(e,t,n):null}(n,e,t))}function zb(e){if(!(e.checkin&&e.checkout&&e.adults&&e.currency))return null;const t=parseInt(e.adults,10);if(!Number.isInteger(t))return null;const n=null!==e.children?parseInt(e.children,10):null;return null===n||Number.isInteger(n)?{checkin:e.checkin,checkout:e.checkout,adults:t,children:n??void 0,currency:e.currency}:null}const Eb=["vidahotels.com","addresshotels.com"],Ob=new class{config=null;constructor(){}initialize(e){if(this.config)throw new Error("FrontNavigationFactory is already initialized");this.config=e}async openOutclickTab(e,t,n){if(!this.config)throw new Error("FrontNavigationFactory is not initialized");this.config.onBeforeOpenOutclickTab?.({targetUrl:e,outclickExtraParams:n}),await E.openOutclickTab({sourceUrl:window.location.href,targetUrl:e,cta:t,sourceId:n.sourceId,stayParams:n.stayParams,useRedirectEngine:this.config.useRedirectEngine,redirectEngineParams:{coupon:n.coupon??null,discount:n.discount??null}}),this.config.onAfterOpenOutclickTab?.({targetUrl:e,outclickExtraParams:n})}async navigateToDirectLink(e,t,n){await Ab(e),await this.openOutclickTab(e,t,n)}async navigateToDestinationLink(e,t,n){await Ab(e);const a=await async function(e){return Cb(t=>async function(e,t=window.location.href){const n=gb.get();return n?await n.buildPlatformQueryParam(e,t):null}(t,e))}(window.location.href);await this.openOutclickTab(e,t,{...n,sourceId:n.fakeSourceId,stayParams:a})}};async function Ab(e){try{const t=new URL(e),n=wn(t);if(Eb.includes(n)){const e=Lr(t.hostname);await E.maybeOpenTempTab({url:e})}}catch(e){console.error("Error opening new tab",e)}}async function Pb(e){const t=await async function(e){return{user_id:await Ha(),session_id:await E.getSessionId(),url_visited:e.sourceUrl,platform:e.platform,source_id:e.sourceId,direct_url:e.directUrl,checkin:e.pricingParams?.checkin??null,checkout:e.pricingParams?.checkout??null,adults:null!=e.pricingParams?.adults?d(e.pricingParams.adults):null,children:null!=e.pricingParams?.children?d(e.pricingParams.children):null,ota_currency:e.otaPrice.currency,ota_pricing_period:e.otaPrice.priceStringIsNightly?"NIGHTLY":"TOTAL",ota_gross_total_price:e.otaPrice.totalPrice,shop_endpoint_response_time_ms:e.shopEndpointResponseTimeMs,...e.directoPrice.price?{ota_displayed_price:e.displayedOtaPrice,ota_displayed_currency:e.displayedCurrency,direct_currency:e.directoPrice.currency,direct_pricing_period:e.directoPrice.nightly?"NIGHTLY":"TOTAL",direct_gross_total_price:e.directoPrice.price,direct_displayed_price:e.displayedDirectoPrice,direct_displayed_currency:e.displayedCurrency,popup_displayed:e.popupDisplayed,displayed_difference:e.displayedPriceDifference}:{ota_displayed_price:null,ota_displayed_currency:null,direct_currency:null,direct_pricing_period:null,direct_gross_total_price:null,direct_displayed_price:null,direct_displayed_currency:null,popup_displayed:!1,displayed_difference:null}}}(e);return await async function(e){return await w.get().post("/v2/rate-from-ota-comparison",{body:l.B64Json(e)})}(t)}async function Ib(e,t){const n=e.source_id,a=gb.get();if(!a||!await async function(e){const t=gb.get();return!!t&&t.canMakePricingRequest(e)}(n))return null;const r=await Sb(n,window.location.href),o={url:e.directo_url,...r,isUrlParametrised:e.stay_parametrised??!1,..."BOOKING"===a.platform?{hotelId:await a.getHotelIdInDetail()}:{}},{value:i,elapsed:s}=e.pricing?{value:e.pricing,elapsed:0}:await async function(){const e=performance.now();return{value:await async function(e){return await C().get("/shop",{params:e,parser:new f})}(o),elapsed:performance.now()-e}}(),c=i&&null!==i.price&&null!==i.currency&&""!==i.currency?wu({otaTotalPrice:t.totalPrice,otaCurrency:t.currency,directoPrice:i.price,directoIsNightly:i.nightly??!1,directoCurrency:i.currency,lengthOfStay:await bb(n),displayCurrency:t.currency}):null,l=Zn(window.location.href);return c&&l&&E.storeCachedDisplayPrices({platform:l,source_id:e.source_id,...c}),Pb({sourceUrl:window.location.href,directUrl:e.directo_url,otaPrice:t,directoPrice:i,pricingParams:o,shopEndpointResponseTimeMs:s,...c??{displayedOtaPrice:null,displayedDirectoPrice:null,displayedPriceDifference:null,displayedCurrency:null},popupDisplayed:!!c&&ku(c),platform:Zn(window.location.href),sourceId:e.source_id}),c}async function Nb(){const e=await wb(),t=Zn(window.location.href);return null===e||null===t?null:await E.getCachedDisplayPrices({source_id:e,platform:t})}async function Lb(e){const t=Zn(window.location.href);if(!t)return[];const n=zb(await Sb(e.listingId,window.location.href));if(!n)return[];const{offers:a}=await E.getAlternativeOffersByCompoundIds({id:[e],language:Yt(),platform:t,...n});return a}async function Tb(){const e=await async function(){const[e,t]=await Promise.all([Ye(jb,e=>null===e)(),Ye(wb,e=>null===e)()]);return null===e||null===t?null:{hotelId:e,listingId:t}}();return null===e?[]:Lb(e)}const Db=function(e,t){var n=[];return Ut(e,function(e,a,r){t(e,a,r)&&n.push(e)}),n},Rb=function(e,t){return(Ae(e)?Gr:Db)(e,mo(t))},Mb=Au();async function $b(){const e=await wb(),t=Zn(window.location.href);return null!==e&&null!==t?await E.getCachedDirectoInfo({source_id:e,platform:t}):null}var Bb=n(381);async function Ub(e){const t=await Ye(yb)(e);if(t)return t;const n=Zn(window.location.href);return n?await E.getCachedListingPrice({source_id:e,platform:n}):null}const Fb=Au();class Vb extends Bb.EventEmitter{emit(e,...t){return super.emit(e,...t)}on(e,t){return super.on(e,t)}}const Hb=new Vb;async function Kb(e,t,n){return e.then(e=>{const n=pu(e);return t(n),n}).catch(e=>{console.error(`Error in ${n}:`,e),Fb.exception({reason:e.toString()});const a={type:"error"};return t(a),a})}async function qb(e,t,n,a,r){return n.then(n=>{for(const r of e)a(r,pu(n.get(r)??t));return pu(n)}).catch(t=>{console.error(`Error in ${r}:`,t),Fb.exception({reason:t.toString()});for(const t of e)a(t,hu());return{type:"error"}})}const Yb=new class{oldUrlForListings="";constructor(){Lc(this,{setPlatformRouteName:ic})}async setPlatformRouteName(e,t){const n=t.platformContentRendererConfig.renderAlternativeOffers;if("DETAIL_VIEW"===e){const e=vb();if(Hb.emit("platformRouteChanged",{name:"DETAIL_VIEW",sourceId:e}),!e)return;await this.handleDetailViewChange(e,n)}else if("LIST_VIEW"===e)Hb.emit("platformRouteChanged",{name:"LIST_VIEW"}),async function(e){try{const t=gb.get();if(!t)return;t.setMLRenderer(e)}catch(e){console.error(e)}}(this.handleListViewChange.bind(this,n)),await this.handleListViewChange(n);else if("CHECKOUT_VIEW"===e){const e=await wb();if(Hb.emit("platformRouteChanged",{name:"CHECKOUT_VIEW",sourceId:e}),!e)return;await this.handleCheckoutViewChange(e)}else Hb.emit("platformRouteChanged",{name:e})}async handleDetailViewChange(e,t){lu.initializeOfferById(e),function(e){const t=gb.get();t&&t.insertOffersComponentInDetail(e)}(e),Kb(t?async function(){const e=await async function(){const[e,t]=await Promise.all([Ye(_b,e=>null===e)(),Ye(vb,e=>null===e)()]);return null===e||null===t?null:{hotelId:e,listingId:t}}();return null===e?[]:Lb(e)}():Promise.resolve([]),t=>lu.updateOfferAlternativeOffers(e,t),"fetching alternative offers for detail view");const n=await Kb(async function(e){const t=Zn(window.location.href);if(!t)return null;const n=await Sb(e,window.location.href),a=(await E.fetchDirectoInfo({ids:[e],platform:t,...n}))[0]??null,r=a?.directo_url;return r&&a&&E.storeCachedDirectoInfo({platform:t,...a}),Mb.event("view_product",{directo:!!r}),a}(e),t=>lu.updateOfferDirectoInfo(e,t),"fetching directo info for detail view"),a=du(n,null);Hb.emit("detailViewDirectoInfoLoaded",a),a?.directo_url&&function(e){const t=gb.get();t&&t.insertSecondaryCTAInDetailView(e)}(a);const r=du(await Kb(async function(e){const t=Zn(window.location.href);if(!t)return null;const n=await Ye(yb)(e);return n?(E.storeCachedListingPrice({source_id:e,platform:t,...n}),n):null}(e),t=>lu.updateOfferListingPrice(e,t),"fetching scraped listing price for detail view"),null),o=du(await Kb(a&&r?Ib(a,r):Promise.resolve(null),t=>lu.updateOfferDisplayPrices(e,t),"fetching directo price for detail view"),null);Hb.emit("detailViewDisplayPricesLoaded",o)}async handleListViewChange(t){if(!Zn(window.location.href))return;const n=window.location.href;this.oldUrlForListings!==n&&(lu.clear(),this.oldUrlForListings=n);const a=await Ye(kb)();for(const e of a)lu.initializeOfferById(e);!function(e){const t=gb.get();if(t)for(const n of e)t.insertOffersComponentInList(n)}(a),qb(a,[],t?async function(e){if(!e||0===e.length)return new Map;const t=Zn(window.location.href);if(!t)return new Map;const n=zb(await Sb(e[0],window.location.href));if(!n)return new Map;const{offers:a}=await E.getAlternativeOffersByCompoundIds({id:e.map(e=>({listingId:e})),platform:t,language:Yt(),...n}),r=new Map;for(const e of a)r.has(e.source_id)||r.set(e.source_id,[]),r.get(e.source_id).push(e);return r}(a):Promise.resolve(new Map),lu.updateOfferAlternativeOffers,"fetching alternative offers for list view");const r=await qb(a,null,async function(e){const t=window.location.href,n=Zn(t);if(0===e.length||!n)return new Map;const a=await Sb(e[0],t),r=await E.fetchDirectoInfo({ids:e,platform:n,...a});var o;o=r.sort((e,t)=>(e.ranking||0)-(t.ranking||0)),Vt(o,e=>function(e){const t=gb.get();t&&e.directo_url&&t.markListingAsMultilisting(e.source_id,e)}(e));const i=new Map,s=Rb(r,"directo_url");for(const e of s)i.set(e.source_id,e);return i}(a),lu.updateOfferDirectoInfo,"fetching directo infos for list view"),o=Array.from(lu.offersById.values()).map(e=>uu(e.directoInfo,null)).filter(e=>null!==e);Hb.emit("listingDirectoInfosInListLoaded",o);const i=async function(e){const t=e.map(async e=>[e,await yb(e)]),n=await Promise.all(t);return new Map(n)}(a);qb(a,null,i,lu.updateOfferListingPrice,"fetching scraped listing prices for list view"),qb(a,null,i,async(t,n)=>{const a=await async function(n){switch(n.type){case"error":return n;case"loaded":return pu(await(async e=>{const n=du(r,new Map).get(t)||null;return n&&n.pricing&&e?wu({otaTotalPrice:e.totalPrice,otaCurrency:e.currency,directoPrice:n.pricing.price,directoCurrency:n.pricing.currency,lengthOfStay:await bb(t),directoIsNightly:n.pricing.nightly,displayCurrency:e.currency}):null})(n.data));default:e(n)}}(n);lu.updateOfferDisplayPrices(t,a)},"fetching scraped listing prices for list view")}async handleCheckoutViewChange(e){lu.initializeOfferById(e);const t=Promise.all([Kb(Nb(),t=>lu.updateOfferDisplayPrices(e,t),"fetching directo price for checkout view"),Kb($b(),t=>lu.updateOfferDirectoInfo(e,t),"fetching directo info for checkout view")]).then(([e,t])=>{const n=du(e,null),a=du(t,null);null!==a&&function(e){const t=gb.get();t&&t.insertSecondaryCTAInCheckoutView(e)}(a),Hb.emit("checkoutViewDataLoaded",{pricing:n,directoInfo:a})});await Promise.all([t,Kb(Ub(e),t=>lu.updateOfferListingPrice(e,t),"fetching listing OTA price for checkout view"),Kb(Tb(),t=>lu.updateOfferAlternativeOffers(e,t),"fetching alternative offers for checkout view")])}},Wb={LIST:"LIST_VIEW",DETAIL:"DETAIL_VIEW",CHECKOUT:"CHECKOUT_VIEW",CONFIRMATION:"GENERAL_VIEW",UNKNOWN:"GENERAL_VIEW"};async function Gb(e){const t=await E.getConfig();Ay.setTags({partnerKey:t.partnerKey}),gb.initialize(e.platformContentRendererConfig);const n={partnerKey:t.partnerKey,appVersion:"adunit-0.1.0"};v.initialize(n),w.initialize(n),j.initialize(n),x.initialize(n),S.initialize(n),Ob.initialize(e.frontNavigationFactoryConfig);const a=new Ua,r=new Ir;!function(e,t=500){let n="";!function a(r=""){r!==n&&(e(r),n=r),setTimeout(()=>a(window.location.href),t)}(window.location.href)}(t=>{!function(e,t){const n=function(e){const t=function(e){const t=gb.get();return t?t.base.getSection(new URL(e)):null}(e);return null===t?"FALLBACK":Wb[t]}(e);Yb.setPlatformRouteName(n,t)}(t,e),r.initialize(t),a.initialize(t)})}function Qb(){return Gb({platformContentRendererConfig:{renderLabels:!0,renderSecondaryCTAs:!0,renderAlternativeOffers:!0},frontNavigationFactoryConfig:{useRedirectEngine:!1}})}})(),module.exports=a})();
|
|
2
|
+
(()=>{var e={15:(e,t,n)=>{"use strict";var a=n(155),o="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},r=a.useState,i=a.useEffect,s=a.useLayoutEffect,c=a.useDebugValue;function l(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!o(e,n)}catch(e){return!0}}var u="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var n=t(),a=r({inst:{value:n,getSnapshot:t}}),o=a[0].inst,u=a[1];return s(function(){o.value=n,o.getSnapshot=t,l(o)&&u({inst:o})},[e,n,t]),i(function(){return l(o)&&u({inst:o}),e(function(){l(o)&&u({inst:o})})},[e]),c(n),n};t.useSyncExternalStore=void 0!==a.useSyncExternalStore?a.useSyncExternalStore:u},18:(e,t)=>{"use strict";var n=Symbol.for("react.element"),a=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),s=Symbol.for("react.provider"),c=Symbol.for("react.context"),l=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),h=Symbol.iterator,m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},f=Object.assign,g={};function y(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}function b(){}function k(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}y.prototype.isReactComponent={},y.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},y.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},b.prototype=y.prototype;var v=k.prototype=new b;v.constructor=k,f(v,y.prototype),v.isPureReactComponent=!0;var w=Array.isArray,j=Object.prototype.hasOwnProperty,_={current:null},x={key:!0,ref:!0,__self:!0,__source:!0};function C(e,t,a){var o,r={},i=null,s=null;if(null!=t)for(o in void 0!==t.ref&&(s=t.ref),void 0!==t.key&&(i=""+t.key),t)j.call(t,o)&&!x.hasOwnProperty(o)&&(r[o]=t[o]);var c=arguments.length-2;if(1===c)r.children=a;else if(1<c){for(var l=Array(c),u=0;u<c;u++)l[u]=arguments[u+2];r.children=l}if(e&&e.defaultProps)for(o in c=e.defaultProps)void 0===r[o]&&(r[o]=c[o]);return{$$typeof:n,type:e,key:i,ref:s,props:r,_owner:_.current}}function z(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}var S=/\/+/g;function E(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(e){return t[e]})}(""+e.key):t.toString(36)}function O(e,t,o,r,i){var s=typeof e;"undefined"!==s&&"boolean"!==s||(e=null);var c=!1;if(null===e)c=!0;else switch(s){case"string":case"number":c=!0;break;case"object":switch(e.$$typeof){case n:case a:c=!0}}if(c)return i=i(c=e),e=""===r?"."+E(c,0):r,w(i)?(o="",null!=e&&(o=e.replace(S,"$&/")+"/"),O(i,t,o,"",function(e){return e})):null!=i&&(z(i)&&(i=function(e,t){return{$$typeof:n,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(i,o+(!i.key||c&&c.key===i.key?"":(""+i.key).replace(S,"$&/")+"/")+e)),t.push(i)),1;if(c=0,r=""===r?".":r+":",w(e))for(var l=0;l<e.length;l++){var u=r+E(s=e[l],l);c+=O(s,t,o,u,i)}else if(u=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=h&&e[h]||e["@@iterator"])?e:null}(e),"function"==typeof u)for(e=u.call(e),l=0;!(s=e.next()).done;)c+=O(s=s.value,t,o,u=r+E(s,l++),i);else if("object"===s)throw t=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return c}function A(e,t,n){if(null==e)return e;var a=[],o=0;return O(e,a,"","",function(e){return t.call(n,e,o++)}),a}function P(e){if(-1===e._status){var t=e._result;(t=t()).then(function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)},function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)}),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var I={current:null},L={transition:null},N={ReactCurrentDispatcher:I,ReactCurrentBatchConfig:L,ReactCurrentOwner:_};function T(){throw Error("act(...) is not supported in production builds of React.")}t.Children={map:A,forEach:function(e,t,n){A(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return A(e,function(){t++}),t},toArray:function(e){return A(e,function(e){return e})||[]},only:function(e){if(!z(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},t.Component=y,t.Fragment=o,t.Profiler=i,t.PureComponent=k,t.StrictMode=r,t.Suspense=u,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=N,t.act=T,t.cloneElement=function(e,t,a){if(null==e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var o=f({},e.props),r=e.key,i=e.ref,s=e._owner;if(null!=t){if(void 0!==t.ref&&(i=t.ref,s=_.current),void 0!==t.key&&(r=""+t.key),e.type&&e.type.defaultProps)var c=e.type.defaultProps;for(l in t)j.call(t,l)&&!x.hasOwnProperty(l)&&(o[l]=void 0===t[l]&&void 0!==c?c[l]:t[l])}var l=arguments.length-2;if(1===l)o.children=a;else if(1<l){c=Array(l);for(var u=0;u<l;u++)c[u]=arguments[u+2];o.children=c}return{$$typeof:n,type:e.type,key:r,ref:i,props:o,_owner:s}},t.createContext=function(e){return(e={$$typeof:c,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:s,_context:e},e.Consumer=e},t.createElement=C,t.createFactory=function(e){var t=C.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:l,render:e}},t.isValidElement=z,t.lazy=function(e){return{$$typeof:p,_payload:{_status:-1,_result:e},_init:P}},t.memo=function(e,t){return{$$typeof:d,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=L.transition;L.transition={};try{e()}finally{L.transition=t}},t.unstable_act=T,t.useCallback=function(e,t){return I.current.useCallback(e,t)},t.useContext=function(e){return I.current.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e){return I.current.useDeferredValue(e)},t.useEffect=function(e,t){return I.current.useEffect(e,t)},t.useId=function(){return I.current.useId()},t.useImperativeHandle=function(e,t,n){return I.current.useImperativeHandle(e,t,n)},t.useInsertionEffect=function(e,t){return I.current.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return I.current.useLayoutEffect(e,t)},t.useMemo=function(e,t){return I.current.useMemo(e,t)},t.useReducer=function(e,t,n){return I.current.useReducer(e,t,n)},t.useRef=function(e){return I.current.useRef(e)},t.useState=function(e){return I.current.useState(e)},t.useSyncExternalStore=function(e,t,n){return I.current.useSyncExternalStore(e,t,n)},t.useTransition=function(){return I.current.useTransition()},t.version="18.3.1"},98:(e,t,n)=>{"use strict";e.exports=n(15)},155:(e,t,n)=>{"use strict";e.exports=n(18)},316:(e,t,n)=>{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=n(396)},381:e=>{"use strict";var t,n="object"==typeof Reflect?Reflect:null,a=n&&"function"==typeof n.apply?n.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};t=n&&"function"==typeof n.ownKeys?n.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var o=Number.isNaN||function(e){return e!=e};function r(){r.init.call(this)}e.exports=r,e.exports.once=function(e,t){return new Promise(function(n,a){function o(n){e.removeListener(t,r),a(n)}function r(){"function"==typeof e.removeListener&&e.removeListener("error",o),n([].slice.call(arguments))}f(e,t,r,{once:!0}),"error"!==t&&function(e,t){"function"==typeof e.on&&f(e,"error",t,{once:!0})}(e,o)})},r.EventEmitter=r,r.prototype._events=void 0,r.prototype._eventsCount=0,r.prototype._maxListeners=void 0;var i=10;function s(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function c(e){return void 0===e._maxListeners?r.defaultMaxListeners:e._maxListeners}function l(e,t,n,a){var o,r,i,l;if(s(n),void 0===(r=e._events)?(r=e._events=Object.create(null),e._eventsCount=0):(void 0!==r.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),r=e._events),i=r[t]),void 0===i)i=r[t]=n,++e._eventsCount;else if("function"==typeof i?i=r[t]=a?[n,i]:[i,n]:a?i.unshift(n):i.push(n),(o=c(e))>0&&i.length>o&&!i.warned){i.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+i.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=e,u.type=t,u.count=i.length,l=u,console&&console.warn&&console.warn(l)}return e}function u(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function d(e,t,n){var a={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},o=u.bind(a);return o.listener=n,a.wrapFn=o,o}function p(e,t,n){var a=e._events;if(void 0===a)return[];var o=a[t];return void 0===o?[]:"function"==typeof o?n?[o.listener||o]:[o]:n?function(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(o):m(o,o.length)}function h(e){var t=this._events;if(void 0!==t){var n=t[e];if("function"==typeof n)return 1;if(void 0!==n)return n.length}return 0}function m(e,t){for(var n=new Array(t),a=0;a<t;++a)n[a]=e[a];return n}function f(e,t,n,a){if("function"==typeof e.on)a.once?e.once(t,n):e.on(t,n);else{if("function"!=typeof e.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e);e.addEventListener(t,function o(r){a.once&&e.removeEventListener(t,o),n(r)})}}Object.defineProperty(r,"defaultMaxListeners",{enumerable:!0,get:function(){return i},set:function(e){if("number"!=typeof e||e<0||o(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");i=e}}),r.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},r.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||o(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},r.prototype.getMaxListeners=function(){return c(this)},r.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t.push(arguments[n]);var o="error"===e,r=this._events;if(void 0!==r)o=o&&void 0===r.error;else if(!o)return!1;if(o){var i;if(t.length>0&&(i=t[0]),i instanceof Error)throw i;var s=new Error("Unhandled error."+(i?" ("+i.message+")":""));throw s.context=i,s}var c=r[e];if(void 0===c)return!1;if("function"==typeof c)a(c,this,t);else{var l=c.length,u=m(c,l);for(n=0;n<l;++n)a(u[n],this,t)}return!0},r.prototype.addListener=function(e,t){return l(this,e,t,!1)},r.prototype.on=r.prototype.addListener,r.prototype.prependListener=function(e,t){return l(this,e,t,!0)},r.prototype.once=function(e,t){return s(t),this.on(e,d(this,e,t)),this},r.prototype.prependOnceListener=function(e,t){return s(t),this.prependListener(e,d(this,e,t)),this},r.prototype.removeListener=function(e,t){var n,a,o,r,i;if(s(t),void 0===(a=this._events))return this;if(void 0===(n=a[e]))return this;if(n===t||n.listener===t)0===--this._eventsCount?this._events=Object.create(null):(delete a[e],a.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(o=-1,r=n.length-1;r>=0;r--)if(n[r]===t||n[r].listener===t){i=n[r].listener,o=r;break}if(o<0)return this;0===o?n.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(n,o),1===n.length&&(a[e]=n[0]),void 0!==a.removeListener&&this.emit("removeListener",e,i||t)}return this},r.prototype.off=r.prototype.removeListener,r.prototype.removeAllListeners=function(e){var t,n,a;if(void 0===(n=this._events))return this;if(void 0===n.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==n[e]&&(0===--this._eventsCount?this._events=Object.create(null):delete n[e]),this;if(0===arguments.length){var o,r=Object.keys(n);for(a=0;a<r.length;++a)"removeListener"!==(o=r[a])&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(void 0!==t)for(a=t.length-1;a>=0;a--)this.removeListener(e,t[a]);return this},r.prototype.listeners=function(e){return p(this,e,!0)},r.prototype.rawListeners=function(e){return p(this,e,!1)},r.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):h.call(e,t)},r.prototype.listenerCount=h,r.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]}},395:(e,t)=>{var n;!function(){"use strict";var a={}.hasOwnProperty;function o(){for(var e="",t=0;t<arguments.length;t++){var n=arguments[t];n&&(e=i(e,r(n)))}return e}function r(e){if("string"==typeof e||"number"==typeof e)return e;if("object"!=typeof e)return"";if(Array.isArray(e))return o.apply(null,e);if(e.toString!==Object.prototype.toString&&!e.toString.toString().includes("[native code]"))return e.toString();var t="";for(var n in e)a.call(e,n)&&e[n]&&(t=i(t,n));return t}function i(e,t){return t?e?e+" "+t:e+t:e}e.exports?(o.default=o,e.exports=o):void 0===(n=function(){return o}.apply(t,[]))||(e.exports=n)}()},396:(e,t,n)=>{"use strict";var a=n(155),o=n(593);function r(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var i=new Set,s={};function c(e,t){l(e,t),l(e+"Capture",t)}function l(e,t){for(s[e]=t,e=0;e<t.length;e++)i.add(t[e])}var u=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),d=Object.prototype.hasOwnProperty,p=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,h={},m={};function f(e,t,n,a,o,r,i){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=a,this.attributeNamespace=o,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=r,this.removeEmptyString=i}var g={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){g[e]=new f(e,0,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];g[t]=new f(t,1,!1,e[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){g[e]=new f(e,2,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){g[e]=new f(e,2,!1,e,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){g[e]=new f(e,3,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){g[e]=new f(e,3,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){g[e]=new f(e,4,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){g[e]=new f(e,6,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){g[e]=new f(e,5,!1,e.toLowerCase(),null,!1,!1)});var y=/[\-:]([a-z])/g;function b(e){return e[1].toUpperCase()}function k(e,t,n,a){var o=g.hasOwnProperty(t)?g[t]:null;(null!==o?0!==o.type:a||!(2<t.length)||"o"!==t[0]&&"O"!==t[0]||"n"!==t[1]&&"N"!==t[1])&&(function(e,t,n,a){if(null==t||function(e,t,n,a){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!a&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,a))return!0;if(a)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,o,a)&&(n=null),a||null===o?function(e){return!!d.call(m,e)||!d.call(h,e)&&(p.test(e)?m[e]=!0:(h[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):o.mustUseProperty?e[o.propertyName]=null===n?3!==o.type&&"":n:(t=o.attributeName,a=o.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(o=o.type)||4===o&&!0===n?"":""+n,a?e.setAttributeNS(a,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(y,b);g[t]=new f(t,1,!1,e,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(y,b);g[t]=new f(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(y,b);g[t]=new f(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){g[e]=new f(e,1,!1,e.toLowerCase(),null,!1,!1)}),g.xlinkHref=new f("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){g[e]=new f(e,1,!1,e.toLowerCase(),null,!0,!0)});var v=a.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,w=Symbol.for("react.element"),j=Symbol.for("react.portal"),_=Symbol.for("react.fragment"),x=Symbol.for("react.strict_mode"),C=Symbol.for("react.profiler"),z=Symbol.for("react.provider"),S=Symbol.for("react.context"),E=Symbol.for("react.forward_ref"),O=Symbol.for("react.suspense"),A=Symbol.for("react.suspense_list"),P=Symbol.for("react.memo"),I=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var L=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var N=Symbol.iterator;function T(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=N&&e[N]||e["@@iterator"])?e:null}var D,R=Object.assign;function M(e){if(void 0===D)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);D=t&&t[1]||""}return"\n"+D+e}var $=!1;function B(e,t){if(!e||$)return"";$=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(e){var a=e}Reflect.construct(e,[],t)}else{try{t.call()}catch(e){a=e}e.call(t.prototype)}else{try{throw Error()}catch(e){a=e}e()}}catch(t){if(t&&a&&"string"==typeof t.stack){for(var o=t.stack.split("\n"),r=a.stack.split("\n"),i=o.length-1,s=r.length-1;1<=i&&0<=s&&o[i]!==r[s];)s--;for(;1<=i&&0<=s;i--,s--)if(o[i]!==r[s]){if(1!==i||1!==s)do{if(i--,0>--s||o[i]!==r[s]){var c="\n"+o[i].replace(" at new "," at ");return e.displayName&&c.includes("<anonymous>")&&(c=c.replace("<anonymous>",e.displayName)),c}}while(1<=i&&0<=s);break}}}finally{$=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?M(e):""}function F(e){switch(e.tag){case 5:return M(e.type);case 16:return M("Lazy");case 13:return M("Suspense");case 19:return M("SuspenseList");case 0:case 2:case 15:return B(e.type,!1);case 11:return B(e.type.render,!1);case 1:return B(e.type,!0);default:return""}}function U(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case _:return"Fragment";case j:return"Portal";case C:return"Profiler";case x:return"StrictMode";case O:return"Suspense";case A:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case S:return(e.displayName||"Context")+".Consumer";case z:return(e._context.displayName||"Context")+".Provider";case E:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case P:return null!==(t=e.displayName||null)?t:U(e.type)||"Memo";case I:t=e._payload,e=e._init;try{return U(e(t))}catch(e){}}return null}function V(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return U(t);case 8:return t===x?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"==typeof t)return t.displayName||t.name||null;if("string"==typeof t)return t}return null}function H(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function K(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function Y(e){e._valueTracker||(e._valueTracker=function(e){var t=K(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),a=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var o=n.get,r=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(e){a=""+e,r.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return a},setValue:function(e){a=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function q(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),a="";return e&&(a=K(e)?e.checked?"true":"false":e.value),(e=a)!==n&&(t.setValue(e),!0)}function Q(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function W(e,t){var n=t.checked;return R({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function G(e,t){var n=null==t.defaultValue?"":t.defaultValue,a=null!=t.checked?t.checked:t.defaultChecked;n=H(null!=t.value?t.value:n),e._wrapperState={initialChecked:a,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function J(e,t){null!=(t=t.checked)&&k(e,"checked",t,!1)}function Z(e,t){J(e,t);var n=H(t.value),a=t.type;if(null!=n)"number"===a?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===a||"reset"===a)return void e.removeAttribute("value");t.hasOwnProperty("value")?ee(e,t.type,n):t.hasOwnProperty("defaultValue")&&ee(e,t.type,H(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function X(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var a=t.type;if(!("submit"!==a&&"reset"!==a||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function ee(e,t,n){"number"===t&&Q(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var te=Array.isArray;function ne(e,t,n,a){if(e=e.options,t){t={};for(var o=0;o<n.length;o++)t["$"+n[o]]=!0;for(n=0;n<e.length;n++)o=t.hasOwnProperty("$"+e[n].value),e[n].selected!==o&&(e[n].selected=o),o&&a&&(e[n].defaultSelected=!0)}else{for(n=""+H(n),t=null,o=0;o<e.length;o++){if(e[o].value===n)return e[o].selected=!0,void(a&&(e[o].defaultSelected=!0));null!==t||e[o].disabled||(t=e[o])}null!==t&&(t.selected=!0)}}function ae(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(r(91));return R({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function oe(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(r(92));if(te(n)){if(1<n.length)throw Error(r(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:H(n)}}function re(e,t){var n=H(t.value),a=H(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=a&&(e.defaultValue=""+a)}function ie(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}function se(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function ce(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?se(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var le,ue,de=(ue=function(e,t){if("http://www.w3.org/2000/svg"!==e.namespaceURI||"innerHTML"in e)e.innerHTML=t;else{for((le=le||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=le.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,a){MSApp.execUnsafeLocalFunction(function(){return ue(e,t)})}:ue);function pe(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var he={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},me=["Webkit","ms","Moz","O"];function fe(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||he.hasOwnProperty(e)&&he[e]?(""+t).trim():t+"px"}function ge(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var a=0===n.indexOf("--"),o=fe(n,t[n],a);"float"===n&&(n="cssFloat"),a?e.setProperty(n,o):e[n]=o}}Object.keys(he).forEach(function(e){me.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),he[t]=he[e]})});var ye=R({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function be(e,t){if(t){if(ye[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(r(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(r(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(r(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(r(62))}}function ke(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var ve=null;function we(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var je=null,_e=null,xe=null;function Ce(e){if(e=vo(e)){if("function"!=typeof je)throw Error(r(280));var t=e.stateNode;t&&(t=jo(t),je(e.stateNode,e.type,t))}}function ze(e){_e?xe?xe.push(e):xe=[e]:_e=e}function Se(){if(_e){var e=_e,t=xe;if(xe=_e=null,Ce(e),t)for(e=0;e<t.length;e++)Ce(t[e])}}function Ee(e,t){return e(t)}function Oe(){}var Ae=!1;function Pe(e,t,n){if(Ae)return e(t,n);Ae=!0;try{return Ee(e,t,n)}finally{Ae=!1,(null!==_e||null!==xe)&&(Oe(),Se())}}function Ie(e,t){var n=e.stateNode;if(null===n)return null;var a=jo(n);if(null===a)return null;n=a[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(a=!a.disabled)||(a=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!a;break e;default:e=!1}if(e)return null;if(n&&"function"!=typeof n)throw Error(r(231,t,typeof n));return n}var Le=!1;if(u)try{var Ne={};Object.defineProperty(Ne,"passive",{get:function(){Le=!0}}),window.addEventListener("test",Ne,Ne),window.removeEventListener("test",Ne,Ne)}catch(ue){Le=!1}function Te(e,t,n,a,o,r,i,s,c){var l=Array.prototype.slice.call(arguments,3);try{t.apply(n,l)}catch(e){this.onError(e)}}var De=!1,Re=null,Me=!1,$e=null,Be={onError:function(e){De=!0,Re=e}};function Fe(e,t,n,a,o,r,i,s,c){De=!1,Re=null,Te.apply(Be,arguments)}function Ue(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{!!(4098&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function Ve(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&null!==(e=e.alternate)&&(t=e.memoizedState),null!==t)return t.dehydrated}return null}function He(e){if(Ue(e)!==e)throw Error(r(188))}function Ke(e){return null!==(e=function(e){var t=e.alternate;if(!t){if(null===(t=Ue(e)))throw Error(r(188));return t!==e?null:e}for(var n=e,a=t;;){var o=n.return;if(null===o)break;var i=o.alternate;if(null===i){if(null!==(a=o.return)){n=a;continue}break}if(o.child===i.child){for(i=o.child;i;){if(i===n)return He(o),e;if(i===a)return He(o),t;i=i.sibling}throw Error(r(188))}if(n.return!==a.return)n=o,a=i;else{for(var s=!1,c=o.child;c;){if(c===n){s=!0,n=o,a=i;break}if(c===a){s=!0,a=o,n=i;break}c=c.sibling}if(!s){for(c=i.child;c;){if(c===n){s=!0,n=i,a=o;break}if(c===a){s=!0,a=i,n=o;break}c=c.sibling}if(!s)throw Error(r(189))}}if(n.alternate!==a)throw Error(r(190))}if(3!==n.tag)throw Error(r(188));return n.stateNode.current===n?e:t}(e))?Ye(e):null}function Ye(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=Ye(e);if(null!==t)return t;e=e.sibling}return null}var qe=o.unstable_scheduleCallback,Qe=o.unstable_cancelCallback,We=o.unstable_shouldYield,Ge=o.unstable_requestPaint,Je=o.unstable_now,Ze=o.unstable_getCurrentPriorityLevel,Xe=o.unstable_ImmediatePriority,et=o.unstable_UserBlockingPriority,tt=o.unstable_NormalPriority,nt=o.unstable_LowPriority,at=o.unstable_IdlePriority,ot=null,rt=null,it=Math.clz32?Math.clz32:function(e){return 0===(e>>>=0)?32:31-(st(e)/ct|0)|0},st=Math.log,ct=Math.LN2,lt=64,ut=4194304;function dt(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function pt(e,t){var n=e.pendingLanes;if(0===n)return 0;var a=0,o=e.suspendedLanes,r=e.pingedLanes,i=268435455&n;if(0!==i){var s=i&~o;0!==s?a=dt(s):0!==(r&=i)&&(a=dt(r))}else 0!==(i=n&~o)?a=dt(i):0!==r&&(a=dt(r));if(0===a)return 0;if(0!==t&&t!==a&&0===(t&o)&&((o=a&-a)>=(r=t&-t)||16===o&&4194240&r))return t;if(4&a&&(a|=16&n),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=a;0<t;)o=1<<(n=31-it(t)),a|=e[n],t&=~o;return a}function ht(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return-1}}function mt(e){return 0!=(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function ft(){var e=lt;return!(4194240&(lt<<=1))&&(lt=64),e}function gt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function yt(e,t,n){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-it(t)]=n}function bt(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var a=31-it(n),o=1<<a;o&t|e[a]&t&&(e[a]|=t),n&=~o}}var kt=0;function vt(e){return 1<(e&=-e)?4<e?268435455&e?16:536870912:4:1}var wt,jt,_t,xt,Ct,zt=!1,St=[],Et=null,Ot=null,At=null,Pt=new Map,It=new Map,Lt=[],Nt="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Tt(e,t){switch(e){case"focusin":case"focusout":Et=null;break;case"dragenter":case"dragleave":Ot=null;break;case"mouseover":case"mouseout":At=null;break;case"pointerover":case"pointerout":Pt.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":It.delete(t.pointerId)}}function Dt(e,t,n,a,o,r){return null===e||e.nativeEvent!==r?(e={blockedOn:t,domEventName:n,eventSystemFlags:a,nativeEvent:r,targetContainers:[o]},null!==t&&null!==(t=vo(t))&&jt(t),e):(e.eventSystemFlags|=a,t=e.targetContainers,null!==o&&-1===t.indexOf(o)&&t.push(o),e)}function Rt(e){var t=ko(e.target);if(null!==t){var n=Ue(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=Ve(n)))return e.blockedOn=t,void Ct(e.priority,function(){_t(n)})}else if(3===t&&n.stateNode.current.memoizedState.isDehydrated)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function Mt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Wt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=vo(n))&&jt(t),e.blockedOn=n,!1;var a=new(n=e.nativeEvent).constructor(n.type,n);ve=a,n.target.dispatchEvent(a),ve=null,t.shift()}return!0}function $t(e,t,n){Mt(e)&&n.delete(t)}function Bt(){zt=!1,null!==Et&&Mt(Et)&&(Et=null),null!==Ot&&Mt(Ot)&&(Ot=null),null!==At&&Mt(At)&&(At=null),Pt.forEach($t),It.forEach($t)}function Ft(e,t){e.blockedOn===t&&(e.blockedOn=null,zt||(zt=!0,o.unstable_scheduleCallback(o.unstable_NormalPriority,Bt)))}function Ut(e){function t(t){return Ft(t,e)}if(0<St.length){Ft(St[0],e);for(var n=1;n<St.length;n++){var a=St[n];a.blockedOn===e&&(a.blockedOn=null)}}for(null!==Et&&Ft(Et,e),null!==Ot&&Ft(Ot,e),null!==At&&Ft(At,e),Pt.forEach(t),It.forEach(t),n=0;n<Lt.length;n++)(a=Lt[n]).blockedOn===e&&(a.blockedOn=null);for(;0<Lt.length&&null===(n=Lt[0]).blockedOn;)Rt(n),null===n.blockedOn&&Lt.shift()}var Vt=v.ReactCurrentBatchConfig,Ht=!0;function Kt(e,t,n,a){var o=kt,r=Vt.transition;Vt.transition=null;try{kt=1,qt(e,t,n,a)}finally{kt=o,Vt.transition=r}}function Yt(e,t,n,a){var o=kt,r=Vt.transition;Vt.transition=null;try{kt=4,qt(e,t,n,a)}finally{kt=o,Vt.transition=r}}function qt(e,t,n,a){if(Ht){var o=Wt(e,t,n,a);if(null===o)Ha(e,t,a,Qt,n),Tt(e,a);else if(function(e,t,n,a,o){switch(t){case"focusin":return Et=Dt(Et,e,t,n,a,o),!0;case"dragenter":return Ot=Dt(Ot,e,t,n,a,o),!0;case"mouseover":return At=Dt(At,e,t,n,a,o),!0;case"pointerover":var r=o.pointerId;return Pt.set(r,Dt(Pt.get(r)||null,e,t,n,a,o)),!0;case"gotpointercapture":return r=o.pointerId,It.set(r,Dt(It.get(r)||null,e,t,n,a,o)),!0}return!1}(o,e,t,n,a))a.stopPropagation();else if(Tt(e,a),4&t&&-1<Nt.indexOf(e)){for(;null!==o;){var r=vo(o);if(null!==r&&wt(r),null===(r=Wt(e,t,n,a))&&Ha(e,t,a,Qt,n),r===o)break;o=r}null!==o&&a.stopPropagation()}else Ha(e,t,a,null,n)}}var Qt=null;function Wt(e,t,n,a){if(Qt=null,null!==(e=ko(e=we(a))))if(null===(t=Ue(e)))e=null;else if(13===(n=t.tag)){if(null!==(e=Ve(t)))return e;e=null}else if(3===n){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Qt=e,null}function Gt(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Ze()){case Xe:return 1;case et:return 4;case tt:case nt:return 16;case at:return 536870912;default:return 16}default:return 16}}var Jt=null,Zt=null,Xt=null;function en(){if(Xt)return Xt;var e,t,n=Zt,a=n.length,o="value"in Jt?Jt.value:Jt.textContent,r=o.length;for(e=0;e<a&&n[e]===o[e];e++);var i=a-e;for(t=1;t<=i&&n[a-t]===o[r-t];t++);return Xt=o.slice(e,1<t?1-t:void 0)}function tn(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function nn(){return!0}function an(){return!1}function on(e){function t(t,n,a,o,r){for(var i in this._reactName=t,this._targetInst=a,this.type=n,this.nativeEvent=o,this.target=r,this.currentTarget=null,e)e.hasOwnProperty(i)&&(t=e[i],this[i]=t?t(o):o[i]);return this.isDefaultPrevented=(null!=o.defaultPrevented?o.defaultPrevented:!1===o.returnValue)?nn:an,this.isPropagationStopped=an,this}return R(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=nn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=nn)},persist:function(){},isPersistent:nn}),t}var rn,sn,cn,ln={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},un=on(ln),dn=R({},ln,{view:0,detail:0}),pn=on(dn),hn=R({},dn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Cn,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==cn&&(cn&&"mousemove"===e.type?(rn=e.screenX-cn.screenX,sn=e.screenY-cn.screenY):sn=rn=0,cn=e),rn)},movementY:function(e){return"movementY"in e?e.movementY:sn}}),mn=on(hn),fn=on(R({},hn,{dataTransfer:0})),gn=on(R({},dn,{relatedTarget:0})),yn=on(R({},ln,{animationName:0,elapsedTime:0,pseudoElement:0})),bn=R({},ln,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),kn=on(bn),vn=on(R({},ln,{data:0})),wn={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},jn={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},_n={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function xn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=_n[e])&&!!t[e]}function Cn(){return xn}var zn=R({},dn,{key:function(e){if(e.key){var t=wn[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=tn(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?jn[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Cn,charCode:function(e){return"keypress"===e.type?tn(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?tn(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),Sn=on(zn),En=on(R({},hn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),On=on(R({},dn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Cn})),An=on(R({},ln,{propertyName:0,elapsedTime:0,pseudoElement:0})),Pn=R({},hn,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),In=on(Pn),Ln=[9,13,27,32],Nn=u&&"CompositionEvent"in window,Tn=null;u&&"documentMode"in document&&(Tn=document.documentMode);var Dn=u&&"TextEvent"in window&&!Tn,Rn=u&&(!Nn||Tn&&8<Tn&&11>=Tn),Mn=String.fromCharCode(32),$n=!1;function Bn(e,t){switch(e){case"keyup":return-1!==Ln.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Fn(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Un=!1,Vn={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Hn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Vn[e.type]:"textarea"===t}function Kn(e,t,n,a){ze(a),0<(t=Ya(t,"onChange")).length&&(n=new un("onChange","change",null,n,a),e.push({event:n,listeners:t}))}var Yn=null,qn=null;function Qn(e){Ma(e,0)}function Wn(e){if(q(wo(e)))return e}function Gn(e,t){if("change"===e)return t}var Jn=!1;if(u){var Zn;if(u){var Xn="oninput"in document;if(!Xn){var ea=document.createElement("div");ea.setAttribute("oninput","return;"),Xn="function"==typeof ea.oninput}Zn=Xn}else Zn=!1;Jn=Zn&&(!document.documentMode||9<document.documentMode)}function ta(){Yn&&(Yn.detachEvent("onpropertychange",na),qn=Yn=null)}function na(e){if("value"===e.propertyName&&Wn(qn)){var t=[];Kn(t,qn,e,we(e)),Pe(Qn,t)}}function aa(e,t,n){"focusin"===e?(ta(),qn=n,(Yn=t).attachEvent("onpropertychange",na)):"focusout"===e&&ta()}function oa(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Wn(qn)}function ra(e,t){if("click"===e)return Wn(t)}function ia(e,t){if("input"===e||"change"===e)return Wn(t)}var sa="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t};function ca(e,t){if(sa(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),a=Object.keys(t);if(n.length!==a.length)return!1;for(a=0;a<n.length;a++){var o=n[a];if(!d.call(t,o)||!sa(e[o],t[o]))return!1}return!0}function la(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function ua(e,t){var n,a=la(e);for(e=0;a;){if(3===a.nodeType){if(n=e+a.textContent.length,e<=t&&n>=t)return{node:a,offset:t-e};e=n}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=la(a)}}function da(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?da(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function pa(){for(var e=window,t=Q();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(e){n=!1}if(!n)break;t=Q((e=t.contentWindow).document)}return t}function ha(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function ma(e){var t=pa(),n=e.focusedElem,a=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&da(n.ownerDocument.documentElement,n)){if(null!==a&&ha(n))if(t=a.start,void 0===(e=a.end)&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if((e=(t=n.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var o=n.textContent.length,r=Math.min(a.start,o);a=void 0===a.end?r:Math.min(a.end,o),!e.extend&&r>a&&(o=a,a=r,r=o),o=ua(n,r);var i=ua(n,a);o&&i&&(1!==e.rangeCount||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==i.node||e.focusOffset!==i.offset)&&((t=t.createRange()).setStart(o.node,o.offset),e.removeAllRanges(),r>a?(e.addRange(t),e.extend(i.node,i.offset)):(t.setEnd(i.node,i.offset),e.addRange(t)))}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"==typeof n.focus&&n.focus(),n=0;n<t.length;n++)(e=t[n]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}var fa=u&&"documentMode"in document&&11>=document.documentMode,ga=null,ya=null,ba=null,ka=!1;function va(e,t,n){var a=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;ka||null==ga||ga!==Q(a)||(a="selectionStart"in(a=ga)&&ha(a)?{start:a.selectionStart,end:a.selectionEnd}:{anchorNode:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset},ba&&ca(ba,a)||(ba=a,0<(a=Ya(ya,"onSelect")).length&&(t=new un("onSelect","select",null,t,n),e.push({event:t,listeners:a}),t.target=ga)))}function wa(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var ja={animationend:wa("Animation","AnimationEnd"),animationiteration:wa("Animation","AnimationIteration"),animationstart:wa("Animation","AnimationStart"),transitionend:wa("Transition","TransitionEnd")},_a={},xa={};function Ca(e){if(_a[e])return _a[e];if(!ja[e])return e;var t,n=ja[e];for(t in n)if(n.hasOwnProperty(t)&&t in xa)return _a[e]=n[t];return e}u&&(xa=document.createElement("div").style,"AnimationEvent"in window||(delete ja.animationend.animation,delete ja.animationiteration.animation,delete ja.animationstart.animation),"TransitionEvent"in window||delete ja.transitionend.transition);var za=Ca("animationend"),Sa=Ca("animationiteration"),Ea=Ca("animationstart"),Oa=Ca("transitionend"),Aa=new Map,Pa="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Ia(e,t){Aa.set(e,t),c(t,[e])}for(var La=0;La<Pa.length;La++){var Na=Pa[La];Ia(Na.toLowerCase(),"on"+(Na[0].toUpperCase()+Na.slice(1)))}Ia(za,"onAnimationEnd"),Ia(Sa,"onAnimationIteration"),Ia(Ea,"onAnimationStart"),Ia("dblclick","onDoubleClick"),Ia("focusin","onFocus"),Ia("focusout","onBlur"),Ia(Oa,"onTransitionEnd"),l("onMouseEnter",["mouseout","mouseover"]),l("onMouseLeave",["mouseout","mouseover"]),l("onPointerEnter",["pointerout","pointerover"]),l("onPointerLeave",["pointerout","pointerover"]),c("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),c("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),c("onBeforeInput",["compositionend","keypress","textInput","paste"]),c("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),c("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),c("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Ta="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Da=new Set("cancel close invalid load scroll toggle".split(" ").concat(Ta));function Ra(e,t,n){var a=e.type||"unknown-event";e.currentTarget=n,function(e,t,n,a,o,i,s,c,l){if(Fe.apply(this,arguments),De){if(!De)throw Error(r(198));var u=Re;De=!1,Re=null,Me||(Me=!0,$e=u)}}(a,t,void 0,e),e.currentTarget=null}function Ma(e,t){t=!!(4&t);for(var n=0;n<e.length;n++){var a=e[n],o=a.event;a=a.listeners;e:{var r=void 0;if(t)for(var i=a.length-1;0<=i;i--){var s=a[i],c=s.instance,l=s.currentTarget;if(s=s.listener,c!==r&&o.isPropagationStopped())break e;Ra(o,s,l),r=c}else for(i=0;i<a.length;i++){if(c=(s=a[i]).instance,l=s.currentTarget,s=s.listener,c!==r&&o.isPropagationStopped())break e;Ra(o,s,l),r=c}}}if(Me)throw e=$e,Me=!1,$e=null,e}function $a(e,t){var n=t[go];void 0===n&&(n=t[go]=new Set);var a=e+"__bubble";n.has(a)||(Va(t,e,2,!1),n.add(a))}function Ba(e,t,n){var a=0;t&&(a|=4),Va(n,e,a,t)}var Fa="_reactListening"+Math.random().toString(36).slice(2);function Ua(e){if(!e[Fa]){e[Fa]=!0,i.forEach(function(t){"selectionchange"!==t&&(Da.has(t)||Ba(t,!1,e),Ba(t,!0,e))});var t=9===e.nodeType?e:e.ownerDocument;null===t||t[Fa]||(t[Fa]=!0,Ba("selectionchange",!1,t))}}function Va(e,t,n,a){switch(Gt(t)){case 1:var o=Kt;break;case 4:o=Yt;break;default:o=qt}n=o.bind(null,t,n,e),o=void 0,!Le||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(o=!0),a?void 0!==o?e.addEventListener(t,n,{capture:!0,passive:o}):e.addEventListener(t,n,!0):void 0!==o?e.addEventListener(t,n,{passive:o}):e.addEventListener(t,n,!1)}function Ha(e,t,n,a,o){var r=a;if(!(1&t||2&t||null===a))e:for(;;){if(null===a)return;var i=a.tag;if(3===i||4===i){var s=a.stateNode.containerInfo;if(s===o||8===s.nodeType&&s.parentNode===o)break;if(4===i)for(i=a.return;null!==i;){var c=i.tag;if((3===c||4===c)&&((c=i.stateNode.containerInfo)===o||8===c.nodeType&&c.parentNode===o))return;i=i.return}for(;null!==s;){if(null===(i=ko(s)))return;if(5===(c=i.tag)||6===c){a=r=i;continue e}s=s.parentNode}}a=a.return}Pe(function(){var a=r,o=we(n),i=[];e:{var s=Aa.get(e);if(void 0!==s){var c=un,l=e;switch(e){case"keypress":if(0===tn(n))break e;case"keydown":case"keyup":c=Sn;break;case"focusin":l="focus",c=gn;break;case"focusout":l="blur",c=gn;break;case"beforeblur":case"afterblur":c=gn;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":c=mn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":c=fn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":c=On;break;case za:case Sa:case Ea:c=yn;break;case Oa:c=An;break;case"scroll":c=pn;break;case"wheel":c=In;break;case"copy":case"cut":case"paste":c=kn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":c=En}var u=!!(4&t),d=!u&&"scroll"===e,p=u?null!==s?s+"Capture":null:s;u=[];for(var h,m=a;null!==m;){var f=(h=m).stateNode;if(5===h.tag&&null!==f&&(h=f,null!==p&&null!=(f=Ie(m,p))&&u.push(Ka(m,f,h))),d)break;m=m.return}0<u.length&&(s=new c(s,l,null,n,o),i.push({event:s,listeners:u}))}}if(!(7&t)){if(c="mouseout"===e||"pointerout"===e,(!(s="mouseover"===e||"pointerover"===e)||n===ve||!(l=n.relatedTarget||n.fromElement)||!ko(l)&&!l[fo])&&(c||s)&&(s=o.window===o?o:(s=o.ownerDocument)?s.defaultView||s.parentWindow:window,c?(c=a,null!==(l=(l=n.relatedTarget||n.toElement)?ko(l):null)&&(l!==(d=Ue(l))||5!==l.tag&&6!==l.tag)&&(l=null)):(c=null,l=a),c!==l)){if(u=mn,f="onMouseLeave",p="onMouseEnter",m="mouse","pointerout"!==e&&"pointerover"!==e||(u=En,f="onPointerLeave",p="onPointerEnter",m="pointer"),d=null==c?s:wo(c),h=null==l?s:wo(l),(s=new u(f,m+"leave",c,n,o)).target=d,s.relatedTarget=h,f=null,ko(o)===a&&((u=new u(p,m+"enter",l,n,o)).target=h,u.relatedTarget=d,f=u),d=f,c&&l)e:{for(p=l,m=0,h=u=c;h;h=qa(h))m++;for(h=0,f=p;f;f=qa(f))h++;for(;0<m-h;)u=qa(u),m--;for(;0<h-m;)p=qa(p),h--;for(;m--;){if(u===p||null!==p&&u===p.alternate)break e;u=qa(u),p=qa(p)}u=null}else u=null;null!==c&&Qa(i,s,c,u,!1),null!==l&&null!==d&&Qa(i,d,l,u,!0)}if("select"===(c=(s=a?wo(a):window).nodeName&&s.nodeName.toLowerCase())||"input"===c&&"file"===s.type)var g=Gn;else if(Hn(s))if(Jn)g=ia;else{g=oa;var y=aa}else(c=s.nodeName)&&"input"===c.toLowerCase()&&("checkbox"===s.type||"radio"===s.type)&&(g=ra);switch(g&&(g=g(e,a))?Kn(i,g,n,o):(y&&y(e,s,a),"focusout"===e&&(y=s._wrapperState)&&y.controlled&&"number"===s.type&&ee(s,"number",s.value)),y=a?wo(a):window,e){case"focusin":(Hn(y)||"true"===y.contentEditable)&&(ga=y,ya=a,ba=null);break;case"focusout":ba=ya=ga=null;break;case"mousedown":ka=!0;break;case"contextmenu":case"mouseup":case"dragend":ka=!1,va(i,n,o);break;case"selectionchange":if(fa)break;case"keydown":case"keyup":va(i,n,o)}var b;if(Nn)e:{switch(e){case"compositionstart":var k="onCompositionStart";break e;case"compositionend":k="onCompositionEnd";break e;case"compositionupdate":k="onCompositionUpdate";break e}k=void 0}else Un?Bn(e,n)&&(k="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(k="onCompositionStart");k&&(Rn&&"ko"!==n.locale&&(Un||"onCompositionStart"!==k?"onCompositionEnd"===k&&Un&&(b=en()):(Zt="value"in(Jt=o)?Jt.value:Jt.textContent,Un=!0)),0<(y=Ya(a,k)).length&&(k=new vn(k,e,null,n,o),i.push({event:k,listeners:y}),(b||null!==(b=Fn(n)))&&(k.data=b))),(b=Dn?function(e,t){switch(e){case"compositionend":return Fn(t);case"keypress":return 32!==t.which?null:($n=!0,Mn);case"textInput":return(e=t.data)===Mn&&$n?null:e;default:return null}}(e,n):function(e,t){if(Un)return"compositionend"===e||!Nn&&Bn(e,t)?(e=en(),Xt=Zt=Jt=null,Un=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Rn&&"ko"!==t.locale?null:t.data}}(e,n))&&0<(a=Ya(a,"onBeforeInput")).length&&(o=new vn("onBeforeInput","beforeinput",null,n,o),i.push({event:o,listeners:a}),o.data=b)}Ma(i,t)})}function Ka(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Ya(e,t){for(var n=t+"Capture",a=[];null!==e;){var o=e,r=o.stateNode;5===o.tag&&null!==r&&(o=r,null!=(r=Ie(e,n))&&a.unshift(Ka(e,r,o)),null!=(r=Ie(e,t))&&a.push(Ka(e,r,o))),e=e.return}return a}function qa(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Qa(e,t,n,a,o){for(var r=t._reactName,i=[];null!==n&&n!==a;){var s=n,c=s.alternate,l=s.stateNode;if(null!==c&&c===a)break;5===s.tag&&null!==l&&(s=l,o?null!=(c=Ie(n,r))&&i.unshift(Ka(n,c,s)):o||null!=(c=Ie(n,r))&&i.push(Ka(n,c,s))),n=n.return}0!==i.length&&e.push({event:t,listeners:i})}var Wa=/\r\n?/g,Ga=/\u0000|\uFFFD/g;function Ja(e){return("string"==typeof e?e:""+e).replace(Wa,"\n").replace(Ga,"")}function Za(e,t,n){if(t=Ja(t),Ja(e)!==t&&n)throw Error(r(425))}function Xa(){}var eo=null,to=null;function no(e,t){return"textarea"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var ao="function"==typeof setTimeout?setTimeout:void 0,oo="function"==typeof clearTimeout?clearTimeout:void 0,ro="function"==typeof Promise?Promise:void 0,io="function"==typeof queueMicrotask?queueMicrotask:void 0!==ro?function(e){return ro.resolve(null).then(e).catch(so)}:ao;function so(e){setTimeout(function(){throw e})}function co(e,t){var n=t,a=0;do{var o=n.nextSibling;if(e.removeChild(n),o&&8===o.nodeType)if("/$"===(n=o.data)){if(0===a)return e.removeChild(o),void Ut(t);a--}else"$"!==n&&"$?"!==n&&"$!"!==n||a++;n=o}while(n);Ut(t)}function lo(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t)break;if("/$"===t)return null}}return e}function uo(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var po=Math.random().toString(36).slice(2),ho="__reactFiber$"+po,mo="__reactProps$"+po,fo="__reactContainer$"+po,go="__reactEvents$"+po,yo="__reactListeners$"+po,bo="__reactHandles$"+po;function ko(e){var t=e[ho];if(t)return t;for(var n=e.parentNode;n;){if(t=n[fo]||n[ho]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=uo(e);null!==e;){if(n=e[ho])return n;e=uo(e)}return t}n=(e=n).parentNode}return null}function vo(e){return!(e=e[ho]||e[fo])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function wo(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(r(33))}function jo(e){return e[mo]||null}var _o=[],xo=-1;function Co(e){return{current:e}}function zo(e){0>xo||(e.current=_o[xo],_o[xo]=null,xo--)}function So(e,t){xo++,_o[xo]=e.current,e.current=t}var Eo={},Oo=Co(Eo),Ao=Co(!1),Po=Eo;function Io(e,t){var n=e.type.contextTypes;if(!n)return Eo;var a=e.stateNode;if(a&&a.__reactInternalMemoizedUnmaskedChildContext===t)return a.__reactInternalMemoizedMaskedChildContext;var o,r={};for(o in n)r[o]=t[o];return a&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=r),r}function Lo(e){return null!=e.childContextTypes}function No(){zo(Ao),zo(Oo)}function To(e,t,n){if(Oo.current!==Eo)throw Error(r(168));So(Oo,t),So(Ao,n)}function Do(e,t,n){var a=e.stateNode;if(t=t.childContextTypes,"function"!=typeof a.getChildContext)return n;for(var o in a=a.getChildContext())if(!(o in t))throw Error(r(108,V(e)||"Unknown",o));return R({},n,a)}function Ro(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Eo,Po=Oo.current,So(Oo,e),So(Ao,Ao.current),!0}function Mo(e,t,n){var a=e.stateNode;if(!a)throw Error(r(169));n?(e=Do(e,t,Po),a.__reactInternalMemoizedMergedChildContext=e,zo(Ao),zo(Oo),So(Oo,e)):zo(Ao),So(Ao,n)}var $o=null,Bo=!1,Fo=!1;function Uo(e){null===$o?$o=[e]:$o.push(e)}function Vo(){if(!Fo&&null!==$o){Fo=!0;var e=0,t=kt;try{var n=$o;for(kt=1;e<n.length;e++){var a=n[e];do{a=a(!0)}while(null!==a)}$o=null,Bo=!1}catch(t){throw null!==$o&&($o=$o.slice(e+1)),qe(Xe,Vo),t}finally{kt=t,Fo=!1}}return null}var Ho=[],Ko=0,Yo=null,qo=0,Qo=[],Wo=0,Go=null,Jo=1,Zo="";function Xo(e,t){Ho[Ko++]=qo,Ho[Ko++]=Yo,Yo=e,qo=t}function er(e,t,n){Qo[Wo++]=Jo,Qo[Wo++]=Zo,Qo[Wo++]=Go,Go=e;var a=Jo;e=Zo;var o=32-it(a)-1;a&=~(1<<o),n+=1;var r=32-it(t)+o;if(30<r){var i=o-o%5;r=(a&(1<<i)-1).toString(32),a>>=i,o-=i,Jo=1<<32-it(t)+o|n<<o|a,Zo=r+e}else Jo=1<<r|n<<o|a,Zo=e}function tr(e){null!==e.return&&(Xo(e,1),er(e,1,0))}function nr(e){for(;e===Yo;)Yo=Ho[--Ko],Ho[Ko]=null,qo=Ho[--Ko],Ho[Ko]=null;for(;e===Go;)Go=Qo[--Wo],Qo[Wo]=null,Zo=Qo[--Wo],Qo[Wo]=null,Jo=Qo[--Wo],Qo[Wo]=null}var ar=null,or=null,rr=!1,ir=null;function sr(e,t){var n=Pl(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,null===(t=e.deletions)?(e.deletions=[n],e.flags|=16):t.push(n)}function cr(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,ar=e,or=lo(t.firstChild),!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,ar=e,or=null,!0);case 13:return null!==(t=8!==t.nodeType?null:t)&&(n=null!==Go?{id:Jo,overflow:Zo}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},(n=Pl(18,null,null,0)).stateNode=t,n.return=e,e.child=n,ar=e,or=null,!0);default:return!1}}function lr(e){return!(!(1&e.mode)||128&e.flags)}function ur(e){if(rr){var t=or;if(t){var n=t;if(!cr(e,t)){if(lr(e))throw Error(r(418));t=lo(n.nextSibling);var a=ar;t&&cr(e,t)?sr(a,n):(e.flags=-4097&e.flags|2,rr=!1,ar=e)}}else{if(lr(e))throw Error(r(418));e.flags=-4097&e.flags|2,rr=!1,ar=e}}}function dr(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;ar=e}function pr(e){if(e!==ar)return!1;if(!rr)return dr(e),rr=!0,!1;var t;if((t=3!==e.tag)&&!(t=5!==e.tag)&&(t="head"!==(t=e.type)&&"body"!==t&&!no(e.type,e.memoizedProps)),t&&(t=or)){if(lr(e))throw hr(),Error(r(418));for(;t;)sr(e,t),t=lo(t.nextSibling)}if(dr(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(r(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){or=lo(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}or=null}}else or=ar?lo(e.stateNode.nextSibling):null;return!0}function hr(){for(var e=or;e;)e=lo(e.nextSibling)}function mr(){or=ar=null,rr=!1}function fr(e){null===ir?ir=[e]:ir.push(e)}var gr=v.ReactCurrentBatchConfig;function yr(e,t,n){if(null!==(e=n.ref)&&"function"!=typeof e&&"object"!=typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(r(309));var a=n.stateNode}if(!a)throw Error(r(147,e));var o=a,i=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===i?t.ref:(t=function(e){var t=o.refs;null===e?delete t[i]:t[i]=e},t._stringRef=i,t)}if("string"!=typeof e)throw Error(r(284));if(!n._owner)throw Error(r(290,e))}return e}function br(e,t){throw e=Object.prototype.toString.call(t),Error(r(31,"[object Object]"===e?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function kr(e){return(0,e._init)(e._payload)}function vr(e){function t(t,n){if(e){var a=t.deletions;null===a?(t.deletions=[n],t.flags|=16):a.push(n)}}function n(n,a){if(!e)return null;for(;null!==a;)t(n,a),a=a.sibling;return null}function a(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function o(e,t){return(e=Ll(e,t)).index=0,e.sibling=null,e}function i(t,n,a){return t.index=a,e?null!==(a=t.alternate)?(a=a.index)<n?(t.flags|=2,n):a:(t.flags|=2,n):(t.flags|=1048576,n)}function s(t){return e&&null===t.alternate&&(t.flags|=2),t}function c(e,t,n,a){return null===t||6!==t.tag?((t=Rl(n,e.mode,a)).return=e,t):((t=o(t,n)).return=e,t)}function l(e,t,n,a){var r=n.type;return r===_?d(e,t,n.props.children,a,n.key):null!==t&&(t.elementType===r||"object"==typeof r&&null!==r&&r.$$typeof===I&&kr(r)===t.type)?((a=o(t,n.props)).ref=yr(e,t,n),a.return=e,a):((a=Nl(n.type,n.key,n.props,null,e.mode,a)).ref=yr(e,t,n),a.return=e,a)}function u(e,t,n,a){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=Ml(n,e.mode,a)).return=e,t):((t=o(t,n.children||[])).return=e,t)}function d(e,t,n,a,r){return null===t||7!==t.tag?((t=Tl(n,e.mode,a,r)).return=e,t):((t=o(t,n)).return=e,t)}function p(e,t,n){if("string"==typeof t&&""!==t||"number"==typeof t)return(t=Rl(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case w:return(n=Nl(t.type,t.key,t.props,null,e.mode,n)).ref=yr(e,null,t),n.return=e,n;case j:return(t=Ml(t,e.mode,n)).return=e,t;case I:return p(e,(0,t._init)(t._payload),n)}if(te(t)||T(t))return(t=Tl(t,e.mode,n,null)).return=e,t;br(e,t)}return null}function h(e,t,n,a){var o=null!==t?t.key:null;if("string"==typeof n&&""!==n||"number"==typeof n)return null!==o?null:c(e,t,""+n,a);if("object"==typeof n&&null!==n){switch(n.$$typeof){case w:return n.key===o?l(e,t,n,a):null;case j:return n.key===o?u(e,t,n,a):null;case I:return h(e,t,(o=n._init)(n._payload),a)}if(te(n)||T(n))return null!==o?null:d(e,t,n,a,null);br(e,n)}return null}function m(e,t,n,a,o){if("string"==typeof a&&""!==a||"number"==typeof a)return c(t,e=e.get(n)||null,""+a,o);if("object"==typeof a&&null!==a){switch(a.$$typeof){case w:return l(t,e=e.get(null===a.key?n:a.key)||null,a,o);case j:return u(t,e=e.get(null===a.key?n:a.key)||null,a,o);case I:return m(e,t,n,(0,a._init)(a._payload),o)}if(te(a)||T(a))return d(t,e=e.get(n)||null,a,o,null);br(t,a)}return null}function f(o,r,s,c){for(var l=null,u=null,d=r,f=r=0,g=null;null!==d&&f<s.length;f++){d.index>f?(g=d,d=null):g=d.sibling;var y=h(o,d,s[f],c);if(null===y){null===d&&(d=g);break}e&&d&&null===y.alternate&&t(o,d),r=i(y,r,f),null===u?l=y:u.sibling=y,u=y,d=g}if(f===s.length)return n(o,d),rr&&Xo(o,f),l;if(null===d){for(;f<s.length;f++)null!==(d=p(o,s[f],c))&&(r=i(d,r,f),null===u?l=d:u.sibling=d,u=d);return rr&&Xo(o,f),l}for(d=a(o,d);f<s.length;f++)null!==(g=m(d,o,f,s[f],c))&&(e&&null!==g.alternate&&d.delete(null===g.key?f:g.key),r=i(g,r,f),null===u?l=g:u.sibling=g,u=g);return e&&d.forEach(function(e){return t(o,e)}),rr&&Xo(o,f),l}function g(o,s,c,l){var u=T(c);if("function"!=typeof u)throw Error(r(150));if(null==(c=u.call(c)))throw Error(r(151));for(var d=u=null,f=s,g=s=0,y=null,b=c.next();null!==f&&!b.done;g++,b=c.next()){f.index>g?(y=f,f=null):y=f.sibling;var k=h(o,f,b.value,l);if(null===k){null===f&&(f=y);break}e&&f&&null===k.alternate&&t(o,f),s=i(k,s,g),null===d?u=k:d.sibling=k,d=k,f=y}if(b.done)return n(o,f),rr&&Xo(o,g),u;if(null===f){for(;!b.done;g++,b=c.next())null!==(b=p(o,b.value,l))&&(s=i(b,s,g),null===d?u=b:d.sibling=b,d=b);return rr&&Xo(o,g),u}for(f=a(o,f);!b.done;g++,b=c.next())null!==(b=m(f,o,g,b.value,l))&&(e&&null!==b.alternate&&f.delete(null===b.key?g:b.key),s=i(b,s,g),null===d?u=b:d.sibling=b,d=b);return e&&f.forEach(function(e){return t(o,e)}),rr&&Xo(o,g),u}return function e(a,r,i,c){if("object"==typeof i&&null!==i&&i.type===_&&null===i.key&&(i=i.props.children),"object"==typeof i&&null!==i){switch(i.$$typeof){case w:e:{for(var l=i.key,u=r;null!==u;){if(u.key===l){if((l=i.type)===_){if(7===u.tag){n(a,u.sibling),(r=o(u,i.props.children)).return=a,a=r;break e}}else if(u.elementType===l||"object"==typeof l&&null!==l&&l.$$typeof===I&&kr(l)===u.type){n(a,u.sibling),(r=o(u,i.props)).ref=yr(a,u,i),r.return=a,a=r;break e}n(a,u);break}t(a,u),u=u.sibling}i.type===_?((r=Tl(i.props.children,a.mode,c,i.key)).return=a,a=r):((c=Nl(i.type,i.key,i.props,null,a.mode,c)).ref=yr(a,r,i),c.return=a,a=c)}return s(a);case j:e:{for(u=i.key;null!==r;){if(r.key===u){if(4===r.tag&&r.stateNode.containerInfo===i.containerInfo&&r.stateNode.implementation===i.implementation){n(a,r.sibling),(r=o(r,i.children||[])).return=a,a=r;break e}n(a,r);break}t(a,r),r=r.sibling}(r=Ml(i,a.mode,c)).return=a,a=r}return s(a);case I:return e(a,r,(u=i._init)(i._payload),c)}if(te(i))return f(a,r,i,c);if(T(i))return g(a,r,i,c);br(a,i)}return"string"==typeof i&&""!==i||"number"==typeof i?(i=""+i,null!==r&&6===r.tag?(n(a,r.sibling),(r=o(r,i)).return=a,a=r):(n(a,r),(r=Rl(i,a.mode,c)).return=a,a=r),s(a)):n(a,r)}}var wr=vr(!0),jr=vr(!1),_r=Co(null),xr=null,Cr=null,zr=null;function Sr(){zr=Cr=xr=null}function Er(e){var t=_r.current;zo(_r),e._currentValue=t}function Or(e,t,n){for(;null!==e;){var a=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==a&&(a.childLanes|=t)):null!==a&&(a.childLanes&t)!==t&&(a.childLanes|=t),e===n)break;e=e.return}}function Ar(e,t){xr=e,zr=Cr=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!==(e.lanes&t)&&(ks=!0),e.firstContext=null)}function Pr(e){var t=e._currentValue;if(zr!==e)if(e={context:e,memoizedValue:t,next:null},null===Cr){if(null===xr)throw Error(r(308));Cr=e,xr.dependencies={lanes:0,firstContext:e}}else Cr=Cr.next=e;return t}var Ir=null;function Lr(e){null===Ir?Ir=[e]:Ir.push(e)}function Nr(e,t,n,a){var o=t.interleaved;return null===o?(n.next=n,Lr(t)):(n.next=o.next,o.next=n),t.interleaved=n,Tr(e,a)}function Tr(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}var Dr=!1;function Rr(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Mr(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function $r(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Br(e,t,n){var a=e.updateQueue;if(null===a)return null;if(a=a.shared,2&Ec){var o=a.pending;return null===o?t.next=t:(t.next=o.next,o.next=t),a.pending=t,Tr(e,n)}return null===(o=a.interleaved)?(t.next=t,Lr(a)):(t.next=o.next,o.next=t),a.interleaved=t,Tr(e,n)}function Fr(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,4194240&n)){var a=t.lanes;n|=a&=e.pendingLanes,t.lanes=n,bt(e,n)}}function Ur(e,t){var n=e.updateQueue,a=e.alternate;if(null!==a&&n===(a=a.updateQueue)){var o=null,r=null;if(null!==(n=n.firstBaseUpdate)){do{var i={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===r?o=r=i:r=r.next=i,n=n.next}while(null!==n);null===r?o=r=t:r=r.next=t}else o=r=t;return n={baseState:a.baseState,firstBaseUpdate:o,lastBaseUpdate:r,shared:a.shared,effects:a.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Vr(e,t,n,a){var o=e.updateQueue;Dr=!1;var r=o.firstBaseUpdate,i=o.lastBaseUpdate,s=o.shared.pending;if(null!==s){o.shared.pending=null;var c=s,l=c.next;c.next=null,null===i?r=l:i.next=l,i=c;var u=e.alternate;null!==u&&(s=(u=u.updateQueue).lastBaseUpdate)!==i&&(null===s?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c)}if(null!==r){var d=o.baseState;for(i=0,u=l=c=null,s=r;;){var p=s.lane,h=s.eventTime;if((a&p)===p){null!==u&&(u=u.next={eventTime:h,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var m=e,f=s;switch(p=t,h=n,f.tag){case 1:if("function"==typeof(m=f.payload)){d=m.call(h,d,p);break e}d=m;break e;case 3:m.flags=-65537&m.flags|128;case 0:if(null==(p="function"==typeof(m=f.payload)?m.call(h,d,p):m))break e;d=R({},d,p);break e;case 2:Dr=!0}}null!==s.callback&&0!==s.lane&&(e.flags|=64,null===(p=o.effects)?o.effects=[s]:p.push(s))}else h={eventTime:h,lane:p,tag:s.tag,payload:s.payload,callback:s.callback,next:null},null===u?(l=u=h,c=d):u=u.next=h,i|=p;if(null===(s=s.next)){if(null===(s=o.shared.pending))break;s=(p=s).next,p.next=null,o.lastBaseUpdate=p,o.shared.pending=null}}if(null===u&&(c=d),o.baseState=c,o.firstBaseUpdate=l,o.lastBaseUpdate=u,null!==(t=o.shared.interleaved)){o=t;do{i|=o.lane,o=o.next}while(o!==t)}else null===r&&(o.shared.lanes=0);Dc|=i,e.lanes=i,e.memoizedState=d}}function Hr(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var a=e[t],o=a.callback;if(null!==o){if(a.callback=null,a=n,"function"!=typeof o)throw Error(r(191,o));o.call(a)}}}var Kr={},Yr=Co(Kr),qr=Co(Kr),Qr=Co(Kr);function Wr(e){if(e===Kr)throw Error(r(174));return e}function Gr(e,t){switch(So(Qr,t),So(qr,e),So(Yr,Kr),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:ce(null,"");break;default:t=ce(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}zo(Yr),So(Yr,t)}function Jr(){zo(Yr),zo(qr),zo(Qr)}function Zr(e){Wr(Qr.current);var t=Wr(Yr.current),n=ce(t,e.type);t!==n&&(So(qr,e),So(Yr,n))}function Xr(e){qr.current===e&&(zo(Yr),zo(qr))}var ei=Co(0);function ti(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(128&t.flags)return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var ni=[];function ai(){for(var e=0;e<ni.length;e++)ni[e]._workInProgressVersionPrimary=null;ni.length=0}var oi=v.ReactCurrentDispatcher,ri=v.ReactCurrentBatchConfig,ii=0,si=null,ci=null,li=null,ui=!1,di=!1,pi=0,hi=0;function mi(){throw Error(r(321))}function fi(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!sa(e[n],t[n]))return!1;return!0}function gi(e,t,n,a,o,i){if(ii=i,si=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,oi.current=null===e||null===e.memoizedState?Xi:es,e=n(a,o),di){i=0;do{if(di=!1,pi=0,25<=i)throw Error(r(301));i+=1,li=ci=null,t.updateQueue=null,oi.current=ts,e=n(a,o)}while(di)}if(oi.current=Zi,t=null!==ci&&null!==ci.next,ii=0,li=ci=si=null,ui=!1,t)throw Error(r(300));return e}function yi(){var e=0!==pi;return pi=0,e}function bi(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===li?si.memoizedState=li=e:li=li.next=e,li}function ki(){if(null===ci){var e=si.alternate;e=null!==e?e.memoizedState:null}else e=ci.next;var t=null===li?si.memoizedState:li.next;if(null!==t)li=t,ci=e;else{if(null===e)throw Error(r(310));e={memoizedState:(ci=e).memoizedState,baseState:ci.baseState,baseQueue:ci.baseQueue,queue:ci.queue,next:null},null===li?si.memoizedState=li=e:li=li.next=e}return li}function vi(e,t){return"function"==typeof t?t(e):t}function wi(e){var t=ki(),n=t.queue;if(null===n)throw Error(r(311));n.lastRenderedReducer=e;var a=ci,o=a.baseQueue,i=n.pending;if(null!==i){if(null!==o){var s=o.next;o.next=i.next,i.next=s}a.baseQueue=o=i,n.pending=null}if(null!==o){i=o.next,a=a.baseState;var c=s=null,l=null,u=i;do{var d=u.lane;if((ii&d)===d)null!==l&&(l=l.next={lane:0,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),a=u.hasEagerState?u.eagerState:e(a,u.action);else{var p={lane:d,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null};null===l?(c=l=p,s=a):l=l.next=p,si.lanes|=d,Dc|=d}u=u.next}while(null!==u&&u!==i);null===l?s=a:l.next=c,sa(a,t.memoizedState)||(ks=!0),t.memoizedState=a,t.baseState=s,t.baseQueue=l,n.lastRenderedState=a}if(null!==(e=n.interleaved)){o=e;do{i=o.lane,si.lanes|=i,Dc|=i,o=o.next}while(o!==e)}else null===o&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function ji(e){var t=ki(),n=t.queue;if(null===n)throw Error(r(311));n.lastRenderedReducer=e;var a=n.dispatch,o=n.pending,i=t.memoizedState;if(null!==o){n.pending=null;var s=o=o.next;do{i=e(i,s.action),s=s.next}while(s!==o);sa(i,t.memoizedState)||(ks=!0),t.memoizedState=i,null===t.baseQueue&&(t.baseState=i),n.lastRenderedState=i}return[i,a]}function _i(){}function xi(e,t){var n=si,a=ki(),o=t(),i=!sa(a.memoizedState,o);if(i&&(a.memoizedState=o,ks=!0),a=a.queue,Di(Si.bind(null,n,a,e),[e]),a.getSnapshot!==t||i||null!==li&&1&li.memoizedState.tag){if(n.flags|=2048,Pi(9,zi.bind(null,n,a,o,t),void 0,null),null===Oc)throw Error(r(349));30&ii||Ci(n,t,o)}return o}function Ci(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},null===(t=si.updateQueue)?(t={lastEffect:null,stores:null},si.updateQueue=t,t.stores=[e]):null===(n=t.stores)?t.stores=[e]:n.push(e)}function zi(e,t,n,a){t.value=n,t.getSnapshot=a,Ei(t)&&Oi(e)}function Si(e,t,n){return n(function(){Ei(t)&&Oi(e)})}function Ei(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!sa(e,n)}catch(e){return!0}}function Oi(e){var t=Tr(e,1);null!==t&&nl(t,e,1,-1)}function Ai(e){var t=bi();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:vi,lastRenderedState:e},t.queue=e,e=e.dispatch=Qi.bind(null,si,e),[t.memoizedState,e]}function Pi(e,t,n,a){return e={tag:e,create:t,destroy:n,deps:a,next:null},null===(t=si.updateQueue)?(t={lastEffect:null,stores:null},si.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(a=n.next,n.next=e,e.next=a,t.lastEffect=e),e}function Ii(){return ki().memoizedState}function Li(e,t,n,a){var o=bi();si.flags|=e,o.memoizedState=Pi(1|t,n,void 0,void 0===a?null:a)}function Ni(e,t,n,a){var o=ki();a=void 0===a?null:a;var r=void 0;if(null!==ci){var i=ci.memoizedState;if(r=i.destroy,null!==a&&fi(a,i.deps))return void(o.memoizedState=Pi(t,n,r,a))}si.flags|=e,o.memoizedState=Pi(1|t,n,r,a)}function Ti(e,t){return Li(8390656,8,e,t)}function Di(e,t){return Ni(2048,8,e,t)}function Ri(e,t){return Ni(4,2,e,t)}function Mi(e,t){return Ni(4,4,e,t)}function $i(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Bi(e,t,n){return n=null!=n?n.concat([e]):null,Ni(4,4,$i.bind(null,t,e),n)}function Fi(){}function Ui(e,t){var n=ki();t=void 0===t?null:t;var a=n.memoizedState;return null!==a&&null!==t&&fi(t,a[1])?a[0]:(n.memoizedState=[e,t],e)}function Vi(e,t){var n=ki();t=void 0===t?null:t;var a=n.memoizedState;return null!==a&&null!==t&&fi(t,a[1])?a[0]:(e=e(),n.memoizedState=[e,t],e)}function Hi(e,t,n){return 21&ii?(sa(n,t)||(n=ft(),si.lanes|=n,Dc|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,ks=!0),e.memoizedState=n)}function Ki(e,t){var n=kt;kt=0!==n&&4>n?n:4,e(!0);var a=ri.transition;ri.transition={};try{e(!1),t()}finally{kt=n,ri.transition=a}}function Yi(){return ki().memoizedState}function qi(e,t,n){var a=tl(e);n={lane:a,action:n,hasEagerState:!1,eagerState:null,next:null},Wi(e)?Gi(t,n):null!==(n=Nr(e,t,n,a))&&(nl(n,e,a,el()),Ji(n,t,a))}function Qi(e,t,n){var a=tl(e),o={lane:a,action:n,hasEagerState:!1,eagerState:null,next:null};if(Wi(e))Gi(t,o);else{var r=e.alternate;if(0===e.lanes&&(null===r||0===r.lanes)&&null!==(r=t.lastRenderedReducer))try{var i=t.lastRenderedState,s=r(i,n);if(o.hasEagerState=!0,o.eagerState=s,sa(s,i)){var c=t.interleaved;return null===c?(o.next=o,Lr(t)):(o.next=c.next,c.next=o),void(t.interleaved=o)}}catch(e){}null!==(n=Nr(e,t,o,a))&&(nl(n,e,a,o=el()),Ji(n,t,a))}}function Wi(e){var t=e.alternate;return e===si||null!==t&&t===si}function Gi(e,t){di=ui=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Ji(e,t,n){if(4194240&n){var a=t.lanes;n|=a&=e.pendingLanes,t.lanes=n,bt(e,n)}}var Zi={readContext:Pr,useCallback:mi,useContext:mi,useEffect:mi,useImperativeHandle:mi,useInsertionEffect:mi,useLayoutEffect:mi,useMemo:mi,useReducer:mi,useRef:mi,useState:mi,useDebugValue:mi,useDeferredValue:mi,useTransition:mi,useMutableSource:mi,useSyncExternalStore:mi,useId:mi,unstable_isNewReconciler:!1},Xi={readContext:Pr,useCallback:function(e,t){return bi().memoizedState=[e,void 0===t?null:t],e},useContext:Pr,useEffect:Ti,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,Li(4194308,4,$i.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Li(4194308,4,e,t)},useInsertionEffect:function(e,t){return Li(4,2,e,t)},useMemo:function(e,t){var n=bi();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var a=bi();return t=void 0!==n?n(t):t,a.memoizedState=a.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},a.queue=e,e=e.dispatch=qi.bind(null,si,e),[a.memoizedState,e]},useRef:function(e){return e={current:e},bi().memoizedState=e},useState:Ai,useDebugValue:Fi,useDeferredValue:function(e){return bi().memoizedState=e},useTransition:function(){var e=Ai(!1),t=e[0];return e=Ki.bind(null,e[1]),bi().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var a=si,o=bi();if(rr){if(void 0===n)throw Error(r(407));n=n()}else{if(n=t(),null===Oc)throw Error(r(349));30&ii||Ci(a,t,n)}o.memoizedState=n;var i={value:n,getSnapshot:t};return o.queue=i,Ti(Si.bind(null,a,i,e),[e]),a.flags|=2048,Pi(9,zi.bind(null,a,i,n,t),void 0,null),n},useId:function(){var e=bi(),t=Oc.identifierPrefix;if(rr){var n=Zo;t=":"+t+"R"+(n=(Jo&~(1<<32-it(Jo)-1)).toString(32)+n),0<(n=pi++)&&(t+="H"+n.toString(32)),t+=":"}else t=":"+t+"r"+(n=hi++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},es={readContext:Pr,useCallback:Ui,useContext:Pr,useEffect:Di,useImperativeHandle:Bi,useInsertionEffect:Ri,useLayoutEffect:Mi,useMemo:Vi,useReducer:wi,useRef:Ii,useState:function(){return wi(vi)},useDebugValue:Fi,useDeferredValue:function(e){return Hi(ki(),ci.memoizedState,e)},useTransition:function(){return[wi(vi)[0],ki().memoizedState]},useMutableSource:_i,useSyncExternalStore:xi,useId:Yi,unstable_isNewReconciler:!1},ts={readContext:Pr,useCallback:Ui,useContext:Pr,useEffect:Di,useImperativeHandle:Bi,useInsertionEffect:Ri,useLayoutEffect:Mi,useMemo:Vi,useReducer:ji,useRef:Ii,useState:function(){return ji(vi)},useDebugValue:Fi,useDeferredValue:function(e){var t=ki();return null===ci?t.memoizedState=e:Hi(t,ci.memoizedState,e)},useTransition:function(){return[ji(vi)[0],ki().memoizedState]},useMutableSource:_i,useSyncExternalStore:xi,useId:Yi,unstable_isNewReconciler:!1};function ns(e,t){if(e&&e.defaultProps){for(var n in t=R({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}function as(e,t,n,a){n=null==(n=n(a,t=e.memoizedState))?t:R({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var os={isMounted:function(e){return!!(e=e._reactInternals)&&Ue(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var a=el(),o=tl(e),r=$r(a,o);r.payload=t,null!=n&&(r.callback=n),null!==(t=Br(e,r,o))&&(nl(t,e,o,a),Fr(t,e,o))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var a=el(),o=tl(e),r=$r(a,o);r.tag=1,r.payload=t,null!=n&&(r.callback=n),null!==(t=Br(e,r,o))&&(nl(t,e,o,a),Fr(t,e,o))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=el(),a=tl(e),o=$r(n,a);o.tag=2,null!=t&&(o.callback=t),null!==(t=Br(e,o,a))&&(nl(t,e,a,n),Fr(t,e,a))}};function rs(e,t,n,a,o,r,i){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(a,r,i):!(t.prototype&&t.prototype.isPureReactComponent&&ca(n,a)&&ca(o,r))}function is(e,t,n){var a=!1,o=Eo,r=t.contextType;return"object"==typeof r&&null!==r?r=Pr(r):(o=Lo(t)?Po:Oo.current,r=(a=null!=(a=t.contextTypes))?Io(e,o):Eo),t=new t(n,r),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=os,e.stateNode=t,t._reactInternals=e,a&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=o,e.__reactInternalMemoizedMaskedChildContext=r),t}function ss(e,t,n,a){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,a),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,a),t.state!==e&&os.enqueueReplaceState(t,t.state,null)}function cs(e,t,n,a){var o=e.stateNode;o.props=n,o.state=e.memoizedState,o.refs={},Rr(e);var r=t.contextType;"object"==typeof r&&null!==r?o.context=Pr(r):(r=Lo(t)?Po:Oo.current,o.context=Io(e,r)),o.state=e.memoizedState,"function"==typeof(r=t.getDerivedStateFromProps)&&(as(e,t,r,n),o.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof o.getSnapshotBeforeUpdate||"function"!=typeof o.UNSAFE_componentWillMount&&"function"!=typeof o.componentWillMount||(t=o.state,"function"==typeof o.componentWillMount&&o.componentWillMount(),"function"==typeof o.UNSAFE_componentWillMount&&o.UNSAFE_componentWillMount(),t!==o.state&&os.enqueueReplaceState(o,o.state,null),Vr(e,n,o,a),o.state=e.memoizedState),"function"==typeof o.componentDidMount&&(e.flags|=4194308)}function ls(e,t){try{var n="",a=t;do{n+=F(a),a=a.return}while(a);var o=n}catch(e){o="\nError generating stack: "+e.message+"\n"+e.stack}return{value:e,source:t,stack:o,digest:null}}function us(e,t,n){return{value:e,source:null,stack:null!=n?n:null,digest:null!=t?t:null}}function ds(e,t){try{console.error(t.value)}catch(e){setTimeout(function(){throw e})}}var ps="function"==typeof WeakMap?WeakMap:Map;function hs(e,t,n){(n=$r(-1,n)).tag=3,n.payload={element:null};var a=t.value;return n.callback=function(){Hc||(Hc=!0,Kc=a),ds(0,t)},n}function ms(e,t,n){(n=$r(-1,n)).tag=3;var a=e.type.getDerivedStateFromError;if("function"==typeof a){var o=t.value;n.payload=function(){return a(o)},n.callback=function(){ds(0,t)}}var r=e.stateNode;return null!==r&&"function"==typeof r.componentDidCatch&&(n.callback=function(){ds(0,t),"function"!=typeof a&&(null===Yc?Yc=new Set([this]):Yc.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}function fs(e,t,n){var a=e.pingCache;if(null===a){a=e.pingCache=new ps;var o=new Set;a.set(t,o)}else void 0===(o=a.get(t))&&(o=new Set,a.set(t,o));o.has(n)||(o.add(n),e=Cl.bind(null,e,t,n),t.then(e,e))}function gs(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function ys(e,t,n,a,o){return 1&e.mode?(e.flags|=65536,e.lanes=o,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,1===n.tag&&(null===n.alternate?n.tag=17:((t=$r(-1,1)).tag=2,Br(n,t,1))),n.lanes|=1),e)}var bs=v.ReactCurrentOwner,ks=!1;function vs(e,t,n,a){t.child=null===e?jr(t,null,n,a):wr(t,e.child,n,a)}function ws(e,t,n,a,o){n=n.render;var r=t.ref;return Ar(t,o),a=gi(e,t,n,a,r,o),n=yi(),null===e||ks?(rr&&n&&tr(t),t.flags|=1,vs(e,t,a,o),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,Hs(e,t,o))}function js(e,t,n,a,o){if(null===e){var r=n.type;return"function"!=typeof r||Il(r)||void 0!==r.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Nl(n.type,null,a,t,t.mode,o)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=r,_s(e,t,r,a,o))}if(r=e.child,0===(e.lanes&o)){var i=r.memoizedProps;if((n=null!==(n=n.compare)?n:ca)(i,a)&&e.ref===t.ref)return Hs(e,t,o)}return t.flags|=1,(e=Ll(r,a)).ref=t.ref,e.return=t,t.child=e}function _s(e,t,n,a,o){if(null!==e){var r=e.memoizedProps;if(ca(r,a)&&e.ref===t.ref){if(ks=!1,t.pendingProps=a=r,0===(e.lanes&o))return t.lanes=e.lanes,Hs(e,t,o);131072&e.flags&&(ks=!0)}}return zs(e,t,n,a,o)}function xs(e,t,n){var a=t.pendingProps,o=a.children,r=null!==e?e.memoizedState:null;if("hidden"===a.mode)if(1&t.mode){if(!(1073741824&n))return e=null!==r?r.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,So(Lc,Ic),Ic|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},a=null!==r?r.baseLanes:n,So(Lc,Ic),Ic|=a}else t.memoizedState={baseLanes:0,cachePool:null,transitions:null},So(Lc,Ic),Ic|=n;else null!==r?(a=r.baseLanes|n,t.memoizedState=null):a=n,So(Lc,Ic),Ic|=a;return vs(e,t,o,n),t.child}function Cs(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function zs(e,t,n,a,o){var r=Lo(n)?Po:Oo.current;return r=Io(t,r),Ar(t,o),n=gi(e,t,n,a,r,o),a=yi(),null===e||ks?(rr&&a&&tr(t),t.flags|=1,vs(e,t,n,o),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,Hs(e,t,o))}function Ss(e,t,n,a,o){if(Lo(n)){var r=!0;Ro(t)}else r=!1;if(Ar(t,o),null===t.stateNode)Vs(e,t),is(t,n,a),cs(t,n,a,o),a=!0;else if(null===e){var i=t.stateNode,s=t.memoizedProps;i.props=s;var c=i.context,l=n.contextType;l="object"==typeof l&&null!==l?Pr(l):Io(t,l=Lo(n)?Po:Oo.current);var u=n.getDerivedStateFromProps,d="function"==typeof u||"function"==typeof i.getSnapshotBeforeUpdate;d||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(s!==a||c!==l)&&ss(t,i,a,l),Dr=!1;var p=t.memoizedState;i.state=p,Vr(t,a,i,o),c=t.memoizedState,s!==a||p!==c||Ao.current||Dr?("function"==typeof u&&(as(t,n,u,a),c=t.memoizedState),(s=Dr||rs(t,n,s,a,p,c,l))?(d||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||("function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount()),"function"==typeof i.componentDidMount&&(t.flags|=4194308)):("function"==typeof i.componentDidMount&&(t.flags|=4194308),t.memoizedProps=a,t.memoizedState=c),i.props=a,i.state=c,i.context=l,a=s):("function"==typeof i.componentDidMount&&(t.flags|=4194308),a=!1)}else{i=t.stateNode,Mr(e,t),s=t.memoizedProps,l=t.type===t.elementType?s:ns(t.type,s),i.props=l,d=t.pendingProps,p=i.context,c="object"==typeof(c=n.contextType)&&null!==c?Pr(c):Io(t,c=Lo(n)?Po:Oo.current);var h=n.getDerivedStateFromProps;(u="function"==typeof h||"function"==typeof i.getSnapshotBeforeUpdate)||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(s!==d||p!==c)&&ss(t,i,a,c),Dr=!1,p=t.memoizedState,i.state=p,Vr(t,a,i,o);var m=t.memoizedState;s!==d||p!==m||Ao.current||Dr?("function"==typeof h&&(as(t,n,h,a),m=t.memoizedState),(l=Dr||rs(t,n,l,a,p,m,c)||!1)?(u||"function"!=typeof i.UNSAFE_componentWillUpdate&&"function"!=typeof i.componentWillUpdate||("function"==typeof i.componentWillUpdate&&i.componentWillUpdate(a,m,c),"function"==typeof i.UNSAFE_componentWillUpdate&&i.UNSAFE_componentWillUpdate(a,m,c)),"function"==typeof i.componentDidUpdate&&(t.flags|=4),"function"==typeof i.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!=typeof i.componentDidUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),t.memoizedProps=a,t.memoizedState=m),i.props=a,i.state=m,i.context=c,a=l):("function"!=typeof i.componentDidUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),a=!1)}return Es(e,t,n,a,r,o)}function Es(e,t,n,a,o,r){Cs(e,t);var i=!!(128&t.flags);if(!a&&!i)return o&&Mo(t,n,!1),Hs(e,t,r);a=t.stateNode,bs.current=t;var s=i&&"function"!=typeof n.getDerivedStateFromError?null:a.render();return t.flags|=1,null!==e&&i?(t.child=wr(t,e.child,null,r),t.child=wr(t,null,s,r)):vs(e,t,s,r),t.memoizedState=a.state,o&&Mo(t,n,!0),t.child}function Os(e){var t=e.stateNode;t.pendingContext?To(0,t.pendingContext,t.pendingContext!==t.context):t.context&&To(0,t.context,!1),Gr(e,t.containerInfo)}function As(e,t,n,a,o){return mr(),fr(o),t.flags|=256,vs(e,t,n,a),t.child}var Ps,Is,Ls,Ns,Ts={dehydrated:null,treeContext:null,retryLane:0};function Ds(e){return{baseLanes:e,cachePool:null,transitions:null}}function Rs(e,t,n){var a,o=t.pendingProps,i=ei.current,s=!1,c=!!(128&t.flags);if((a=c)||(a=(null===e||null!==e.memoizedState)&&!!(2&i)),a?(s=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(i|=1),So(ei,1&i),null===e)return ur(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(1&t.mode?"$!"===e.data?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(c=o.children,e=o.fallback,s?(o=t.mode,s=t.child,c={mode:"hidden",children:c},1&o||null===s?s=Dl(c,o,0,null):(s.childLanes=0,s.pendingProps=c),e=Tl(e,o,n,null),s.return=t,e.return=t,s.sibling=e,t.child=s,t.child.memoizedState=Ds(n),t.memoizedState=Ts,e):Ms(t,c));if(null!==(i=e.memoizedState)&&null!==(a=i.dehydrated))return function(e,t,n,a,o,i,s){if(n)return 256&t.flags?(t.flags&=-257,$s(e,t,s,a=us(Error(r(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(i=a.fallback,o=t.mode,a=Dl({mode:"visible",children:a.children},o,0,null),(i=Tl(i,o,s,null)).flags|=2,a.return=t,i.return=t,a.sibling=i,t.child=a,1&t.mode&&wr(t,e.child,null,s),t.child.memoizedState=Ds(s),t.memoizedState=Ts,i);if(!(1&t.mode))return $s(e,t,s,null);if("$!"===o.data){if(a=o.nextSibling&&o.nextSibling.dataset)var c=a.dgst;return a=c,$s(e,t,s,a=us(i=Error(r(419)),a,void 0))}if(c=0!==(s&e.childLanes),ks||c){if(null!==(a=Oc)){switch(s&-s){case 4:o=2;break;case 16:o=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:o=32;break;case 536870912:o=268435456;break;default:o=0}0!==(o=0!==(o&(a.suspendedLanes|s))?0:o)&&o!==i.retryLane&&(i.retryLane=o,Tr(e,o),nl(a,e,o,-1))}return fl(),$s(e,t,s,a=us(Error(r(421))))}return"$?"===o.data?(t.flags|=128,t.child=e.child,t=Sl.bind(null,e),o._reactRetry=t,null):(e=i.treeContext,or=lo(o.nextSibling),ar=t,rr=!0,ir=null,null!==e&&(Qo[Wo++]=Jo,Qo[Wo++]=Zo,Qo[Wo++]=Go,Jo=e.id,Zo=e.overflow,Go=t),(t=Ms(t,a.children)).flags|=4096,t)}(e,t,c,o,a,i,n);if(s){s=o.fallback,c=t.mode,a=(i=e.child).sibling;var l={mode:"hidden",children:o.children};return 1&c||t.child===i?(o=Ll(i,l)).subtreeFlags=14680064&i.subtreeFlags:((o=t.child).childLanes=0,o.pendingProps=l,t.deletions=null),null!==a?s=Ll(a,s):(s=Tl(s,c,n,null)).flags|=2,s.return=t,o.return=t,o.sibling=s,t.child=o,o=s,s=t.child,c=null===(c=e.child.memoizedState)?Ds(n):{baseLanes:c.baseLanes|n,cachePool:null,transitions:c.transitions},s.memoizedState=c,s.childLanes=e.childLanes&~n,t.memoizedState=Ts,o}return e=(s=e.child).sibling,o=Ll(s,{mode:"visible",children:o.children}),!(1&t.mode)&&(o.lanes=n),o.return=t,o.sibling=null,null!==e&&(null===(n=t.deletions)?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=o,t.memoizedState=null,o}function Ms(e,t){return(t=Dl({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function $s(e,t,n,a){return null!==a&&fr(a),wr(t,e.child,null,n),(e=Ms(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function Bs(e,t,n){e.lanes|=t;var a=e.alternate;null!==a&&(a.lanes|=t),Or(e.return,t,n)}function Fs(e,t,n,a,o){var r=e.memoizedState;null===r?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:a,tail:n,tailMode:o}:(r.isBackwards=t,r.rendering=null,r.renderingStartTime=0,r.last=a,r.tail=n,r.tailMode=o)}function Us(e,t,n){var a=t.pendingProps,o=a.revealOrder,r=a.tail;if(vs(e,t,a.children,n),2&(a=ei.current))a=1&a|2,t.flags|=128;else{if(null!==e&&128&e.flags)e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&Bs(e,n,t);else if(19===e.tag)Bs(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}a&=1}if(So(ei,a),1&t.mode)switch(o){case"forwards":for(n=t.child,o=null;null!==n;)null!==(e=n.alternate)&&null===ti(e)&&(o=n),n=n.sibling;null===(n=o)?(o=t.child,t.child=null):(o=n.sibling,n.sibling=null),Fs(t,!1,o,n,r);break;case"backwards":for(n=null,o=t.child,t.child=null;null!==o;){if(null!==(e=o.alternate)&&null===ti(e)){t.child=o;break}e=o.sibling,o.sibling=n,n=o,o=e}Fs(t,!0,n,null,r);break;case"together":Fs(t,!1,null,null,void 0);break;default:t.memoizedState=null}else t.memoizedState=null;return t.child}function Vs(e,t){!(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Hs(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),Dc|=t.lanes,0===(n&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(r(153));if(null!==t.child){for(n=Ll(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Ll(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function Ks(e,t){if(!rr)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var a=null;null!==n;)null!==n.alternate&&(a=n),n=n.sibling;null===a?t||null===e.tail?e.tail=null:e.tail.sibling=null:a.sibling=null}}function Ys(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,a=0;if(t)for(var o=e.child;null!==o;)n|=o.lanes|o.childLanes,a|=14680064&o.subtreeFlags,a|=14680064&o.flags,o.return=e,o=o.sibling;else for(o=e.child;null!==o;)n|=o.lanes|o.childLanes,a|=o.subtreeFlags,a|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=a,e.childLanes=n,t}function qs(e,t,n){var a=t.pendingProps;switch(nr(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ys(t),null;case 1:case 17:return Lo(t.type)&&No(),Ys(t),null;case 3:return a=t.stateNode,Jr(),zo(Ao),zo(Oo),ai(),a.pendingContext&&(a.context=a.pendingContext,a.pendingContext=null),null!==e&&null!==e.child||(pr(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&!(256&t.flags)||(t.flags|=1024,null!==ir&&(il(ir),ir=null))),Is(e,t),Ys(t),null;case 5:Xr(t);var o=Wr(Qr.current);if(n=t.type,null!==e&&null!=t.stateNode)Ls(e,t,n,a,o),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!a){if(null===t.stateNode)throw Error(r(166));return Ys(t),null}if(e=Wr(Yr.current),pr(t)){a=t.stateNode,n=t.type;var i=t.memoizedProps;switch(a[ho]=t,a[mo]=i,e=!!(1&t.mode),n){case"dialog":$a("cancel",a),$a("close",a);break;case"iframe":case"object":case"embed":$a("load",a);break;case"video":case"audio":for(o=0;o<Ta.length;o++)$a(Ta[o],a);break;case"source":$a("error",a);break;case"img":case"image":case"link":$a("error",a),$a("load",a);break;case"details":$a("toggle",a);break;case"input":G(a,i),$a("invalid",a);break;case"select":a._wrapperState={wasMultiple:!!i.multiple},$a("invalid",a);break;case"textarea":oe(a,i),$a("invalid",a)}for(var c in be(n,i),o=null,i)if(i.hasOwnProperty(c)){var l=i[c];"children"===c?"string"==typeof l?a.textContent!==l&&(!0!==i.suppressHydrationWarning&&Za(a.textContent,l,e),o=["children",l]):"number"==typeof l&&a.textContent!==""+l&&(!0!==i.suppressHydrationWarning&&Za(a.textContent,l,e),o=["children",""+l]):s.hasOwnProperty(c)&&null!=l&&"onScroll"===c&&$a("scroll",a)}switch(n){case"input":Y(a),X(a,i,!0);break;case"textarea":Y(a),ie(a);break;case"select":case"option":break;default:"function"==typeof i.onClick&&(a.onclick=Xa)}a=o,t.updateQueue=a,null!==a&&(t.flags|=4)}else{c=9===o.nodeType?o:o.ownerDocument,"http://www.w3.org/1999/xhtml"===e&&(e=se(n)),"http://www.w3.org/1999/xhtml"===e?"script"===n?((e=c.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"==typeof a.is?e=c.createElement(n,{is:a.is}):(e=c.createElement(n),"select"===n&&(c=e,a.multiple?c.multiple=!0:a.size&&(c.size=a.size))):e=c.createElementNS(e,n),e[ho]=t,e[mo]=a,Ps(e,t,!1,!1),t.stateNode=e;e:{switch(c=ke(n,a),n){case"dialog":$a("cancel",e),$a("close",e),o=a;break;case"iframe":case"object":case"embed":$a("load",e),o=a;break;case"video":case"audio":for(o=0;o<Ta.length;o++)$a(Ta[o],e);o=a;break;case"source":$a("error",e),o=a;break;case"img":case"image":case"link":$a("error",e),$a("load",e),o=a;break;case"details":$a("toggle",e),o=a;break;case"input":G(e,a),o=W(e,a),$a("invalid",e);break;case"option":default:o=a;break;case"select":e._wrapperState={wasMultiple:!!a.multiple},o=R({},a,{value:void 0}),$a("invalid",e);break;case"textarea":oe(e,a),o=ae(e,a),$a("invalid",e)}for(i in be(n,o),l=o)if(l.hasOwnProperty(i)){var u=l[i];"style"===i?ge(e,u):"dangerouslySetInnerHTML"===i?null!=(u=u?u.__html:void 0)&&de(e,u):"children"===i?"string"==typeof u?("textarea"!==n||""!==u)&&pe(e,u):"number"==typeof u&&pe(e,""+u):"suppressContentEditableWarning"!==i&&"suppressHydrationWarning"!==i&&"autoFocus"!==i&&(s.hasOwnProperty(i)?null!=u&&"onScroll"===i&&$a("scroll",e):null!=u&&k(e,i,u,c))}switch(n){case"input":Y(e),X(e,a,!1);break;case"textarea":Y(e),ie(e);break;case"option":null!=a.value&&e.setAttribute("value",""+H(a.value));break;case"select":e.multiple=!!a.multiple,null!=(i=a.value)?ne(e,!!a.multiple,i,!1):null!=a.defaultValue&&ne(e,!!a.multiple,a.defaultValue,!0);break;default:"function"==typeof o.onClick&&(e.onclick=Xa)}switch(n){case"button":case"input":case"select":case"textarea":a=!!a.autoFocus;break e;case"img":a=!0;break e;default:a=!1}}a&&(t.flags|=4)}null!==t.ref&&(t.flags|=512,t.flags|=2097152)}return Ys(t),null;case 6:if(e&&null!=t.stateNode)Ns(e,t,e.memoizedProps,a);else{if("string"!=typeof a&&null===t.stateNode)throw Error(r(166));if(n=Wr(Qr.current),Wr(Yr.current),pr(t)){if(a=t.stateNode,n=t.memoizedProps,a[ho]=t,(i=a.nodeValue!==n)&&null!==(e=ar))switch(e.tag){case 3:Za(a.nodeValue,n,!!(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&Za(a.nodeValue,n,!!(1&e.mode))}i&&(t.flags|=4)}else(a=(9===n.nodeType?n:n.ownerDocument).createTextNode(a))[ho]=t,t.stateNode=a}return Ys(t),null;case 13:if(zo(ei),a=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(rr&&null!==or&&1&t.mode&&!(128&t.flags))hr(),mr(),t.flags|=98560,i=!1;else if(i=pr(t),null!==a&&null!==a.dehydrated){if(null===e){if(!i)throw Error(r(318));if(!(i=null!==(i=t.memoizedState)?i.dehydrated:null))throw Error(r(317));i[ho]=t}else mr(),!(128&t.flags)&&(t.memoizedState=null),t.flags|=4;Ys(t),i=!1}else null!==ir&&(il(ir),ir=null),i=!0;if(!i)return 65536&t.flags?t:null}return 128&t.flags?(t.lanes=n,t):((a=null!==a)!=(null!==e&&null!==e.memoizedState)&&a&&(t.child.flags|=8192,1&t.mode&&(null===e||1&ei.current?0===Nc&&(Nc=3):fl())),null!==t.updateQueue&&(t.flags|=4),Ys(t),null);case 4:return Jr(),Is(e,t),null===e&&Ua(t.stateNode.containerInfo),Ys(t),null;case 10:return Er(t.type._context),Ys(t),null;case 19:if(zo(ei),null===(i=t.memoizedState))return Ys(t),null;if(a=!!(128&t.flags),null===(c=i.rendering))if(a)Ks(i,!1);else{if(0!==Nc||null!==e&&128&e.flags)for(e=t.child;null!==e;){if(null!==(c=ti(e))){for(t.flags|=128,Ks(i,!1),null!==(a=c.updateQueue)&&(t.updateQueue=a,t.flags|=4),t.subtreeFlags=0,a=n,n=t.child;null!==n;)e=a,(i=n).flags&=14680066,null===(c=i.alternate)?(i.childLanes=0,i.lanes=e,i.child=null,i.subtreeFlags=0,i.memoizedProps=null,i.memoizedState=null,i.updateQueue=null,i.dependencies=null,i.stateNode=null):(i.childLanes=c.childLanes,i.lanes=c.lanes,i.child=c.child,i.subtreeFlags=0,i.deletions=null,i.memoizedProps=c.memoizedProps,i.memoizedState=c.memoizedState,i.updateQueue=c.updateQueue,i.type=c.type,e=c.dependencies,i.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return So(ei,1&ei.current|2),t.child}e=e.sibling}null!==i.tail&&Je()>Uc&&(t.flags|=128,a=!0,Ks(i,!1),t.lanes=4194304)}else{if(!a)if(null!==(e=ti(c))){if(t.flags|=128,a=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),Ks(i,!0),null===i.tail&&"hidden"===i.tailMode&&!c.alternate&&!rr)return Ys(t),null}else 2*Je()-i.renderingStartTime>Uc&&1073741824!==n&&(t.flags|=128,a=!0,Ks(i,!1),t.lanes=4194304);i.isBackwards?(c.sibling=t.child,t.child=c):(null!==(n=i.last)?n.sibling=c:t.child=c,i.last=c)}return null!==i.tail?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Je(),t.sibling=null,n=ei.current,So(ei,a?1&n|2:1&n),t):(Ys(t),null);case 22:case 23:return dl(),a=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==a&&(t.flags|=8192),a&&1&t.mode?!!(1073741824&Ic)&&(Ys(t),6&t.subtreeFlags&&(t.flags|=8192)):Ys(t),null;case 24:case 25:return null}throw Error(r(156,t.tag))}function Qs(e,t){switch(nr(t),t.tag){case 1:return Lo(t.type)&&No(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return Jr(),zo(Ao),zo(Oo),ai(),65536&(e=t.flags)&&!(128&e)?(t.flags=-65537&e|128,t):null;case 5:return Xr(t),null;case 13:if(zo(ei),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(r(340));mr()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return zo(ei),null;case 4:return Jr(),null;case 10:return Er(t.type._context),null;case 22:case 23:return dl(),null;default:return null}}Ps=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},Is=function(){},Ls=function(e,t,n,a){var o=e.memoizedProps;if(o!==a){e=t.stateNode,Wr(Yr.current);var r,i=null;switch(n){case"input":o=W(e,o),a=W(e,a),i=[];break;case"select":o=R({},o,{value:void 0}),a=R({},a,{value:void 0}),i=[];break;case"textarea":o=ae(e,o),a=ae(e,a),i=[];break;default:"function"!=typeof o.onClick&&"function"==typeof a.onClick&&(e.onclick=Xa)}for(u in be(n,a),n=null,o)if(!a.hasOwnProperty(u)&&o.hasOwnProperty(u)&&null!=o[u])if("style"===u){var c=o[u];for(r in c)c.hasOwnProperty(r)&&(n||(n={}),n[r]="")}else"dangerouslySetInnerHTML"!==u&&"children"!==u&&"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&"autoFocus"!==u&&(s.hasOwnProperty(u)?i||(i=[]):(i=i||[]).push(u,null));for(u in a){var l=a[u];if(c=null!=o?o[u]:void 0,a.hasOwnProperty(u)&&l!==c&&(null!=l||null!=c))if("style"===u)if(c){for(r in c)!c.hasOwnProperty(r)||l&&l.hasOwnProperty(r)||(n||(n={}),n[r]="");for(r in l)l.hasOwnProperty(r)&&c[r]!==l[r]&&(n||(n={}),n[r]=l[r])}else n||(i||(i=[]),i.push(u,n)),n=l;else"dangerouslySetInnerHTML"===u?(l=l?l.__html:void 0,c=c?c.__html:void 0,null!=l&&c!==l&&(i=i||[]).push(u,l)):"children"===u?"string"!=typeof l&&"number"!=typeof l||(i=i||[]).push(u,""+l):"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&(s.hasOwnProperty(u)?(null!=l&&"onScroll"===u&&$a("scroll",e),i||c===l||(i=[])):(i=i||[]).push(u,l))}n&&(i=i||[]).push("style",n);var u=i;(t.updateQueue=u)&&(t.flags|=4)}},Ns=function(e,t,n,a){n!==a&&(t.flags|=4)};var Ws=!1,Gs=!1,Js="function"==typeof WeakSet?WeakSet:Set,Zs=null;function Xs(e,t){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(n){xl(e,t,n)}else n.current=null}function ec(e,t,n){try{n()}catch(n){xl(e,t,n)}}var tc=!1;function nc(e,t,n){var a=t.updateQueue;if(null!==(a=null!==a?a.lastEffect:null)){var o=a=a.next;do{if((o.tag&e)===e){var r=o.destroy;o.destroy=void 0,void 0!==r&&ec(t,n,r)}o=o.next}while(o!==a)}}function ac(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var a=n.create;n.destroy=a()}n=n.next}while(n!==t)}}function oc(e){var t=e.ref;if(null!==t){var n=e.stateNode;e.tag,e=n,"function"==typeof t?t(e):t.current=e}}function rc(e){var t=e.alternate;null!==t&&(e.alternate=null,rc(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&null!==(t=e.stateNode)&&(delete t[ho],delete t[mo],delete t[go],delete t[yo],delete t[bo]),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function ic(e){return 5===e.tag||3===e.tag||4===e.tag}function sc(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||ic(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function cc(e,t,n){var a=e.tag;if(5===a||6===a)e=e.stateNode,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!=(n=n._reactRootContainer)||null!==t.onclick||(t.onclick=Xa));else if(4!==a&&null!==(e=e.child))for(cc(e,t,n),e=e.sibling;null!==e;)cc(e,t,n),e=e.sibling}function lc(e,t,n){var a=e.tag;if(5===a||6===a)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==a&&null!==(e=e.child))for(lc(e,t,n),e=e.sibling;null!==e;)lc(e,t,n),e=e.sibling}var uc=null,dc=!1;function pc(e,t,n){for(n=n.child;null!==n;)hc(e,t,n),n=n.sibling}function hc(e,t,n){if(rt&&"function"==typeof rt.onCommitFiberUnmount)try{rt.onCommitFiberUnmount(ot,n)}catch(e){}switch(n.tag){case 5:Gs||Xs(n,t);case 6:var a=uc,o=dc;uc=null,pc(e,t,n),dc=o,null!==(uc=a)&&(dc?(e=uc,n=n.stateNode,8===e.nodeType?e.parentNode.removeChild(n):e.removeChild(n)):uc.removeChild(n.stateNode));break;case 18:null!==uc&&(dc?(e=uc,n=n.stateNode,8===e.nodeType?co(e.parentNode,n):1===e.nodeType&&co(e,n),Ut(e)):co(uc,n.stateNode));break;case 4:a=uc,o=dc,uc=n.stateNode.containerInfo,dc=!0,pc(e,t,n),uc=a,dc=o;break;case 0:case 11:case 14:case 15:if(!Gs&&null!==(a=n.updateQueue)&&null!==(a=a.lastEffect)){o=a=a.next;do{var r=o,i=r.destroy;r=r.tag,void 0!==i&&(2&r||4&r)&&ec(n,t,i),o=o.next}while(o!==a)}pc(e,t,n);break;case 1:if(!Gs&&(Xs(n,t),"function"==typeof(a=n.stateNode).componentWillUnmount))try{a.props=n.memoizedProps,a.state=n.memoizedState,a.componentWillUnmount()}catch(e){xl(n,t,e)}pc(e,t,n);break;case 21:pc(e,t,n);break;case 22:1&n.mode?(Gs=(a=Gs)||null!==n.memoizedState,pc(e,t,n),Gs=a):pc(e,t,n);break;default:pc(e,t,n)}}function mc(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new Js),t.forEach(function(t){var a=El.bind(null,e,t);n.has(t)||(n.add(t),t.then(a,a))})}}function fc(e,t){var n=t.deletions;if(null!==n)for(var a=0;a<n.length;a++){var o=n[a];try{var i=e,s=t,c=s;e:for(;null!==c;){switch(c.tag){case 5:uc=c.stateNode,dc=!1;break e;case 3:case 4:uc=c.stateNode.containerInfo,dc=!0;break e}c=c.return}if(null===uc)throw Error(r(160));hc(i,s,o),uc=null,dc=!1;var l=o.alternate;null!==l&&(l.return=null),o.return=null}catch(e){xl(o,t,e)}}if(12854&t.subtreeFlags)for(t=t.child;null!==t;)gc(t,e),t=t.sibling}function gc(e,t){var n=e.alternate,a=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(fc(t,e),yc(e),4&a){try{nc(3,e,e.return),ac(3,e)}catch(t){xl(e,e.return,t)}try{nc(5,e,e.return)}catch(t){xl(e,e.return,t)}}break;case 1:fc(t,e),yc(e),512&a&&null!==n&&Xs(n,n.return);break;case 5:if(fc(t,e),yc(e),512&a&&null!==n&&Xs(n,n.return),32&e.flags){var o=e.stateNode;try{pe(o,"")}catch(t){xl(e,e.return,t)}}if(4&a&&null!=(o=e.stateNode)){var i=e.memoizedProps,s=null!==n?n.memoizedProps:i,c=e.type,l=e.updateQueue;if(e.updateQueue=null,null!==l)try{"input"===c&&"radio"===i.type&&null!=i.name&&J(o,i),ke(c,s);var u=ke(c,i);for(s=0;s<l.length;s+=2){var d=l[s],p=l[s+1];"style"===d?ge(o,p):"dangerouslySetInnerHTML"===d?de(o,p):"children"===d?pe(o,p):k(o,d,p,u)}switch(c){case"input":Z(o,i);break;case"textarea":re(o,i);break;case"select":var h=o._wrapperState.wasMultiple;o._wrapperState.wasMultiple=!!i.multiple;var m=i.value;null!=m?ne(o,!!i.multiple,m,!1):h!==!!i.multiple&&(null!=i.defaultValue?ne(o,!!i.multiple,i.defaultValue,!0):ne(o,!!i.multiple,i.multiple?[]:"",!1))}o[mo]=i}catch(t){xl(e,e.return,t)}}break;case 6:if(fc(t,e),yc(e),4&a){if(null===e.stateNode)throw Error(r(162));o=e.stateNode,i=e.memoizedProps;try{o.nodeValue=i}catch(t){xl(e,e.return,t)}}break;case 3:if(fc(t,e),yc(e),4&a&&null!==n&&n.memoizedState.isDehydrated)try{Ut(t.containerInfo)}catch(t){xl(e,e.return,t)}break;case 4:default:fc(t,e),yc(e);break;case 13:fc(t,e),yc(e),8192&(o=e.child).flags&&(i=null!==o.memoizedState,o.stateNode.isHidden=i,!i||null!==o.alternate&&null!==o.alternate.memoizedState||(Fc=Je())),4&a&&mc(e);break;case 22:if(d=null!==n&&null!==n.memoizedState,1&e.mode?(Gs=(u=Gs)||d,fc(t,e),Gs=u):fc(t,e),yc(e),8192&a){if(u=null!==e.memoizedState,(e.stateNode.isHidden=u)&&!d&&1&e.mode)for(Zs=e,d=e.child;null!==d;){for(p=Zs=d;null!==Zs;){switch(m=(h=Zs).child,h.tag){case 0:case 11:case 14:case 15:nc(4,h,h.return);break;case 1:Xs(h,h.return);var f=h.stateNode;if("function"==typeof f.componentWillUnmount){a=h,n=h.return;try{t=a,f.props=t.memoizedProps,f.state=t.memoizedState,f.componentWillUnmount()}catch(e){xl(a,n,e)}}break;case 5:Xs(h,h.return);break;case 22:if(null!==h.memoizedState){wc(p);continue}}null!==m?(m.return=h,Zs=m):wc(p)}d=d.sibling}e:for(d=null,p=e;;){if(5===p.tag){if(null===d){d=p;try{o=p.stateNode,u?"function"==typeof(i=o.style).setProperty?i.setProperty("display","none","important"):i.display="none":(c=p.stateNode,s=null!=(l=p.memoizedProps.style)&&l.hasOwnProperty("display")?l.display:null,c.style.display=fe("display",s))}catch(t){xl(e,e.return,t)}}}else if(6===p.tag){if(null===d)try{p.stateNode.nodeValue=u?"":p.memoizedProps}catch(t){xl(e,e.return,t)}}else if((22!==p.tag&&23!==p.tag||null===p.memoizedState||p===e)&&null!==p.child){p.child.return=p,p=p.child;continue}if(p===e)break e;for(;null===p.sibling;){if(null===p.return||p.return===e)break e;d===p&&(d=null),p=p.return}d===p&&(d=null),p.sibling.return=p.return,p=p.sibling}}break;case 19:fc(t,e),yc(e),4&a&&mc(e);case 21:}}function yc(e){var t=e.flags;if(2&t){try{e:{for(var n=e.return;null!==n;){if(ic(n)){var a=n;break e}n=n.return}throw Error(r(160))}switch(a.tag){case 5:var o=a.stateNode;32&a.flags&&(pe(o,""),a.flags&=-33),lc(e,sc(e),o);break;case 3:case 4:var i=a.stateNode.containerInfo;cc(e,sc(e),i);break;default:throw Error(r(161))}}catch(t){xl(e,e.return,t)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function bc(e,t,n){Zs=e,kc(e,t,n)}function kc(e,t,n){for(var a=!!(1&e.mode);null!==Zs;){var o=Zs,r=o.child;if(22===o.tag&&a){var i=null!==o.memoizedState||Ws;if(!i){var s=o.alternate,c=null!==s&&null!==s.memoizedState||Gs;s=Ws;var l=Gs;if(Ws=i,(Gs=c)&&!l)for(Zs=o;null!==Zs;)c=(i=Zs).child,22===i.tag&&null!==i.memoizedState?jc(o):null!==c?(c.return=i,Zs=c):jc(o);for(;null!==r;)Zs=r,kc(r,t,n),r=r.sibling;Zs=o,Ws=s,Gs=l}vc(e)}else 8772&o.subtreeFlags&&null!==r?(r.return=o,Zs=r):vc(e)}}function vc(e){for(;null!==Zs;){var t=Zs;if(8772&t.flags){var n=t.alternate;try{if(8772&t.flags)switch(t.tag){case 0:case 11:case 15:Gs||ac(5,t);break;case 1:var a=t.stateNode;if(4&t.flags&&!Gs)if(null===n)a.componentDidMount();else{var o=t.elementType===t.type?n.memoizedProps:ns(t.type,n.memoizedProps);a.componentDidUpdate(o,n.memoizedState,a.__reactInternalSnapshotBeforeUpdate)}var i=t.updateQueue;null!==i&&Hr(t,i,a);break;case 3:var s=t.updateQueue;if(null!==s){if(n=null,null!==t.child)switch(t.child.tag){case 5:case 1:n=t.child.stateNode}Hr(t,s,n)}break;case 5:var c=t.stateNode;if(null===n&&4&t.flags){n=c;var l=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":l.autoFocus&&n.focus();break;case"img":l.src&&(n.src=l.src)}}break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:case 25:break;case 13:if(null===t.memoizedState){var u=t.alternate;if(null!==u){var d=u.memoizedState;if(null!==d){var p=d.dehydrated;null!==p&&Ut(p)}}}break;default:throw Error(r(163))}Gs||512&t.flags&&oc(t)}catch(e){xl(t,t.return,e)}}if(t===e){Zs=null;break}if(null!==(n=t.sibling)){n.return=t.return,Zs=n;break}Zs=t.return}}function wc(e){for(;null!==Zs;){var t=Zs;if(t===e){Zs=null;break}var n=t.sibling;if(null!==n){n.return=t.return,Zs=n;break}Zs=t.return}}function jc(e){for(;null!==Zs;){var t=Zs;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{ac(4,t)}catch(e){xl(t,n,e)}break;case 1:var a=t.stateNode;if("function"==typeof a.componentDidMount){var o=t.return;try{a.componentDidMount()}catch(e){xl(t,o,e)}}var r=t.return;try{oc(t)}catch(e){xl(t,r,e)}break;case 5:var i=t.return;try{oc(t)}catch(e){xl(t,i,e)}}}catch(e){xl(t,t.return,e)}if(t===e){Zs=null;break}var s=t.sibling;if(null!==s){s.return=t.return,Zs=s;break}Zs=t.return}}var _c,xc=Math.ceil,Cc=v.ReactCurrentDispatcher,zc=v.ReactCurrentOwner,Sc=v.ReactCurrentBatchConfig,Ec=0,Oc=null,Ac=null,Pc=0,Ic=0,Lc=Co(0),Nc=0,Tc=null,Dc=0,Rc=0,Mc=0,$c=null,Bc=null,Fc=0,Uc=1/0,Vc=null,Hc=!1,Kc=null,Yc=null,qc=!1,Qc=null,Wc=0,Gc=0,Jc=null,Zc=-1,Xc=0;function el(){return 6&Ec?Je():-1!==Zc?Zc:Zc=Je()}function tl(e){return 1&e.mode?2&Ec&&0!==Pc?Pc&-Pc:null!==gr.transition?(0===Xc&&(Xc=ft()),Xc):0!==(e=kt)?e:e=void 0===(e=window.event)?16:Gt(e.type):1}function nl(e,t,n,a){if(50<Gc)throw Gc=0,Jc=null,Error(r(185));yt(e,n,a),2&Ec&&e===Oc||(e===Oc&&(!(2&Ec)&&(Rc|=n),4===Nc&&sl(e,Pc)),al(e,a),1===n&&0===Ec&&!(1&t.mode)&&(Uc=Je()+500,Bo&&Vo()))}function al(e,t){var n=e.callbackNode;!function(e,t){for(var n=e.suspendedLanes,a=e.pingedLanes,o=e.expirationTimes,r=e.pendingLanes;0<r;){var i=31-it(r),s=1<<i,c=o[i];-1===c?0!==(s&n)&&0===(s&a)||(o[i]=ht(s,t)):c<=t&&(e.expiredLanes|=s),r&=~s}}(e,t);var a=pt(e,e===Oc?Pc:0);if(0===a)null!==n&&Qe(n),e.callbackNode=null,e.callbackPriority=0;else if(t=a&-a,e.callbackPriority!==t){if(null!=n&&Qe(n),1===t)0===e.tag?function(e){Bo=!0,Uo(e)}(cl.bind(null,e)):Uo(cl.bind(null,e)),io(function(){!(6&Ec)&&Vo()}),n=null;else{switch(vt(a)){case 1:n=Xe;break;case 4:n=et;break;case 16:default:n=tt;break;case 536870912:n=at}n=Ol(n,ol.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function ol(e,t){if(Zc=-1,Xc=0,6&Ec)throw Error(r(327));var n=e.callbackNode;if(jl()&&e.callbackNode!==n)return null;var a=pt(e,e===Oc?Pc:0);if(0===a)return null;if(30&a||0!==(a&e.expiredLanes)||t)t=gl(e,a);else{t=a;var o=Ec;Ec|=2;var i=ml();for(Oc===e&&Pc===t||(Vc=null,Uc=Je()+500,pl(e,t));;)try{bl();break}catch(t){hl(e,t)}Sr(),Cc.current=i,Ec=o,null!==Ac?t=0:(Oc=null,Pc=0,t=Nc)}if(0!==t){if(2===t&&0!==(o=mt(e))&&(a=o,t=rl(e,o)),1===t)throw n=Tc,pl(e,0),sl(e,a),al(e,Je()),n;if(6===t)sl(e,a);else{if(o=e.current.alternate,!(30&a||function(e){for(var t=e;;){if(16384&t.flags){var n=t.updateQueue;if(null!==n&&null!==(n=n.stores))for(var a=0;a<n.length;a++){var o=n[a],r=o.getSnapshot;o=o.value;try{if(!sa(r(),o))return!1}catch(e){return!1}}}if(n=t.child,16384&t.subtreeFlags&&null!==n)n.return=t,t=n;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}(o)||(t=gl(e,a),2===t&&(i=mt(e),0!==i&&(a=i,t=rl(e,i))),1!==t)))throw n=Tc,pl(e,0),sl(e,a),al(e,Je()),n;switch(e.finishedWork=o,e.finishedLanes=a,t){case 0:case 1:throw Error(r(345));case 2:case 5:wl(e,Bc,Vc);break;case 3:if(sl(e,a),(130023424&a)===a&&10<(t=Fc+500-Je())){if(0!==pt(e,0))break;if(((o=e.suspendedLanes)&a)!==a){el(),e.pingedLanes|=e.suspendedLanes&o;break}e.timeoutHandle=ao(wl.bind(null,e,Bc,Vc),t);break}wl(e,Bc,Vc);break;case 4:if(sl(e,a),(4194240&a)===a)break;for(t=e.eventTimes,o=-1;0<a;){var s=31-it(a);i=1<<s,(s=t[s])>o&&(o=s),a&=~i}if(a=o,10<(a=(120>(a=Je()-a)?120:480>a?480:1080>a?1080:1920>a?1920:3e3>a?3e3:4320>a?4320:1960*xc(a/1960))-a)){e.timeoutHandle=ao(wl.bind(null,e,Bc,Vc),a);break}wl(e,Bc,Vc);break;default:throw Error(r(329))}}}return al(e,Je()),e.callbackNode===n?ol.bind(null,e):null}function rl(e,t){var n=$c;return e.current.memoizedState.isDehydrated&&(pl(e,t).flags|=256),2!==(e=gl(e,t))&&(t=Bc,Bc=n,null!==t&&il(t)),e}function il(e){null===Bc?Bc=e:Bc.push.apply(Bc,e)}function sl(e,t){for(t&=~Mc,t&=~Rc,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-it(t),a=1<<n;e[n]=-1,t&=~a}}function cl(e){if(6&Ec)throw Error(r(327));jl();var t=pt(e,0);if(!(1&t))return al(e,Je()),null;var n=gl(e,t);if(0!==e.tag&&2===n){var a=mt(e);0!==a&&(t=a,n=rl(e,a))}if(1===n)throw n=Tc,pl(e,0),sl(e,t),al(e,Je()),n;if(6===n)throw Error(r(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,wl(e,Bc,Vc),al(e,Je()),null}function ll(e,t){var n=Ec;Ec|=1;try{return e(t)}finally{0===(Ec=n)&&(Uc=Je()+500,Bo&&Vo())}}function ul(e){null!==Qc&&0===Qc.tag&&!(6&Ec)&&jl();var t=Ec;Ec|=1;var n=Sc.transition,a=kt;try{if(Sc.transition=null,kt=1,e)return e()}finally{kt=a,Sc.transition=n,!(6&(Ec=t))&&Vo()}}function dl(){Ic=Lc.current,zo(Lc)}function pl(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,oo(n)),null!==Ac)for(n=Ac.return;null!==n;){var a=n;switch(nr(a),a.tag){case 1:null!=(a=a.type.childContextTypes)&&No();break;case 3:Jr(),zo(Ao),zo(Oo),ai();break;case 5:Xr(a);break;case 4:Jr();break;case 13:case 19:zo(ei);break;case 10:Er(a.type._context);break;case 22:case 23:dl()}n=n.return}if(Oc=e,Ac=e=Ll(e.current,null),Pc=Ic=t,Nc=0,Tc=null,Mc=Rc=Dc=0,Bc=$c=null,null!==Ir){for(t=0;t<Ir.length;t++)if(null!==(a=(n=Ir[t]).interleaved)){n.interleaved=null;var o=a.next,r=n.pending;if(null!==r){var i=r.next;r.next=o,a.next=i}n.pending=a}Ir=null}return e}function hl(e,t){for(;;){var n=Ac;try{if(Sr(),oi.current=Zi,ui){for(var a=si.memoizedState;null!==a;){var o=a.queue;null!==o&&(o.pending=null),a=a.next}ui=!1}if(ii=0,li=ci=si=null,di=!1,pi=0,zc.current=null,null===n||null===n.return){Nc=1,Tc=t,Ac=null;break}e:{var i=e,s=n.return,c=n,l=t;if(t=Pc,c.flags|=32768,null!==l&&"object"==typeof l&&"function"==typeof l.then){var u=l,d=c,p=d.tag;if(!(1&d.mode||0!==p&&11!==p&&15!==p)){var h=d.alternate;h?(d.updateQueue=h.updateQueue,d.memoizedState=h.memoizedState,d.lanes=h.lanes):(d.updateQueue=null,d.memoizedState=null)}var m=gs(s);if(null!==m){m.flags&=-257,ys(m,s,c,0,t),1&m.mode&&fs(i,u,t),l=u;var f=(t=m).updateQueue;if(null===f){var g=new Set;g.add(l),t.updateQueue=g}else f.add(l);break e}if(!(1&t)){fs(i,u,t),fl();break e}l=Error(r(426))}else if(rr&&1&c.mode){var y=gs(s);if(null!==y){!(65536&y.flags)&&(y.flags|=256),ys(y,s,c,0,t),fr(ls(l,c));break e}}i=l=ls(l,c),4!==Nc&&(Nc=2),null===$c?$c=[i]:$c.push(i),i=s;do{switch(i.tag){case 3:i.flags|=65536,t&=-t,i.lanes|=t,Ur(i,hs(0,l,t));break e;case 1:c=l;var b=i.type,k=i.stateNode;if(!(128&i.flags||"function"!=typeof b.getDerivedStateFromError&&(null===k||"function"!=typeof k.componentDidCatch||null!==Yc&&Yc.has(k)))){i.flags|=65536,t&=-t,i.lanes|=t,Ur(i,ms(i,c,t));break e}}i=i.return}while(null!==i)}vl(n)}catch(e){t=e,Ac===n&&null!==n&&(Ac=n=n.return);continue}break}}function ml(){var e=Cc.current;return Cc.current=Zi,null===e?Zi:e}function fl(){0!==Nc&&3!==Nc&&2!==Nc||(Nc=4),null===Oc||!(268435455&Dc)&&!(268435455&Rc)||sl(Oc,Pc)}function gl(e,t){var n=Ec;Ec|=2;var a=ml();for(Oc===e&&Pc===t||(Vc=null,pl(e,t));;)try{yl();break}catch(t){hl(e,t)}if(Sr(),Ec=n,Cc.current=a,null!==Ac)throw Error(r(261));return Oc=null,Pc=0,Nc}function yl(){for(;null!==Ac;)kl(Ac)}function bl(){for(;null!==Ac&&!We();)kl(Ac)}function kl(e){var t=_c(e.alternate,e,Ic);e.memoizedProps=e.pendingProps,null===t?vl(e):Ac=t,zc.current=null}function vl(e){var t=e;do{var n=t.alternate;if(e=t.return,32768&t.flags){if(null!==(n=Qs(n,t)))return n.flags&=32767,void(Ac=n);if(null===e)return Nc=6,void(Ac=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}else if(null!==(n=qs(n,t,Ic)))return void(Ac=n);if(null!==(t=t.sibling))return void(Ac=t);Ac=t=e}while(null!==t);0===Nc&&(Nc=5)}function wl(e,t,n){var a=kt,o=Sc.transition;try{Sc.transition=null,kt=1,function(e,t,n,a){do{jl()}while(null!==Qc);if(6&Ec)throw Error(r(327));n=e.finishedWork;var o=e.finishedLanes;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(r(177));e.callbackNode=null,e.callbackPriority=0;var i=n.lanes|n.childLanes;if(function(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var a=e.eventTimes;for(e=e.expirationTimes;0<n;){var o=31-it(n),r=1<<o;t[o]=0,a[o]=-1,e[o]=-1,n&=~r}}(e,i),e===Oc&&(Ac=Oc=null,Pc=0),!(2064&n.subtreeFlags)&&!(2064&n.flags)||qc||(qc=!0,Ol(tt,function(){return jl(),null})),i=!!(15990&n.flags),15990&n.subtreeFlags||i){i=Sc.transition,Sc.transition=null;var s=kt;kt=1;var c=Ec;Ec|=4,zc.current=null,function(e,t){if(eo=Ht,ha(e=pa())){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{var a=(n=(n=e.ownerDocument)&&n.defaultView||window).getSelection&&n.getSelection();if(a&&0!==a.rangeCount){n=a.anchorNode;var o=a.anchorOffset,i=a.focusNode;a=a.focusOffset;try{n.nodeType,i.nodeType}catch(e){n=null;break e}var s=0,c=-1,l=-1,u=0,d=0,p=e,h=null;t:for(;;){for(var m;p!==n||0!==o&&3!==p.nodeType||(c=s+o),p!==i||0!==a&&3!==p.nodeType||(l=s+a),3===p.nodeType&&(s+=p.nodeValue.length),null!==(m=p.firstChild);)h=p,p=m;for(;;){if(p===e)break t;if(h===n&&++u===o&&(c=s),h===i&&++d===a&&(l=s),null!==(m=p.nextSibling))break;h=(p=h).parentNode}p=m}n=-1===c||-1===l?null:{start:c,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(to={focusedElem:e,selectionRange:n},Ht=!1,Zs=t;null!==Zs;)if(e=(t=Zs).child,1028&t.subtreeFlags&&null!==e)e.return=t,Zs=e;else for(;null!==Zs;){t=Zs;try{var f=t.alternate;if(1024&t.flags)switch(t.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==f){var g=f.memoizedProps,y=f.memoizedState,b=t.stateNode,k=b.getSnapshotBeforeUpdate(t.elementType===t.type?g:ns(t.type,g),y);b.__reactInternalSnapshotBeforeUpdate=k}break;case 3:var v=t.stateNode.containerInfo;1===v.nodeType?v.textContent="":9===v.nodeType&&v.documentElement&&v.removeChild(v.documentElement);break;default:throw Error(r(163))}}catch(e){xl(t,t.return,e)}if(null!==(e=t.sibling)){e.return=t.return,Zs=e;break}Zs=t.return}f=tc,tc=!1}(e,n),gc(n,e),ma(to),Ht=!!eo,to=eo=null,e.current=n,bc(n,e,o),Ge(),Ec=c,kt=s,Sc.transition=i}else e.current=n;if(qc&&(qc=!1,Qc=e,Wc=o),0===(i=e.pendingLanes)&&(Yc=null),function(e){if(rt&&"function"==typeof rt.onCommitFiberRoot)try{rt.onCommitFiberRoot(ot,e,void 0,!(128&~e.current.flags))}catch(e){}}(n.stateNode),al(e,Je()),null!==t)for(a=e.onRecoverableError,n=0;n<t.length;n++)a((o=t[n]).value,{componentStack:o.stack,digest:o.digest});if(Hc)throw Hc=!1,e=Kc,Kc=null,e;!!(1&Wc)&&0!==e.tag&&jl(),1&(i=e.pendingLanes)?e===Jc?Gc++:(Gc=0,Jc=e):Gc=0,Vo()}(e,t,n,a)}finally{Sc.transition=o,kt=a}return null}function jl(){if(null!==Qc){var e=vt(Wc),t=Sc.transition,n=kt;try{if(Sc.transition=null,kt=16>e?16:e,null===Qc)var a=!1;else{if(e=Qc,Qc=null,Wc=0,6&Ec)throw Error(r(331));var o=Ec;for(Ec|=4,Zs=e.current;null!==Zs;){var i=Zs,s=i.child;if(16&Zs.flags){var c=i.deletions;if(null!==c){for(var l=0;l<c.length;l++){var u=c[l];for(Zs=u;null!==Zs;){var d=Zs;switch(d.tag){case 0:case 11:case 15:nc(8,d,i)}var p=d.child;if(null!==p)p.return=d,Zs=p;else for(;null!==Zs;){var h=(d=Zs).sibling,m=d.return;if(rc(d),d===u){Zs=null;break}if(null!==h){h.return=m,Zs=h;break}Zs=m}}}var f=i.alternate;if(null!==f){var g=f.child;if(null!==g){f.child=null;do{var y=g.sibling;g.sibling=null,g=y}while(null!==g)}}Zs=i}}if(2064&i.subtreeFlags&&null!==s)s.return=i,Zs=s;else e:for(;null!==Zs;){if(2048&(i=Zs).flags)switch(i.tag){case 0:case 11:case 15:nc(9,i,i.return)}var b=i.sibling;if(null!==b){b.return=i.return,Zs=b;break e}Zs=i.return}}var k=e.current;for(Zs=k;null!==Zs;){var v=(s=Zs).child;if(2064&s.subtreeFlags&&null!==v)v.return=s,Zs=v;else e:for(s=k;null!==Zs;){if(2048&(c=Zs).flags)try{switch(c.tag){case 0:case 11:case 15:ac(9,c)}}catch(e){xl(c,c.return,e)}if(c===s){Zs=null;break e}var w=c.sibling;if(null!==w){w.return=c.return,Zs=w;break e}Zs=c.return}}if(Ec=o,Vo(),rt&&"function"==typeof rt.onPostCommitFiberRoot)try{rt.onPostCommitFiberRoot(ot,e)}catch(e){}a=!0}return a}finally{kt=n,Sc.transition=t}}return!1}function _l(e,t,n){e=Br(e,t=hs(0,t=ls(n,t),1),1),t=el(),null!==e&&(yt(e,1,t),al(e,t))}function xl(e,t,n){if(3===e.tag)_l(e,e,n);else for(;null!==t;){if(3===t.tag){_l(t,e,n);break}if(1===t.tag){var a=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof a.componentDidCatch&&(null===Yc||!Yc.has(a))){t=Br(t,e=ms(t,e=ls(n,e),1),1),e=el(),null!==t&&(yt(t,1,e),al(t,e));break}}t=t.return}}function Cl(e,t,n){var a=e.pingCache;null!==a&&a.delete(t),t=el(),e.pingedLanes|=e.suspendedLanes&n,Oc===e&&(Pc&n)===n&&(4===Nc||3===Nc&&(130023424&Pc)===Pc&&500>Je()-Fc?pl(e,0):Mc|=n),al(e,t)}function zl(e,t){0===t&&(1&e.mode?(t=ut,!(130023424&(ut<<=1))&&(ut=4194304)):t=1);var n=el();null!==(e=Tr(e,t))&&(yt(e,t,n),al(e,n))}function Sl(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),zl(e,n)}function El(e,t){var n=0;switch(e.tag){case 13:var a=e.stateNode,o=e.memoizedState;null!==o&&(n=o.retryLane);break;case 19:a=e.stateNode;break;default:throw Error(r(314))}null!==a&&a.delete(t),zl(e,n)}function Ol(e,t){return qe(e,t)}function Al(e,t,n,a){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=a,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Pl(e,t,n,a){return new Al(e,t,n,a)}function Il(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Ll(e,t){var n=e.alternate;return null===n?((n=Pl(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=14680064&e.flags,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Nl(e,t,n,a,o,i){var s=2;if(a=e,"function"==typeof e)Il(e)&&(s=1);else if("string"==typeof e)s=5;else e:switch(e){case _:return Tl(n.children,o,i,t);case x:s=8,o|=8;break;case C:return(e=Pl(12,n,t,2|o)).elementType=C,e.lanes=i,e;case O:return(e=Pl(13,n,t,o)).elementType=O,e.lanes=i,e;case A:return(e=Pl(19,n,t,o)).elementType=A,e.lanes=i,e;case L:return Dl(n,o,i,t);default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case z:s=10;break e;case S:s=9;break e;case E:s=11;break e;case P:s=14;break e;case I:s=16,a=null;break e}throw Error(r(130,null==e?e:typeof e,""))}return(t=Pl(s,n,t,o)).elementType=e,t.type=a,t.lanes=i,t}function Tl(e,t,n,a){return(e=Pl(7,e,a,t)).lanes=n,e}function Dl(e,t,n,a){return(e=Pl(22,e,a,t)).elementType=L,e.lanes=n,e.stateNode={isHidden:!1},e}function Rl(e,t,n){return(e=Pl(6,e,null,t)).lanes=n,e}function Ml(e,t,n){return(t=Pl(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function $l(e,t,n,a,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=gt(0),this.expirationTimes=gt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=gt(0),this.identifierPrefix=a,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function Bl(e,t,n,a,o,r,i,s,c){return e=new $l(e,t,n,s,c),1===t?(t=1,!0===r&&(t|=8)):t=0,r=Pl(3,null,null,t),e.current=r,r.stateNode=e,r.memoizedState={element:a,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Rr(r),e}function Fl(e){if(!e)return Eo;e:{if(Ue(e=e._reactInternals)!==e||1!==e.tag)throw Error(r(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Lo(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(r(171))}if(1===e.tag){var n=e.type;if(Lo(n))return Do(e,n,t)}return t}function Ul(e,t,n,a,o,r,i,s,c){return(e=Bl(n,a,!0,e,0,r,0,s,c)).context=Fl(null),n=e.current,(r=$r(a=el(),o=tl(n))).callback=null!=t?t:null,Br(n,r,o),e.current.lanes=o,yt(e,o,a),al(e,a),e}function Vl(e,t,n,a){var o=t.current,r=el(),i=tl(o);return n=Fl(n),null===t.context?t.context=n:t.pendingContext=n,(t=$r(r,i)).payload={element:e},null!==(a=void 0===a?null:a)&&(t.callback=a),null!==(e=Br(o,t,i))&&(nl(e,o,i,r),Fr(e,o,i)),i}function Hl(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function Kl(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function Yl(e,t){Kl(e,t),(e=e.alternate)&&Kl(e,t)}_c=function(e,t,n){if(null!==e)if(e.memoizedProps!==t.pendingProps||Ao.current)ks=!0;else{if(0===(e.lanes&n)&&!(128&t.flags))return ks=!1,function(e,t,n){switch(t.tag){case 3:Os(t),mr();break;case 5:Zr(t);break;case 1:Lo(t.type)&&Ro(t);break;case 4:Gr(t,t.stateNode.containerInfo);break;case 10:var a=t.type._context,o=t.memoizedProps.value;So(_r,a._currentValue),a._currentValue=o;break;case 13:if(null!==(a=t.memoizedState))return null!==a.dehydrated?(So(ei,1&ei.current),t.flags|=128,null):0!==(n&t.child.childLanes)?Rs(e,t,n):(So(ei,1&ei.current),null!==(e=Hs(e,t,n))?e.sibling:null);So(ei,1&ei.current);break;case 19:if(a=0!==(n&t.childLanes),128&e.flags){if(a)return Us(e,t,n);t.flags|=128}if(null!==(o=t.memoizedState)&&(o.rendering=null,o.tail=null,o.lastEffect=null),So(ei,ei.current),a)break;return null;case 22:case 23:return t.lanes=0,xs(e,t,n)}return Hs(e,t,n)}(e,t,n);ks=!!(131072&e.flags)}else ks=!1,rr&&1048576&t.flags&&er(t,qo,t.index);switch(t.lanes=0,t.tag){case 2:var a=t.type;Vs(e,t),e=t.pendingProps;var o=Io(t,Oo.current);Ar(t,n),o=gi(null,t,a,e,o,n);var i=yi();return t.flags|=1,"object"==typeof o&&null!==o&&"function"==typeof o.render&&void 0===o.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Lo(a)?(i=!0,Ro(t)):i=!1,t.memoizedState=null!==o.state&&void 0!==o.state?o.state:null,Rr(t),o.updater=os,t.stateNode=o,o._reactInternals=t,cs(t,a,e,n),t=Es(null,t,a,!0,i,n)):(t.tag=0,rr&&i&&tr(t),vs(null,t,o,n),t=t.child),t;case 16:a=t.elementType;e:{switch(Vs(e,t),e=t.pendingProps,a=(o=a._init)(a._payload),t.type=a,o=t.tag=function(e){if("function"==typeof e)return Il(e)?1:0;if(null!=e){if((e=e.$$typeof)===E)return 11;if(e===P)return 14}return 2}(a),e=ns(a,e),o){case 0:t=zs(null,t,a,e,n);break e;case 1:t=Ss(null,t,a,e,n);break e;case 11:t=ws(null,t,a,e,n);break e;case 14:t=js(null,t,a,ns(a.type,e),n);break e}throw Error(r(306,a,""))}return t;case 0:return a=t.type,o=t.pendingProps,zs(e,t,a,o=t.elementType===a?o:ns(a,o),n);case 1:return a=t.type,o=t.pendingProps,Ss(e,t,a,o=t.elementType===a?o:ns(a,o),n);case 3:e:{if(Os(t),null===e)throw Error(r(387));a=t.pendingProps,o=(i=t.memoizedState).element,Mr(e,t),Vr(t,a,null,n);var s=t.memoizedState;if(a=s.element,i.isDehydrated){if(i={element:a,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=i,t.memoizedState=i,256&t.flags){t=As(e,t,a,n,o=ls(Error(r(423)),t));break e}if(a!==o){t=As(e,t,a,n,o=ls(Error(r(424)),t));break e}for(or=lo(t.stateNode.containerInfo.firstChild),ar=t,rr=!0,ir=null,n=jr(t,null,a,n),t.child=n;n;)n.flags=-3&n.flags|4096,n=n.sibling}else{if(mr(),a===o){t=Hs(e,t,n);break e}vs(e,t,a,n)}t=t.child}return t;case 5:return Zr(t),null===e&&ur(t),a=t.type,o=t.pendingProps,i=null!==e?e.memoizedProps:null,s=o.children,no(a,o)?s=null:null!==i&&no(a,i)&&(t.flags|=32),Cs(e,t),vs(e,t,s,n),t.child;case 6:return null===e&&ur(t),null;case 13:return Rs(e,t,n);case 4:return Gr(t,t.stateNode.containerInfo),a=t.pendingProps,null===e?t.child=wr(t,null,a,n):vs(e,t,a,n),t.child;case 11:return a=t.type,o=t.pendingProps,ws(e,t,a,o=t.elementType===a?o:ns(a,o),n);case 7:return vs(e,t,t.pendingProps,n),t.child;case 8:case 12:return vs(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(a=t.type._context,o=t.pendingProps,i=t.memoizedProps,s=o.value,So(_r,a._currentValue),a._currentValue=s,null!==i)if(sa(i.value,s)){if(i.children===o.children&&!Ao.current){t=Hs(e,t,n);break e}}else for(null!==(i=t.child)&&(i.return=t);null!==i;){var c=i.dependencies;if(null!==c){s=i.child;for(var l=c.firstContext;null!==l;){if(l.context===a){if(1===i.tag){(l=$r(-1,n&-n)).tag=2;var u=i.updateQueue;if(null!==u){var d=(u=u.shared).pending;null===d?l.next=l:(l.next=d.next,d.next=l),u.pending=l}}i.lanes|=n,null!==(l=i.alternate)&&(l.lanes|=n),Or(i.return,n,t),c.lanes|=n;break}l=l.next}}else if(10===i.tag)s=i.type===t.type?null:i.child;else if(18===i.tag){if(null===(s=i.return))throw Error(r(341));s.lanes|=n,null!==(c=s.alternate)&&(c.lanes|=n),Or(s,n,t),s=i.sibling}else s=i.child;if(null!==s)s.return=i;else for(s=i;null!==s;){if(s===t){s=null;break}if(null!==(i=s.sibling)){i.return=s.return,s=i;break}s=s.return}i=s}vs(e,t,o.children,n),t=t.child}return t;case 9:return o=t.type,a=t.pendingProps.children,Ar(t,n),a=a(o=Pr(o)),t.flags|=1,vs(e,t,a,n),t.child;case 14:return o=ns(a=t.type,t.pendingProps),js(e,t,a,o=ns(a.type,o),n);case 15:return _s(e,t,t.type,t.pendingProps,n);case 17:return a=t.type,o=t.pendingProps,o=t.elementType===a?o:ns(a,o),Vs(e,t),t.tag=1,Lo(a)?(e=!0,Ro(t)):e=!1,Ar(t,n),is(t,a,o),cs(t,a,o,n),Es(null,t,a,!0,e,n);case 19:return Us(e,t,n);case 22:return xs(e,t,n)}throw Error(r(156,t.tag))};var ql="function"==typeof reportError?reportError:function(e){console.error(e)};function Ql(e){this._internalRoot=e}function Wl(e){this._internalRoot=e}function Gl(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function Jl(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function Zl(){}function Xl(e,t,n,a,o){var r=n._reactRootContainer;if(r){var i=r;if("function"==typeof o){var s=o;o=function(){var e=Hl(i);s.call(e)}}Vl(t,i,e,o)}else i=function(e,t,n,a,o){if(o){if("function"==typeof a){var r=a;a=function(){var e=Hl(i);r.call(e)}}var i=Ul(t,a,e,0,null,!1,0,"",Zl);return e._reactRootContainer=i,e[fo]=i.current,Ua(8===e.nodeType?e.parentNode:e),ul(),i}for(;o=e.lastChild;)e.removeChild(o);if("function"==typeof a){var s=a;a=function(){var e=Hl(c);s.call(e)}}var c=Bl(e,0,!1,null,0,!1,0,"",Zl);return e._reactRootContainer=c,e[fo]=c.current,Ua(8===e.nodeType?e.parentNode:e),ul(function(){Vl(t,c,n,a)}),c}(n,t,e,o,a);return Hl(i)}Wl.prototype.render=Ql.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(r(409));Vl(e,t,null,null)},Wl.prototype.unmount=Ql.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;ul(function(){Vl(null,e,null,null)}),t[fo]=null}},Wl.prototype.unstable_scheduleHydration=function(e){if(e){var t=xt();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Lt.length&&0!==t&&t<Lt[n].priority;n++);Lt.splice(n,0,e),0===n&&Rt(e)}},wt=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=dt(t.pendingLanes);0!==n&&(bt(t,1|n),al(t,Je()),!(6&Ec)&&(Uc=Je()+500,Vo()))}break;case 13:ul(function(){var t=Tr(e,1);if(null!==t){var n=el();nl(t,e,1,n)}}),Yl(e,1)}},jt=function(e){if(13===e.tag){var t=Tr(e,134217728);null!==t&&nl(t,e,134217728,el()),Yl(e,134217728)}},_t=function(e){if(13===e.tag){var t=tl(e),n=Tr(e,t);null!==n&&nl(n,e,t,el()),Yl(e,t)}},xt=function(){return kt},Ct=function(e,t){var n=kt;try{return kt=e,t()}finally{kt=n}},je=function(e,t,n){switch(t){case"input":if(Z(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var a=n[t];if(a!==e&&a.form===e.form){var o=jo(a);if(!o)throw Error(r(90));q(a),Z(a,o)}}}break;case"textarea":re(e,n);break;case"select":null!=(t=n.value)&&ne(e,!!n.multiple,t,!1)}},Ee=ll,Oe=ul;var eu={usingClientEntryPoint:!1,Events:[vo,wo,jo,ze,Se,ll]},tu={findFiberByHostInstance:ko,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},nu={bundleType:tu.bundleType,version:tu.version,rendererPackageName:tu.rendererPackageName,rendererConfig:tu.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:v.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Ke(e))?null:e.stateNode},findFiberByHostInstance:tu.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var au=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!au.isDisabled&&au.supportsFiber)try{ot=au.inject(nu),rt=au}catch(ue){}}t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=eu,t.createPortal=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!Gl(t))throw Error(r(200));return function(e,t,n){var a=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:j,key:null==a?null:""+a,children:e,containerInfo:t,implementation:n}}(e,t,null,n)},t.createRoot=function(e,t){if(!Gl(e))throw Error(r(299));var n=!1,a="",o=ql;return null!=t&&(!0===t.unstable_strictMode&&(n=!0),void 0!==t.identifierPrefix&&(a=t.identifierPrefix),void 0!==t.onRecoverableError&&(o=t.onRecoverableError)),t=Bl(e,1,!1,null,0,n,0,a,o),e[fo]=t.current,Ua(8===e.nodeType?e.parentNode:e),new Ql(t)},t.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"==typeof e.render)throw Error(r(188));throw e=Object.keys(e).join(","),Error(r(268,e))}return null===(e=Ke(t))?null:e.stateNode},t.flushSync=function(e){return ul(e)},t.hydrate=function(e,t,n){if(!Jl(t))throw Error(r(200));return Xl(null,e,t,!0,n)},t.hydrateRoot=function(e,t,n){if(!Gl(e))throw Error(r(405));var a=null!=n&&n.hydratedSources||null,o=!1,i="",s=ql;if(null!=n&&(!0===n.unstable_strictMode&&(o=!0),void 0!==n.identifierPrefix&&(i=n.identifierPrefix),void 0!==n.onRecoverableError&&(s=n.onRecoverableError)),t=Ul(t,null,e,1,null!=n?n:null,o,0,i,s),e[fo]=t.current,Ua(e),a)for(e=0;e<a.length;e++)o=(o=(n=a[e])._getVersion)(n._source),null==t.mutableSourceEagerHydrationData?t.mutableSourceEagerHydrationData=[n,o]:t.mutableSourceEagerHydrationData.push(n,o);return new Wl(t)},t.render=function(e,t,n){if(!Jl(t))throw Error(r(200));return Xl(null,e,t,!1,n)},t.unmountComponentAtNode=function(e){if(!Jl(e))throw Error(r(40));return!!e._reactRootContainer&&(ul(function(){Xl(null,null,e,!1,function(){e._reactRootContainer=null,e[fo]=null})}),!0)},t.unstable_batchedUpdates=ll,t.unstable_renderSubtreeIntoContainer=function(e,t,n,a){if(!Jl(n))throw Error(r(200));if(null==e||void 0===e._reactInternals)throw Error(r(38));return Xl(e,t,n,!1,a)},t.version="18.3.1-next-f1338f8080-20240426"},593:(e,t,n)=>{"use strict";e.exports=n(910)},723:(e,t,n)=>{"use strict";e.exports=n(921)},910:(e,t)=>{"use strict";function n(e,t){var n=e.length;e.push(t);e:for(;0<n;){var a=n-1>>>1,o=e[a];if(!(0<r(o,t)))break e;e[a]=t,e[n]=o,n=a}}function a(e){return 0===e.length?null:e[0]}function o(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var a=0,o=e.length,i=o>>>1;a<i;){var s=2*(a+1)-1,c=e[s],l=s+1,u=e[l];if(0>r(c,n))l<o&&0>r(u,c)?(e[a]=u,e[l]=n,a=l):(e[a]=c,e[s]=n,a=s);else{if(!(l<o&&0>r(u,n)))break e;e[a]=u,e[l]=n,a=l}}}return t}function r(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if("object"==typeof performance&&"function"==typeof performance.now){var i=performance;t.unstable_now=function(){return i.now()}}else{var s=Date,c=s.now();t.unstable_now=function(){return s.now()-c}}var l=[],u=[],d=1,p=null,h=3,m=!1,f=!1,g=!1,y="function"==typeof setTimeout?setTimeout:null,b="function"==typeof clearTimeout?clearTimeout:null,k="undefined"!=typeof setImmediate?setImmediate:null;function v(e){for(var t=a(u);null!==t;){if(null===t.callback)o(u);else{if(!(t.startTime<=e))break;o(u),t.sortIndex=t.expirationTime,n(l,t)}t=a(u)}}function w(e){if(g=!1,v(e),!f)if(null!==a(l))f=!0,L(j);else{var t=a(u);null!==t&&N(w,t.startTime-e)}}function j(e,n){f=!1,g&&(g=!1,b(z),z=-1),m=!0;var r=h;try{for(v(n),p=a(l);null!==p&&(!(p.expirationTime>n)||e&&!O());){var i=p.callback;if("function"==typeof i){p.callback=null,h=p.priorityLevel;var s=i(p.expirationTime<=n);n=t.unstable_now(),"function"==typeof s?p.callback=s:p===a(l)&&o(l),v(n)}else o(l);p=a(l)}if(null!==p)var c=!0;else{var d=a(u);null!==d&&N(w,d.startTime-n),c=!1}return c}finally{p=null,h=r,m=!1}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var _,x=!1,C=null,z=-1,S=5,E=-1;function O(){return!(t.unstable_now()-E<S)}function A(){if(null!==C){var e=t.unstable_now();E=e;var n=!0;try{n=C(!0,e)}finally{n?_():(x=!1,C=null)}}else x=!1}if("function"==typeof k)_=function(){k(A)};else if("undefined"!=typeof MessageChannel){var P=new MessageChannel,I=P.port2;P.port1.onmessage=A,_=function(){I.postMessage(null)}}else _=function(){y(A,0)};function L(e){C=e,x||(x=!0,_())}function N(e,n){z=y(function(){e(t.unstable_now())},n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){f||m||(f=!0,L(j))},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):S=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return h},t.unstable_getFirstCallbackNode=function(){return a(l)},t.unstable_next=function(e){switch(h){case 1:case 2:case 3:var t=3;break;default:t=h}var n=h;h=t;try{return e()}finally{h=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=h;h=e;try{return t()}finally{h=n}},t.unstable_scheduleCallback=function(e,o,r){var i=t.unstable_now();switch(r="object"==typeof r&&null!==r&&"number"==typeof(r=r.delay)&&0<r?i+r:i,e){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return e={id:d++,callback:o,priorityLevel:e,startTime:r,expirationTime:s=r+s,sortIndex:-1},r>i?(e.sortIndex=r,n(u,e),null===a(l)&&e===a(u)&&(g?(b(z),z=-1):g=!0,N(w,r-i))):(e.sortIndex=s,n(l,e),f||m||(f=!0,L(j))),e},t.unstable_shouldYield=O,t.unstable_wrapCallback=function(e){var t=h;return function(){var n=h;h=t;try{return e.apply(this,arguments)}finally{h=n}}}},921:(e,t,n)=>{"use strict";var a=n(155),o=Symbol.for("react.element"),r=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,s=a.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,c={key:!0,ref:!0,__self:!0,__source:!0};function l(e,t,n){var a,r={},l=null,u=null;for(a in void 0!==n&&(l=""+n),void 0!==t.key&&(l=""+t.key),void 0!==t.ref&&(u=t.ref),t)i.call(t,a)&&!c.hasOwnProperty(a)&&(r[a]=t[a]);if(e&&e.defaultProps)for(a in t=e.defaultProps)void 0===r[a]&&(r[a]=t[a]);return{$$typeof:o,type:e,key:l,ref:u,props:r,_owner:s.current}}t.Fragment=r,t.jsx=l,t.jsxs=l},997:(e,t,n)=>{"use strict";var a=n(316);t.H=a.createRoot,a.hydrateRoot}},t={};function n(a){var o=t[a];if(void 0!==o)return o.exports;var r=t[a]={exports:{}};return e[a](r,r.exports,n),r.exports}n.d=(e,t)=>{for(var a in t)n.o(t,a)&&!n.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var a={};(()=>{"use strict";function e(e){throw new Error(`Non-never value at runtime: ${e}`)}function t(t,n,a,o){void 0===a?t.searchParams[o](n,"undefined"):null===a?t.searchParams[o](n,"null"):"boolean"==typeof a?t.searchParams[o](n,a?"true":"false"):"number"==typeof a?t.searchParams[o](n,a.toString(10)):"string"==typeof a?t.searchParams[o](n,a):"object"==typeof a?t.searchParams[o](n,JSON.stringify(a)):e(a)}n.r(a),n.d(a,{initializeAdUnit:()=>um});class o extends Error{source;constructor(e,t){super(e),this.name="ApiError",this.source=t}}class r extends o{constructor(e){super(`Fetch error: ${e.message}`,e)}}class i extends o{status;statusText;response;constructor(e){const{status:t,statusText:n}=e;super(`Status error (${t}): ${n}`),this.status=t,this.statusText=n,this.response=e}}class s extends o{response;constructor(e,t){const[n,a]="string"==typeof t?[t,void 0]:[t.message,t];super(`Response body error: ${n}`,a),this.response=e}}async function c(e,t){try{return await fetch(e,t)}catch(e){if(e instanceof TypeError)throw new r(e);throw e}}class l{body;constructor(e){this.body=e}static Json(e){return new l({type:"json",json:e})}static B64Json(e){return new l({type:"b64json",json:e})}static String(e){return new l({type:"string",string:e})}getContentType(){switch(this.body.type){case"json":return"application/json";case"b64json":case"string":return"text/plain";default:e(this.body)}}getSerialized(){switch(this.body.type){case"json":return JSON.stringify(this.body.json);case"b64json":return t=JSON.stringify(this.body.json),function(e){const t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";let n="",a=0;for(;a+2<e.length;a+=3){const o=e[a]<<16|e[a+1]<<8|e[a+2];n+=t[o>>>18&63]+t[o>>>12&63]+t[o>>>6&63]+t[63&o]}if(a<e.length){const o=e[a]<<16|(a+1<e.length?e[a+1]:0)<<8;n+=t[o>>>18&63]+t[o>>>12&63]+(a+1<e.length?t[o>>>6&63]:"=")+"="}return n}((new TextEncoder).encode(t));case"string":return this.body.string;default:e(this.body)}var t}}function u(e){return new Promise(t=>{setTimeout(t,e)})}function d(e){const t=function(e){const t=e.trim();return/^[+-]?\d+$/.test(t)?parseInt(t,10):null}(e);return null===t||t<0?null:t}function p(e){const t=function(e){const t=parseInt(e,10);return isNaN(t)?null:t}(e);return null===t||t<0?null:t}function h(e){return"string"==typeof e?e:"number"==typeof e?e.toString():null}function m(e,{backoffMultiplier:t=1,retryAfter:n=null}={}){if(n){const e=function(e){const t=d(e);if(null!==t)return 1e3*t;const n=Date.parse(e);return isNaN(n)?null:n-Date.now()}(n);if(null!==e)return Math.max(Math.min(e,1e4),500)}return Math.min(500*Math.pow(2,e),1e4)*t*(1+.1*(2*Math.random()-1))}class f{name="JsonBodyParser";async parse(e){try{return e.json()}catch(t){throw new s(e,t instanceof Error?t:"Failed to parse JSON")}}checkContentType(e){return e?.includes("application/json")??!1}}class g{name="VoidBodyParser";async parse(e){}checkContentType(e){return!0}}async function y(e,t,n,a,o){if(e.status>=200&&e.status<300){const{parser:n,ignoreContentTypeHeader:a=!1}=t??{},o=e.headers.get("Content-Type");if(!a&&!n.checkContentType(o))throw new s(e,`Did not expect Content-Type "${o}" for parser ${n.name}`);return t.parser.parse(e)}if(n>=5)throw new i(e);if(401===e.status&&o)return o(n+1);if(429===e.status||503===e.status){const t=m(n+2,{backoffMultiplier:2,retryAfter:e.headers.get("Retry-After")});return await u(t),a(n+3)}if(e.status>=400&&e.status<=499)throw new i(e);{const e=m(n);return await u(e),a(n+1)}}class b{rootUrl;appVersion;truesignEndpoint;tsToken=null;injectInto;partnerKey;constructor(e,t){this.truesignEndpoint=t?.truesignEndpoint,this.rootUrl=e,this.injectInto=t.injectInto??"query",this.appVersion=t.appVersion,this.partnerKey=t.partnerKey}async createTSToken(){try{const e={signal:AbortSignal.timeout(1e3)},t=await fetch(`https://edge.truesign.ai/v2/${this.truesignEndpoint}`,{...e}),n=await t.json();return this.tsToken=n.token,this.tsToken||"no-token"}catch(e){return console.error("Unable to request authentication token",e),this.tsToken="unauthenticated",this.tsToken}}async getTsToken(){return this.tsToken?this.tsToken:await this.createTSToken()}buildUrl(e){return new URL(`${this.rootUrl}${e}`)}async applyQueryParams(e,n){return function(e,n){const a=new URL(e);for(const[e,o]of Object.entries(n))if(Array.isArray(o)){a.searchParams.delete(e);for(const n of o)t(a,e,n,"append")}else t(a,e,o,"set");return a}(e,{...n,..."query"===this.injectInto?{...this.truesignEndpoint?{tsToken:await this.getTsToken()}:{},...this.partnerKey?{partnerKey:this.partnerKey}:{},appVersion:this.appVersion}:{}})}async applyHeaders(e){const t=new Headers(e);return"headers"===this.injectInto&&(this.truesignEndpoint&&t.set("X-TS-Token",await this.getTsToken()),this.partnerKey&&t.set("X-Partner-Key",this.partnerKey),t.set("X-App-Version",this.appVersion)),t}async get(e,{params:t={},request:n={},parser:a=new f,ignoreContentTypeHeader:o}={}){const r=this.buildUrl(e),i=await this.applyQueryParams(r,t),s=await this.applyHeaders(n?.headers);return this._get(i,0,{...n,headers:s},{parser:a,ignoreContentTypeHeader:o})}async _get(e,t,n,a){try{return y(await c(e,{...n,body:void 0,method:"GET"}),a,t,t=>this._get(e,t,n,a),this.truesignEndpoint?async t=>{await this.createTSToken();const o=await this.applyQueryParams(e),r=await this.applyHeaders(n.headers);return this._get(o,t,{...n,headers:r},a)}:null)}catch(t){throw console.error(`Error on get ${e.origin}${e.pathname}`,t),t}}async post(e,{params:t={},body:n=null,request:a={},parser:o=new g,ignoreContentTypeHeader:r}={}){const i=this.buildUrl(e),s=await this.applyQueryParams(i,t),c=await this.applyHeaders(a?.headers);n&&!c.has("Content-Type")&&c.set("Content-Type",n.getContentType());const l=n?n.getSerialized():null;return this._post(s,l,0,{...a,headers:c},{parser:o,ignoreContentTypeHeader:r})}async _post(e,t,n,a,o){try{return y(await c(e,{...a,body:t,method:"POST"}),o,n,n=>this._post(e,t,n,a,o),this.truesignEndpoint?async n=>{await this.createTSToken();const r=await this.applyQueryParams(e),i=await this.applyHeaders(a.headers);return this._post(r,t,n,{...a,headers:i},o)}:null)}catch(t){throw console.error(`Error on post ${e.origin}${e.pathname}`,t),t}}}class k{apiService=null;rootUrl;options;constructor(e,t){this.rootUrl=e,this.options=t,this.apiService=null}initialize(e){if(this.apiService)throw new Error("APIService already initialized");this.apiService=new b(this.rootUrl,{...this.options,...e})}get(){if(!this.apiService)throw new Error("APIService not initialized");return this.apiService}}const v=new k("https://api.getdirecto.com",{truesignEndpoint:"1558123949",injectInto:"headers"});v.get.bind(v);const w=new k("https://events.getdirecto.com",{truesignEndpoint:"80298941"});async function j(e){return await w.get().post("/experiment",{body:l.B64Json(e)})}w.get.bind(w);const _=new k("https://vio-wrapper-api-cd-6981968610.europe-west4.run.app",{truesignEndpoint:"1678801807",injectInto:"headers"});_.get.bind(_);const x=new k("https://rateshops.getdirecto.com",{truesignEndpoint:"1010119886",injectInto:"headers"}),C=x.get.bind(x),z=new k("https://htmlql-6981968610.europe-west4.run.app",{truesignEndpoint:"465050282"});function S(e){if(e.success)return e.response;throw new Error(e.errorMessage)}z.get.bind(z);const E=function(){const e=new Map;return new Proxy({},{get(t,n){if("string"!=typeof n)return;const a=n;return e.has(a)||e.set(a,function(e,t){return function(...n){let a;a=1===n.length?n[0]:void 0;const o={serverId:e,handlerId:t,...void 0!==a?{payload:a}:{}};return chrome.runtime.sendMessage(o).then(S)}}("DIRECTO_CORE_BACKGROUND",a)),e.get(a)}})}();var O=Object.prototype;const A=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||O)},P=function(e,t){return function(n){return e(t(n))}},I=P(Object.keys,Object);var L=Object.prototype.hasOwnProperty;const N=function(e){if(!A(e))return I(e);var t=[];for(var n in Object(e))L.call(e,n)&&"constructor"!=n&&t.push(n);return t},T="object"==typeof global&&global&&global.Object===Object&&global;var D="object"==typeof self&&self&&self.Object===Object&&self;const R=T||D||Function("return this")(),M=R.Symbol;var $=Object.prototype,B=$.hasOwnProperty,F=$.toString,U=M?M.toStringTag:void 0;var V=Object.prototype.toString;var H=M?M.toStringTag:void 0;const K=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":H&&H in Object(e)?function(e){var t=B.call(e,U),n=e[U];try{e[U]=void 0;var a=!0}catch(e){}var o=F.call(e);return a&&(t?e[U]=n:delete e[U]),o}(e):function(e){return V.call(e)}(e)},Y=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},q=function(e){if(!Y(e))return!1;var t=K(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t},Q=R["__core-js_shared__"];var W,G=(W=/[^.]+$/.exec(Q&&Q.keys&&Q.keys.IE_PROTO||""))?"Symbol(src)_1."+W:"";var J=Function.prototype.toString;const Z=function(e){if(null!=e){try{return J.call(e)}catch(e){}try{return e+""}catch(e){}}return""};var X=/^\[object .+?Constructor\]$/,ee=Function.prototype,te=Object.prototype,ne=ee.toString,ae=te.hasOwnProperty,oe=RegExp("^"+ne.call(ae).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");const re=function(e){return!(!Y(e)||(t=e,G&&G in t))&&(q(e)?oe:X).test(Z(e));var t},ie=function(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return re(n)?n:void 0},se=ie(R,"DataView"),ce=ie(R,"Map"),le=ie(R,"Promise"),ue=ie(R,"Set"),de=ie(R,"WeakMap");var pe="[object Map]",he="[object Promise]",me="[object Set]",fe="[object WeakMap]",ge="[object DataView]",ye=Z(se),be=Z(ce),ke=Z(le),ve=Z(ue),we=Z(de),je=K;(se&&je(new se(new ArrayBuffer(1)))!=ge||ce&&je(new ce)!=pe||le&&je(le.resolve())!=he||ue&&je(new ue)!=me||de&&je(new de)!=fe)&&(je=function(e){var t=K(e),n="[object Object]"==t?e.constructor:void 0,a=n?Z(n):"";if(a)switch(a){case ye:return ge;case be:return pe;case ke:return he;case ve:return me;case we:return fe}return t});const _e=je,xe=function(e){return null!=e&&"object"==typeof e},Ce=function(e){return xe(e)&&"[object Arguments]"==K(e)};var ze=Object.prototype,Se=ze.hasOwnProperty,Ee=ze.propertyIsEnumerable;const Oe=Ce(function(){return arguments}())?Ce:function(e){return xe(e)&&Se.call(e,"callee")&&!Ee.call(e,"callee")},Ae=Array.isArray,Pe=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991},Ie=function(e){return null!=e&&Pe(e.length)&&!q(e)};var Le="object"==typeof exports&&exports&&!exports.nodeType&&exports,Ne=Le&&"object"==typeof module&&module&&!module.nodeType&&module,Te=Ne&&Ne.exports===Le?R.Buffer:void 0;const De=(Te?Te.isBuffer:void 0)||function(){return!1};var Re={};Re["[object Float32Array]"]=Re["[object Float64Array]"]=Re["[object Int8Array]"]=Re["[object Int16Array]"]=Re["[object Int32Array]"]=Re["[object Uint8Array]"]=Re["[object Uint8ClampedArray]"]=Re["[object Uint16Array]"]=Re["[object Uint32Array]"]=!0,Re["[object Arguments]"]=Re["[object Array]"]=Re["[object ArrayBuffer]"]=Re["[object Boolean]"]=Re["[object DataView]"]=Re["[object Date]"]=Re["[object Error]"]=Re["[object Function]"]=Re["[object Map]"]=Re["[object Number]"]=Re["[object Object]"]=Re["[object RegExp]"]=Re["[object Set]"]=Re["[object String]"]=Re["[object WeakMap]"]=!1;const Me=function(e){return function(t){return e(t)}};var $e="object"==typeof exports&&exports&&!exports.nodeType&&exports,Be=$e&&"object"==typeof module&&module&&!module.nodeType&&module,Fe=Be&&Be.exports===$e&&T.process,Ue=function(){try{return Be&&Be.require&&Be.require("util").types||Fe&&Fe.binding&&Fe.binding("util")}catch(e){}}(),Ve=Ue&&Ue.isTypedArray;const He=Ve?Me(Ve):function(e){return xe(e)&&Pe(e.length)&&!!Re[K(e)]};var Ke=Object.prototype.hasOwnProperty;const Ye=function(e){if(null==e)return!0;if(Ie(e)&&(Ae(e)||"string"==typeof e||"function"==typeof e.splice||De(e)||He(e)||Oe(e)))return!e.length;var t=_e(e);if("[object Map]"==t||"[object Set]"==t)return!e.size;if(A(e))return!N(e).length;for(var n in e)if(Ke.call(e,n))return!1;return!0};function qe(e,t=Ye,n=10){let a=0;return async function o(...r){const i=await e(...r);return t(i)&&a<=n?(a+=1,await new Promise(e=>setTimeout(e,2**a)),o(...r)):i}}function Qe(e,t=2){const n="0".repeat(t)+e;return n.slice(n.length-t,n.length)}function We(e){if(function(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)}(e))return e}function Ge(e,t){const n="function"==typeof t?t:e=>t.test(e),a=Object.keys(e).find(n);if(a)return e[a]}function Je(e){return JSON.parse(e)}function Ze(e){const t=function(e){return We(Je(e))??null}(e);return!t||Ye(t)?null:t}const Xe=function(e){return"symbol"==typeof e||xe(e)&&"[object Symbol]"==K(e)};var et=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,tt=/^\w*$/;const nt=function(e,t){if(Ae(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!Xe(e))||tt.test(e)||!et.test(e)||null!=t&&e in Object(t)},at=ie(Object,"create");var ot=Object.prototype.hasOwnProperty;var rt=Object.prototype.hasOwnProperty;function it(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var a=e[t];this.set(a[0],a[1])}}it.prototype.clear=function(){this.__data__=at?at(null):{},this.size=0},it.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},it.prototype.get=function(e){var t=this.__data__;if(at){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return ot.call(t,e)?t[e]:void 0},it.prototype.has=function(e){var t=this.__data__;return at?void 0!==t[e]:rt.call(t,e)},it.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=at&&void 0===t?"__lodash_hash_undefined__":t,this};const st=it,ct=function(e,t){return e===t||e!=e&&t!=t},lt=function(e,t){for(var n=e.length;n--;)if(ct(e[n][0],t))return n;return-1};var ut=Array.prototype.splice;function dt(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var a=e[t];this.set(a[0],a[1])}}dt.prototype.clear=function(){this.__data__=[],this.size=0},dt.prototype.delete=function(e){var t=this.__data__,n=lt(t,e);return!(n<0||(n==t.length-1?t.pop():ut.call(t,n,1),--this.size,0))},dt.prototype.get=function(e){var t=this.__data__,n=lt(t,e);return n<0?void 0:t[n][1]},dt.prototype.has=function(e){return lt(this.__data__,e)>-1},dt.prototype.set=function(e,t){var n=this.__data__,a=lt(n,e);return a<0?(++this.size,n.push([e,t])):n[a][1]=t,this};const pt=dt,ht=function(e,t){var n,a,o=e.__data__;return("string"==(a=typeof(n=t))||"number"==a||"symbol"==a||"boolean"==a?"__proto__"!==n:null===n)?o["string"==typeof t?"string":"hash"]:o.map};function mt(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var a=e[t];this.set(a[0],a[1])}}mt.prototype.clear=function(){this.size=0,this.__data__={hash:new st,map:new(ce||pt),string:new st}},mt.prototype.delete=function(e){var t=ht(this,e).delete(e);return this.size-=t?1:0,t},mt.prototype.get=function(e){return ht(this,e).get(e)},mt.prototype.has=function(e){return ht(this,e).has(e)},mt.prototype.set=function(e,t){var n=ht(this,e),a=n.size;return n.set(e,t),this.size+=n.size==a?0:1,this};const ft=mt;function gt(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var a=arguments,o=t?t.apply(this,a):a[0],r=n.cache;if(r.has(o))return r.get(o);var i=e.apply(this,a);return n.cache=r.set(o,i)||r,i};return n.cache=new(gt.Cache||ft),n}gt.Cache=ft;var yt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,bt=/\\(\\)?/g;const kt=(vt=function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(yt,function(e,n,a,o){t.push(a?o.replace(bt,"$1"):n||e)}),t},wt=gt(vt,function(e){return 500===jt.size&&jt.clear(),e}),jt=wt.cache,wt);var vt,wt,jt;const _t=function(e,t){for(var n=-1,a=null==e?0:e.length,o=Array(a);++n<a;)o[n]=t(e[n],n,e);return o};var xt=M?M.prototype:void 0,Ct=xt?xt.toString:void 0;const zt=function e(t){if("string"==typeof t)return t;if(Ae(t))return _t(t,e)+"";if(Xe(t))return Ct?Ct.call(t):"";var n=t+"";return"0"==n&&1/t==-1/0?"-0":n},St=function(e){return null==e?"":zt(e)},Et=function(e,t){return Ae(e)?e:nt(e,t)?[e]:kt(St(e))},Ot=function(e){if("string"==typeof e||Xe(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t},At=function(e,t){for(var n=0,a=(t=Et(t,e)).length;null!=e&&n<a;)e=e[Ot(t[n++])];return n&&n==a?e:void 0},Pt=function(e,t,n){var a=null==e?void 0:At(e,t);return void 0===a?n:a},It=function(e,t){for(var n=-1,a=null==e?0:e.length;++n<a&&!1!==t(e[n],n,e););return e},Lt=function(e,t,n){for(var a=-1,o=Object(e),r=n(e),i=r.length;i--;){var s=r[Nt?i:++a];if(!1===t(o[s],s,o))break}return e};var Nt;var Tt=/^(?:0|[1-9]\d*)$/;const Dt=function(e,t){var n=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==n||"symbol"!=n&&Tt.test(e))&&e>-1&&e%1==0&&e<t};var Rt=Object.prototype.hasOwnProperty;const Mt=function(e,t){var n=Ae(e),a=!n&&Oe(e),o=!n&&!a&&De(e),r=!n&&!a&&!o&&He(e),i=n||a||o||r,s=i?function(e,t){for(var n=-1,a=Array(e);++n<e;)a[n]=t(n);return a}(e.length,String):[],c=s.length;for(var l in e)!t&&!Rt.call(e,l)||i&&("length"==l||o&&("offset"==l||"parent"==l)||r&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||Dt(l,c))||s.push(l);return s},$t=function(e){return Ie(e)?Mt(e):N(e)},Bt=function(e,t){return e&&Lt(e,t,$t)},Ft=function(e,t){return function(n,a){if(null==n)return n;if(!Ie(n))return e(n,a);for(var o=n.length,r=t?o:-1,i=Object(n);(t?r--:++r<o)&&!1!==a(i[r],r,i););return n}}(Bt),Ut=function(e){return e},Vt=function(e,t){return(Ae(e)?It:Ft)(e,"function"==typeof(n=t)?n:Ut);var n},Ht="userLocale";function Kt(){let e;return e=null!=navigator.languages?navigator.languages[0]:navigator.language,e=e.split("-")[0]||e||"en",e}let Yt=null;function qt(){return Yt=Yt||Kt(),Yt}function Qt(e,t=document){let n=null;for(const a of e){const e=t.querySelector(a);if(e){n=e;break}}return n}function Wt(e,t=document){let n=null;for(const a of e){const e=t.querySelectorAll(a);if(e.length){n=e;break}}return n}async function Gt(e,t,n){if(n.signal?.aborted)return;const a=await qe(e=>{const t=Qt(e);return t&&n.getContainer?n.getContainer(t):t},e=>!e)(e);if(n.signal?.aborted)return;if(!a){if(null!==n.retryMs){const a=setTimeout(()=>{Gt(e,t,n)},n.retryMs),o=()=>{n.signal?.removeEventListener("abort",o),clearTimeout(a)};n.signal?.addEventListener("abort",o)}return}const o=await t(a);if(!n.signal?.aborted&&null!==n.checkIntervalMs){const r=setInterval(()=>{a.isConnected||(o?.(),clearInterval(r),Gt(e,t,n))},n.checkIntervalMs),i=()=>{n.signal?.removeEventListener("abort",i),clearInterval(r)};n.signal?.addEventListener("abort",i)}}function Jt(){return function(){let e=document.documentElement.lang;return e=e.split("-")[0],e?e.toLowerCase():null}()??Kt()}async function Zt(e){const t=await qe(Qt,e=>!e||!e.textContent,10)(e);if(!t||!t.textContent)return null;let n;try{n=Je(t.textContent)}catch(t){return console.error("Error parsing JSON from selectors",e,t),null}const a=We(n);return!a||Ye(a)?null:a}function Xt(e){return e.checkVisibility({contentVisibilityAuto:!0,opacityProperty:!0,visibilityProperty:!0})}function en(e){const t=e.textContent.trim();return""!==t?t:"value"in e&&"string"==typeof e.value?e.value.trim():null}async function tn(e){return"function"==typeof e?await e():e}!async function(){const{[Ht]:e}=await chrome.storage.local.get(Ht);Yt=e??null}();class nn{platform;constructor(e){this.platform=e}async getQueryParam(e,t=window.location.href){const n=new URL(t);return tn((await this.getQueryParamMap(n))[e])}}class an{year;month;day;constructor(e,t,n){this.year=e,this.month=t,this.day=n}static unsafe_new(e,t,n){if(isNaN(e)||isNaN(t)||isNaN(n))throw new Error(`Invalid date: ${e}-${t}-${n}`);const a=new an(e,t,n),o=a.unsafe_toDate();if(isNaN(o.getTime())||o.getFullYear()!==e||o.getMonth()+1!==t||o.getDate()!==n)throw new Error(`Invalid date: ${e}-${t}-${n}`);return a}static new(e,t,n){try{return an.unsafe_new(e,t,n)}catch{return null}}static today(){return an.unsafe_fromDate(new Date)}static unsafe_fromRaw(e){return an.unsafe_new(e.year,e.month,e.day)}static fromRaw(e){return an.new(e.year,e.month,e.day)}static unsafe_fromDate(e){if(isNaN(e.getTime()))throw new Error("Invalid Date object");return an.unsafe_new(e.getFullYear(),e.getMonth()+1,e.getDate())}static fromDate(e){try{return an.unsafe_fromDate(e)}catch{return null}}static tryFromSlashDDMMYY(e){const t=e.match(/^(?<dd>\d{2})\/(?<mm>\d{2})\/(?<yy>\d{2})$/);if(!t)return null;const{dd:n,mm:a,yy:o}=t.groups;return an.new(2e3+parseInt(o,10),parseInt(a,10),parseInt(n,10))}static tryFromSlashDMY(e){const t=e.match(/^(?<d>\d{1,2})\/(?<m>\d{1,2})\/(?<y>\d{1,2})$/);if(!t)return null;const{d:n,m:a,y:o}=t.groups;return an.new(2e3+parseInt(o,10),parseInt(a,10),parseInt(n,10))}static tryFromDashYYYYMMDD(e){const t=e.match(/^(?<yyyy>\d{4})-(?<mm>\d{2})-(?<dd>\d{2})$/);if(!t)return null;const{yyyy:n,mm:a,dd:o}=t.groups;return an.new(parseInt(n,10),parseInt(a,10),parseInt(o,10))}static tryFromDashDDMMYYYY(e){const t=e.match(/^(?<dd>\d{2})-(?<mm>\d{2})-(?<yyyy>\d{4})$/);if(!t)return null;const{dd:n,mm:a,yyyy:o}=t.groups;return an.new(parseInt(o,10),parseInt(a,10),parseInt(n,10))}static tryFromSlashDDMMYYYY(e){const t=e.match(/^(?<dd>\d{2})\/(?<mm>\d{2})\/(?<yyyy>\d{4})$/);if(!t)return null;const{yyyy:n,mm:a,dd:o}=t.groups;return an.new(parseInt(n,10),parseInt(a,10),parseInt(o,10))}static tryFromSlashMMDDYYYY(e){const t=e.match(/^(?<mm>\d{2})\/(?<dd>\d{2})\/(?<yyyy>\d{4})$/);if(!t)return null;const{yyyy:n,mm:a,dd:o}=t.groups;return an.new(parseInt(n,10),parseInt(a,10),parseInt(o,10))}toDashYYYYMMDD(){return`${Qe(this.year,4)}-${Qe(this.month)}-${Qe(this.day)}`}unsafe_toDate(){return function(e,t,n){const a=new Date;return a.setFullYear(e,t,n),a.setHours(0,0,0,0),a}(this.year,this.month-1,this.day)}}function on(e,t){const n=new Date(e);return n.setDate(e.getDate()+t),n}function rn(e){if(!e)return null;const t=new Date(e);if(!isNaN(t.getTime()))return`${t.getFullYear()}-${Qe(t.getUTCMonth()+1)}-${Qe(t.getUTCDate())}`;const n=e?.split("/");return 3===n?.length?`${2===n[2].length?`20${n[2]}`:n[2]}-${Qe(n[1])}-${Qe(n[0])}`:e}function sn(e){if(!e)return null;if(e.includes("-")){if(/^\d{4}-\d{1,2}-\d{1,2}$/.test(e)){const[t,n,a]=e.split("-");return`${t}-${Qe(n)}-${Qe(a)}`}if(/^\d{1,2}-\d{1,2}-\d{2,4}$/.test(e)){const[t,n,a]=e.split("-");return`${2===a.length?"20":""}${a}-${Qe(n)}-${Qe(t)}`}return null}if(/^\d{8}$/.test(e))return`${e.substring(0,4)}-${e.substring(4,6)}-${e.substring(6,8)}`;if(e.includes("/")){const[t,n,a]=e.split("/");return t&&n&&a?`${2===a.length?"20":""}${a}-${Qe(n)}-${Qe(t)}`:null}return null}function cn(e){return e.toISOString().split("T")[0]}function ln(e){return e.trim().normalize("NFD").replace(/[\u0300-\u036f]/g,"")}function un(e){return`(${e})`}class dn extends nn{async maybeOpenTab(){const e=await this.getDestination();if(!e)return;const t=await this.getQueryParam("checkin");if(!t)return;const[n,a,o,r]=await Promise.all([this.getQueryParam("checkout"),this.getQueryParam("adults"),this.getQueryParam("children"),this.getQueryParam("currency")]),i=n??function(e){const t=new Date(e.year,e.month-1,e.day+1);return an.unsafe_fromDate(t)}(t),{partnerKey:s}=await E.getConfig();await E.openKayakCrossSellTab({sourceUrl:window.location.href,trackingLabel:this.platform,partnerKey:s??null,destination:e,checkin:t,checkout:i,adults:a,children:o,currency:r})}}class pn extends dn{async handleSearchClick(){await E.setCrossSellWasChecked({crossSellId:this.platform,checked:this.checked})}async maybeOpenTab(){await E.getCrossSellWasChecked({crossSellId:this.platform})&&await super.maybeOpenTab()}}class hn extends dn{async handleSearchClick(){this.checked&&await super.maybeOpenTab()}}const mn="EUR",fn=1e3;function gn(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var yn,bn;const kn=gn(function(){if(bn)return yn;bn=1;const e=2147483647,t=36,n=/^xn--/,a=/[^\0-\x7F]/,o=/[\x2E\u3002\uFF0E\uFF61]/g,r={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},i=Math.floor,s=String.fromCharCode;function c(e){throw new RangeError(r[e])}function l(e,t){const n=e.split("@");let a="";n.length>1&&(a=n[0]+"@",e=n[1]);const r=function(e,t){const n=[];let a=e.length;for(;a--;)n[a]=t(e[a]);return n}((e=e.replace(o,".")).split("."),t).join(".");return a+r}function u(e){const t=[];let n=0;const a=e.length;for(;n<a;){const o=e.charCodeAt(n++);if(o>=55296&&o<=56319&&n<a){const a=e.charCodeAt(n++);56320==(64512&a)?t.push(((1023&o)<<10)+(1023&a)+65536):(t.push(o),n--)}else t.push(o)}return t}const d=function(e){return e>=48&&e<58?e-48+26:e>=65&&e<91?e-65:e>=97&&e<123?e-97:t},p=function(e,t){return e+22+75*(e<26)-((0!=t)<<5)},h=function(e,n,a){let o=0;for(e=a?i(e/700):e>>1,e+=i(e/n);e>455;o+=t)e=i(e/35);return i(o+36*e/(e+38))},m=function(n){const a=[],o=n.length;let r=0,s=128,l=72,u=n.lastIndexOf("-");u<0&&(u=0);for(let e=0;e<u;++e)n.charCodeAt(e)>=128&&c("not-basic"),a.push(n.charCodeAt(e));for(let p=u>0?u+1:0;p<o;){const u=r;for(let a=1,s=t;;s+=t){p>=o&&c("invalid-input");const u=d(n.charCodeAt(p++));u>=t&&c("invalid-input"),u>i((e-r)/a)&&c("overflow"),r+=u*a;const h=s<=l?1:s>=l+26?26:s-l;if(u<h)break;const m=t-h;a>i(e/m)&&c("overflow"),a*=m}const m=a.length+1;l=h(r-u,m,0==u),i(r/m)>e-s&&c("overflow"),s+=i(r/m),r%=m,a.splice(r++,0,s)}return String.fromCodePoint(...a)},f=function(n){const a=[],o=(n=u(n)).length;let r=128,l=0,d=72;for(const e of n)e<128&&a.push(s(e));const m=a.length;let f=m;for(m&&a.push("-");f<o;){let o=e;for(const e of n)e>=r&&e<o&&(o=e);const u=f+1;o-r>i((e-l)/u)&&c("overflow"),l+=(o-r)*u,r=o;for(const o of n)if(o<r&&++l>e&&c("overflow"),o===r){let e=l;for(let n=t;;n+=t){const o=n<=d?1:n>=d+26?26:n-d;if(e<o)break;const r=e-o,c=t-o;a.push(s(p(o+r%c,0))),e=i(r/c)}a.push(s(p(e,0))),d=h(l,u,f===m),l=0,++f}++l,++r}return a.join("")};return yn={version:"2.3.1",ucs2:{decode:u,encode:e=>String.fromCodePoint(...e)},decode:m,encode:f,toASCII:function(e){return l(e,function(e){return a.test(e)?"xn--"+f(e):e})},toUnicode:function(e){return l(e,function(e){return n.test(e)?m(e.slice(4).toLowerCase()):e})}}}());function vn(e){let t=e.trim();return/^(?:f|ht)tps?\:\/\//.test(t)||(t="http://"+t),new URL(t)}function wn(e){return e.hostname.replace(/^www\./,"")}function jn(e){try{return wn("string"==typeof e?vn(e):e)}catch(t){return console.error("Invalid URL:",e,t),e.toString()}}["ac","com.ac","edu.ac","gov.ac","mil.ac","net.ac","org.ac","ad","ae","ac.ae","co.ae","gov.ae","mil.ae","net.ae","org.ae","sch.ae","aero","airline.aero","airport.aero","accident-investigation.aero","accident-prevention.aero","aerobatic.aero","aeroclub.aero","aerodrome.aero","agents.aero","air-surveillance.aero","air-traffic-control.aero","aircraft.aero","airtraffic.aero","ambulance.aero","association.aero","author.aero","ballooning.aero","broker.aero","caa.aero","cargo.aero","catering.aero","certification.aero","championship.aero","charter.aero","civilaviation.aero","club.aero","conference.aero","consultant.aero","consulting.aero","control.aero","council.aero","crew.aero","design.aero","dgca.aero","educator.aero","emergency.aero","engine.aero","engineer.aero","entertainment.aero","equipment.aero","exchange.aero","express.aero","federation.aero","flight.aero","freight.aero","fuel.aero","gliding.aero","government.aero","groundhandling.aero","group.aero","hanggliding.aero","homebuilt.aero","insurance.aero","journal.aero","journalist.aero","leasing.aero","logistics.aero","magazine.aero","maintenance.aero","marketplace.aero","media.aero","microlight.aero","modelling.aero","navigation.aero","parachuting.aero","paragliding.aero","passenger-association.aero","pilot.aero","press.aero","production.aero","recreation.aero","repbody.aero","res.aero","research.aero","rotorcraft.aero","safety.aero","scientist.aero","services.aero","show.aero","skydiving.aero","software.aero","student.aero","taxi.aero","trader.aero","trading.aero","trainer.aero","union.aero","workinggroup.aero","works.aero","af","com.af","edu.af","gov.af","net.af","org.af","ag","co.ag","com.ag","net.ag","nom.ag","org.ag","ai","com.ai","net.ai","off.ai","org.ai","al","com.al","edu.al","gov.al","mil.al","net.al","org.al","am","co.am","com.am","commune.am","net.am","org.am","ao","co.ao","ed.ao","edu.ao","gov.ao","gv.ao","it.ao","og.ao","org.ao","pb.ao","aq","ar","bet.ar","com.ar","coop.ar","edu.ar","gob.ar","gov.ar","int.ar","mil.ar","musica.ar","mutual.ar","net.ar","org.ar","senasa.ar","tur.ar","arpa","e164.arpa","home.arpa","in-addr.arpa","ip6.arpa","iris.arpa","uri.arpa","urn.arpa","as","gov.as","asia","at","ac.at","sth.ac.at","co.at","gv.at","or.at","au","asn.au","com.au","edu.au","gov.au","id.au","net.au","org.au","conf.au","oz.au","act.au","nsw.au","nt.au","qld.au","sa.au","tas.au","vic.au","wa.au","act.edu.au","catholic.edu.au","nsw.edu.au","nt.edu.au","qld.edu.au","sa.edu.au","tas.edu.au","vic.edu.au","wa.edu.au","qld.gov.au","sa.gov.au","tas.gov.au","vic.gov.au","wa.gov.au","schools.nsw.edu.au","aw","com.aw","ax","az","biz.az","com.az","edu.az","gov.az","info.az","int.az","mil.az","name.az","net.az","org.az","pp.az","pro.az","ba","com.ba","edu.ba","gov.ba","mil.ba","net.ba","org.ba","bb","biz.bb","co.bb","com.bb","edu.bb","gov.bb","info.bb","net.bb","org.bb","store.bb","tv.bb","*.bd","be","ac.be","bf","gov.bf","bg","0.bg","1.bg","2.bg","3.bg","4.bg","5.bg","6.bg","7.bg","8.bg","9.bg","a.bg","b.bg","c.bg","d.bg","e.bg","f.bg","g.bg","h.bg","i.bg","j.bg","k.bg","l.bg","m.bg","n.bg","o.bg","p.bg","q.bg","r.bg","s.bg","t.bg","u.bg","v.bg","w.bg","x.bg","y.bg","z.bg","bh","com.bh","edu.bh","gov.bh","net.bh","org.bh","bi","co.bi","com.bi","edu.bi","or.bi","org.bi","biz","bj","africa.bj","agro.bj","architectes.bj","assur.bj","avocats.bj","co.bj","com.bj","eco.bj","econo.bj","edu.bj","info.bj","loisirs.bj","money.bj","net.bj","org.bj","ote.bj","restaurant.bj","resto.bj","tourism.bj","univ.bj","bm","com.bm","edu.bm","gov.bm","net.bm","org.bm","bn","com.bn","edu.bn","gov.bn","net.bn","org.bn","bo","com.bo","edu.bo","gob.bo","int.bo","mil.bo","net.bo","org.bo","tv.bo","web.bo","academia.bo","agro.bo","arte.bo","blog.bo","bolivia.bo","ciencia.bo","cooperativa.bo","democracia.bo","deporte.bo","ecologia.bo","economia.bo","empresa.bo","indigena.bo","industria.bo","info.bo","medicina.bo","movimiento.bo","musica.bo","natural.bo","nombre.bo","noticias.bo","patria.bo","plurinacional.bo","politica.bo","profesional.bo","pueblo.bo","revista.bo","salud.bo","tecnologia.bo","tksat.bo","transporte.bo","wiki.bo","br","9guacu.br","abc.br","adm.br","adv.br","agr.br","aju.br","am.br","anani.br","aparecida.br","app.br","arq.br","art.br","ato.br","b.br","barueri.br","belem.br","bet.br","bhz.br","bib.br","bio.br","blog.br","bmd.br","boavista.br","bsb.br","campinagrande.br","campinas.br","caxias.br","cim.br","cng.br","cnt.br","com.br","contagem.br","coop.br","coz.br","cri.br","cuiaba.br","curitiba.br","def.br","des.br","det.br","dev.br","ecn.br","eco.br","edu.br","emp.br","enf.br","eng.br","esp.br","etc.br","eti.br","far.br","feira.br","flog.br","floripa.br","fm.br","fnd.br","fortal.br","fot.br","foz.br","fst.br","g12.br","geo.br","ggf.br","goiania.br","gov.br","ac.gov.br","al.gov.br","am.gov.br","ap.gov.br","ba.gov.br","ce.gov.br","df.gov.br","es.gov.br","go.gov.br","ma.gov.br","mg.gov.br","ms.gov.br","mt.gov.br","pa.gov.br","pb.gov.br","pe.gov.br","pi.gov.br","pr.gov.br","rj.gov.br","rn.gov.br","ro.gov.br","rr.gov.br","rs.gov.br","sc.gov.br","se.gov.br","sp.gov.br","to.gov.br","gru.br","imb.br","ind.br","inf.br","jab.br","jampa.br","jdf.br","joinville.br","jor.br","jus.br","leg.br","leilao.br","lel.br","log.br","londrina.br","macapa.br","maceio.br","manaus.br","maringa.br","mat.br","med.br","mil.br","morena.br","mp.br","mus.br","natal.br","net.br","niteroi.br","*.nom.br","not.br","ntr.br","odo.br","ong.br","org.br","osasco.br","palmas.br","poa.br","ppg.br","pro.br","psc.br","psi.br","pvh.br","qsl.br","radio.br","rec.br","recife.br","rep.br","ribeirao.br","rio.br","riobranco.br","riopreto.br","salvador.br","sampa.br","santamaria.br","santoandre.br","saobernardo.br","saogonca.br","seg.br","sjc.br","slg.br","slz.br","sorocaba.br","srv.br","taxi.br","tc.br","tec.br","teo.br","the.br","tmp.br","trd.br","tur.br","tv.br","udi.br","vet.br","vix.br","vlog.br","wiki.br","zlg.br","bs","com.bs","edu.bs","gov.bs","net.bs","org.bs","bt","com.bt","edu.bt","gov.bt","net.bt","org.bt","bv","bw","co.bw","org.bw","by","gov.by","mil.by","com.by","of.by","bz","co.bz","com.bz","edu.bz","gov.bz","net.bz","org.bz","ca","ab.ca","bc.ca","mb.ca","nb.ca","nf.ca","nl.ca","ns.ca","nt.ca","nu.ca","on.ca","pe.ca","qc.ca","sk.ca","yk.ca","gc.ca","cat","cc","cd","gov.cd","cf","cg","ch","ci","ac.ci","aéroport.ci","asso.ci","co.ci","com.ci","ed.ci","edu.ci","go.ci","gouv.ci","int.ci","net.ci","or.ci","org.ci","*.ck","!www.ck","cl","co.cl","gob.cl","gov.cl","mil.cl","cm","co.cm","com.cm","gov.cm","net.cm","cn","ac.cn","com.cn","edu.cn","gov.cn","mil.cn","net.cn","org.cn","公司.cn","網絡.cn","网络.cn","ah.cn","bj.cn","cq.cn","fj.cn","gd.cn","gs.cn","gx.cn","gz.cn","ha.cn","hb.cn","he.cn","hi.cn","hk.cn","hl.cn","hn.cn","jl.cn","js.cn","jx.cn","ln.cn","mo.cn","nm.cn","nx.cn","qh.cn","sc.cn","sd.cn","sh.cn","sn.cn","sx.cn","tj.cn","tw.cn","xj.cn","xz.cn","yn.cn","zj.cn","co","com.co","edu.co","gov.co","mil.co","net.co","nom.co","org.co","com","coop","cr","ac.cr","co.cr","ed.cr","fi.cr","go.cr","or.cr","sa.cr","cu","com.cu","edu.cu","gob.cu","inf.cu","nat.cu","net.cu","org.cu","cv","com.cv","edu.cv","id.cv","int.cv","net.cv","nome.cv","org.cv","publ.cv","cw","com.cw","edu.cw","net.cw","org.cw","cx","gov.cx","cy","ac.cy","biz.cy","com.cy","ekloges.cy","gov.cy","ltd.cy","mil.cy","net.cy","org.cy","press.cy","pro.cy","tm.cy","cz","de","dj","dk","dm","co.dm","com.dm","edu.dm","gov.dm","net.dm","org.dm","do","art.do","com.do","edu.do","gob.do","gov.do","mil.do","net.do","org.do","sld.do","web.do","dz","art.dz","asso.dz","com.dz","edu.dz","gov.dz","net.dz","org.dz","pol.dz","soc.dz","tm.dz","ec","com.ec","edu.ec","fin.ec","gob.ec","gov.ec","info.ec","k12.ec","med.ec","mil.ec","net.ec","org.ec","pro.ec","edu","ee","aip.ee","com.ee","edu.ee","fie.ee","gov.ee","lib.ee","med.ee","org.ee","pri.ee","riik.ee","eg","ac.eg","com.eg","edu.eg","eun.eg","gov.eg","info.eg","me.eg","mil.eg","name.eg","net.eg","org.eg","sci.eg","sport.eg","tv.eg","*.er","es","com.es","edu.es","gob.es","nom.es","org.es","et","biz.et","com.et","edu.et","gov.et","info.et","name.et","net.et","org.et","eu","fi","aland.fi","fj","ac.fj","biz.fj","com.fj","gov.fj","info.fj","mil.fj","name.fj","net.fj","org.fj","pro.fj","*.fk","fm","com.fm","edu.fm","net.fm","org.fm","fo","fr","asso.fr","com.fr","gouv.fr","nom.fr","prd.fr","tm.fr","avoues.fr","cci.fr","greta.fr","huissier-justice.fr","ga","gb","gd","edu.gd","gov.gd","ge","com.ge","edu.ge","gov.ge","net.ge","org.ge","pvt.ge","school.ge","gf","gg","co.gg","net.gg","org.gg","gh","com.gh","edu.gh","gov.gh","mil.gh","org.gh","gi","com.gi","edu.gi","gov.gi","ltd.gi","mod.gi","org.gi","gl","co.gl","com.gl","edu.gl","net.gl","org.gl","gm","gn","ac.gn","com.gn","edu.gn","gov.gn","net.gn","org.gn","gov","gp","asso.gp","com.gp","edu.gp","mobi.gp","net.gp","org.gp","gq","gr","com.gr","edu.gr","gov.gr","net.gr","org.gr","gs","gt","com.gt","edu.gt","gob.gt","ind.gt","mil.gt","net.gt","org.gt","gu","com.gu","edu.gu","gov.gu","guam.gu","info.gu","net.gu","org.gu","web.gu","gw","gy","co.gy","com.gy","edu.gy","gov.gy","net.gy","org.gy","hk","com.hk","edu.hk","gov.hk","idv.hk","net.hk","org.hk","个人.hk","個人.hk","公司.hk","政府.hk","敎育.hk","教育.hk","箇人.hk","組織.hk","組织.hk","網絡.hk","網络.hk","组織.hk","组织.hk","网絡.hk","网络.hk","hm","hn","com.hn","edu.hn","gob.hn","mil.hn","net.hn","org.hn","hr","com.hr","from.hr","iz.hr","name.hr","ht","adult.ht","art.ht","asso.ht","com.ht","coop.ht","edu.ht","firm.ht","gouv.ht","info.ht","med.ht","net.ht","org.ht","perso.ht","pol.ht","pro.ht","rel.ht","shop.ht","hu","2000.hu","agrar.hu","bolt.hu","casino.hu","city.hu","co.hu","erotica.hu","erotika.hu","film.hu","forum.hu","games.hu","hotel.hu","info.hu","ingatlan.hu","jogasz.hu","konyvelo.hu","lakas.hu","media.hu","news.hu","org.hu","priv.hu","reklam.hu","sex.hu","shop.hu","sport.hu","suli.hu","szex.hu","tm.hu","tozsde.hu","utazas.hu","video.hu","id","ac.id","biz.id","co.id","desa.id","go.id","mil.id","my.id","net.id","or.id","ponpes.id","sch.id","web.id","ie","gov.ie","il","ac.il","co.il","gov.il","idf.il","k12.il","muni.il","net.il","org.il","ישראל","אקדמיה.ישראל","ישוב.ישראל","צהל.ישראל","ממשל.ישראל","im","ac.im","co.im","ltd.co.im","plc.co.im","com.im","net.im","org.im","tt.im","tv.im","in","5g.in","6g.in","ac.in","ai.in","am.in","bihar.in","biz.in","business.in","ca.in","cn.in","co.in","com.in","coop.in","cs.in","delhi.in","dr.in","edu.in","er.in","firm.in","gen.in","gov.in","gujarat.in","ind.in","info.in","int.in","internet.in","io.in","me.in","mil.in","net.in","nic.in","org.in","pg.in","post.in","pro.in","res.in","travel.in","tv.in","uk.in","up.in","us.in","info","int","eu.int","io","co.io","com.io","edu.io","gov.io","mil.io","net.io","nom.io","org.io","iq","com.iq","edu.iq","gov.iq","mil.iq","net.iq","org.iq","ir","ac.ir","co.ir","gov.ir","id.ir","net.ir","org.ir","sch.ir","ایران.ir","ايران.ir","is","it","edu.it","gov.it","abr.it","abruzzo.it","aosta-valley.it","aostavalley.it","bas.it","basilicata.it","cal.it","calabria.it","cam.it","campania.it","emilia-romagna.it","emiliaromagna.it","emr.it","friuli-v-giulia.it","friuli-ve-giulia.it","friuli-vegiulia.it","friuli-venezia-giulia.it","friuli-veneziagiulia.it","friuli-vgiulia.it","friuliv-giulia.it","friulive-giulia.it","friulivegiulia.it","friulivenezia-giulia.it","friuliveneziagiulia.it","friulivgiulia.it","fvg.it","laz.it","lazio.it","lig.it","liguria.it","lom.it","lombardia.it","lombardy.it","lucania.it","mar.it","marche.it","mol.it","molise.it","piedmont.it","piemonte.it","pmn.it","pug.it","puglia.it","sar.it","sardegna.it","sardinia.it","sic.it","sicilia.it","sicily.it","taa.it","tos.it","toscana.it","trentin-sud-tirol.it","trentin-süd-tirol.it","trentin-sudtirol.it","trentin-südtirol.it","trentin-sued-tirol.it","trentin-suedtirol.it","trentino.it","trentino-a-adige.it","trentino-aadige.it","trentino-alto-adige.it","trentino-altoadige.it","trentino-s-tirol.it","trentino-stirol.it","trentino-sud-tirol.it","trentino-süd-tirol.it","trentino-sudtirol.it","trentino-südtirol.it","trentino-sued-tirol.it","trentino-suedtirol.it","trentinoa-adige.it","trentinoaadige.it","trentinoalto-adige.it","trentinoaltoadige.it","trentinos-tirol.it","trentinostirol.it","trentinosud-tirol.it","trentinosüd-tirol.it","trentinosudtirol.it","trentinosüdtirol.it","trentinosued-tirol.it","trentinosuedtirol.it","trentinsud-tirol.it","trentinsüd-tirol.it","trentinsudtirol.it","trentinsüdtirol.it","trentinsued-tirol.it","trentinsuedtirol.it","tuscany.it","umb.it","umbria.it","val-d-aosta.it","val-daosta.it","vald-aosta.it","valdaosta.it","valle-aosta.it","valle-d-aosta.it","valle-daosta.it","valleaosta.it","valled-aosta.it","valledaosta.it","vallee-aoste.it","vallée-aoste.it","vallee-d-aoste.it","vallée-d-aoste.it","valleeaoste.it","valléeaoste.it","valleedaoste.it","valléedaoste.it","vao.it","vda.it","ven.it","veneto.it","ag.it","agrigento.it","al.it","alessandria.it","alto-adige.it","altoadige.it","an.it","ancona.it","andria-barletta-trani.it","andria-trani-barletta.it","andriabarlettatrani.it","andriatranibarletta.it","ao.it","aosta.it","aoste.it","ap.it","aq.it","aquila.it","ar.it","arezzo.it","ascoli-piceno.it","ascolipiceno.it","asti.it","at.it","av.it","avellino.it","ba.it","balsan.it","balsan-sudtirol.it","balsan-südtirol.it","balsan-suedtirol.it","bari.it","barletta-trani-andria.it","barlettatraniandria.it","belluno.it","benevento.it","bergamo.it","bg.it","bi.it","biella.it","bl.it","bn.it","bo.it","bologna.it","bolzano.it","bolzano-altoadige.it","bozen.it","bozen-sudtirol.it","bozen-südtirol.it","bozen-suedtirol.it","br.it","brescia.it","brindisi.it","bs.it","bt.it","bulsan.it","bulsan-sudtirol.it","bulsan-südtirol.it","bulsan-suedtirol.it","bz.it","ca.it","cagliari.it","caltanissetta.it","campidano-medio.it","campidanomedio.it","campobasso.it","carbonia-iglesias.it","carboniaiglesias.it","carrara-massa.it","carraramassa.it","caserta.it","catania.it","catanzaro.it","cb.it","ce.it","cesena-forli.it","cesena-forlì.it","cesenaforli.it","cesenaforlì.it","ch.it","chieti.it","ci.it","cl.it","cn.it","co.it","como.it","cosenza.it","cr.it","cremona.it","crotone.it","cs.it","ct.it","cuneo.it","cz.it","dell-ogliastra.it","dellogliastra.it","en.it","enna.it","fc.it","fe.it","fermo.it","ferrara.it","fg.it","fi.it","firenze.it","florence.it","fm.it","foggia.it","forli-cesena.it","forlì-cesena.it","forlicesena.it","forlìcesena.it","fr.it","frosinone.it","ge.it","genoa.it","genova.it","go.it","gorizia.it","gr.it","grosseto.it","iglesias-carbonia.it","iglesiascarbonia.it","im.it","imperia.it","is.it","isernia.it","kr.it","la-spezia.it","laquila.it","laspezia.it","latina.it","lc.it","le.it","lecce.it","lecco.it","li.it","livorno.it","lo.it","lodi.it","lt.it","lu.it","lucca.it","macerata.it","mantova.it","massa-carrara.it","massacarrara.it","matera.it","mb.it","mc.it","me.it","medio-campidano.it","mediocampidano.it","messina.it","mi.it","milan.it","milano.it","mn.it","mo.it","modena.it","monza.it","monza-brianza.it","monza-e-della-brianza.it","monzabrianza.it","monzaebrianza.it","monzaedellabrianza.it","ms.it","mt.it","na.it","naples.it","napoli.it","no.it","novara.it","nu.it","nuoro.it","og.it","ogliastra.it","olbia-tempio.it","olbiatempio.it","or.it","oristano.it","ot.it","pa.it","padova.it","padua.it","palermo.it","parma.it","pavia.it","pc.it","pd.it","pe.it","perugia.it","pesaro-urbino.it","pesarourbino.it","pescara.it","pg.it","pi.it","piacenza.it","pisa.it","pistoia.it","pn.it","po.it","pordenone.it","potenza.it","pr.it","prato.it","pt.it","pu.it","pv.it","pz.it","ra.it","ragusa.it","ravenna.it","rc.it","re.it","reggio-calabria.it","reggio-emilia.it","reggiocalabria.it","reggioemilia.it","rg.it","ri.it","rieti.it","rimini.it","rm.it","rn.it","ro.it","roma.it","rome.it","rovigo.it","sa.it","salerno.it","sassari.it","savona.it","si.it","siena.it","siracusa.it","so.it","sondrio.it","sp.it","sr.it","ss.it","südtirol.it","suedtirol.it","sv.it","ta.it","taranto.it","te.it","tempio-olbia.it","tempioolbia.it","teramo.it","terni.it","tn.it","to.it","torino.it","tp.it","tr.it","trani-andria-barletta.it","trani-barletta-andria.it","traniandriabarletta.it","tranibarlettaandria.it","trapani.it","trento.it","treviso.it","trieste.it","ts.it","turin.it","tv.it","ud.it","udine.it","urbino-pesaro.it","urbinopesaro.it","va.it","varese.it","vb.it","vc.it","ve.it","venezia.it","venice.it","verbania.it","vercelli.it","verona.it","vi.it","vibo-valentia.it","vibovalentia.it","vicenza.it","viterbo.it","vr.it","vs.it","vt.it","vv.it","je","co.je","net.je","org.je","*.jm","jo","agri.jo","ai.jo","com.jo","edu.jo","eng.jo","fm.jo","gov.jo","mil.jo","net.jo","org.jo","per.jo","phd.jo","sch.jo","tv.jo","jobs","jp","ac.jp","ad.jp","co.jp","ed.jp","go.jp","gr.jp","lg.jp","ne.jp","or.jp","aichi.jp","akita.jp","aomori.jp","chiba.jp","ehime.jp","fukui.jp","fukuoka.jp","fukushima.jp","gifu.jp","gunma.jp","hiroshima.jp","hokkaido.jp","hyogo.jp","ibaraki.jp","ishikawa.jp","iwate.jp","kagawa.jp","kagoshima.jp","kanagawa.jp","kochi.jp","kumamoto.jp","kyoto.jp","mie.jp","miyagi.jp","miyazaki.jp","nagano.jp","nagasaki.jp","nara.jp","niigata.jp","oita.jp","okayama.jp","okinawa.jp","osaka.jp","saga.jp","saitama.jp","shiga.jp","shimane.jp","shizuoka.jp","tochigi.jp","tokushima.jp","tokyo.jp","tottori.jp","toyama.jp","wakayama.jp","yamagata.jp","yamaguchi.jp","yamanashi.jp","三重.jp","京都.jp","佐賀.jp","兵庫.jp","北海道.jp","千葉.jp","和歌山.jp","埼玉.jp","大分.jp","大阪.jp","奈良.jp","宮城.jp","宮崎.jp","富山.jp","山口.jp","山形.jp","山梨.jp","岐阜.jp","岡山.jp","岩手.jp","島根.jp","広島.jp","徳島.jp","愛媛.jp","愛知.jp","新潟.jp","東京.jp","栃木.jp","沖縄.jp","滋賀.jp","熊本.jp","石川.jp","神奈川.jp","福井.jp","福岡.jp","福島.jp","秋田.jp","群馬.jp","茨城.jp","長崎.jp","長野.jp","青森.jp","静岡.jp","香川.jp","高知.jp","鳥取.jp","鹿児島.jp","*.kawasaki.jp","!city.kawasaki.jp","*.kitakyushu.jp","!city.kitakyushu.jp","*.kobe.jp","!city.kobe.jp","*.nagoya.jp","!city.nagoya.jp","*.sapporo.jp","!city.sapporo.jp","*.sendai.jp","!city.sendai.jp","*.yokohama.jp","!city.yokohama.jp","aisai.aichi.jp","ama.aichi.jp","anjo.aichi.jp","asuke.aichi.jp","chiryu.aichi.jp","chita.aichi.jp","fuso.aichi.jp","gamagori.aichi.jp","handa.aichi.jp","hazu.aichi.jp","hekinan.aichi.jp","higashiura.aichi.jp","ichinomiya.aichi.jp","inazawa.aichi.jp","inuyama.aichi.jp","isshiki.aichi.jp","iwakura.aichi.jp","kanie.aichi.jp","kariya.aichi.jp","kasugai.aichi.jp","kira.aichi.jp","kiyosu.aichi.jp","komaki.aichi.jp","konan.aichi.jp","kota.aichi.jp","mihama.aichi.jp","miyoshi.aichi.jp","nishio.aichi.jp","nisshin.aichi.jp","obu.aichi.jp","oguchi.aichi.jp","oharu.aichi.jp","okazaki.aichi.jp","owariasahi.aichi.jp","seto.aichi.jp","shikatsu.aichi.jp","shinshiro.aichi.jp","shitara.aichi.jp","tahara.aichi.jp","takahama.aichi.jp","tobishima.aichi.jp","toei.aichi.jp","togo.aichi.jp","tokai.aichi.jp","tokoname.aichi.jp","toyoake.aichi.jp","toyohashi.aichi.jp","toyokawa.aichi.jp","toyone.aichi.jp","toyota.aichi.jp","tsushima.aichi.jp","yatomi.aichi.jp","akita.akita.jp","daisen.akita.jp","fujisato.akita.jp","gojome.akita.jp","hachirogata.akita.jp","happou.akita.jp","higashinaruse.akita.jp","honjo.akita.jp","honjyo.akita.jp","ikawa.akita.jp","kamikoani.akita.jp","kamioka.akita.jp","katagami.akita.jp","kazuno.akita.jp","kitaakita.akita.jp","kosaka.akita.jp","kyowa.akita.jp","misato.akita.jp","mitane.akita.jp","moriyoshi.akita.jp","nikaho.akita.jp","noshiro.akita.jp","odate.akita.jp","oga.akita.jp","ogata.akita.jp","semboku.akita.jp","yokote.akita.jp","yurihonjo.akita.jp","aomori.aomori.jp","gonohe.aomori.jp","hachinohe.aomori.jp","hashikami.aomori.jp","hiranai.aomori.jp","hirosaki.aomori.jp","itayanagi.aomori.jp","kuroishi.aomori.jp","misawa.aomori.jp","mutsu.aomori.jp","nakadomari.aomori.jp","noheji.aomori.jp","oirase.aomori.jp","owani.aomori.jp","rokunohe.aomori.jp","sannohe.aomori.jp","shichinohe.aomori.jp","shingo.aomori.jp","takko.aomori.jp","towada.aomori.jp","tsugaru.aomori.jp","tsuruta.aomori.jp","abiko.chiba.jp","asahi.chiba.jp","chonan.chiba.jp","chosei.chiba.jp","choshi.chiba.jp","chuo.chiba.jp","funabashi.chiba.jp","futtsu.chiba.jp","hanamigawa.chiba.jp","ichihara.chiba.jp","ichikawa.chiba.jp","ichinomiya.chiba.jp","inzai.chiba.jp","isumi.chiba.jp","kamagaya.chiba.jp","kamogawa.chiba.jp","kashiwa.chiba.jp","katori.chiba.jp","katsuura.chiba.jp","kimitsu.chiba.jp","kisarazu.chiba.jp","kozaki.chiba.jp","kujukuri.chiba.jp","kyonan.chiba.jp","matsudo.chiba.jp","midori.chiba.jp","mihama.chiba.jp","minamiboso.chiba.jp","mobara.chiba.jp","mutsuzawa.chiba.jp","nagara.chiba.jp","nagareyama.chiba.jp","narashino.chiba.jp","narita.chiba.jp","noda.chiba.jp","oamishirasato.chiba.jp","omigawa.chiba.jp","onjuku.chiba.jp","otaki.chiba.jp","sakae.chiba.jp","sakura.chiba.jp","shimofusa.chiba.jp","shirako.chiba.jp","shiroi.chiba.jp","shisui.chiba.jp","sodegaura.chiba.jp","sosa.chiba.jp","tako.chiba.jp","tateyama.chiba.jp","togane.chiba.jp","tohnosho.chiba.jp","tomisato.chiba.jp","urayasu.chiba.jp","yachimata.chiba.jp","yachiyo.chiba.jp","yokaichiba.chiba.jp","yokoshibahikari.chiba.jp","yotsukaido.chiba.jp","ainan.ehime.jp","honai.ehime.jp","ikata.ehime.jp","imabari.ehime.jp","iyo.ehime.jp","kamijima.ehime.jp","kihoku.ehime.jp","kumakogen.ehime.jp","masaki.ehime.jp","matsuno.ehime.jp","matsuyama.ehime.jp","namikata.ehime.jp","niihama.ehime.jp","ozu.ehime.jp","saijo.ehime.jp","seiyo.ehime.jp","shikokuchuo.ehime.jp","tobe.ehime.jp","toon.ehime.jp","uchiko.ehime.jp","uwajima.ehime.jp","yawatahama.ehime.jp","echizen.fukui.jp","eiheiji.fukui.jp","fukui.fukui.jp","ikeda.fukui.jp","katsuyama.fukui.jp","mihama.fukui.jp","minamiechizen.fukui.jp","obama.fukui.jp","ohi.fukui.jp","ono.fukui.jp","sabae.fukui.jp","sakai.fukui.jp","takahama.fukui.jp","tsuruga.fukui.jp","wakasa.fukui.jp","ashiya.fukuoka.jp","buzen.fukuoka.jp","chikugo.fukuoka.jp","chikuho.fukuoka.jp","chikujo.fukuoka.jp","chikushino.fukuoka.jp","chikuzen.fukuoka.jp","chuo.fukuoka.jp","dazaifu.fukuoka.jp","fukuchi.fukuoka.jp","hakata.fukuoka.jp","higashi.fukuoka.jp","hirokawa.fukuoka.jp","hisayama.fukuoka.jp","iizuka.fukuoka.jp","inatsuki.fukuoka.jp","kaho.fukuoka.jp","kasuga.fukuoka.jp","kasuya.fukuoka.jp","kawara.fukuoka.jp","keisen.fukuoka.jp","koga.fukuoka.jp","kurate.fukuoka.jp","kurogi.fukuoka.jp","kurume.fukuoka.jp","minami.fukuoka.jp","miyako.fukuoka.jp","miyama.fukuoka.jp","miyawaka.fukuoka.jp","mizumaki.fukuoka.jp","munakata.fukuoka.jp","nakagawa.fukuoka.jp","nakama.fukuoka.jp","nishi.fukuoka.jp","nogata.fukuoka.jp","ogori.fukuoka.jp","okagaki.fukuoka.jp","okawa.fukuoka.jp","oki.fukuoka.jp","omuta.fukuoka.jp","onga.fukuoka.jp","onojo.fukuoka.jp","oto.fukuoka.jp","saigawa.fukuoka.jp","sasaguri.fukuoka.jp","shingu.fukuoka.jp","shinyoshitomi.fukuoka.jp","shonai.fukuoka.jp","soeda.fukuoka.jp","sue.fukuoka.jp","tachiarai.fukuoka.jp","tagawa.fukuoka.jp","takata.fukuoka.jp","toho.fukuoka.jp","toyotsu.fukuoka.jp","tsuiki.fukuoka.jp","ukiha.fukuoka.jp","umi.fukuoka.jp","usui.fukuoka.jp","yamada.fukuoka.jp","yame.fukuoka.jp","yanagawa.fukuoka.jp","yukuhashi.fukuoka.jp","aizubange.fukushima.jp","aizumisato.fukushima.jp","aizuwakamatsu.fukushima.jp","asakawa.fukushima.jp","bandai.fukushima.jp","date.fukushima.jp","fukushima.fukushima.jp","furudono.fukushima.jp","futaba.fukushima.jp","hanawa.fukushima.jp","higashi.fukushima.jp","hirata.fukushima.jp","hirono.fukushima.jp","iitate.fukushima.jp","inawashiro.fukushima.jp","ishikawa.fukushima.jp","iwaki.fukushima.jp","izumizaki.fukushima.jp","kagamiishi.fukushima.jp","kaneyama.fukushima.jp","kawamata.fukushima.jp","kitakata.fukushima.jp","kitashiobara.fukushima.jp","koori.fukushima.jp","koriyama.fukushima.jp","kunimi.fukushima.jp","miharu.fukushima.jp","mishima.fukushima.jp","namie.fukushima.jp","nango.fukushima.jp","nishiaizu.fukushima.jp","nishigo.fukushima.jp","okuma.fukushima.jp","omotego.fukushima.jp","ono.fukushima.jp","otama.fukushima.jp","samegawa.fukushima.jp","shimogo.fukushima.jp","shirakawa.fukushima.jp","showa.fukushima.jp","soma.fukushima.jp","sukagawa.fukushima.jp","taishin.fukushima.jp","tamakawa.fukushima.jp","tanagura.fukushima.jp","tenei.fukushima.jp","yabuki.fukushima.jp","yamato.fukushima.jp","yamatsuri.fukushima.jp","yanaizu.fukushima.jp","yugawa.fukushima.jp","anpachi.gifu.jp","ena.gifu.jp","gifu.gifu.jp","ginan.gifu.jp","godo.gifu.jp","gujo.gifu.jp","hashima.gifu.jp","hichiso.gifu.jp","hida.gifu.jp","higashishirakawa.gifu.jp","ibigawa.gifu.jp","ikeda.gifu.jp","kakamigahara.gifu.jp","kani.gifu.jp","kasahara.gifu.jp","kasamatsu.gifu.jp","kawaue.gifu.jp","kitagata.gifu.jp","mino.gifu.jp","minokamo.gifu.jp","mitake.gifu.jp","mizunami.gifu.jp","motosu.gifu.jp","nakatsugawa.gifu.jp","ogaki.gifu.jp","sakahogi.gifu.jp","seki.gifu.jp","sekigahara.gifu.jp","shirakawa.gifu.jp","tajimi.gifu.jp","takayama.gifu.jp","tarui.gifu.jp","toki.gifu.jp","tomika.gifu.jp","wanouchi.gifu.jp","yamagata.gifu.jp","yaotsu.gifu.jp","yoro.gifu.jp","annaka.gunma.jp","chiyoda.gunma.jp","fujioka.gunma.jp","higashiagatsuma.gunma.jp","isesaki.gunma.jp","itakura.gunma.jp","kanna.gunma.jp","kanra.gunma.jp","katashina.gunma.jp","kawaba.gunma.jp","kiryu.gunma.jp","kusatsu.gunma.jp","maebashi.gunma.jp","meiwa.gunma.jp","midori.gunma.jp","minakami.gunma.jp","naganohara.gunma.jp","nakanojo.gunma.jp","nanmoku.gunma.jp","numata.gunma.jp","oizumi.gunma.jp","ora.gunma.jp","ota.gunma.jp","shibukawa.gunma.jp","shimonita.gunma.jp","shinto.gunma.jp","showa.gunma.jp","takasaki.gunma.jp","takayama.gunma.jp","tamamura.gunma.jp","tatebayashi.gunma.jp","tomioka.gunma.jp","tsukiyono.gunma.jp","tsumagoi.gunma.jp","ueno.gunma.jp","yoshioka.gunma.jp","asaminami.hiroshima.jp","daiwa.hiroshima.jp","etajima.hiroshima.jp","fuchu.hiroshima.jp","fukuyama.hiroshima.jp","hatsukaichi.hiroshima.jp","higashihiroshima.hiroshima.jp","hongo.hiroshima.jp","jinsekikogen.hiroshima.jp","kaita.hiroshima.jp","kui.hiroshima.jp","kumano.hiroshima.jp","kure.hiroshima.jp","mihara.hiroshima.jp","miyoshi.hiroshima.jp","naka.hiroshima.jp","onomichi.hiroshima.jp","osakikamijima.hiroshima.jp","otake.hiroshima.jp","saka.hiroshima.jp","sera.hiroshima.jp","seranishi.hiroshima.jp","shinichi.hiroshima.jp","shobara.hiroshima.jp","takehara.hiroshima.jp","abashiri.hokkaido.jp","abira.hokkaido.jp","aibetsu.hokkaido.jp","akabira.hokkaido.jp","akkeshi.hokkaido.jp","asahikawa.hokkaido.jp","ashibetsu.hokkaido.jp","ashoro.hokkaido.jp","assabu.hokkaido.jp","atsuma.hokkaido.jp","bibai.hokkaido.jp","biei.hokkaido.jp","bifuka.hokkaido.jp","bihoro.hokkaido.jp","biratori.hokkaido.jp","chippubetsu.hokkaido.jp","chitose.hokkaido.jp","date.hokkaido.jp","ebetsu.hokkaido.jp","embetsu.hokkaido.jp","eniwa.hokkaido.jp","erimo.hokkaido.jp","esan.hokkaido.jp","esashi.hokkaido.jp","fukagawa.hokkaido.jp","fukushima.hokkaido.jp","furano.hokkaido.jp","furubira.hokkaido.jp","haboro.hokkaido.jp","hakodate.hokkaido.jp","hamatonbetsu.hokkaido.jp","hidaka.hokkaido.jp","higashikagura.hokkaido.jp","higashikawa.hokkaido.jp","hiroo.hokkaido.jp","hokuryu.hokkaido.jp","hokuto.hokkaido.jp","honbetsu.hokkaido.jp","horokanai.hokkaido.jp","horonobe.hokkaido.jp","ikeda.hokkaido.jp","imakane.hokkaido.jp","ishikari.hokkaido.jp","iwamizawa.hokkaido.jp","iwanai.hokkaido.jp","kamifurano.hokkaido.jp","kamikawa.hokkaido.jp","kamishihoro.hokkaido.jp","kamisunagawa.hokkaido.jp","kamoenai.hokkaido.jp","kayabe.hokkaido.jp","kembuchi.hokkaido.jp","kikonai.hokkaido.jp","kimobetsu.hokkaido.jp","kitahiroshima.hokkaido.jp","kitami.hokkaido.jp","kiyosato.hokkaido.jp","koshimizu.hokkaido.jp","kunneppu.hokkaido.jp","kuriyama.hokkaido.jp","kuromatsunai.hokkaido.jp","kushiro.hokkaido.jp","kutchan.hokkaido.jp","kyowa.hokkaido.jp","mashike.hokkaido.jp","matsumae.hokkaido.jp","mikasa.hokkaido.jp","minamifurano.hokkaido.jp","mombetsu.hokkaido.jp","moseushi.hokkaido.jp","mukawa.hokkaido.jp","muroran.hokkaido.jp","naie.hokkaido.jp","nakagawa.hokkaido.jp","nakasatsunai.hokkaido.jp","nakatombetsu.hokkaido.jp","nanae.hokkaido.jp","nanporo.hokkaido.jp","nayoro.hokkaido.jp","nemuro.hokkaido.jp","niikappu.hokkaido.jp","niki.hokkaido.jp","nishiokoppe.hokkaido.jp","noboribetsu.hokkaido.jp","numata.hokkaido.jp","obihiro.hokkaido.jp","obira.hokkaido.jp","oketo.hokkaido.jp","okoppe.hokkaido.jp","otaru.hokkaido.jp","otobe.hokkaido.jp","otofuke.hokkaido.jp","otoineppu.hokkaido.jp","oumu.hokkaido.jp","ozora.hokkaido.jp","pippu.hokkaido.jp","rankoshi.hokkaido.jp","rebun.hokkaido.jp","rikubetsu.hokkaido.jp","rishiri.hokkaido.jp","rishirifuji.hokkaido.jp","saroma.hokkaido.jp","sarufutsu.hokkaido.jp","shakotan.hokkaido.jp","shari.hokkaido.jp","shibecha.hokkaido.jp","shibetsu.hokkaido.jp","shikabe.hokkaido.jp","shikaoi.hokkaido.jp","shimamaki.hokkaido.jp","shimizu.hokkaido.jp","shimokawa.hokkaido.jp","shinshinotsu.hokkaido.jp","shintoku.hokkaido.jp","shiranuka.hokkaido.jp","shiraoi.hokkaido.jp","shiriuchi.hokkaido.jp","sobetsu.hokkaido.jp","sunagawa.hokkaido.jp","taiki.hokkaido.jp","takasu.hokkaido.jp","takikawa.hokkaido.jp","takinoue.hokkaido.jp","teshikaga.hokkaido.jp","tobetsu.hokkaido.jp","tohma.hokkaido.jp","tomakomai.hokkaido.jp","tomari.hokkaido.jp","toya.hokkaido.jp","toyako.hokkaido.jp","toyotomi.hokkaido.jp","toyoura.hokkaido.jp","tsubetsu.hokkaido.jp","tsukigata.hokkaido.jp","urakawa.hokkaido.jp","urausu.hokkaido.jp","uryu.hokkaido.jp","utashinai.hokkaido.jp","wakkanai.hokkaido.jp","wassamu.hokkaido.jp","yakumo.hokkaido.jp","yoichi.hokkaido.jp","aioi.hyogo.jp","akashi.hyogo.jp","ako.hyogo.jp","amagasaki.hyogo.jp","aogaki.hyogo.jp","asago.hyogo.jp","ashiya.hyogo.jp","awaji.hyogo.jp","fukusaki.hyogo.jp","goshiki.hyogo.jp","harima.hyogo.jp","himeji.hyogo.jp","ichikawa.hyogo.jp","inagawa.hyogo.jp","itami.hyogo.jp","kakogawa.hyogo.jp","kamigori.hyogo.jp","kamikawa.hyogo.jp","kasai.hyogo.jp","kasuga.hyogo.jp","kawanishi.hyogo.jp","miki.hyogo.jp","minamiawaji.hyogo.jp","nishinomiya.hyogo.jp","nishiwaki.hyogo.jp","ono.hyogo.jp","sanda.hyogo.jp","sannan.hyogo.jp","sasayama.hyogo.jp","sayo.hyogo.jp","shingu.hyogo.jp","shinonsen.hyogo.jp","shiso.hyogo.jp","sumoto.hyogo.jp","taishi.hyogo.jp","taka.hyogo.jp","takarazuka.hyogo.jp","takasago.hyogo.jp","takino.hyogo.jp","tamba.hyogo.jp","tatsuno.hyogo.jp","toyooka.hyogo.jp","yabu.hyogo.jp","yashiro.hyogo.jp","yoka.hyogo.jp","yokawa.hyogo.jp","ami.ibaraki.jp","asahi.ibaraki.jp","bando.ibaraki.jp","chikusei.ibaraki.jp","daigo.ibaraki.jp","fujishiro.ibaraki.jp","hitachi.ibaraki.jp","hitachinaka.ibaraki.jp","hitachiomiya.ibaraki.jp","hitachiota.ibaraki.jp","ibaraki.ibaraki.jp","ina.ibaraki.jp","inashiki.ibaraki.jp","itako.ibaraki.jp","iwama.ibaraki.jp","joso.ibaraki.jp","kamisu.ibaraki.jp","kasama.ibaraki.jp","kashima.ibaraki.jp","kasumigaura.ibaraki.jp","koga.ibaraki.jp","miho.ibaraki.jp","mito.ibaraki.jp","moriya.ibaraki.jp","naka.ibaraki.jp","namegata.ibaraki.jp","oarai.ibaraki.jp","ogawa.ibaraki.jp","omitama.ibaraki.jp","ryugasaki.ibaraki.jp","sakai.ibaraki.jp","sakuragawa.ibaraki.jp","shimodate.ibaraki.jp","shimotsuma.ibaraki.jp","shirosato.ibaraki.jp","sowa.ibaraki.jp","suifu.ibaraki.jp","takahagi.ibaraki.jp","tamatsukuri.ibaraki.jp","tokai.ibaraki.jp","tomobe.ibaraki.jp","tone.ibaraki.jp","toride.ibaraki.jp","tsuchiura.ibaraki.jp","tsukuba.ibaraki.jp","uchihara.ibaraki.jp","ushiku.ibaraki.jp","yachiyo.ibaraki.jp","yamagata.ibaraki.jp","yawara.ibaraki.jp","yuki.ibaraki.jp","anamizu.ishikawa.jp","hakui.ishikawa.jp","hakusan.ishikawa.jp","kaga.ishikawa.jp","kahoku.ishikawa.jp","kanazawa.ishikawa.jp","kawakita.ishikawa.jp","komatsu.ishikawa.jp","nakanoto.ishikawa.jp","nanao.ishikawa.jp","nomi.ishikawa.jp","nonoichi.ishikawa.jp","noto.ishikawa.jp","shika.ishikawa.jp","suzu.ishikawa.jp","tsubata.ishikawa.jp","tsurugi.ishikawa.jp","uchinada.ishikawa.jp","wajima.ishikawa.jp","fudai.iwate.jp","fujisawa.iwate.jp","hanamaki.iwate.jp","hiraizumi.iwate.jp","hirono.iwate.jp","ichinohe.iwate.jp","ichinoseki.iwate.jp","iwaizumi.iwate.jp","iwate.iwate.jp","joboji.iwate.jp","kamaishi.iwate.jp","kanegasaki.iwate.jp","karumai.iwate.jp","kawai.iwate.jp","kitakami.iwate.jp","kuji.iwate.jp","kunohe.iwate.jp","kuzumaki.iwate.jp","miyako.iwate.jp","mizusawa.iwate.jp","morioka.iwate.jp","ninohe.iwate.jp","noda.iwate.jp","ofunato.iwate.jp","oshu.iwate.jp","otsuchi.iwate.jp","rikuzentakata.iwate.jp","shiwa.iwate.jp","shizukuishi.iwate.jp","sumita.iwate.jp","tanohata.iwate.jp","tono.iwate.jp","yahaba.iwate.jp","yamada.iwate.jp","ayagawa.kagawa.jp","higashikagawa.kagawa.jp","kanonji.kagawa.jp","kotohira.kagawa.jp","manno.kagawa.jp","marugame.kagawa.jp","mitoyo.kagawa.jp","naoshima.kagawa.jp","sanuki.kagawa.jp","tadotsu.kagawa.jp","takamatsu.kagawa.jp","tonosho.kagawa.jp","uchinomi.kagawa.jp","utazu.kagawa.jp","zentsuji.kagawa.jp","akune.kagoshima.jp","amami.kagoshima.jp","hioki.kagoshima.jp","isa.kagoshima.jp","isen.kagoshima.jp","izumi.kagoshima.jp","kagoshima.kagoshima.jp","kanoya.kagoshima.jp","kawanabe.kagoshima.jp","kinko.kagoshima.jp","kouyama.kagoshima.jp","makurazaki.kagoshima.jp","matsumoto.kagoshima.jp","minamitane.kagoshima.jp","nakatane.kagoshima.jp","nishinoomote.kagoshima.jp","satsumasendai.kagoshima.jp","soo.kagoshima.jp","tarumizu.kagoshima.jp","yusui.kagoshima.jp","aikawa.kanagawa.jp","atsugi.kanagawa.jp","ayase.kanagawa.jp","chigasaki.kanagawa.jp","ebina.kanagawa.jp","fujisawa.kanagawa.jp","hadano.kanagawa.jp","hakone.kanagawa.jp","hiratsuka.kanagawa.jp","isehara.kanagawa.jp","kaisei.kanagawa.jp","kamakura.kanagawa.jp","kiyokawa.kanagawa.jp","matsuda.kanagawa.jp","minamiashigara.kanagawa.jp","miura.kanagawa.jp","nakai.kanagawa.jp","ninomiya.kanagawa.jp","odawara.kanagawa.jp","oi.kanagawa.jp","oiso.kanagawa.jp","sagamihara.kanagawa.jp","samukawa.kanagawa.jp","tsukui.kanagawa.jp","yamakita.kanagawa.jp","yamato.kanagawa.jp","yokosuka.kanagawa.jp","yugawara.kanagawa.jp","zama.kanagawa.jp","zushi.kanagawa.jp","aki.kochi.jp","geisei.kochi.jp","hidaka.kochi.jp","higashitsuno.kochi.jp","ino.kochi.jp","kagami.kochi.jp","kami.kochi.jp","kitagawa.kochi.jp","kochi.kochi.jp","mihara.kochi.jp","motoyama.kochi.jp","muroto.kochi.jp","nahari.kochi.jp","nakamura.kochi.jp","nankoku.kochi.jp","nishitosa.kochi.jp","niyodogawa.kochi.jp","ochi.kochi.jp","okawa.kochi.jp","otoyo.kochi.jp","otsuki.kochi.jp","sakawa.kochi.jp","sukumo.kochi.jp","susaki.kochi.jp","tosa.kochi.jp","tosashimizu.kochi.jp","toyo.kochi.jp","tsuno.kochi.jp","umaji.kochi.jp","yasuda.kochi.jp","yusuhara.kochi.jp","amakusa.kumamoto.jp","arao.kumamoto.jp","aso.kumamoto.jp","choyo.kumamoto.jp","gyokuto.kumamoto.jp","kamiamakusa.kumamoto.jp","kikuchi.kumamoto.jp","kumamoto.kumamoto.jp","mashiki.kumamoto.jp","mifune.kumamoto.jp","minamata.kumamoto.jp","minamioguni.kumamoto.jp","nagasu.kumamoto.jp","nishihara.kumamoto.jp","oguni.kumamoto.jp","ozu.kumamoto.jp","sumoto.kumamoto.jp","takamori.kumamoto.jp","uki.kumamoto.jp","uto.kumamoto.jp","yamaga.kumamoto.jp","yamato.kumamoto.jp","yatsushiro.kumamoto.jp","ayabe.kyoto.jp","fukuchiyama.kyoto.jp","higashiyama.kyoto.jp","ide.kyoto.jp","ine.kyoto.jp","joyo.kyoto.jp","kameoka.kyoto.jp","kamo.kyoto.jp","kita.kyoto.jp","kizu.kyoto.jp","kumiyama.kyoto.jp","kyotamba.kyoto.jp","kyotanabe.kyoto.jp","kyotango.kyoto.jp","maizuru.kyoto.jp","minami.kyoto.jp","minamiyamashiro.kyoto.jp","miyazu.kyoto.jp","muko.kyoto.jp","nagaokakyo.kyoto.jp","nakagyo.kyoto.jp","nantan.kyoto.jp","oyamazaki.kyoto.jp","sakyo.kyoto.jp","seika.kyoto.jp","tanabe.kyoto.jp","uji.kyoto.jp","ujitawara.kyoto.jp","wazuka.kyoto.jp","yamashina.kyoto.jp","yawata.kyoto.jp","asahi.mie.jp","inabe.mie.jp","ise.mie.jp","kameyama.mie.jp","kawagoe.mie.jp","kiho.mie.jp","kisosaki.mie.jp","kiwa.mie.jp","komono.mie.jp","kumano.mie.jp","kuwana.mie.jp","matsusaka.mie.jp","meiwa.mie.jp","mihama.mie.jp","minamiise.mie.jp","misugi.mie.jp","miyama.mie.jp","nabari.mie.jp","shima.mie.jp","suzuka.mie.jp","tado.mie.jp","taiki.mie.jp","taki.mie.jp","tamaki.mie.jp","toba.mie.jp","tsu.mie.jp","udono.mie.jp","ureshino.mie.jp","watarai.mie.jp","yokkaichi.mie.jp","furukawa.miyagi.jp","higashimatsushima.miyagi.jp","ishinomaki.miyagi.jp","iwanuma.miyagi.jp","kakuda.miyagi.jp","kami.miyagi.jp","kawasaki.miyagi.jp","marumori.miyagi.jp","matsushima.miyagi.jp","minamisanriku.miyagi.jp","misato.miyagi.jp","murata.miyagi.jp","natori.miyagi.jp","ogawara.miyagi.jp","ohira.miyagi.jp","onagawa.miyagi.jp","osaki.miyagi.jp","rifu.miyagi.jp","semine.miyagi.jp","shibata.miyagi.jp","shichikashuku.miyagi.jp","shikama.miyagi.jp","shiogama.miyagi.jp","shiroishi.miyagi.jp","tagajo.miyagi.jp","taiwa.miyagi.jp","tome.miyagi.jp","tomiya.miyagi.jp","wakuya.miyagi.jp","watari.miyagi.jp","yamamoto.miyagi.jp","zao.miyagi.jp","aya.miyazaki.jp","ebino.miyazaki.jp","gokase.miyazaki.jp","hyuga.miyazaki.jp","kadogawa.miyazaki.jp","kawaminami.miyazaki.jp","kijo.miyazaki.jp","kitagawa.miyazaki.jp","kitakata.miyazaki.jp","kitaura.miyazaki.jp","kobayashi.miyazaki.jp","kunitomi.miyazaki.jp","kushima.miyazaki.jp","mimata.miyazaki.jp","miyakonojo.miyazaki.jp","miyazaki.miyazaki.jp","morotsuka.miyazaki.jp","nichinan.miyazaki.jp","nishimera.miyazaki.jp","nobeoka.miyazaki.jp","saito.miyazaki.jp","shiiba.miyazaki.jp","shintomi.miyazaki.jp","takaharu.miyazaki.jp","takanabe.miyazaki.jp","takazaki.miyazaki.jp","tsuno.miyazaki.jp","achi.nagano.jp","agematsu.nagano.jp","anan.nagano.jp","aoki.nagano.jp","asahi.nagano.jp","azumino.nagano.jp","chikuhoku.nagano.jp","chikuma.nagano.jp","chino.nagano.jp","fujimi.nagano.jp","hakuba.nagano.jp","hara.nagano.jp","hiraya.nagano.jp","iida.nagano.jp","iijima.nagano.jp","iiyama.nagano.jp","iizuna.nagano.jp","ikeda.nagano.jp","ikusaka.nagano.jp","ina.nagano.jp","karuizawa.nagano.jp","kawakami.nagano.jp","kiso.nagano.jp","kisofukushima.nagano.jp","kitaaiki.nagano.jp","komagane.nagano.jp","komoro.nagano.jp","matsukawa.nagano.jp","matsumoto.nagano.jp","miasa.nagano.jp","minamiaiki.nagano.jp","minamimaki.nagano.jp","minamiminowa.nagano.jp","minowa.nagano.jp","miyada.nagano.jp","miyota.nagano.jp","mochizuki.nagano.jp","nagano.nagano.jp","nagawa.nagano.jp","nagiso.nagano.jp","nakagawa.nagano.jp","nakano.nagano.jp","nozawaonsen.nagano.jp","obuse.nagano.jp","ogawa.nagano.jp","okaya.nagano.jp","omachi.nagano.jp","omi.nagano.jp","ookuwa.nagano.jp","ooshika.nagano.jp","otaki.nagano.jp","otari.nagano.jp","sakae.nagano.jp","sakaki.nagano.jp","saku.nagano.jp","sakuho.nagano.jp","shimosuwa.nagano.jp","shinanomachi.nagano.jp","shiojiri.nagano.jp","suwa.nagano.jp","suzaka.nagano.jp","takagi.nagano.jp","takamori.nagano.jp","takayama.nagano.jp","tateshina.nagano.jp","tatsuno.nagano.jp","togakushi.nagano.jp","togura.nagano.jp","tomi.nagano.jp","ueda.nagano.jp","wada.nagano.jp","yamagata.nagano.jp","yamanouchi.nagano.jp","yasaka.nagano.jp","yasuoka.nagano.jp","chijiwa.nagasaki.jp","futsu.nagasaki.jp","goto.nagasaki.jp","hasami.nagasaki.jp","hirado.nagasaki.jp","iki.nagasaki.jp","isahaya.nagasaki.jp","kawatana.nagasaki.jp","kuchinotsu.nagasaki.jp","matsuura.nagasaki.jp","nagasaki.nagasaki.jp","obama.nagasaki.jp","omura.nagasaki.jp","oseto.nagasaki.jp","saikai.nagasaki.jp","sasebo.nagasaki.jp","seihi.nagasaki.jp","shimabara.nagasaki.jp","shinkamigoto.nagasaki.jp","togitsu.nagasaki.jp","tsushima.nagasaki.jp","unzen.nagasaki.jp","ando.nara.jp","gose.nara.jp","heguri.nara.jp","higashiyoshino.nara.jp","ikaruga.nara.jp","ikoma.nara.jp","kamikitayama.nara.jp","kanmaki.nara.jp","kashiba.nara.jp","kashihara.nara.jp","katsuragi.nara.jp","kawai.nara.jp","kawakami.nara.jp","kawanishi.nara.jp","koryo.nara.jp","kurotaki.nara.jp","mitsue.nara.jp","miyake.nara.jp","nara.nara.jp","nosegawa.nara.jp","oji.nara.jp","ouda.nara.jp","oyodo.nara.jp","sakurai.nara.jp","sango.nara.jp","shimoichi.nara.jp","shimokitayama.nara.jp","shinjo.nara.jp","soni.nara.jp","takatori.nara.jp","tawaramoto.nara.jp","tenkawa.nara.jp","tenri.nara.jp","uda.nara.jp","yamatokoriyama.nara.jp","yamatotakada.nara.jp","yamazoe.nara.jp","yoshino.nara.jp","aga.niigata.jp","agano.niigata.jp","gosen.niigata.jp","itoigawa.niigata.jp","izumozaki.niigata.jp","joetsu.niigata.jp","kamo.niigata.jp","kariwa.niigata.jp","kashiwazaki.niigata.jp","minamiuonuma.niigata.jp","mitsuke.niigata.jp","muika.niigata.jp","murakami.niigata.jp","myoko.niigata.jp","nagaoka.niigata.jp","niigata.niigata.jp","ojiya.niigata.jp","omi.niigata.jp","sado.niigata.jp","sanjo.niigata.jp","seiro.niigata.jp","seirou.niigata.jp","sekikawa.niigata.jp","shibata.niigata.jp","tagami.niigata.jp","tainai.niigata.jp","tochio.niigata.jp","tokamachi.niigata.jp","tsubame.niigata.jp","tsunan.niigata.jp","uonuma.niigata.jp","yahiko.niigata.jp","yoita.niigata.jp","yuzawa.niigata.jp","beppu.oita.jp","bungoono.oita.jp","bungotakada.oita.jp","hasama.oita.jp","hiji.oita.jp","himeshima.oita.jp","hita.oita.jp","kamitsue.oita.jp","kokonoe.oita.jp","kuju.oita.jp","kunisaki.oita.jp","kusu.oita.jp","oita.oita.jp","saiki.oita.jp","taketa.oita.jp","tsukumi.oita.jp","usa.oita.jp","usuki.oita.jp","yufu.oita.jp","akaiwa.okayama.jp","asakuchi.okayama.jp","bizen.okayama.jp","hayashima.okayama.jp","ibara.okayama.jp","kagamino.okayama.jp","kasaoka.okayama.jp","kibichuo.okayama.jp","kumenan.okayama.jp","kurashiki.okayama.jp","maniwa.okayama.jp","misaki.okayama.jp","nagi.okayama.jp","niimi.okayama.jp","nishiawakura.okayama.jp","okayama.okayama.jp","satosho.okayama.jp","setouchi.okayama.jp","shinjo.okayama.jp","shoo.okayama.jp","soja.okayama.jp","takahashi.okayama.jp","tamano.okayama.jp","tsuyama.okayama.jp","wake.okayama.jp","yakage.okayama.jp","aguni.okinawa.jp","ginowan.okinawa.jp","ginoza.okinawa.jp","gushikami.okinawa.jp","haebaru.okinawa.jp","higashi.okinawa.jp","hirara.okinawa.jp","iheya.okinawa.jp","ishigaki.okinawa.jp","ishikawa.okinawa.jp","itoman.okinawa.jp","izena.okinawa.jp","kadena.okinawa.jp","kin.okinawa.jp","kitadaito.okinawa.jp","kitanakagusuku.okinawa.jp","kumejima.okinawa.jp","kunigami.okinawa.jp","minamidaito.okinawa.jp","motobu.okinawa.jp","nago.okinawa.jp","naha.okinawa.jp","nakagusuku.okinawa.jp","nakijin.okinawa.jp","nanjo.okinawa.jp","nishihara.okinawa.jp","ogimi.okinawa.jp","okinawa.okinawa.jp","onna.okinawa.jp","shimoji.okinawa.jp","taketomi.okinawa.jp","tarama.okinawa.jp","tokashiki.okinawa.jp","tomigusuku.okinawa.jp","tonaki.okinawa.jp","urasoe.okinawa.jp","uruma.okinawa.jp","yaese.okinawa.jp","yomitan.okinawa.jp","yonabaru.okinawa.jp","yonaguni.okinawa.jp","zamami.okinawa.jp","abeno.osaka.jp","chihayaakasaka.osaka.jp","chuo.osaka.jp","daito.osaka.jp","fujiidera.osaka.jp","habikino.osaka.jp","hannan.osaka.jp","higashiosaka.osaka.jp","higashisumiyoshi.osaka.jp","higashiyodogawa.osaka.jp","hirakata.osaka.jp","ibaraki.osaka.jp","ikeda.osaka.jp","izumi.osaka.jp","izumiotsu.osaka.jp","izumisano.osaka.jp","kadoma.osaka.jp","kaizuka.osaka.jp","kanan.osaka.jp","kashiwara.osaka.jp","katano.osaka.jp","kawachinagano.osaka.jp","kishiwada.osaka.jp","kita.osaka.jp","kumatori.osaka.jp","matsubara.osaka.jp","minato.osaka.jp","minoh.osaka.jp","misaki.osaka.jp","moriguchi.osaka.jp","neyagawa.osaka.jp","nishi.osaka.jp","nose.osaka.jp","osakasayama.osaka.jp","sakai.osaka.jp","sayama.osaka.jp","sennan.osaka.jp","settsu.osaka.jp","shijonawate.osaka.jp","shimamoto.osaka.jp","suita.osaka.jp","tadaoka.osaka.jp","taishi.osaka.jp","tajiri.osaka.jp","takaishi.osaka.jp","takatsuki.osaka.jp","tondabayashi.osaka.jp","toyonaka.osaka.jp","toyono.osaka.jp","yao.osaka.jp","ariake.saga.jp","arita.saga.jp","fukudomi.saga.jp","genkai.saga.jp","hamatama.saga.jp","hizen.saga.jp","imari.saga.jp","kamimine.saga.jp","kanzaki.saga.jp","karatsu.saga.jp","kashima.saga.jp","kitagata.saga.jp","kitahata.saga.jp","kiyama.saga.jp","kouhoku.saga.jp","kyuragi.saga.jp","nishiarita.saga.jp","ogi.saga.jp","omachi.saga.jp","ouchi.saga.jp","saga.saga.jp","shiroishi.saga.jp","taku.saga.jp","tara.saga.jp","tosu.saga.jp","yoshinogari.saga.jp","arakawa.saitama.jp","asaka.saitama.jp","chichibu.saitama.jp","fujimi.saitama.jp","fujimino.saitama.jp","fukaya.saitama.jp","hanno.saitama.jp","hanyu.saitama.jp","hasuda.saitama.jp","hatogaya.saitama.jp","hatoyama.saitama.jp","hidaka.saitama.jp","higashichichibu.saitama.jp","higashimatsuyama.saitama.jp","honjo.saitama.jp","ina.saitama.jp","iruma.saitama.jp","iwatsuki.saitama.jp","kamiizumi.saitama.jp","kamikawa.saitama.jp","kamisato.saitama.jp","kasukabe.saitama.jp","kawagoe.saitama.jp","kawaguchi.saitama.jp","kawajima.saitama.jp","kazo.saitama.jp","kitamoto.saitama.jp","koshigaya.saitama.jp","kounosu.saitama.jp","kuki.saitama.jp","kumagaya.saitama.jp","matsubushi.saitama.jp","minano.saitama.jp","misato.saitama.jp","miyashiro.saitama.jp","miyoshi.saitama.jp","moroyama.saitama.jp","nagatoro.saitama.jp","namegawa.saitama.jp","niiza.saitama.jp","ogano.saitama.jp","ogawa.saitama.jp","ogose.saitama.jp","okegawa.saitama.jp","omiya.saitama.jp","otaki.saitama.jp","ranzan.saitama.jp","ryokami.saitama.jp","saitama.saitama.jp","sakado.saitama.jp","satte.saitama.jp","sayama.saitama.jp","shiki.saitama.jp","shiraoka.saitama.jp","soka.saitama.jp","sugito.saitama.jp","toda.saitama.jp","tokigawa.saitama.jp","tokorozawa.saitama.jp","tsurugashima.saitama.jp","urawa.saitama.jp","warabi.saitama.jp","yashio.saitama.jp","yokoze.saitama.jp","yono.saitama.jp","yorii.saitama.jp","yoshida.saitama.jp","yoshikawa.saitama.jp","yoshimi.saitama.jp","aisho.shiga.jp","gamo.shiga.jp","higashiomi.shiga.jp","hikone.shiga.jp","koka.shiga.jp","konan.shiga.jp","kosei.shiga.jp","koto.shiga.jp","kusatsu.shiga.jp","maibara.shiga.jp","moriyama.shiga.jp","nagahama.shiga.jp","nishiazai.shiga.jp","notogawa.shiga.jp","omihachiman.shiga.jp","otsu.shiga.jp","ritto.shiga.jp","ryuoh.shiga.jp","takashima.shiga.jp","takatsuki.shiga.jp","torahime.shiga.jp","toyosato.shiga.jp","yasu.shiga.jp","akagi.shimane.jp","ama.shimane.jp","gotsu.shimane.jp","hamada.shimane.jp","higashiizumo.shimane.jp","hikawa.shimane.jp","hikimi.shimane.jp","izumo.shimane.jp","kakinoki.shimane.jp","masuda.shimane.jp","matsue.shimane.jp","misato.shimane.jp","nishinoshima.shimane.jp","ohda.shimane.jp","okinoshima.shimane.jp","okuizumo.shimane.jp","shimane.shimane.jp","tamayu.shimane.jp","tsuwano.shimane.jp","unnan.shimane.jp","yakumo.shimane.jp","yasugi.shimane.jp","yatsuka.shimane.jp","arai.shizuoka.jp","atami.shizuoka.jp","fuji.shizuoka.jp","fujieda.shizuoka.jp","fujikawa.shizuoka.jp","fujinomiya.shizuoka.jp","fukuroi.shizuoka.jp","gotemba.shizuoka.jp","haibara.shizuoka.jp","hamamatsu.shizuoka.jp","higashiizu.shizuoka.jp","ito.shizuoka.jp","iwata.shizuoka.jp","izu.shizuoka.jp","izunokuni.shizuoka.jp","kakegawa.shizuoka.jp","kannami.shizuoka.jp","kawanehon.shizuoka.jp","kawazu.shizuoka.jp","kikugawa.shizuoka.jp","kosai.shizuoka.jp","makinohara.shizuoka.jp","matsuzaki.shizuoka.jp","minamiizu.shizuoka.jp","mishima.shizuoka.jp","morimachi.shizuoka.jp","nishiizu.shizuoka.jp","numazu.shizuoka.jp","omaezaki.shizuoka.jp","shimada.shizuoka.jp","shimizu.shizuoka.jp","shimoda.shizuoka.jp","shizuoka.shizuoka.jp","susono.shizuoka.jp","yaizu.shizuoka.jp","yoshida.shizuoka.jp","ashikaga.tochigi.jp","bato.tochigi.jp","haga.tochigi.jp","ichikai.tochigi.jp","iwafune.tochigi.jp","kaminokawa.tochigi.jp","kanuma.tochigi.jp","karasuyama.tochigi.jp","kuroiso.tochigi.jp","mashiko.tochigi.jp","mibu.tochigi.jp","moka.tochigi.jp","motegi.tochigi.jp","nasu.tochigi.jp","nasushiobara.tochigi.jp","nikko.tochigi.jp","nishikata.tochigi.jp","nogi.tochigi.jp","ohira.tochigi.jp","ohtawara.tochigi.jp","oyama.tochigi.jp","sakura.tochigi.jp","sano.tochigi.jp","shimotsuke.tochigi.jp","shioya.tochigi.jp","takanezawa.tochigi.jp","tochigi.tochigi.jp","tsuga.tochigi.jp","ujiie.tochigi.jp","utsunomiya.tochigi.jp","yaita.tochigi.jp","aizumi.tokushima.jp","anan.tokushima.jp","ichiba.tokushima.jp","itano.tokushima.jp","kainan.tokushima.jp","komatsushima.tokushima.jp","matsushige.tokushima.jp","mima.tokushima.jp","minami.tokushima.jp","miyoshi.tokushima.jp","mugi.tokushima.jp","nakagawa.tokushima.jp","naruto.tokushima.jp","sanagochi.tokushima.jp","shishikui.tokushima.jp","tokushima.tokushima.jp","wajiki.tokushima.jp","adachi.tokyo.jp","akiruno.tokyo.jp","akishima.tokyo.jp","aogashima.tokyo.jp","arakawa.tokyo.jp","bunkyo.tokyo.jp","chiyoda.tokyo.jp","chofu.tokyo.jp","chuo.tokyo.jp","edogawa.tokyo.jp","fuchu.tokyo.jp","fussa.tokyo.jp","hachijo.tokyo.jp","hachioji.tokyo.jp","hamura.tokyo.jp","higashikurume.tokyo.jp","higashimurayama.tokyo.jp","higashiyamato.tokyo.jp","hino.tokyo.jp","hinode.tokyo.jp","hinohara.tokyo.jp","inagi.tokyo.jp","itabashi.tokyo.jp","katsushika.tokyo.jp","kita.tokyo.jp","kiyose.tokyo.jp","kodaira.tokyo.jp","koganei.tokyo.jp","kokubunji.tokyo.jp","komae.tokyo.jp","koto.tokyo.jp","kouzushima.tokyo.jp","kunitachi.tokyo.jp","machida.tokyo.jp","meguro.tokyo.jp","minato.tokyo.jp","mitaka.tokyo.jp","mizuho.tokyo.jp","musashimurayama.tokyo.jp","musashino.tokyo.jp","nakano.tokyo.jp","nerima.tokyo.jp","ogasawara.tokyo.jp","okutama.tokyo.jp","ome.tokyo.jp","oshima.tokyo.jp","ota.tokyo.jp","setagaya.tokyo.jp","shibuya.tokyo.jp","shinagawa.tokyo.jp","shinjuku.tokyo.jp","suginami.tokyo.jp","sumida.tokyo.jp","tachikawa.tokyo.jp","taito.tokyo.jp","tama.tokyo.jp","toshima.tokyo.jp","chizu.tottori.jp","hino.tottori.jp","kawahara.tottori.jp","koge.tottori.jp","kotoura.tottori.jp","misasa.tottori.jp","nanbu.tottori.jp","nichinan.tottori.jp","sakaiminato.tottori.jp","tottori.tottori.jp","wakasa.tottori.jp","yazu.tottori.jp","yonago.tottori.jp","asahi.toyama.jp","fuchu.toyama.jp","fukumitsu.toyama.jp","funahashi.toyama.jp","himi.toyama.jp","imizu.toyama.jp","inami.toyama.jp","johana.toyama.jp","kamiichi.toyama.jp","kurobe.toyama.jp","nakaniikawa.toyama.jp","namerikawa.toyama.jp","nanto.toyama.jp","nyuzen.toyama.jp","oyabe.toyama.jp","taira.toyama.jp","takaoka.toyama.jp","tateyama.toyama.jp","toga.toyama.jp","tonami.toyama.jp","toyama.toyama.jp","unazuki.toyama.jp","uozu.toyama.jp","yamada.toyama.jp","arida.wakayama.jp","aridagawa.wakayama.jp","gobo.wakayama.jp","hashimoto.wakayama.jp","hidaka.wakayama.jp","hirogawa.wakayama.jp","inami.wakayama.jp","iwade.wakayama.jp","kainan.wakayama.jp","kamitonda.wakayama.jp","katsuragi.wakayama.jp","kimino.wakayama.jp","kinokawa.wakayama.jp","kitayama.wakayama.jp","koya.wakayama.jp","koza.wakayama.jp","kozagawa.wakayama.jp","kudoyama.wakayama.jp","kushimoto.wakayama.jp","mihama.wakayama.jp","misato.wakayama.jp","nachikatsuura.wakayama.jp","shingu.wakayama.jp","shirahama.wakayama.jp","taiji.wakayama.jp","tanabe.wakayama.jp","wakayama.wakayama.jp","yuasa.wakayama.jp","yura.wakayama.jp","asahi.yamagata.jp","funagata.yamagata.jp","higashine.yamagata.jp","iide.yamagata.jp","kahoku.yamagata.jp","kaminoyama.yamagata.jp","kaneyama.yamagata.jp","kawanishi.yamagata.jp","mamurogawa.yamagata.jp","mikawa.yamagata.jp","murayama.yamagata.jp","nagai.yamagata.jp","nakayama.yamagata.jp","nanyo.yamagata.jp","nishikawa.yamagata.jp","obanazawa.yamagata.jp","oe.yamagata.jp","oguni.yamagata.jp","ohkura.yamagata.jp","oishida.yamagata.jp","sagae.yamagata.jp","sakata.yamagata.jp","sakegawa.yamagata.jp","shinjo.yamagata.jp","shirataka.yamagata.jp","shonai.yamagata.jp","takahata.yamagata.jp","tendo.yamagata.jp","tozawa.yamagata.jp","tsuruoka.yamagata.jp","yamagata.yamagata.jp","yamanobe.yamagata.jp","yonezawa.yamagata.jp","yuza.yamagata.jp","abu.yamaguchi.jp","hagi.yamaguchi.jp","hikari.yamaguchi.jp","hofu.yamaguchi.jp","iwakuni.yamaguchi.jp","kudamatsu.yamaguchi.jp","mitou.yamaguchi.jp","nagato.yamaguchi.jp","oshima.yamaguchi.jp","shimonoseki.yamaguchi.jp","shunan.yamaguchi.jp","tabuse.yamaguchi.jp","tokuyama.yamaguchi.jp","toyota.yamaguchi.jp","ube.yamaguchi.jp","yuu.yamaguchi.jp","chuo.yamanashi.jp","doshi.yamanashi.jp","fuefuki.yamanashi.jp","fujikawa.yamanashi.jp","fujikawaguchiko.yamanashi.jp","fujiyoshida.yamanashi.jp","hayakawa.yamanashi.jp","hokuto.yamanashi.jp","ichikawamisato.yamanashi.jp","kai.yamanashi.jp","kofu.yamanashi.jp","koshu.yamanashi.jp","kosuge.yamanashi.jp","minami-alps.yamanashi.jp","minobu.yamanashi.jp","nakamichi.yamanashi.jp","nanbu.yamanashi.jp","narusawa.yamanashi.jp","nirasaki.yamanashi.jp","nishikatsura.yamanashi.jp","oshino.yamanashi.jp","otsuki.yamanashi.jp","showa.yamanashi.jp","tabayama.yamanashi.jp","tsuru.yamanashi.jp","uenohara.yamanashi.jp","yamanakako.yamanashi.jp","yamanashi.yamanashi.jp","ke","ac.ke","co.ke","go.ke","info.ke","me.ke","mobi.ke","ne.ke","or.ke","sc.ke","kg","com.kg","edu.kg","gov.kg","mil.kg","net.kg","org.kg","*.kh","ki","biz.ki","com.ki","edu.ki","gov.ki","info.ki","net.ki","org.ki","km","ass.km","com.km","edu.km","gov.km","mil.km","nom.km","org.km","prd.km","tm.km","asso.km","coop.km","gouv.km","medecin.km","notaires.km","pharmaciens.km","presse.km","veterinaire.km","kn","edu.kn","gov.kn","net.kn","org.kn","kp","com.kp","edu.kp","gov.kp","org.kp","rep.kp","tra.kp","kr","ac.kr","co.kr","es.kr","go.kr","hs.kr","kg.kr","mil.kr","ms.kr","ne.kr","or.kr","pe.kr","re.kr","sc.kr","busan.kr","chungbuk.kr","chungnam.kr","daegu.kr","daejeon.kr","gangwon.kr","gwangju.kr","gyeongbuk.kr","gyeonggi.kr","gyeongnam.kr","incheon.kr","jeju.kr","jeonbuk.kr","jeonnam.kr","seoul.kr","ulsan.kr","kw","com.kw","edu.kw","emb.kw","gov.kw","ind.kw","net.kw","org.kw","ky","com.ky","edu.ky","net.ky","org.ky","kz","com.kz","edu.kz","gov.kz","mil.kz","net.kz","org.kz","la","com.la","edu.la","gov.la","info.la","int.la","net.la","org.la","per.la","lb","com.lb","edu.lb","gov.lb","net.lb","org.lb","lc","co.lc","com.lc","edu.lc","gov.lc","net.lc","org.lc","li","lk","ac.lk","assn.lk","com.lk","edu.lk","gov.lk","grp.lk","hotel.lk","int.lk","ltd.lk","net.lk","ngo.lk","org.lk","sch.lk","soc.lk","web.lk","lr","com.lr","edu.lr","gov.lr","net.lr","org.lr","ls","ac.ls","biz.ls","co.ls","edu.ls","gov.ls","info.ls","net.ls","org.ls","sc.ls","lt","gov.lt","lu","lv","asn.lv","com.lv","conf.lv","edu.lv","gov.lv","id.lv","mil.lv","net.lv","org.lv","ly","com.ly","edu.ly","gov.ly","id.ly","med.ly","net.ly","org.ly","plc.ly","sch.ly","ma","ac.ma","co.ma","gov.ma","net.ma","org.ma","press.ma","mc","asso.mc","tm.mc","md","me","ac.me","co.me","edu.me","gov.me","its.me","net.me","org.me","priv.me","mg","co.mg","com.mg","edu.mg","gov.mg","mil.mg","nom.mg","org.mg","prd.mg","mh","mil","mk","com.mk","edu.mk","gov.mk","inf.mk","name.mk","net.mk","org.mk","ml","com.ml","edu.ml","gouv.ml","gov.ml","net.ml","org.ml","presse.ml","*.mm","mn","edu.mn","gov.mn","org.mn","mo","com.mo","edu.mo","gov.mo","net.mo","org.mo","mobi","mp","mq","mr","gov.mr","ms","com.ms","edu.ms","gov.ms","net.ms","org.ms","mt","com.mt","edu.mt","net.mt","org.mt","mu","ac.mu","co.mu","com.mu","gov.mu","net.mu","or.mu","org.mu","museum","mv","aero.mv","biz.mv","com.mv","coop.mv","edu.mv","gov.mv","info.mv","int.mv","mil.mv","museum.mv","name.mv","net.mv","org.mv","pro.mv","mw","ac.mw","biz.mw","co.mw","com.mw","coop.mw","edu.mw","gov.mw","int.mw","net.mw","org.mw","mx","com.mx","edu.mx","gob.mx","net.mx","org.mx","my","biz.my","com.my","edu.my","gov.my","mil.my","name.my","net.my","org.my","mz","ac.mz","adv.mz","co.mz","edu.mz","gov.mz","mil.mz","net.mz","org.mz","na","alt.na","co.na","com.na","gov.na","net.na","org.na","name","nc","asso.nc","nom.nc","ne","net","nf","arts.nf","com.nf","firm.nf","info.nf","net.nf","other.nf","per.nf","rec.nf","store.nf","web.nf","ng","com.ng","edu.ng","gov.ng","i.ng","mil.ng","mobi.ng","name.ng","net.ng","org.ng","sch.ng","ni","ac.ni","biz.ni","co.ni","com.ni","edu.ni","gob.ni","in.ni","info.ni","int.ni","mil.ni","net.ni","nom.ni","org.ni","web.ni","nl","no","fhs.no","folkebibl.no","fylkesbibl.no","idrett.no","museum.no","priv.no","vgs.no","dep.no","herad.no","kommune.no","mil.no","stat.no","aa.no","ah.no","bu.no","fm.no","hl.no","hm.no","jan-mayen.no","mr.no","nl.no","nt.no","of.no","ol.no","oslo.no","rl.no","sf.no","st.no","svalbard.no","tm.no","tr.no","va.no","vf.no","gs.aa.no","gs.ah.no","gs.bu.no","gs.fm.no","gs.hl.no","gs.hm.no","gs.jan-mayen.no","gs.mr.no","gs.nl.no","gs.nt.no","gs.of.no","gs.ol.no","gs.oslo.no","gs.rl.no","gs.sf.no","gs.st.no","gs.svalbard.no","gs.tm.no","gs.tr.no","gs.va.no","gs.vf.no","akrehamn.no","åkrehamn.no","algard.no","ålgård.no","arna.no","bronnoysund.no","brønnøysund.no","brumunddal.no","bryne.no","drobak.no","drøbak.no","egersund.no","fetsund.no","floro.no","florø.no","fredrikstad.no","hokksund.no","honefoss.no","hønefoss.no","jessheim.no","jorpeland.no","jørpeland.no","kirkenes.no","kopervik.no","krokstadelva.no","langevag.no","langevåg.no","leirvik.no","mjondalen.no","mjøndalen.no","mo-i-rana.no","mosjoen.no","mosjøen.no","nesoddtangen.no","orkanger.no","osoyro.no","osøyro.no","raholt.no","råholt.no","sandnessjoen.no","sandnessjøen.no","skedsmokorset.no","slattum.no","spjelkavik.no","stathelle.no","stavern.no","stjordalshalsen.no","stjørdalshalsen.no","tananger.no","tranby.no","vossevangen.no","aarborte.no","aejrie.no","afjord.no","åfjord.no","agdenes.no","nes.akershus.no","aknoluokta.no","ákŋoluokta.no","al.no","ål.no","alaheadju.no","álaheadju.no","alesund.no","ålesund.no","alstahaug.no","alta.no","áltá.no","alvdal.no","amli.no","åmli.no","amot.no","åmot.no","andasuolo.no","andebu.no","andoy.no","andøy.no","ardal.no","årdal.no","aremark.no","arendal.no","ås.no","aseral.no","åseral.no","asker.no","askim.no","askoy.no","askøy.no","askvoll.no","asnes.no","åsnes.no","audnedaln.no","aukra.no","aure.no","aurland.no","aurskog-holand.no","aurskog-høland.no","austevoll.no","austrheim.no","averoy.no","averøy.no","badaddja.no","bådåddjå.no","bærum.no","bahcavuotna.no","báhcavuotna.no","bahccavuotna.no","báhccavuotna.no","baidar.no","báidár.no","bajddar.no","bájddar.no","balat.no","bálát.no","balestrand.no","ballangen.no","balsfjord.no","bamble.no","bardu.no","barum.no","batsfjord.no","båtsfjord.no","bearalvahki.no","bearalváhki.no","beardu.no","beiarn.no","berg.no","bergen.no","berlevag.no","berlevåg.no","bievat.no","bievát.no","bindal.no","birkenes.no","bjarkoy.no","bjarkøy.no","bjerkreim.no","bjugn.no","bodo.no","bodø.no","bokn.no","bomlo.no","bømlo.no","bremanger.no","bronnoy.no","brønnøy.no","budejju.no","nes.buskerud.no","bygland.no","bykle.no","cahcesuolo.no","čáhcesuolo.no","davvenjarga.no","davvenjárga.no","davvesiida.no","deatnu.no","dielddanuorri.no","divtasvuodna.no","divttasvuotna.no","donna.no","dønna.no","dovre.no","drammen.no","drangedal.no","dyroy.no","dyrøy.no","eid.no","eidfjord.no","eidsberg.no","eidskog.no","eidsvoll.no","eigersund.no","elverum.no","enebakk.no","engerdal.no","etne.no","etnedal.no","evenassi.no","evenášši.no","evenes.no","evje-og-hornnes.no","farsund.no","fauske.no","fedje.no","fet.no","finnoy.no","finnøy.no","fitjar.no","fjaler.no","fjell.no","fla.no","flå.no","flakstad.no","flatanger.no","flekkefjord.no","flesberg.no","flora.no","folldal.no","forde.no","førde.no","forsand.no","fosnes.no","fræna.no","frana.no","frei.no","frogn.no","froland.no","frosta.no","froya.no","frøya.no","fuoisku.no","fuossko.no","fusa.no","fyresdal.no","gaivuotna.no","gáivuotna.no","galsa.no","gálsá.no","gamvik.no","gangaviika.no","gáŋgaviika.no","gaular.no","gausdal.no","giehtavuoatna.no","gildeskal.no","gildeskål.no","giske.no","gjemnes.no","gjerdrum.no","gjerstad.no","gjesdal.no","gjovik.no","gjøvik.no","gloppen.no","gol.no","gran.no","grane.no","granvin.no","gratangen.no","grimstad.no","grong.no","grue.no","gulen.no","guovdageaidnu.no","ha.no","hå.no","habmer.no","hábmer.no","hadsel.no","hægebostad.no","hagebostad.no","halden.no","halsa.no","hamar.no","hamaroy.no","hammarfeasta.no","hámmárfeasta.no","hammerfest.no","hapmir.no","hápmir.no","haram.no","hareid.no","harstad.no","hasvik.no","hattfjelldal.no","haugesund.no","os.hedmark.no","valer.hedmark.no","våler.hedmark.no","hemne.no","hemnes.no","hemsedal.no","hitra.no","hjartdal.no","hjelmeland.no","hobol.no","hobøl.no","hof.no","hol.no","hole.no","holmestrand.no","holtalen.no","holtålen.no","os.hordaland.no","hornindal.no","horten.no","hoyanger.no","høyanger.no","hoylandet.no","høylandet.no","hurdal.no","hurum.no","hvaler.no","hyllestad.no","ibestad.no","inderoy.no","inderøy.no","iveland.no","ivgu.no","jevnaker.no","jolster.no","jølster.no","jondal.no","kafjord.no","kåfjord.no","karasjohka.no","kárášjohka.no","karasjok.no","karlsoy.no","karmoy.no","karmøy.no","kautokeino.no","klabu.no","klæbu.no","klepp.no","kongsberg.no","kongsvinger.no","kraanghke.no","kråanghke.no","kragero.no","kragerø.no","kristiansand.no","kristiansund.no","krodsherad.no","krødsherad.no","kvæfjord.no","kvænangen.no","kvafjord.no","kvalsund.no","kvam.no","kvanangen.no","kvinesdal.no","kvinnherad.no","kviteseid.no","kvitsoy.no","kvitsøy.no","laakesvuemie.no","lærdal.no","lahppi.no","láhppi.no","lardal.no","larvik.no","lavagis.no","lavangen.no","leangaviika.no","leaŋgaviika.no","lebesby.no","leikanger.no","leirfjord.no","leka.no","leksvik.no","lenvik.no","lerdal.no","lesja.no","levanger.no","lier.no","lierne.no","lillehammer.no","lillesand.no","lindas.no","lindås.no","lindesnes.no","loabat.no","loabát.no","lodingen.no","lødingen.no","lom.no","loppa.no","lorenskog.no","lørenskog.no","loten.no","løten.no","lund.no","lunner.no","luroy.no","lurøy.no","luster.no","lyngdal.no","lyngen.no","malatvuopmi.no","málatvuopmi.no","malselv.no","målselv.no","malvik.no","mandal.no","marker.no","marnardal.no","masfjorden.no","masoy.no","måsøy.no","matta-varjjat.no","mátta-várjjat.no","meland.no","meldal.no","melhus.no","meloy.no","meløy.no","meraker.no","meråker.no","midsund.no","midtre-gauldal.no","moareke.no","moåreke.no","modalen.no","modum.no","molde.no","heroy.more-og-romsdal.no","sande.more-og-romsdal.no","herøy.møre-og-romsdal.no","sande.møre-og-romsdal.no","moskenes.no","moss.no","mosvik.no","muosat.no","muosát.no","naamesjevuemie.no","nååmesjevuemie.no","nærøy.no","namdalseid.no","namsos.no","namsskogan.no","nannestad.no","naroy.no","narviika.no","narvik.no","naustdal.no","navuotna.no","návuotna.no","nedre-eiker.no","nesna.no","nesodden.no","nesseby.no","nesset.no","nissedal.no","nittedal.no","nord-aurdal.no","nord-fron.no","nord-odal.no","norddal.no","nordkapp.no","bo.nordland.no","bø.nordland.no","heroy.nordland.no","herøy.nordland.no","nordre-land.no","nordreisa.no","nore-og-uvdal.no","notodden.no","notteroy.no","nøtterøy.no","odda.no","oksnes.no","øksnes.no","omasvuotna.no","oppdal.no","oppegard.no","oppegård.no","orkdal.no","orland.no","ørland.no","orskog.no","ørskog.no","orsta.no","ørsta.no","osen.no","osteroy.no","osterøy.no","valer.ostfold.no","våler.østfold.no","ostre-toten.no","østre-toten.no","overhalla.no","ovre-eiker.no","øvre-eiker.no","oyer.no","øyer.no","oygarden.no","øygarden.no","oystre-slidre.no","øystre-slidre.no","porsanger.no","porsangu.no","porsáŋgu.no","porsgrunn.no","rade.no","råde.no","radoy.no","radøy.no","rælingen.no","rahkkeravju.no","ráhkkerávju.no","raisa.no","ráisa.no","rakkestad.no","ralingen.no","rana.no","randaberg.no","rauma.no","rendalen.no","rennebu.no","rennesoy.no","rennesøy.no","rindal.no","ringebu.no","ringerike.no","ringsaker.no","risor.no","risør.no","rissa.no","roan.no","rodoy.no","rødøy.no","rollag.no","romsa.no","romskog.no","rømskog.no","roros.no","røros.no","rost.no","røst.no","royken.no","røyken.no","royrvik.no","røyrvik.no","ruovat.no","rygge.no","salangen.no","salat.no","sálat.no","sálát.no","saltdal.no","samnanger.no","sandefjord.no","sandnes.no","sandoy.no","sandøy.no","sarpsborg.no","sauda.no","sauherad.no","sel.no","selbu.no","selje.no","seljord.no","siellak.no","sigdal.no","siljan.no","sirdal.no","skanit.no","skánit.no","skanland.no","skånland.no","skaun.no","skedsmo.no","ski.no","skien.no","skierva.no","skiervá.no","skiptvet.no","skjak.no","skjåk.no","skjervoy.no","skjervøy.no","skodje.no","smola.no","smøla.no","snaase.no","snåase.no","snasa.no","snåsa.no","snillfjord.no","snoasa.no","sogndal.no","sogne.no","søgne.no","sokndal.no","sola.no","solund.no","somna.no","sømna.no","sondre-land.no","søndre-land.no","songdalen.no","sor-aurdal.no","sør-aurdal.no","sor-fron.no","sør-fron.no","sor-odal.no","sør-odal.no","sor-varanger.no","sør-varanger.no","sorfold.no","sørfold.no","sorreisa.no","sørreisa.no","sortland.no","sorum.no","sørum.no","spydeberg.no","stange.no","stavanger.no","steigen.no","steinkjer.no","stjordal.no","stjørdal.no","stokke.no","stor-elvdal.no","stord.no","stordal.no","storfjord.no","strand.no","stranda.no","stryn.no","sula.no","suldal.no","sund.no","sunndal.no","surnadal.no","sveio.no","svelvik.no","sykkylven.no","tana.no","bo.telemark.no","bø.telemark.no","time.no","tingvoll.no","tinn.no","tjeldsund.no","tjome.no","tjøme.no","tokke.no","tolga.no","tonsberg.no","tønsberg.no","torsken.no","træna.no","trana.no","tranoy.no","tranøy.no","troandin.no","trogstad.no","trøgstad.no","tromsa.no","tromso.no","tromsø.no","trondheim.no","trysil.no","tvedestrand.no","tydal.no","tynset.no","tysfjord.no","tysnes.no","tysvær.no","tysvar.no","ullensaker.no","ullensvang.no","ulvik.no","unjarga.no","unjárga.no","utsira.no","vaapste.no","vadso.no","vadsø.no","værøy.no","vaga.no","vågå.no","vagan.no","vågan.no","vagsoy.no","vågsøy.no","vaksdal.no","valle.no","vang.no","vanylven.no","vardo.no","vardø.no","varggat.no","várggát.no","varoy.no","vefsn.no","vega.no","vegarshei.no","vegårshei.no","vennesla.no","verdal.no","verran.no","vestby.no","sande.vestfold.no","vestnes.no","vestre-slidre.no","vestre-toten.no","vestvagoy.no","vestvågøy.no","vevelstad.no","vik.no","vikna.no","vindafjord.no","voagat.no","volda.no","voss.no","*.np","nr","biz.nr","com.nr","edu.nr","gov.nr","info.nr","net.nr","org.nr","nu","nz","ac.nz","co.nz","cri.nz","geek.nz","gen.nz","govt.nz","health.nz","iwi.nz","kiwi.nz","maori.nz","māori.nz","mil.nz","net.nz","org.nz","parliament.nz","school.nz","om","co.om","com.om","edu.om","gov.om","med.om","museum.om","net.om","org.om","pro.om","onion","org","pa","abo.pa","ac.pa","com.pa","edu.pa","gob.pa","ing.pa","med.pa","net.pa","nom.pa","org.pa","sld.pa","pe","com.pe","edu.pe","gob.pe","mil.pe","net.pe","nom.pe","org.pe","pf","com.pf","edu.pf","org.pf","*.pg","ph","com.ph","edu.ph","gov.ph","i.ph","mil.ph","net.ph","ngo.ph","org.ph","pk","ac.pk","biz.pk","com.pk","edu.pk","fam.pk","gkp.pk","gob.pk","gog.pk","gok.pk","gon.pk","gop.pk","gos.pk","gov.pk","net.pk","org.pk","web.pk","pl","com.pl","net.pl","org.pl","agro.pl","aid.pl","atm.pl","auto.pl","biz.pl","edu.pl","gmina.pl","gsm.pl","info.pl","mail.pl","media.pl","miasta.pl","mil.pl","nieruchomosci.pl","nom.pl","pc.pl","powiat.pl","priv.pl","realestate.pl","rel.pl","sex.pl","shop.pl","sklep.pl","sos.pl","szkola.pl","targi.pl","tm.pl","tourism.pl","travel.pl","turystyka.pl","gov.pl","ap.gov.pl","griw.gov.pl","ic.gov.pl","is.gov.pl","kmpsp.gov.pl","konsulat.gov.pl","kppsp.gov.pl","kwp.gov.pl","kwpsp.gov.pl","mup.gov.pl","mw.gov.pl","oia.gov.pl","oirm.gov.pl","oke.gov.pl","oow.gov.pl","oschr.gov.pl","oum.gov.pl","pa.gov.pl","pinb.gov.pl","piw.gov.pl","po.gov.pl","pr.gov.pl","psp.gov.pl","psse.gov.pl","pup.gov.pl","rzgw.gov.pl","sa.gov.pl","sdn.gov.pl","sko.gov.pl","so.gov.pl","sr.gov.pl","starostwo.gov.pl","ug.gov.pl","ugim.gov.pl","um.gov.pl","umig.gov.pl","upow.gov.pl","uppo.gov.pl","us.gov.pl","uw.gov.pl","uzs.gov.pl","wif.gov.pl","wiih.gov.pl","winb.gov.pl","wios.gov.pl","witd.gov.pl","wiw.gov.pl","wkz.gov.pl","wsa.gov.pl","wskr.gov.pl","wsse.gov.pl","wuoz.gov.pl","wzmiuw.gov.pl","zp.gov.pl","zpisdn.gov.pl","augustow.pl","babia-gora.pl","bedzin.pl","beskidy.pl","bialowieza.pl","bialystok.pl","bielawa.pl","bieszczady.pl","boleslawiec.pl","bydgoszcz.pl","bytom.pl","cieszyn.pl","czeladz.pl","czest.pl","dlugoleka.pl","elblag.pl","elk.pl","glogow.pl","gniezno.pl","gorlice.pl","grajewo.pl","ilawa.pl","jaworzno.pl","jelenia-gora.pl","jgora.pl","kalisz.pl","karpacz.pl","kartuzy.pl","kaszuby.pl","katowice.pl","kazimierz-dolny.pl","kepno.pl","ketrzyn.pl","klodzko.pl","kobierzyce.pl","kolobrzeg.pl","konin.pl","konskowola.pl","kutno.pl","lapy.pl","lebork.pl","legnica.pl","lezajsk.pl","limanowa.pl","lomza.pl","lowicz.pl","lubin.pl","lukow.pl","malbork.pl","malopolska.pl","mazowsze.pl","mazury.pl","mielec.pl","mielno.pl","mragowo.pl","naklo.pl","nowaruda.pl","nysa.pl","olawa.pl","olecko.pl","olkusz.pl","olsztyn.pl","opoczno.pl","opole.pl","ostroda.pl","ostroleka.pl","ostrowiec.pl","ostrowwlkp.pl","pila.pl","pisz.pl","podhale.pl","podlasie.pl","polkowice.pl","pomorskie.pl","pomorze.pl","prochowice.pl","pruszkow.pl","przeworsk.pl","pulawy.pl","radom.pl","rawa-maz.pl","rybnik.pl","rzeszow.pl","sanok.pl","sejny.pl","skoczow.pl","slask.pl","slupsk.pl","sosnowiec.pl","stalowa-wola.pl","starachowice.pl","stargard.pl","suwalki.pl","swidnica.pl","swiebodzin.pl","swinoujscie.pl","szczecin.pl","szczytno.pl","tarnobrzeg.pl","tgory.pl","turek.pl","tychy.pl","ustka.pl","walbrzych.pl","warmia.pl","warszawa.pl","waw.pl","wegrow.pl","wielun.pl","wlocl.pl","wloclawek.pl","wodzislaw.pl","wolomin.pl","wroclaw.pl","zachpomor.pl","zagan.pl","zarow.pl","zgora.pl","zgorzelec.pl","pm","pn","co.pn","edu.pn","gov.pn","net.pn","org.pn","post","pr","biz.pr","com.pr","edu.pr","gov.pr","info.pr","isla.pr","name.pr","net.pr","org.pr","pro.pr","ac.pr","est.pr","prof.pr","pro","aaa.pro","aca.pro","acct.pro","avocat.pro","bar.pro","cpa.pro","eng.pro","jur.pro","law.pro","med.pro","recht.pro","ps","com.ps","edu.ps","gov.ps","net.ps","org.ps","plo.ps","sec.ps","pt","com.pt","edu.pt","gov.pt","int.pt","net.pt","nome.pt","org.pt","publ.pt","pw","belau.pw","co.pw","ed.pw","go.pw","or.pw","py","com.py","coop.py","edu.py","gov.py","mil.py","net.py","org.py","qa","com.qa","edu.qa","gov.qa","mil.qa","name.qa","net.qa","org.qa","sch.qa","re","asso.re","com.re","ro","arts.ro","com.ro","firm.ro","info.ro","nom.ro","nt.ro","org.ro","rec.ro","store.ro","tm.ro","www.ro","rs","ac.rs","co.rs","edu.rs","gov.rs","in.rs","org.rs","ru","rw","ac.rw","co.rw","coop.rw","gov.rw","mil.rw","net.rw","org.rw","sa","com.sa","edu.sa","gov.sa","med.sa","net.sa","org.sa","pub.sa","sch.sa","sb","com.sb","edu.sb","gov.sb","net.sb","org.sb","sc","com.sc","edu.sc","gov.sc","net.sc","org.sc","sd","com.sd","edu.sd","gov.sd","info.sd","med.sd","net.sd","org.sd","tv.sd","se","a.se","ac.se","b.se","bd.se","brand.se","c.se","d.se","e.se","f.se","fh.se","fhsk.se","fhv.se","g.se","h.se","i.se","k.se","komforb.se","kommunalforbund.se","komvux.se","l.se","lanbib.se","m.se","n.se","naturbruksgymn.se","o.se","org.se","p.se","parti.se","pp.se","press.se","r.se","s.se","t.se","tm.se","u.se","w.se","x.se","y.se","z.se","sg","com.sg","edu.sg","gov.sg","net.sg","org.sg","sh","com.sh","gov.sh","mil.sh","net.sh","org.sh","si","sj","sk","sl","com.sl","edu.sl","gov.sl","net.sl","org.sl","sm","sn","art.sn","com.sn","edu.sn","gouv.sn","org.sn","perso.sn","univ.sn","so","com.so","edu.so","gov.so","me.so","net.so","org.so","sr","ss","biz.ss","co.ss","com.ss","edu.ss","gov.ss","me.ss","net.ss","org.ss","sch.ss","st","co.st","com.st","consulado.st","edu.st","embaixada.st","mil.st","net.st","org.st","principe.st","saotome.st","store.st","su","sv","com.sv","edu.sv","gob.sv","org.sv","red.sv","sx","gov.sx","sy","com.sy","edu.sy","gov.sy","mil.sy","net.sy","org.sy","sz","ac.sz","co.sz","org.sz","tc","td","tel","tf","tg","th","ac.th","co.th","go.th","in.th","mi.th","net.th","or.th","tj","ac.tj","biz.tj","co.tj","com.tj","edu.tj","go.tj","gov.tj","int.tj","mil.tj","name.tj","net.tj","nic.tj","org.tj","test.tj","web.tj","tk","tl","gov.tl","tm","co.tm","com.tm","edu.tm","gov.tm","mil.tm","net.tm","nom.tm","org.tm","tn","com.tn","ens.tn","fin.tn","gov.tn","ind.tn","info.tn","intl.tn","mincom.tn","nat.tn","net.tn","org.tn","perso.tn","tourism.tn","to","com.to","edu.to","gov.to","mil.to","net.to","org.to","tr","av.tr","bbs.tr","bel.tr","biz.tr","com.tr","dr.tr","edu.tr","gen.tr","gov.tr","info.tr","k12.tr","kep.tr","mil.tr","name.tr","net.tr","org.tr","pol.tr","tel.tr","tsk.tr","tv.tr","web.tr","nc.tr","gov.nc.tr","tt","biz.tt","co.tt","com.tt","edu.tt","gov.tt","info.tt","mil.tt","name.tt","net.tt","org.tt","pro.tt","tv","tw","club.tw","com.tw","ebiz.tw","edu.tw","game.tw","gov.tw","idv.tw","mil.tw","net.tw","org.tw","tz","ac.tz","co.tz","go.tz","hotel.tz","info.tz","me.tz","mil.tz","mobi.tz","ne.tz","or.tz","sc.tz","tv.tz","ua","com.ua","edu.ua","gov.ua","in.ua","net.ua","org.ua","cherkassy.ua","cherkasy.ua","chernigov.ua","chernihiv.ua","chernivtsi.ua","chernovtsy.ua","ck.ua","cn.ua","cr.ua","crimea.ua","cv.ua","dn.ua","dnepropetrovsk.ua","dnipropetrovsk.ua","donetsk.ua","dp.ua","if.ua","ivano-frankivsk.ua","kh.ua","kharkiv.ua","kharkov.ua","kherson.ua","khmelnitskiy.ua","khmelnytskyi.ua","kiev.ua","kirovograd.ua","km.ua","kr.ua","kropyvnytskyi.ua","krym.ua","ks.ua","kv.ua","kyiv.ua","lg.ua","lt.ua","lugansk.ua","luhansk.ua","lutsk.ua","lv.ua","lviv.ua","mk.ua","mykolaiv.ua","nikolaev.ua","od.ua","odesa.ua","odessa.ua","pl.ua","poltava.ua","rivne.ua","rovno.ua","rv.ua","sb.ua","sebastopol.ua","sevastopol.ua","sm.ua","sumy.ua","te.ua","ternopil.ua","uz.ua","uzhgorod.ua","uzhhorod.ua","vinnica.ua","vinnytsia.ua","vn.ua","volyn.ua","yalta.ua","zakarpattia.ua","zaporizhzhe.ua","zaporizhzhia.ua","zhitomir.ua","zhytomyr.ua","zp.ua","zt.ua","ug","ac.ug","co.ug","com.ug","go.ug","ne.ug","or.ug","org.ug","sc.ug","uk","ac.uk","co.uk","gov.uk","ltd.uk","me.uk","net.uk","nhs.uk","org.uk","plc.uk","police.uk","*.sch.uk","us","dni.us","fed.us","isa.us","kids.us","nsn.us","ak.us","al.us","ar.us","as.us","az.us","ca.us","co.us","ct.us","dc.us","de.us","fl.us","ga.us","gu.us","hi.us","ia.us","id.us","il.us","in.us","ks.us","ky.us","la.us","ma.us","md.us","me.us","mi.us","mn.us","mo.us","ms.us","mt.us","nc.us","nd.us","ne.us","nh.us","nj.us","nm.us","nv.us","ny.us","oh.us","ok.us","or.us","pa.us","pr.us","ri.us","sc.us","sd.us","tn.us","tx.us","ut.us","va.us","vi.us","vt.us","wa.us","wi.us","wv.us","wy.us","k12.ak.us","k12.al.us","k12.ar.us","k12.as.us","k12.az.us","k12.ca.us","k12.co.us","k12.ct.us","k12.dc.us","k12.fl.us","k12.ga.us","k12.gu.us","k12.ia.us","k12.id.us","k12.il.us","k12.in.us","k12.ks.us","k12.ky.us","k12.la.us","k12.ma.us","k12.md.us","k12.me.us","k12.mi.us","k12.mn.us","k12.mo.us","k12.ms.us","k12.mt.us","k12.nc.us","k12.ne.us","k12.nh.us","k12.nj.us","k12.nm.us","k12.nv.us","k12.ny.us","k12.oh.us","k12.ok.us","k12.or.us","k12.pa.us","k12.pr.us","k12.sc.us","k12.tn.us","k12.tx.us","k12.ut.us","k12.va.us","k12.vi.us","k12.vt.us","k12.wa.us","k12.wi.us","cc.ak.us","lib.ak.us","cc.al.us","lib.al.us","cc.ar.us","lib.ar.us","cc.as.us","lib.as.us","cc.az.us","lib.az.us","cc.ca.us","lib.ca.us","cc.co.us","lib.co.us","cc.ct.us","lib.ct.us","cc.dc.us","lib.dc.us","cc.de.us","cc.fl.us","cc.ga.us","cc.gu.us","cc.hi.us","cc.ia.us","cc.id.us","cc.il.us","cc.in.us","cc.ks.us","cc.ky.us","cc.la.us","cc.ma.us","cc.md.us","cc.me.us","cc.mi.us","cc.mn.us","cc.mo.us","cc.ms.us","cc.mt.us","cc.nc.us","cc.nd.us","cc.ne.us","cc.nh.us","cc.nj.us","cc.nm.us","cc.nv.us","cc.ny.us","cc.oh.us","cc.ok.us","cc.or.us","cc.pa.us","cc.pr.us","cc.ri.us","cc.sc.us","cc.sd.us","cc.tn.us","cc.tx.us","cc.ut.us","cc.va.us","cc.vi.us","cc.vt.us","cc.wa.us","cc.wi.us","cc.wv.us","cc.wy.us","k12.wy.us","lib.fl.us","lib.ga.us","lib.gu.us","lib.hi.us","lib.ia.us","lib.id.us","lib.il.us","lib.in.us","lib.ks.us","lib.ky.us","lib.la.us","lib.ma.us","lib.md.us","lib.me.us","lib.mi.us","lib.mn.us","lib.mo.us","lib.ms.us","lib.mt.us","lib.nc.us","lib.nd.us","lib.ne.us","lib.nh.us","lib.nj.us","lib.nm.us","lib.nv.us","lib.ny.us","lib.oh.us","lib.ok.us","lib.or.us","lib.pa.us","lib.pr.us","lib.ri.us","lib.sc.us","lib.sd.us","lib.tn.us","lib.tx.us","lib.ut.us","lib.va.us","lib.vi.us","lib.vt.us","lib.wa.us","lib.wi.us","lib.wy.us","chtr.k12.ma.us","paroch.k12.ma.us","pvt.k12.ma.us","ann-arbor.mi.us","cog.mi.us","dst.mi.us","eaton.mi.us","gen.mi.us","mus.mi.us","tec.mi.us","washtenaw.mi.us","uy","com.uy","edu.uy","gub.uy","mil.uy","net.uy","org.uy","uz","co.uz","com.uz","net.uz","org.uz","va","vc","com.vc","edu.vc","gov.vc","mil.vc","net.vc","org.vc","ve","arts.ve","bib.ve","co.ve","com.ve","e12.ve","edu.ve","firm.ve","gob.ve","gov.ve","info.ve","int.ve","mil.ve","net.ve","nom.ve","org.ve","rar.ve","rec.ve","store.ve","tec.ve","web.ve","vg","vi","co.vi","com.vi","k12.vi","net.vi","org.vi","vn","ac.vn","ai.vn","biz.vn","com.vn","edu.vn","gov.vn","health.vn","id.vn","info.vn","int.vn","io.vn","name.vn","net.vn","org.vn","pro.vn","angiang.vn","bacgiang.vn","backan.vn","baclieu.vn","bacninh.vn","baria-vungtau.vn","bentre.vn","binhdinh.vn","binhduong.vn","binhphuoc.vn","binhthuan.vn","camau.vn","cantho.vn","caobang.vn","daklak.vn","daknong.vn","danang.vn","dienbien.vn","dongnai.vn","dongthap.vn","gialai.vn","hagiang.vn","haiduong.vn","haiphong.vn","hanam.vn","hanoi.vn","hatinh.vn","haugiang.vn","hoabinh.vn","hungyen.vn","khanhhoa.vn","kiengiang.vn","kontum.vn","laichau.vn","lamdong.vn","langson.vn","laocai.vn","longan.vn","namdinh.vn","nghean.vn","ninhbinh.vn","ninhthuan.vn","phutho.vn","phuyen.vn","quangbinh.vn","quangnam.vn","quangngai.vn","quangninh.vn","quangtri.vn","soctrang.vn","sonla.vn","tayninh.vn","thaibinh.vn","thainguyen.vn","thanhhoa.vn","thanhphohochiminh.vn","thuathienhue.vn","tiengiang.vn","travinh.vn","tuyenquang.vn","vinhlong.vn","vinhphuc.vn","yenbai.vn","vu","com.vu","edu.vu","net.vu","org.vu","wf","ws","com.ws","edu.ws","gov.ws","net.ws","org.ws","yt","امارات","հայ","বাংলা","бг","البحرين","бел","中国","中國","الجزائر","مصر","ею","ευ","موريتانيا","გე","ελ","香港","個人.香港","公司.香港","政府.香港","教育.香港","組織.香港","網絡.香港","ಭಾರತ","ଭାରତ","ভাৰত","भारतम्","भारोत","ڀارت","ഭാരതം","भारत","بارت","بھارت","భారత్","ભારત","ਭਾਰਤ","ভারত","இந்தியா","ایران","ايران","عراق","الاردن","한국","қаз","ລາວ","ලංකා","இலங்கை","المغرب","мкд","мон","澳門","澳门","مليسيا","عمان","پاکستان","پاكستان","فلسطين","срб","ак.срб","обр.срб","од.срб","орг.срб","пр.срб","упр.срб","рф","قطر","السعودية","السعودیة","السعودیۃ","السعوديه","سودان","新加坡","சிங்கப்பூர்","سورية","سوريا","ไทย","ทหาร.ไทย","ธุรกิจ.ไทย","เน็ต.ไทย","รัฐบาล.ไทย","ศึกษา.ไทย","องค์กร.ไทย","تونس","台灣","台湾","臺灣","укр","اليمن","xxx","ye","com.ye","edu.ye","gov.ye","mil.ye","net.ye","org.ye","ac.za","agric.za","alt.za","co.za","edu.za","gov.za","grondar.za","law.za","mil.za","net.za","ngo.za","nic.za","nis.za","nom.za","org.za","school.za","tm.za","web.za","zm","ac.zm","biz.zm","co.zm","com.zm","edu.zm","gov.zm","info.zm","mil.zm","net.zm","org.zm","sch.zm","zw","ac.zw","co.zw","gov.zw","mil.zw","org.zw","aaa","aarp","abb","abbott","abbvie","abc","able","abogado","abudhabi","academy","accenture","accountant","accountants","aco","actor","ads","adult","aeg","aetna","afl","africa","agakhan","agency","aig","airbus","airforce","airtel","akdn","alibaba","alipay","allfinanz","allstate","ally","alsace","alstom","amazon","americanexpress","americanfamily","amex","amfam","amica","amsterdam","analytics","android","anquan","anz","aol","apartments","app","apple","aquarelle","arab","aramco","archi","army","art","arte","asda","associates","athleta","attorney","auction","audi","audible","audio","auspost","author","auto","autos","aws","axa","azure","baby","baidu","banamex","band","bank","bar","barcelona","barclaycard","barclays","barefoot","bargains","baseball","basketball","bauhaus","bayern","bbc","bbt","bbva","bcg","bcn","beats","beauty","beer","bentley","berlin","best","bestbuy","bet","bharti","bible","bid","bike","bing","bingo","bio","black","blackfriday","blockbuster","blog","bloomberg","blue","bms","bmw","bnpparibas","boats","boehringer","bofa","bom","bond","boo","book","booking","bosch","bostik","boston","bot","boutique","box","bradesco","bridgestone","broadway","broker","brother","brussels","build","builders","business","buy","buzz","bzh","cab","cafe","cal","call","calvinklein","cam","camera","camp","canon","capetown","capital","capitalone","car","caravan","cards","care","career","careers","cars","casa","case","cash","casino","catering","catholic","cba","cbn","cbre","center","ceo","cern","cfa","cfd","chanel","channel","charity","chase","chat","cheap","chintai","christmas","chrome","church","cipriani","circle","cisco","citadel","citi","citic","city","claims","cleaning","click","clinic","clinique","clothing","cloud","club","clubmed","coach","codes","coffee","college","cologne","commbank","community","company","compare","computer","comsec","condos","construction","consulting","contact","contractors","cooking","cool","corsica","country","coupon","coupons","courses","cpa","credit","creditcard","creditunion","cricket","crown","crs","cruise","cruises","cuisinella","cymru","cyou","dad","dance","data","date","dating","datsun","day","dclk","dds","deal","dealer","deals","degree","delivery","dell","deloitte","delta","democrat","dental","dentist","desi","design","dev","dhl","diamonds","diet","digital","direct","directory","discount","discover","dish","diy","dnp","docs","doctor","dog","domains","dot","download","drive","dtv","dubai","dunlop","dupont","durban","dvag","dvr","earth","eat","eco","edeka","education","email","emerck","energy","engineer","engineering","enterprises","epson","equipment","ericsson","erni","esq","estate","eurovision","eus","events","exchange","expert","exposed","express","extraspace","fage","fail","fairwinds","faith","family","fan","fans","farm","farmers","fashion","fast","fedex","feedback","ferrari","ferrero","fidelity","fido","film","final","finance","financial","fire","firestone","firmdale","fish","fishing","fit","fitness","flickr","flights","flir","florist","flowers","fly","foo","food","football","ford","forex","forsale","forum","foundation","fox","free","fresenius","frl","frogans","frontier","ftr","fujitsu","fun","fund","furniture","futbol","fyi","gal","gallery","gallo","gallup","game","games","gap","garden","gay","gbiz","gdn","gea","gent","genting","george","ggee","gift","gifts","gives","giving","glass","gle","global","globo","gmail","gmbh","gmo","gmx","godaddy","gold","goldpoint","golf","goo","goodyear","goog","google","gop","got","grainger","graphics","gratis","green","gripe","grocery","group","gucci","guge","guide","guitars","guru","hair","hamburg","hangout","haus","hbo","hdfc","hdfcbank","health","healthcare","help","helsinki","here","hermes","hiphop","hisamitsu","hitachi","hiv","hkt","hockey","holdings","holiday","homedepot","homegoods","homes","homesense","honda","horse","hospital","host","hosting","hot","hotels","hotmail","house","how","hsbc","hughes","hyatt","hyundai","ibm","icbc","ice","icu","ieee","ifm","ikano","imamat","imdb","immo","immobilien","inc","industries","infiniti","ing","ink","institute","insurance","insure","international","intuit","investments","ipiranga","irish","ismaili","ist","istanbul","itau","itv","jaguar","java","jcb","jeep","jetzt","jewelry","jio","jll","jmp","jnj","joburg","jot","joy","jpmorgan","jprs","juegos","juniper","kaufen","kddi","kerryhotels","kerrylogistics","kerryproperties","kfh","kia","kids","kim","kindle","kitchen","kiwi","koeln","komatsu","kosher","kpmg","kpn","krd","kred","kuokgroup","kyoto","lacaixa","lamborghini","lamer","lancaster","land","landrover","lanxess","lasalle","lat","latino","latrobe","law","lawyer","lds","lease","leclerc","lefrak","legal","lego","lexus","lgbt","lidl","life","lifeinsurance","lifestyle","lighting","like","lilly","limited","limo","lincoln","link","lipsy","live","living","llc","llp","loan","loans","locker","locus","lol","london","lotte","lotto","love","lpl","lplfinancial","ltd","ltda","lundbeck","luxe","luxury","madrid","maif","maison","makeup","man","management","mango","map","market","marketing","markets","marriott","marshalls","mattel","mba","mckinsey","med","media","meet","melbourne","meme","memorial","men","menu","merck","merckmsd","miami","microsoft","mini","mint","mit","mitsubishi","mlb","mls","mma","mobile","moda","moe","moi","mom","monash","money","monster","mormon","mortgage","moscow","moto","motorcycles","mov","movie","msd","mtn","mtr","music","nab","nagoya","navy","nba","nec","netbank","netflix","network","neustar","new","news","next","nextdirect","nexus","nfl","ngo","nhk","nico","nike","nikon","ninja","nissan","nissay","nokia","norton","now","nowruz","nowtv","nra","nrw","ntt","nyc","obi","observer","office","okinawa","olayan","olayangroup","ollo","omega","one","ong","onl","online","ooo","open","oracle","orange","organic","origins","osaka","otsuka","ott","ovh","page","panasonic","paris","pars","partners","parts","party","pay","pccw","pet","pfizer","pharmacy","phd","philips","phone","photo","photography","photos","physio","pics","pictet","pictures","pid","pin","ping","pink","pioneer","pizza","place","play","playstation","plumbing","plus","pnc","pohl","poker","politie","porn","pramerica","praxi","press","prime","prod","productions","prof","progressive","promo","properties","property","protection","pru","prudential","pub","pwc","qpon","quebec","quest","racing","radio","read","realestate","realtor","realty","recipes","red","redstone","redumbrella","rehab","reise","reisen","reit","reliance","ren","rent","rentals","repair","report","republican","rest","restaurant","review","reviews","rexroth","rich","richardli","ricoh","ril","rio","rip","rocks","rodeo","rogers","room","rsvp","rugby","ruhr","run","rwe","ryukyu","saarland","safe","safety","sakura","sale","salon","samsclub","samsung","sandvik","sandvikcoromant","sanofi","sap","sarl","sas","save","saxo","sbi","sbs","scb","schaeffler","schmidt","scholarships","school","schule","schwarz","science","scot","search","seat","secure","security","seek","select","sener","services","seven","sew","sex","sexy","sfr","shangrila","sharp","shell","shia","shiksha","shoes","shop","shopping","shouji","show","silk","sina","singles","site","ski","skin","sky","skype","sling","smart","smile","sncf","soccer","social","softbank","software","sohu","solar","solutions","song","sony","soy","spa","space","sport","spot","srl","stada","staples","star","statebank","statefarm","stc","stcgroup","stockholm","storage","store","stream","studio","study","style","sucks","supplies","supply","support","surf","surgery","suzuki","swatch","swiss","sydney","systems","tab","taipei","talk","taobao","target","tatamotors","tatar","tattoo","tax","taxi","tci","tdk","team","tech","technology","temasek","tennis","teva","thd","theater","theatre","tiaa","tickets","tienda","tips","tires","tirol","tjmaxx","tjx","tkmaxx","tmall","today","tokyo","tools","top","toray","toshiba","total","tours","town","toyota","toys","trade","trading","training","travel","travelers","travelersinsurance","trust","trv","tube","tui","tunes","tushu","tvs","ubank","ubs","unicom","university","uno","uol","ups","vacations","vana","vanguard","vegas","ventures","verisign","versicherung","vet","viajes","video","vig","viking","villas","vin","vip","virgin","visa","vision","viva","vivo","vlaanderen","vodka","volvo","vote","voting","voto","voyage","wales","walmart","walter","wang","wanggou","watch","watches","weather","weatherchannel","webcam","weber","website","wed","wedding","weibo","weir","whoswho","wien","wiki","williamhill","win","windows","wine","winners","wme","wolterskluwer","woodside","work","works","world","wow","wtc","wtf","xbox","xerox","xihuan","xin","कॉम","セール","佛山","慈善","集团","在线","点看","คอม","八卦","موقع","公益","公司","香格里拉","网站","移动","我爱你","москва","католик","онлайн","сайт","联通","קום","时尚","微博","淡马锡","ファッション","орг","नेट","ストア","アマゾン","삼성","商标","商店","商城","дети","ポイント","新闻","家電","كوم","中文网","中信","娱乐","谷歌","電訊盈科","购物","クラウド","通販","网店","संगठन","餐厅","网络","ком","亚马逊","食品","飞利浦","手机","ارامكو","العليان","بازار","ابوظبي","كاثوليك","همراه","닷컴","政府","شبكة","بيتك","عرب","机构","组织机构","健康","招聘","рус","大拿","みんな","グーグル","世界","書籍","网址","닷넷","コム","天主教","游戏","vermögensberater","vermögensberatung","企业","信息","嘉里大酒店","嘉里","广东","政务","xyz","yachts","yahoo","yamaxun","yandex","yodobashi","yoga","yokohama","you","youtube","yun","zappos","zara","zero","zip","zone","zuerich","co.krd","edu.krd","art.pl","gliwice.pl","krakow.pl","poznan.pl","wroc.pl","zakopane.pl","lib.de.us","12chars.dev","12chars.it","12chars.pro","cc.ua","inf.ua","ltd.ua","611.to","a2hosted.com","cpserver.com","aaa.vodka","*.on-acorn.io","activetrail.biz","adaptable.app","adobeaemcloud.com","*.dev.adobeaemcloud.com","aem.live","hlx.live","adobeaemcloud.net","aem.page","hlx.page","hlx3.page","adobeio-static.net","adobeioruntime.net","africa.com","beep.pl","airkitapps.com","airkitapps-au.com","airkitapps.eu","aivencloud.com","akadns.net","akamai.net","akamai-staging.net","akamaiedge.net","akamaiedge-staging.net","akamaihd.net","akamaihd-staging.net","akamaiorigin.net","akamaiorigin-staging.net","akamaized.net","akamaized-staging.net","edgekey.net","edgekey-staging.net","edgesuite.net","edgesuite-staging.net","barsy.ca","*.compute.estate","*.alces.network","kasserver.com","altervista.org","alwaysdata.net","myamaze.net","execute-api.cn-north-1.amazonaws.com.cn","execute-api.cn-northwest-1.amazonaws.com.cn","execute-api.af-south-1.amazonaws.com","execute-api.ap-east-1.amazonaws.com","execute-api.ap-northeast-1.amazonaws.com","execute-api.ap-northeast-2.amazonaws.com","execute-api.ap-northeast-3.amazonaws.com","execute-api.ap-south-1.amazonaws.com","execute-api.ap-south-2.amazonaws.com","execute-api.ap-southeast-1.amazonaws.com","execute-api.ap-southeast-2.amazonaws.com","execute-api.ap-southeast-3.amazonaws.com","execute-api.ap-southeast-4.amazonaws.com","execute-api.ap-southeast-5.amazonaws.com","execute-api.ca-central-1.amazonaws.com","execute-api.ca-west-1.amazonaws.com","execute-api.eu-central-1.amazonaws.com","execute-api.eu-central-2.amazonaws.com","execute-api.eu-north-1.amazonaws.com","execute-api.eu-south-1.amazonaws.com","execute-api.eu-south-2.amazonaws.com","execute-api.eu-west-1.amazonaws.com","execute-api.eu-west-2.amazonaws.com","execute-api.eu-west-3.amazonaws.com","execute-api.il-central-1.amazonaws.com","execute-api.me-central-1.amazonaws.com","execute-api.me-south-1.amazonaws.com","execute-api.sa-east-1.amazonaws.com","execute-api.us-east-1.amazonaws.com","execute-api.us-east-2.amazonaws.com","execute-api.us-gov-east-1.amazonaws.com","execute-api.us-gov-west-1.amazonaws.com","execute-api.us-west-1.amazonaws.com","execute-api.us-west-2.amazonaws.com","cloudfront.net","auth.af-south-1.amazoncognito.com","auth.ap-east-1.amazoncognito.com","auth.ap-northeast-1.amazoncognito.com","auth.ap-northeast-2.amazoncognito.com","auth.ap-northeast-3.amazoncognito.com","auth.ap-south-1.amazoncognito.com","auth.ap-south-2.amazoncognito.com","auth.ap-southeast-1.amazoncognito.com","auth.ap-southeast-2.amazoncognito.com","auth.ap-southeast-3.amazoncognito.com","auth.ap-southeast-4.amazoncognito.com","auth.ca-central-1.amazoncognito.com","auth.ca-west-1.amazoncognito.com","auth.eu-central-1.amazoncognito.com","auth.eu-central-2.amazoncognito.com","auth.eu-north-1.amazoncognito.com","auth.eu-south-1.amazoncognito.com","auth.eu-south-2.amazoncognito.com","auth.eu-west-1.amazoncognito.com","auth.eu-west-2.amazoncognito.com","auth.eu-west-3.amazoncognito.com","auth.il-central-1.amazoncognito.com","auth.me-central-1.amazoncognito.com","auth.me-south-1.amazoncognito.com","auth.sa-east-1.amazoncognito.com","auth.us-east-1.amazoncognito.com","auth-fips.us-east-1.amazoncognito.com","auth.us-east-2.amazoncognito.com","auth-fips.us-east-2.amazoncognito.com","auth-fips.us-gov-west-1.amazoncognito.com","auth.us-west-1.amazoncognito.com","auth-fips.us-west-1.amazoncognito.com","auth.us-west-2.amazoncognito.com","auth-fips.us-west-2.amazoncognito.com","*.compute.amazonaws.com.cn","*.compute.amazonaws.com","*.compute-1.amazonaws.com","us-east-1.amazonaws.com","emrappui-prod.cn-north-1.amazonaws.com.cn","emrnotebooks-prod.cn-north-1.amazonaws.com.cn","emrstudio-prod.cn-north-1.amazonaws.com.cn","emrappui-prod.cn-northwest-1.amazonaws.com.cn","emrnotebooks-prod.cn-northwest-1.amazonaws.com.cn","emrstudio-prod.cn-northwest-1.amazonaws.com.cn","emrappui-prod.af-south-1.amazonaws.com","emrnotebooks-prod.af-south-1.amazonaws.com","emrstudio-prod.af-south-1.amazonaws.com","emrappui-prod.ap-east-1.amazonaws.com","emrnotebooks-prod.ap-east-1.amazonaws.com","emrstudio-prod.ap-east-1.amazonaws.com","emrappui-prod.ap-northeast-1.amazonaws.com","emrnotebooks-prod.ap-northeast-1.amazonaws.com","emrstudio-prod.ap-northeast-1.amazonaws.com","emrappui-prod.ap-northeast-2.amazonaws.com","emrnotebooks-prod.ap-northeast-2.amazonaws.com","emrstudio-prod.ap-northeast-2.amazonaws.com","emrappui-prod.ap-northeast-3.amazonaws.com","emrnotebooks-prod.ap-northeast-3.amazonaws.com","emrstudio-prod.ap-northeast-3.amazonaws.com","emrappui-prod.ap-south-1.amazonaws.com","emrnotebooks-prod.ap-south-1.amazonaws.com","emrstudio-prod.ap-south-1.amazonaws.com","emrappui-prod.ap-south-2.amazonaws.com","emrnotebooks-prod.ap-south-2.amazonaws.com","emrstudio-prod.ap-south-2.amazonaws.com","emrappui-prod.ap-southeast-1.amazonaws.com","emrnotebooks-prod.ap-southeast-1.amazonaws.com","emrstudio-prod.ap-southeast-1.amazonaws.com","emrappui-prod.ap-southeast-2.amazonaws.com","emrnotebooks-prod.ap-southeast-2.amazonaws.com","emrstudio-prod.ap-southeast-2.amazonaws.com","emrappui-prod.ap-southeast-3.amazonaws.com","emrnotebooks-prod.ap-southeast-3.amazonaws.com","emrstudio-prod.ap-southeast-3.amazonaws.com","emrappui-prod.ap-southeast-4.amazonaws.com","emrnotebooks-prod.ap-southeast-4.amazonaws.com","emrstudio-prod.ap-southeast-4.amazonaws.com","emrappui-prod.ca-central-1.amazonaws.com","emrnotebooks-prod.ca-central-1.amazonaws.com","emrstudio-prod.ca-central-1.amazonaws.com","emrappui-prod.ca-west-1.amazonaws.com","emrnotebooks-prod.ca-west-1.amazonaws.com","emrstudio-prod.ca-west-1.amazonaws.com","emrappui-prod.eu-central-1.amazonaws.com","emrnotebooks-prod.eu-central-1.amazonaws.com","emrstudio-prod.eu-central-1.amazonaws.com","emrappui-prod.eu-central-2.amazonaws.com","emrnotebooks-prod.eu-central-2.amazonaws.com","emrstudio-prod.eu-central-2.amazonaws.com","emrappui-prod.eu-north-1.amazonaws.com","emrnotebooks-prod.eu-north-1.amazonaws.com","emrstudio-prod.eu-north-1.amazonaws.com","emrappui-prod.eu-south-1.amazonaws.com","emrnotebooks-prod.eu-south-1.amazonaws.com","emrstudio-prod.eu-south-1.amazonaws.com","emrappui-prod.eu-south-2.amazonaws.com","emrnotebooks-prod.eu-south-2.amazonaws.com","emrstudio-prod.eu-south-2.amazonaws.com","emrappui-prod.eu-west-1.amazonaws.com","emrnotebooks-prod.eu-west-1.amazonaws.com","emrstudio-prod.eu-west-1.amazonaws.com","emrappui-prod.eu-west-2.amazonaws.com","emrnotebooks-prod.eu-west-2.amazonaws.com","emrstudio-prod.eu-west-2.amazonaws.com","emrappui-prod.eu-west-3.amazonaws.com","emrnotebooks-prod.eu-west-3.amazonaws.com","emrstudio-prod.eu-west-3.amazonaws.com","emrappui-prod.il-central-1.amazonaws.com","emrnotebooks-prod.il-central-1.amazonaws.com","emrstudio-prod.il-central-1.amazonaws.com","emrappui-prod.me-central-1.amazonaws.com","emrnotebooks-prod.me-central-1.amazonaws.com","emrstudio-prod.me-central-1.amazonaws.com","emrappui-prod.me-south-1.amazonaws.com","emrnotebooks-prod.me-south-1.amazonaws.com","emrstudio-prod.me-south-1.amazonaws.com","emrappui-prod.sa-east-1.amazonaws.com","emrnotebooks-prod.sa-east-1.amazonaws.com","emrstudio-prod.sa-east-1.amazonaws.com","emrappui-prod.us-east-1.amazonaws.com","emrnotebooks-prod.us-east-1.amazonaws.com","emrstudio-prod.us-east-1.amazonaws.com","emrappui-prod.us-east-2.amazonaws.com","emrnotebooks-prod.us-east-2.amazonaws.com","emrstudio-prod.us-east-2.amazonaws.com","emrappui-prod.us-gov-east-1.amazonaws.com","emrnotebooks-prod.us-gov-east-1.amazonaws.com","emrstudio-prod.us-gov-east-1.amazonaws.com","emrappui-prod.us-gov-west-1.amazonaws.com","emrnotebooks-prod.us-gov-west-1.amazonaws.com","emrstudio-prod.us-gov-west-1.amazonaws.com","emrappui-prod.us-west-1.amazonaws.com","emrnotebooks-prod.us-west-1.amazonaws.com","emrstudio-prod.us-west-1.amazonaws.com","emrappui-prod.us-west-2.amazonaws.com","emrnotebooks-prod.us-west-2.amazonaws.com","emrstudio-prod.us-west-2.amazonaws.com","*.cn-north-1.airflow.amazonaws.com.cn","*.cn-northwest-1.airflow.amazonaws.com.cn","*.af-south-1.airflow.amazonaws.com","*.ap-east-1.airflow.amazonaws.com","*.ap-northeast-1.airflow.amazonaws.com","*.ap-northeast-2.airflow.amazonaws.com","*.ap-northeast-3.airflow.amazonaws.com","*.ap-south-1.airflow.amazonaws.com","*.ap-south-2.airflow.amazonaws.com","*.ap-southeast-1.airflow.amazonaws.com","*.ap-southeast-2.airflow.amazonaws.com","*.ap-southeast-3.airflow.amazonaws.com","*.ap-southeast-4.airflow.amazonaws.com","*.ca-central-1.airflow.amazonaws.com","*.ca-west-1.airflow.amazonaws.com","*.eu-central-1.airflow.amazonaws.com","*.eu-central-2.airflow.amazonaws.com","*.eu-north-1.airflow.amazonaws.com","*.eu-south-1.airflow.amazonaws.com","*.eu-south-2.airflow.amazonaws.com","*.eu-west-1.airflow.amazonaws.com","*.eu-west-2.airflow.amazonaws.com","*.eu-west-3.airflow.amazonaws.com","*.il-central-1.airflow.amazonaws.com","*.me-central-1.airflow.amazonaws.com","*.me-south-1.airflow.amazonaws.com","*.sa-east-1.airflow.amazonaws.com","*.us-east-1.airflow.amazonaws.com","*.us-east-2.airflow.amazonaws.com","*.us-west-1.airflow.amazonaws.com","*.us-west-2.airflow.amazonaws.com","s3.dualstack.cn-north-1.amazonaws.com.cn","s3-accesspoint.dualstack.cn-north-1.amazonaws.com.cn","s3-website.dualstack.cn-north-1.amazonaws.com.cn","s3.cn-north-1.amazonaws.com.cn","s3-accesspoint.cn-north-1.amazonaws.com.cn","s3-deprecated.cn-north-1.amazonaws.com.cn","s3-object-lambda.cn-north-1.amazonaws.com.cn","s3-website.cn-north-1.amazonaws.com.cn","s3.dualstack.cn-northwest-1.amazonaws.com.cn","s3-accesspoint.dualstack.cn-northwest-1.amazonaws.com.cn","s3.cn-northwest-1.amazonaws.com.cn","s3-accesspoint.cn-northwest-1.amazonaws.com.cn","s3-object-lambda.cn-northwest-1.amazonaws.com.cn","s3-website.cn-northwest-1.amazonaws.com.cn","s3.dualstack.af-south-1.amazonaws.com","s3-accesspoint.dualstack.af-south-1.amazonaws.com","s3-website.dualstack.af-south-1.amazonaws.com","s3.af-south-1.amazonaws.com","s3-accesspoint.af-south-1.amazonaws.com","s3-object-lambda.af-south-1.amazonaws.com","s3-website.af-south-1.amazonaws.com","s3.dualstack.ap-east-1.amazonaws.com","s3-accesspoint.dualstack.ap-east-1.amazonaws.com","s3.ap-east-1.amazonaws.com","s3-accesspoint.ap-east-1.amazonaws.com","s3-object-lambda.ap-east-1.amazonaws.com","s3-website.ap-east-1.amazonaws.com","s3.dualstack.ap-northeast-1.amazonaws.com","s3-accesspoint.dualstack.ap-northeast-1.amazonaws.com","s3-website.dualstack.ap-northeast-1.amazonaws.com","s3.ap-northeast-1.amazonaws.com","s3-accesspoint.ap-northeast-1.amazonaws.com","s3-object-lambda.ap-northeast-1.amazonaws.com","s3-website.ap-northeast-1.amazonaws.com","s3.dualstack.ap-northeast-2.amazonaws.com","s3-accesspoint.dualstack.ap-northeast-2.amazonaws.com","s3-website.dualstack.ap-northeast-2.amazonaws.com","s3.ap-northeast-2.amazonaws.com","s3-accesspoint.ap-northeast-2.amazonaws.com","s3-object-lambda.ap-northeast-2.amazonaws.com","s3-website.ap-northeast-2.amazonaws.com","s3.dualstack.ap-northeast-3.amazonaws.com","s3-accesspoint.dualstack.ap-northeast-3.amazonaws.com","s3-website.dualstack.ap-northeast-3.amazonaws.com","s3.ap-northeast-3.amazonaws.com","s3-accesspoint.ap-northeast-3.amazonaws.com","s3-object-lambda.ap-northeast-3.amazonaws.com","s3-website.ap-northeast-3.amazonaws.com","s3.dualstack.ap-south-1.amazonaws.com","s3-accesspoint.dualstack.ap-south-1.amazonaws.com","s3-website.dualstack.ap-south-1.amazonaws.com","s3.ap-south-1.amazonaws.com","s3-accesspoint.ap-south-1.amazonaws.com","s3-object-lambda.ap-south-1.amazonaws.com","s3-website.ap-south-1.amazonaws.com","s3.dualstack.ap-south-2.amazonaws.com","s3-accesspoint.dualstack.ap-south-2.amazonaws.com","s3-website.dualstack.ap-south-2.amazonaws.com","s3.ap-south-2.amazonaws.com","s3-accesspoint.ap-south-2.amazonaws.com","s3-object-lambda.ap-south-2.amazonaws.com","s3-website.ap-south-2.amazonaws.com","s3.dualstack.ap-southeast-1.amazonaws.com","s3-accesspoint.dualstack.ap-southeast-1.amazonaws.com","s3-website.dualstack.ap-southeast-1.amazonaws.com","s3.ap-southeast-1.amazonaws.com","s3-accesspoint.ap-southeast-1.amazonaws.com","s3-object-lambda.ap-southeast-1.amazonaws.com","s3-website.ap-southeast-1.amazonaws.com","s3.dualstack.ap-southeast-2.amazonaws.com","s3-accesspoint.dualstack.ap-southeast-2.amazonaws.com","s3-website.dualstack.ap-southeast-2.amazonaws.com","s3.ap-southeast-2.amazonaws.com","s3-accesspoint.ap-southeast-2.amazonaws.com","s3-object-lambda.ap-southeast-2.amazonaws.com","s3-website.ap-southeast-2.amazonaws.com","s3.dualstack.ap-southeast-3.amazonaws.com","s3-accesspoint.dualstack.ap-southeast-3.amazonaws.com","s3-website.dualstack.ap-southeast-3.amazonaws.com","s3.ap-southeast-3.amazonaws.com","s3-accesspoint.ap-southeast-3.amazonaws.com","s3-object-lambda.ap-southeast-3.amazonaws.com","s3-website.ap-southeast-3.amazonaws.com","s3.dualstack.ap-southeast-4.amazonaws.com","s3-accesspoint.dualstack.ap-southeast-4.amazonaws.com","s3-website.dualstack.ap-southeast-4.amazonaws.com","s3.ap-southeast-4.amazonaws.com","s3-accesspoint.ap-southeast-4.amazonaws.com","s3-object-lambda.ap-southeast-4.amazonaws.com","s3-website.ap-southeast-4.amazonaws.com","s3.dualstack.ap-southeast-5.amazonaws.com","s3-accesspoint.dualstack.ap-southeast-5.amazonaws.com","s3-website.dualstack.ap-southeast-5.amazonaws.com","s3.ap-southeast-5.amazonaws.com","s3-accesspoint.ap-southeast-5.amazonaws.com","s3-deprecated.ap-southeast-5.amazonaws.com","s3-object-lambda.ap-southeast-5.amazonaws.com","s3-website.ap-southeast-5.amazonaws.com","s3.dualstack.ca-central-1.amazonaws.com","s3-accesspoint.dualstack.ca-central-1.amazonaws.com","s3-accesspoint-fips.dualstack.ca-central-1.amazonaws.com","s3-fips.dualstack.ca-central-1.amazonaws.com","s3-website.dualstack.ca-central-1.amazonaws.com","s3.ca-central-1.amazonaws.com","s3-accesspoint.ca-central-1.amazonaws.com","s3-accesspoint-fips.ca-central-1.amazonaws.com","s3-fips.ca-central-1.amazonaws.com","s3-object-lambda.ca-central-1.amazonaws.com","s3-website.ca-central-1.amazonaws.com","s3.dualstack.ca-west-1.amazonaws.com","s3-accesspoint.dualstack.ca-west-1.amazonaws.com","s3-accesspoint-fips.dualstack.ca-west-1.amazonaws.com","s3-fips.dualstack.ca-west-1.amazonaws.com","s3-website.dualstack.ca-west-1.amazonaws.com","s3.ca-west-1.amazonaws.com","s3-accesspoint.ca-west-1.amazonaws.com","s3-accesspoint-fips.ca-west-1.amazonaws.com","s3-fips.ca-west-1.amazonaws.com","s3-object-lambda.ca-west-1.amazonaws.com","s3-website.ca-west-1.amazonaws.com","s3.dualstack.eu-central-1.amazonaws.com","s3-accesspoint.dualstack.eu-central-1.amazonaws.com","s3-website.dualstack.eu-central-1.amazonaws.com","s3.eu-central-1.amazonaws.com","s3-accesspoint.eu-central-1.amazonaws.com","s3-object-lambda.eu-central-1.amazonaws.com","s3-website.eu-central-1.amazonaws.com","s3.dualstack.eu-central-2.amazonaws.com","s3-accesspoint.dualstack.eu-central-2.amazonaws.com","s3-website.dualstack.eu-central-2.amazonaws.com","s3.eu-central-2.amazonaws.com","s3-accesspoint.eu-central-2.amazonaws.com","s3-object-lambda.eu-central-2.amazonaws.com","s3-website.eu-central-2.amazonaws.com","s3.dualstack.eu-north-1.amazonaws.com","s3-accesspoint.dualstack.eu-north-1.amazonaws.com","s3.eu-north-1.amazonaws.com","s3-accesspoint.eu-north-1.amazonaws.com","s3-object-lambda.eu-north-1.amazonaws.com","s3-website.eu-north-1.amazonaws.com","s3.dualstack.eu-south-1.amazonaws.com","s3-accesspoint.dualstack.eu-south-1.amazonaws.com","s3-website.dualstack.eu-south-1.amazonaws.com","s3.eu-south-1.amazonaws.com","s3-accesspoint.eu-south-1.amazonaws.com","s3-object-lambda.eu-south-1.amazonaws.com","s3-website.eu-south-1.amazonaws.com","s3.dualstack.eu-south-2.amazonaws.com","s3-accesspoint.dualstack.eu-south-2.amazonaws.com","s3-website.dualstack.eu-south-2.amazonaws.com","s3.eu-south-2.amazonaws.com","s3-accesspoint.eu-south-2.amazonaws.com","s3-object-lambda.eu-south-2.amazonaws.com","s3-website.eu-south-2.amazonaws.com","s3.dualstack.eu-west-1.amazonaws.com","s3-accesspoint.dualstack.eu-west-1.amazonaws.com","s3-website.dualstack.eu-west-1.amazonaws.com","s3.eu-west-1.amazonaws.com","s3-accesspoint.eu-west-1.amazonaws.com","s3-deprecated.eu-west-1.amazonaws.com","s3-object-lambda.eu-west-1.amazonaws.com","s3-website.eu-west-1.amazonaws.com","s3.dualstack.eu-west-2.amazonaws.com","s3-accesspoint.dualstack.eu-west-2.amazonaws.com","s3.eu-west-2.amazonaws.com","s3-accesspoint.eu-west-2.amazonaws.com","s3-object-lambda.eu-west-2.amazonaws.com","s3-website.eu-west-2.amazonaws.com","s3.dualstack.eu-west-3.amazonaws.com","s3-accesspoint.dualstack.eu-west-3.amazonaws.com","s3-website.dualstack.eu-west-3.amazonaws.com","s3.eu-west-3.amazonaws.com","s3-accesspoint.eu-west-3.amazonaws.com","s3-object-lambda.eu-west-3.amazonaws.com","s3-website.eu-west-3.amazonaws.com","s3.dualstack.il-central-1.amazonaws.com","s3-accesspoint.dualstack.il-central-1.amazonaws.com","s3-website.dualstack.il-central-1.amazonaws.com","s3.il-central-1.amazonaws.com","s3-accesspoint.il-central-1.amazonaws.com","s3-object-lambda.il-central-1.amazonaws.com","s3-website.il-central-1.amazonaws.com","s3.dualstack.me-central-1.amazonaws.com","s3-accesspoint.dualstack.me-central-1.amazonaws.com","s3-website.dualstack.me-central-1.amazonaws.com","s3.me-central-1.amazonaws.com","s3-accesspoint.me-central-1.amazonaws.com","s3-object-lambda.me-central-1.amazonaws.com","s3-website.me-central-1.amazonaws.com","s3.dualstack.me-south-1.amazonaws.com","s3-accesspoint.dualstack.me-south-1.amazonaws.com","s3.me-south-1.amazonaws.com","s3-accesspoint.me-south-1.amazonaws.com","s3-object-lambda.me-south-1.amazonaws.com","s3-website.me-south-1.amazonaws.com","s3.amazonaws.com","s3-1.amazonaws.com","s3-ap-east-1.amazonaws.com","s3-ap-northeast-1.amazonaws.com","s3-ap-northeast-2.amazonaws.com","s3-ap-northeast-3.amazonaws.com","s3-ap-south-1.amazonaws.com","s3-ap-southeast-1.amazonaws.com","s3-ap-southeast-2.amazonaws.com","s3-ca-central-1.amazonaws.com","s3-eu-central-1.amazonaws.com","s3-eu-north-1.amazonaws.com","s3-eu-west-1.amazonaws.com","s3-eu-west-2.amazonaws.com","s3-eu-west-3.amazonaws.com","s3-external-1.amazonaws.com","s3-fips-us-gov-east-1.amazonaws.com","s3-fips-us-gov-west-1.amazonaws.com","mrap.accesspoint.s3-global.amazonaws.com","s3-me-south-1.amazonaws.com","s3-sa-east-1.amazonaws.com","s3-us-east-2.amazonaws.com","s3-us-gov-east-1.amazonaws.com","s3-us-gov-west-1.amazonaws.com","s3-us-west-1.amazonaws.com","s3-us-west-2.amazonaws.com","s3-website-ap-northeast-1.amazonaws.com","s3-website-ap-southeast-1.amazonaws.com","s3-website-ap-southeast-2.amazonaws.com","s3-website-eu-west-1.amazonaws.com","s3-website-sa-east-1.amazonaws.com","s3-website-us-east-1.amazonaws.com","s3-website-us-gov-west-1.amazonaws.com","s3-website-us-west-1.amazonaws.com","s3-website-us-west-2.amazonaws.com","s3.dualstack.sa-east-1.amazonaws.com","s3-accesspoint.dualstack.sa-east-1.amazonaws.com","s3-website.dualstack.sa-east-1.amazonaws.com","s3.sa-east-1.amazonaws.com","s3-accesspoint.sa-east-1.amazonaws.com","s3-object-lambda.sa-east-1.amazonaws.com","s3-website.sa-east-1.amazonaws.com","s3.dualstack.us-east-1.amazonaws.com","s3-accesspoint.dualstack.us-east-1.amazonaws.com","s3-accesspoint-fips.dualstack.us-east-1.amazonaws.com","s3-fips.dualstack.us-east-1.amazonaws.com","s3-website.dualstack.us-east-1.amazonaws.com","s3.us-east-1.amazonaws.com","s3-accesspoint.us-east-1.amazonaws.com","s3-accesspoint-fips.us-east-1.amazonaws.com","s3-deprecated.us-east-1.amazonaws.com","s3-fips.us-east-1.amazonaws.com","s3-object-lambda.us-east-1.amazonaws.com","s3-website.us-east-1.amazonaws.com","s3.dualstack.us-east-2.amazonaws.com","s3-accesspoint.dualstack.us-east-2.amazonaws.com","s3-accesspoint-fips.dualstack.us-east-2.amazonaws.com","s3-fips.dualstack.us-east-2.amazonaws.com","s3-website.dualstack.us-east-2.amazonaws.com","s3.us-east-2.amazonaws.com","s3-accesspoint.us-east-2.amazonaws.com","s3-accesspoint-fips.us-east-2.amazonaws.com","s3-deprecated.us-east-2.amazonaws.com","s3-fips.us-east-2.amazonaws.com","s3-object-lambda.us-east-2.amazonaws.com","s3-website.us-east-2.amazonaws.com","s3.dualstack.us-gov-east-1.amazonaws.com","s3-accesspoint.dualstack.us-gov-east-1.amazonaws.com","s3-accesspoint-fips.dualstack.us-gov-east-1.amazonaws.com","s3-fips.dualstack.us-gov-east-1.amazonaws.com","s3.us-gov-east-1.amazonaws.com","s3-accesspoint.us-gov-east-1.amazonaws.com","s3-accesspoint-fips.us-gov-east-1.amazonaws.com","s3-fips.us-gov-east-1.amazonaws.com","s3-object-lambda.us-gov-east-1.amazonaws.com","s3-website.us-gov-east-1.amazonaws.com","s3.dualstack.us-gov-west-1.amazonaws.com","s3-accesspoint.dualstack.us-gov-west-1.amazonaws.com","s3-accesspoint-fips.dualstack.us-gov-west-1.amazonaws.com","s3-fips.dualstack.us-gov-west-1.amazonaws.com","s3.us-gov-west-1.amazonaws.com","s3-accesspoint.us-gov-west-1.amazonaws.com","s3-accesspoint-fips.us-gov-west-1.amazonaws.com","s3-fips.us-gov-west-1.amazonaws.com","s3-object-lambda.us-gov-west-1.amazonaws.com","s3-website.us-gov-west-1.amazonaws.com","s3.dualstack.us-west-1.amazonaws.com","s3-accesspoint.dualstack.us-west-1.amazonaws.com","s3-accesspoint-fips.dualstack.us-west-1.amazonaws.com","s3-fips.dualstack.us-west-1.amazonaws.com","s3-website.dualstack.us-west-1.amazonaws.com","s3.us-west-1.amazonaws.com","s3-accesspoint.us-west-1.amazonaws.com","s3-accesspoint-fips.us-west-1.amazonaws.com","s3-fips.us-west-1.amazonaws.com","s3-object-lambda.us-west-1.amazonaws.com","s3-website.us-west-1.amazonaws.com","s3.dualstack.us-west-2.amazonaws.com","s3-accesspoint.dualstack.us-west-2.amazonaws.com","s3-accesspoint-fips.dualstack.us-west-2.amazonaws.com","s3-fips.dualstack.us-west-2.amazonaws.com","s3-website.dualstack.us-west-2.amazonaws.com","s3.us-west-2.amazonaws.com","s3-accesspoint.us-west-2.amazonaws.com","s3-accesspoint-fips.us-west-2.amazonaws.com","s3-deprecated.us-west-2.amazonaws.com","s3-fips.us-west-2.amazonaws.com","s3-object-lambda.us-west-2.amazonaws.com","s3-website.us-west-2.amazonaws.com","labeling.ap-northeast-1.sagemaker.aws","labeling.ap-northeast-2.sagemaker.aws","labeling.ap-south-1.sagemaker.aws","labeling.ap-southeast-1.sagemaker.aws","labeling.ap-southeast-2.sagemaker.aws","labeling.ca-central-1.sagemaker.aws","labeling.eu-central-1.sagemaker.aws","labeling.eu-west-1.sagemaker.aws","labeling.eu-west-2.sagemaker.aws","labeling.us-east-1.sagemaker.aws","labeling.us-east-2.sagemaker.aws","labeling.us-west-2.sagemaker.aws","notebook.af-south-1.sagemaker.aws","notebook.ap-east-1.sagemaker.aws","notebook.ap-northeast-1.sagemaker.aws","notebook.ap-northeast-2.sagemaker.aws","notebook.ap-northeast-3.sagemaker.aws","notebook.ap-south-1.sagemaker.aws","notebook.ap-south-2.sagemaker.aws","notebook.ap-southeast-1.sagemaker.aws","notebook.ap-southeast-2.sagemaker.aws","notebook.ap-southeast-3.sagemaker.aws","notebook.ap-southeast-4.sagemaker.aws","notebook.ca-central-1.sagemaker.aws","notebook-fips.ca-central-1.sagemaker.aws","notebook.ca-west-1.sagemaker.aws","notebook-fips.ca-west-1.sagemaker.aws","notebook.eu-central-1.sagemaker.aws","notebook.eu-central-2.sagemaker.aws","notebook.eu-north-1.sagemaker.aws","notebook.eu-south-1.sagemaker.aws","notebook.eu-south-2.sagemaker.aws","notebook.eu-west-1.sagemaker.aws","notebook.eu-west-2.sagemaker.aws","notebook.eu-west-3.sagemaker.aws","notebook.il-central-1.sagemaker.aws","notebook.me-central-1.sagemaker.aws","notebook.me-south-1.sagemaker.aws","notebook.sa-east-1.sagemaker.aws","notebook.us-east-1.sagemaker.aws","notebook-fips.us-east-1.sagemaker.aws","notebook.us-east-2.sagemaker.aws","notebook-fips.us-east-2.sagemaker.aws","notebook.us-gov-east-1.sagemaker.aws","notebook-fips.us-gov-east-1.sagemaker.aws","notebook.us-gov-west-1.sagemaker.aws","notebook-fips.us-gov-west-1.sagemaker.aws","notebook.us-west-1.sagemaker.aws","notebook-fips.us-west-1.sagemaker.aws","notebook.us-west-2.sagemaker.aws","notebook-fips.us-west-2.sagemaker.aws","notebook.cn-north-1.sagemaker.com.cn","notebook.cn-northwest-1.sagemaker.com.cn","studio.af-south-1.sagemaker.aws","studio.ap-east-1.sagemaker.aws","studio.ap-northeast-1.sagemaker.aws","studio.ap-northeast-2.sagemaker.aws","studio.ap-northeast-3.sagemaker.aws","studio.ap-south-1.sagemaker.aws","studio.ap-southeast-1.sagemaker.aws","studio.ap-southeast-2.sagemaker.aws","studio.ap-southeast-3.sagemaker.aws","studio.ca-central-1.sagemaker.aws","studio.eu-central-1.sagemaker.aws","studio.eu-north-1.sagemaker.aws","studio.eu-south-1.sagemaker.aws","studio.eu-south-2.sagemaker.aws","studio.eu-west-1.sagemaker.aws","studio.eu-west-2.sagemaker.aws","studio.eu-west-3.sagemaker.aws","studio.il-central-1.sagemaker.aws","studio.me-central-1.sagemaker.aws","studio.me-south-1.sagemaker.aws","studio.sa-east-1.sagemaker.aws","studio.us-east-1.sagemaker.aws","studio.us-east-2.sagemaker.aws","studio.us-gov-east-1.sagemaker.aws","studio-fips.us-gov-east-1.sagemaker.aws","studio.us-gov-west-1.sagemaker.aws","studio-fips.us-gov-west-1.sagemaker.aws","studio.us-west-1.sagemaker.aws","studio.us-west-2.sagemaker.aws","studio.cn-north-1.sagemaker.com.cn","studio.cn-northwest-1.sagemaker.com.cn","*.experiments.sagemaker.aws","analytics-gateway.ap-northeast-1.amazonaws.com","analytics-gateway.ap-northeast-2.amazonaws.com","analytics-gateway.ap-south-1.amazonaws.com","analytics-gateway.ap-southeast-1.amazonaws.com","analytics-gateway.ap-southeast-2.amazonaws.com","analytics-gateway.eu-central-1.amazonaws.com","analytics-gateway.eu-west-1.amazonaws.com","analytics-gateway.us-east-1.amazonaws.com","analytics-gateway.us-east-2.amazonaws.com","analytics-gateway.us-west-2.amazonaws.com","amplifyapp.com","*.awsapprunner.com","webview-assets.aws-cloud9.af-south-1.amazonaws.com","vfs.cloud9.af-south-1.amazonaws.com","webview-assets.cloud9.af-south-1.amazonaws.com","webview-assets.aws-cloud9.ap-east-1.amazonaws.com","vfs.cloud9.ap-east-1.amazonaws.com","webview-assets.cloud9.ap-east-1.amazonaws.com","webview-assets.aws-cloud9.ap-northeast-1.amazonaws.com","vfs.cloud9.ap-northeast-1.amazonaws.com","webview-assets.cloud9.ap-northeast-1.amazonaws.com","webview-assets.aws-cloud9.ap-northeast-2.amazonaws.com","vfs.cloud9.ap-northeast-2.amazonaws.com","webview-assets.cloud9.ap-northeast-2.amazonaws.com","webview-assets.aws-cloud9.ap-northeast-3.amazonaws.com","vfs.cloud9.ap-northeast-3.amazonaws.com","webview-assets.cloud9.ap-northeast-3.amazonaws.com","webview-assets.aws-cloud9.ap-south-1.amazonaws.com","vfs.cloud9.ap-south-1.amazonaws.com","webview-assets.cloud9.ap-south-1.amazonaws.com","webview-assets.aws-cloud9.ap-southeast-1.amazonaws.com","vfs.cloud9.ap-southeast-1.amazonaws.com","webview-assets.cloud9.ap-southeast-1.amazonaws.com","webview-assets.aws-cloud9.ap-southeast-2.amazonaws.com","vfs.cloud9.ap-southeast-2.amazonaws.com","webview-assets.cloud9.ap-southeast-2.amazonaws.com","webview-assets.aws-cloud9.ca-central-1.amazonaws.com","vfs.cloud9.ca-central-1.amazonaws.com","webview-assets.cloud9.ca-central-1.amazonaws.com","webview-assets.aws-cloud9.eu-central-1.amazonaws.com","vfs.cloud9.eu-central-1.amazonaws.com","webview-assets.cloud9.eu-central-1.amazonaws.com","webview-assets.aws-cloud9.eu-north-1.amazonaws.com","vfs.cloud9.eu-north-1.amazonaws.com","webview-assets.cloud9.eu-north-1.amazonaws.com","webview-assets.aws-cloud9.eu-south-1.amazonaws.com","vfs.cloud9.eu-south-1.amazonaws.com","webview-assets.cloud9.eu-south-1.amazonaws.com","webview-assets.aws-cloud9.eu-west-1.amazonaws.com","vfs.cloud9.eu-west-1.amazonaws.com","webview-assets.cloud9.eu-west-1.amazonaws.com","webview-assets.aws-cloud9.eu-west-2.amazonaws.com","vfs.cloud9.eu-west-2.amazonaws.com","webview-assets.cloud9.eu-west-2.amazonaws.com","webview-assets.aws-cloud9.eu-west-3.amazonaws.com","vfs.cloud9.eu-west-3.amazonaws.com","webview-assets.cloud9.eu-west-3.amazonaws.com","webview-assets.aws-cloud9.il-central-1.amazonaws.com","vfs.cloud9.il-central-1.amazonaws.com","webview-assets.aws-cloud9.me-south-1.amazonaws.com","vfs.cloud9.me-south-1.amazonaws.com","webview-assets.cloud9.me-south-1.amazonaws.com","webview-assets.aws-cloud9.sa-east-1.amazonaws.com","vfs.cloud9.sa-east-1.amazonaws.com","webview-assets.cloud9.sa-east-1.amazonaws.com","webview-assets.aws-cloud9.us-east-1.amazonaws.com","vfs.cloud9.us-east-1.amazonaws.com","webview-assets.cloud9.us-east-1.amazonaws.com","webview-assets.aws-cloud9.us-east-2.amazonaws.com","vfs.cloud9.us-east-2.amazonaws.com","webview-assets.cloud9.us-east-2.amazonaws.com","webview-assets.aws-cloud9.us-west-1.amazonaws.com","vfs.cloud9.us-west-1.amazonaws.com","webview-assets.cloud9.us-west-1.amazonaws.com","webview-assets.aws-cloud9.us-west-2.amazonaws.com","vfs.cloud9.us-west-2.amazonaws.com","webview-assets.cloud9.us-west-2.amazonaws.com","awsapps.com","cn-north-1.eb.amazonaws.com.cn","cn-northwest-1.eb.amazonaws.com.cn","elasticbeanstalk.com","af-south-1.elasticbeanstalk.com","ap-east-1.elasticbeanstalk.com","ap-northeast-1.elasticbeanstalk.com","ap-northeast-2.elasticbeanstalk.com","ap-northeast-3.elasticbeanstalk.com","ap-south-1.elasticbeanstalk.com","ap-southeast-1.elasticbeanstalk.com","ap-southeast-2.elasticbeanstalk.com","ap-southeast-3.elasticbeanstalk.com","ca-central-1.elasticbeanstalk.com","eu-central-1.elasticbeanstalk.com","eu-north-1.elasticbeanstalk.com","eu-south-1.elasticbeanstalk.com","eu-west-1.elasticbeanstalk.com","eu-west-2.elasticbeanstalk.com","eu-west-3.elasticbeanstalk.com","il-central-1.elasticbeanstalk.com","me-south-1.elasticbeanstalk.com","sa-east-1.elasticbeanstalk.com","us-east-1.elasticbeanstalk.com","us-east-2.elasticbeanstalk.com","us-gov-east-1.elasticbeanstalk.com","us-gov-west-1.elasticbeanstalk.com","us-west-1.elasticbeanstalk.com","us-west-2.elasticbeanstalk.com","*.elb.amazonaws.com.cn","*.elb.amazonaws.com","awsglobalaccelerator.com","*.private.repost.aws","eero.online","eero-stage.online","apigee.io","panel.dev","siiites.com","appspacehosted.com","appspaceusercontent.com","appudo.net","on-aptible.com","f5.si","arvanedge.ir","user.aseinet.ne.jp","gv.vc","d.gv.vc","user.party.eus","pimienta.org","poivron.org","potager.org","sweetpepper.org","myasustor.com","cdn.prod.atlassian-dev.net","translated.page","myfritz.link","myfritz.net","onavstack.net","*.awdev.ca","*.advisor.ws","ecommerce-shop.pl","b-data.io","balena-devices.com","base.ec","official.ec","buyshop.jp","fashionstore.jp","handcrafted.jp","kawaiishop.jp","supersale.jp","theshop.jp","shopselect.net","base.shop","beagleboard.io","*.beget.app","pages.gay","bnr.la","bitbucket.io","blackbaudcdn.net","of.je","bluebite.io","boomla.net","boutir.com","boxfuse.io","square7.ch","bplaced.com","bplaced.de","square7.de","bplaced.net","square7.net","*.s.brave.io","shop.brendly.hr","shop.brendly.rs","browsersafetymark.io","radio.am","radio.fm","uk0.bigv.io","dh.bytemark.co.uk","vm.bytemark.co.uk","cafjs.com","canva-apps.cn","*.my.canvasite.cn","canva-apps.com","*.my.canva.site","drr.ac","uwu.ai","carrd.co","crd.co","ju.mp","api.gov.uk","cdn77-storage.com","rsc.contentproxy9.cz","r.cdn77.net","cdn77-ssl.net","c.cdn77.org","rsc.cdn77.org","ssl.origin.cdn77-secure.org","za.bz","br.com","cn.com","de.com","eu.com","jpn.com","mex.com","ru.com","sa.com","uk.com","us.com","za.com","com.de","gb.net","hu.net","jp.net","se.net","uk.net","ae.org","com.se","cx.ua","discourse.group","discourse.team","clerk.app","clerkstage.app","*.lcl.dev","*.lclstage.dev","*.stg.dev","*.stgstage.dev","cleverapps.cc","*.services.clever-cloud.com","cleverapps.io","cleverapps.tech","clickrising.net","cloudns.asia","cloudns.be","cloud-ip.biz","cloudns.biz","cloudns.cc","cloudns.ch","cloudns.cl","cloudns.club","dnsabr.com","ip-ddns.com","cloudns.cx","cloudns.eu","cloudns.in","cloudns.info","ddns-ip.net","dns-cloud.net","dns-dynamic.net","cloudns.nz","cloudns.org","ip-dynamic.org","cloudns.ph","cloudns.pro","cloudns.pw","cloudns.us","c66.me","cloud66.ws","cloud66.zone","jdevcloud.com","wpdevcloud.com","cloudaccess.host","freesite.host","cloudaccess.net","*.cloudera.site","cf-ipfs.com","cloudflare-ipfs.com","trycloudflare.com","pages.dev","r2.dev","workers.dev","cloudflare.net","cdn.cloudflare.net","cdn.cloudflareanycast.net","cdn.cloudflarecn.net","cdn.cloudflareglobal.net","cust.cloudscale.ch","objects.lpg.cloudscale.ch","objects.rma.cloudscale.ch","wnext.app","cnpy.gdn","*.otap.co","co.ca","co.com","codeberg.page","csb.app","preview.csb.app","co.nl","co.no","webhosting.be","hosting-cluster.nl","ctfcloud.net","convex.site","ac.ru","edu.ru","gov.ru","int.ru","mil.ru","test.ru","dyn.cosidns.de","dnsupdater.de","dynamisches-dns.de","internet-dns.de","l-o-g-i-n.de","dynamic-dns.info","feste-ip.net","knx-server.net","static-access.net","craft.me","realm.cz","on.crisp.email","*.cryptonomic.net","curv.dev","cfolks.pl","cyon.link","cyon.site","platform0.app","fnwk.site","folionetwork.site","biz.dk","co.dk","firm.dk","reg.dk","store.dk","dyndns.dappnode.io","builtwithdark.com","darklang.io","demo.datadetect.com","instance.datadetect.com","edgestack.me","dattolocal.com","dattorelay.com","dattoweb.com","mydatto.com","dattolocal.net","mydatto.net","ddnss.de","dyn.ddnss.de","dyndns.ddnss.de","dyn-ip24.de","dyndns1.de","home-webserver.de","dyn.home-webserver.de","myhome-server.de","ddnss.org","debian.net","definima.io","definima.net","deno.dev","deno-staging.dev","dedyn.io","deta.app","deta.dev","dfirma.pl","dkonto.pl","you2.pl","ondigitalocean.app","*.digitaloceanspaces.com","us.kg","rss.my.id","diher.solutions","discordsays.com","discordsez.com","jozi.biz","dnshome.de","online.th","shop.th","drayddns.com","shoparena.pl","dreamhosters.com","durumis.com","mydrobo.com","drud.io","drud.us","duckdns.org","dy.fi","tunk.org","dyndns.biz","for-better.biz","for-more.biz","for-some.biz","for-the.biz","selfip.biz","webhop.biz","ftpaccess.cc","game-server.cc","myphotos.cc","scrapping.cc","blogdns.com","cechire.com","dnsalias.com","dnsdojo.com","doesntexist.com","dontexist.com","doomdns.com","dyn-o-saur.com","dynalias.com","dyndns-at-home.com","dyndns-at-work.com","dyndns-blog.com","dyndns-free.com","dyndns-home.com","dyndns-ip.com","dyndns-mail.com","dyndns-office.com","dyndns-pics.com","dyndns-remote.com","dyndns-server.com","dyndns-web.com","dyndns-wiki.com","dyndns-work.com","est-a-la-maison.com","est-a-la-masion.com","est-le-patron.com","est-mon-blogueur.com","from-ak.com","from-al.com","from-ar.com","from-ca.com","from-ct.com","from-dc.com","from-de.com","from-fl.com","from-ga.com","from-hi.com","from-ia.com","from-id.com","from-il.com","from-in.com","from-ks.com","from-ky.com","from-ma.com","from-md.com","from-mi.com","from-mn.com","from-mo.com","from-ms.com","from-mt.com","from-nc.com","from-nd.com","from-ne.com","from-nh.com","from-nj.com","from-nm.com","from-nv.com","from-oh.com","from-ok.com","from-or.com","from-pa.com","from-pr.com","from-ri.com","from-sc.com","from-sd.com","from-tn.com","from-tx.com","from-ut.com","from-va.com","from-vt.com","from-wa.com","from-wi.com","from-wv.com","from-wy.com","getmyip.com","gotdns.com","hobby-site.com","homelinux.com","homeunix.com","iamallama.com","is-a-anarchist.com","is-a-blogger.com","is-a-bookkeeper.com","is-a-bulls-fan.com","is-a-caterer.com","is-a-chef.com","is-a-conservative.com","is-a-cpa.com","is-a-cubicle-slave.com","is-a-democrat.com","is-a-designer.com","is-a-doctor.com","is-a-financialadvisor.com","is-a-geek.com","is-a-green.com","is-a-guru.com","is-a-hard-worker.com","is-a-hunter.com","is-a-landscaper.com","is-a-lawyer.com","is-a-liberal.com","is-a-libertarian.com","is-a-llama.com","is-a-musician.com","is-a-nascarfan.com","is-a-nurse.com","is-a-painter.com","is-a-personaltrainer.com","is-a-photographer.com","is-a-player.com","is-a-republican.com","is-a-rockstar.com","is-a-socialist.com","is-a-student.com","is-a-teacher.com","is-a-techie.com","is-a-therapist.com","is-an-accountant.com","is-an-actor.com","is-an-actress.com","is-an-anarchist.com","is-an-artist.com","is-an-engineer.com","is-an-entertainer.com","is-certified.com","is-gone.com","is-into-anime.com","is-into-cars.com","is-into-cartoons.com","is-into-games.com","is-leet.com","is-not-certified.com","is-slick.com","is-uberleet.com","is-with-theband.com","isa-geek.com","isa-hockeynut.com","issmarterthanyou.com","likes-pie.com","likescandy.com","neat-url.com","saves-the-whales.com","selfip.com","sells-for-less.com","sells-for-u.com","servebbs.com","simple-url.com","space-to-rent.com","teaches-yoga.com","writesthisblog.com","ath.cx","fuettertdasnetz.de","isteingeek.de","istmein.de","lebtimnetz.de","leitungsen.de","traeumtgerade.de","barrel-of-knowledge.info","barrell-of-knowledge.info","dyndns.info","for-our.info","groks-the.info","groks-this.info","here-for-more.info","knowsitall.info","selfip.info","webhop.info","forgot.her.name","forgot.his.name","at-band-camp.net","blogdns.net","broke-it.net","buyshouses.net","dnsalias.net","dnsdojo.net","does-it.net","dontexist.net","dynalias.net","dynathome.net","endofinternet.net","from-az.net","from-co.net","from-la.net","from-ny.net","gets-it.net","ham-radio-op.net","homeftp.net","homeip.net","homelinux.net","homeunix.net","in-the-band.net","is-a-chef.net","is-a-geek.net","isa-geek.net","kicks-ass.net","office-on-the.net","podzone.net","scrapper-site.net","selfip.net","sells-it.net","servebbs.net","serveftp.net","thruhere.net","webhop.net","merseine.nu","mine.nu","shacknet.nu","blogdns.org","blogsite.org","boldlygoingnowhere.org","dnsalias.org","dnsdojo.org","doesntexist.org","dontexist.org","doomdns.org","dvrdns.org","dynalias.org","dyndns.org","go.dyndns.org","home.dyndns.org","endofinternet.org","endoftheinternet.org","from-me.org","game-host.org","gotdns.org","hobby-site.org","homedns.org","homeftp.org","homelinux.org","homeunix.org","is-a-bruinsfan.org","is-a-candidate.org","is-a-celticsfan.org","is-a-chef.org","is-a-geek.org","is-a-knight.org","is-a-linux-user.org","is-a-patsfan.org","is-a-soxfan.org","is-found.org","is-lost.org","is-saved.org","is-very-bad.org","is-very-evil.org","is-very-good.org","is-very-nice.org","is-very-sweet.org","isa-geek.org","kicks-ass.org","misconfused.org","podzone.org","readmyblog.org","selfip.org","sellsyourhome.org","servebbs.org","serveftp.org","servegame.org","stuff-4-sale.org","webhop.org","better-than.tv","dyndns.tv","on-the-web.tv","worse-than.tv","is-by.us","land-4-sale.us","stuff-4-sale.us","dyndns.ws","mypets.ws","ddnsfree.com","ddnsgeek.com","giize.com","gleeze.com","kozow.com","loseyourip.com","ooguy.com","theworkpc.com","casacam.net","dynu.net","accesscam.org","camdvr.org","freeddns.org","mywire.org","webredirect.org","myddns.rocks","dynv6.net","e4.cz","easypanel.app","easypanel.host","*.ewp.live","twmail.cc","twmail.net","twmail.org","mymailer.com.tw","url.tw","at.emf.camp","rt.ht","elementor.cloud","elementor.cool","en-root.fr","mytuleap.com","tuleap-partners.com","encr.app","encoreapi.com","eu.encoway.cloud","eu.org","al.eu.org","asso.eu.org","at.eu.org","au.eu.org","be.eu.org","bg.eu.org","ca.eu.org","cd.eu.org","ch.eu.org","cn.eu.org","cy.eu.org","cz.eu.org","de.eu.org","dk.eu.org","edu.eu.org","ee.eu.org","es.eu.org","fi.eu.org","fr.eu.org","gr.eu.org","hr.eu.org","hu.eu.org","ie.eu.org","il.eu.org","in.eu.org","int.eu.org","is.eu.org","it.eu.org","jp.eu.org","kr.eu.org","lt.eu.org","lu.eu.org","lv.eu.org","me.eu.org","mk.eu.org","mt.eu.org","my.eu.org","net.eu.org","ng.eu.org","nl.eu.org","no.eu.org","nz.eu.org","pl.eu.org","pt.eu.org","ro.eu.org","ru.eu.org","se.eu.org","si.eu.org","sk.eu.org","tr.eu.org","uk.eu.org","us.eu.org","eurodir.ru","eu-1.evennode.com","eu-2.evennode.com","eu-3.evennode.com","eu-4.evennode.com","us-1.evennode.com","us-2.evennode.com","us-3.evennode.com","us-4.evennode.com","relay.evervault.app","relay.evervault.dev","expo.app","staging.expo.app","onfabrica.com","ru.net","adygeya.ru","bashkiria.ru","bir.ru","cbg.ru","com.ru","dagestan.ru","grozny.ru","kalmykia.ru","kustanai.ru","marine.ru","mordovia.ru","msk.ru","mytis.ru","nalchik.ru","nov.ru","pyatigorsk.ru","spb.ru","vladikavkaz.ru","vladimir.ru","abkhazia.su","adygeya.su","aktyubinsk.su","arkhangelsk.su","armenia.su","ashgabad.su","azerbaijan.su","balashov.su","bashkiria.su","bryansk.su","bukhara.su","chimkent.su","dagestan.su","east-kazakhstan.su","exnet.su","georgia.su","grozny.su","ivanovo.su","jambyl.su","kalmykia.su","kaluga.su","karacol.su","karaganda.su","karelia.su","khakassia.su","krasnodar.su","kurgan.su","kustanai.su","lenug.su","mangyshlak.su","mordovia.su","msk.su","murmansk.su","nalchik.su","navoi.su","north-kazakhstan.su","nov.su","obninsk.su","penza.su","pokrovsk.su","sochi.su","spb.su","tashkent.su","termez.su","togliatti.su","troitsk.su","tselinograd.su","tula.su","tuva.su","vladikavkaz.su","vladimir.su","vologda.su","channelsdvr.net","u.channelsdvr.net","edgecompute.app","fastly-edge.com","fastly-terrarium.com","freetls.fastly.net","map.fastly.net","a.prod.fastly.net","global.prod.fastly.net","a.ssl.fastly.net","b.ssl.fastly.net","global.ssl.fastly.net","fastlylb.net","map.fastlylb.net","*.user.fm","fastvps-server.com","fastvps.host","myfast.host","fastvps.site","myfast.space","conn.uk","copro.uk","hosp.uk","fedorainfracloud.org","fedorapeople.org","cloud.fedoraproject.org","app.os.fedoraproject.org","app.os.stg.fedoraproject.org","mydobiss.com","fh-muenster.io","filegear.me","firebaseapp.com","fldrv.com","flutterflow.app","fly.dev","shw.io","edgeapp.net","forgeblocks.com","id.forgerock.io","framer.ai","framer.app","framercanvas.com","framer.media","framer.photos","framer.website","framer.wiki","0e.vc","freebox-os.com","freeboxos.com","fbx-os.fr","fbxos.fr","freebox-os.fr","freeboxos.fr","freedesktop.org","freemyip.com","*.frusky.de","wien.funkfeuer.at","daemon.asia","dix.asia","mydns.bz","0am.jp","0g0.jp","0j0.jp","0t0.jp","mydns.jp","pgw.jp","wjg.jp","keyword-on.net","live-on.net","server-on.net","mydns.tw","mydns.vc","*.futurecms.at","*.ex.futurecms.at","*.in.futurecms.at","futurehosting.at","futuremailing.at","*.ex.ortsinfo.at","*.kunden.ortsinfo.at","*.statics.cloud","aliases121.com","campaign.gov.uk","service.gov.uk","independent-commission.uk","independent-inquest.uk","independent-inquiry.uk","independent-panel.uk","independent-review.uk","public-inquiry.uk","royal-commission.uk","gehirn.ne.jp","usercontent.jp","gentapps.com","gentlentapis.com","lab.ms","cdn-edges.net","localcert.net","localhostcert.net","gsj.bz","githubusercontent.com","githubpreview.dev","github.io","gitlab.io","gitapp.si","gitpage.si","glitch.me","nog.community","co.ro","shop.ro","lolipop.io","angry.jp","babyblue.jp","babymilk.jp","backdrop.jp","bambina.jp","bitter.jp","blush.jp","boo.jp","boy.jp","boyfriend.jp","but.jp","candypop.jp","capoo.jp","catfood.jp","cheap.jp","chicappa.jp","chillout.jp","chips.jp","chowder.jp","chu.jp","ciao.jp","cocotte.jp","coolblog.jp","cranky.jp","cutegirl.jp","daa.jp","deca.jp","deci.jp","digick.jp","egoism.jp","fakefur.jp","fem.jp","flier.jp","floppy.jp","fool.jp","frenchkiss.jp","girlfriend.jp","girly.jp","gloomy.jp","gonna.jp","greater.jp","hacca.jp","heavy.jp","her.jp","hiho.jp","hippy.jp","holy.jp","hungry.jp","icurus.jp","itigo.jp","jellybean.jp","kikirara.jp","kill.jp","kilo.jp","kuron.jp","littlestar.jp","lolipopmc.jp","lolitapunk.jp","lomo.jp","lovepop.jp","lovesick.jp","main.jp","mods.jp","mond.jp","mongolian.jp","moo.jp","namaste.jp","nikita.jp","nobushi.jp","noor.jp","oops.jp","parallel.jp","parasite.jp","pecori.jp","peewee.jp","penne.jp","pepper.jp","perma.jp","pigboat.jp","pinoko.jp","punyu.jp","pupu.jp","pussycat.jp","pya.jp","raindrop.jp","readymade.jp","sadist.jp","schoolbus.jp","secret.jp","staba.jp","stripper.jp","sub.jp","sunnyday.jp","thick.jp","tonkotsu.jp","under.jp","upper.jp","velvet.jp","verse.jp","versus.jp","vivian.jp","watson.jp","weblike.jp","whitesnow.jp","zombie.jp","heteml.net","graphic.design","goip.de","blogspot.ae","blogspot.al","blogspot.am","*.hosted.app","*.run.app","web.app","blogspot.com.ar","blogspot.co.at","blogspot.com.au","blogspot.ba","blogspot.be","blogspot.bg","blogspot.bj","blogspot.com.br","blogspot.com.by","blogspot.ca","blogspot.cf","blogspot.ch","blogspot.cl","blogspot.com.co","*.0emm.com","appspot.com","*.r.appspot.com","blogspot.com","codespot.com","googleapis.com","googlecode.com","pagespeedmobilizer.com","withgoogle.com","withyoutube.com","blogspot.cv","blogspot.com.cy","blogspot.cz","blogspot.de","*.gateway.dev","blogspot.dk","blogspot.com.ee","blogspot.com.eg","blogspot.com.es","blogspot.fi","blogspot.fr","cloud.goog","translate.goog","*.usercontent.goog","blogspot.gr","blogspot.hk","blogspot.hr","blogspot.hu","blogspot.co.id","blogspot.ie","blogspot.co.il","blogspot.in","blogspot.is","blogspot.it","blogspot.jp","blogspot.co.ke","blogspot.kr","blogspot.li","blogspot.lt","blogspot.lu","blogspot.md","blogspot.mk","blogspot.com.mt","blogspot.mx","blogspot.my","cloudfunctions.net","blogspot.com.ng","blogspot.nl","blogspot.no","blogspot.co.nz","blogspot.pe","blogspot.pt","blogspot.qa","blogspot.re","blogspot.ro","blogspot.rs","blogspot.ru","blogspot.se","blogspot.sg","blogspot.si","blogspot.sk","blogspot.sn","blogspot.td","blogspot.com.tr","blogspot.tw","blogspot.ug","blogspot.co.uk","blogspot.com.uy","blogspot.vn","blogspot.co.za","goupile.fr","pymnt.uk","cloudapps.digital","london.cloudapps.digital","gov.nl","grafana-dev.net","grayjayleagues.com","günstigbestellen.de","günstigliefern.de","fin.ci","free.hr","caa.li","ua.rs","conf.se","häkkinen.fi","hrsn.dev","hashbang.sh","hasura.app","hasura-app.io","hatenablog.com","hatenadiary.com","hateblo.jp","hatenablog.jp","hatenadiary.jp","hatenadiary.org","pages.it.hs-heilbronn.de","pages-research.it.hs-heilbronn.de","heiyu.space","helioho.st","heliohost.us","hepforge.org","herokuapp.com","herokussl.com","heyflow.page","heyflow.site","ravendb.cloud","ravendb.community","development.run","ravendb.run","homesklep.pl","*.kin.one","*.id.pub","*.kin.pub","secaas.hk","hoplix.shop","orx.biz","biz.gl","biz.ng","co.biz.ng","dl.biz.ng","go.biz.ng","lg.biz.ng","on.biz.ng","col.ng","firm.ng","gen.ng","ltd.ng","ngo.ng","plc.ng","ie.ua","hostyhosting.io","hf.space","static.hf.space","hypernode.io","iobb.net","co.cz","*.moonscale.io","moonscale.net","gr.com","iki.fi","ibxos.it","iliadboxos.it","smushcdn.com","wphostedmail.com","wpmucdn.com","tempurl.host","wpmudev.host","dyn-berlin.de","in-berlin.de","in-brb.de","in-butter.de","in-dsl.de","in-vpn.de","in-dsl.net","in-vpn.net","in-dsl.org","in-vpn.org","biz.at","info.at","info.cx","ac.leg.br","al.leg.br","am.leg.br","ap.leg.br","ba.leg.br","ce.leg.br","df.leg.br","es.leg.br","go.leg.br","ma.leg.br","mg.leg.br","ms.leg.br","mt.leg.br","pa.leg.br","pb.leg.br","pe.leg.br","pi.leg.br","pr.leg.br","rj.leg.br","rn.leg.br","ro.leg.br","rr.leg.br","rs.leg.br","sc.leg.br","se.leg.br","sp.leg.br","to.leg.br","pixolino.com","na4u.ru","apps-1and1.com","live-website.com","apps-1and1.net","websitebuilder.online","app-ionos.space","iopsys.se","*.dweb.link","ipifony.net","ir.md","is-a-good.dev","is-a.dev","iservschule.de","mein-iserv.de","schulplattform.de","schulserver.de","test-iserv.de","iserv.dev","mel.cloudlets.com.au","cloud.interhostsolutions.be","alp1.ae.flow.ch","appengine.flow.ch","es-1.axarnet.cloud","diadem.cloud","vip.jelastic.cloud","jele.cloud","it1.eur.aruba.jenv-aruba.cloud","it1.jenv-aruba.cloud","keliweb.cloud","cs.keliweb.cloud","oxa.cloud","tn.oxa.cloud","uk.oxa.cloud","primetel.cloud","uk.primetel.cloud","ca.reclaim.cloud","uk.reclaim.cloud","us.reclaim.cloud","ch.trendhosting.cloud","de.trendhosting.cloud","jele.club","dopaas.com","paas.hosted-by-previder.com","rag-cloud.hosteur.com","rag-cloud-ch.hosteur.com","jcloud.ik-server.com","jcloud-ver-jpc.ik-server.com","demo.jelastic.com","paas.massivegrid.com","jed.wafaicloud.com","ryd.wafaicloud.com","j.scaleforce.com.cy","jelastic.dogado.eu","fi.cloudplatform.fi","demo.datacenter.fi","paas.datacenter.fi","jele.host","mircloud.host","paas.beebyte.io","sekd1.beebyteapp.io","jele.io","jc.neen.it","jcloud.kz","cloudjiffy.net","fra1-de.cloudjiffy.net","west1-us.cloudjiffy.net","jls-sto1.elastx.net","jls-sto2.elastx.net","jls-sto3.elastx.net","fr-1.paas.massivegrid.net","lon-1.paas.massivegrid.net","lon-2.paas.massivegrid.net","ny-1.paas.massivegrid.net","ny-2.paas.massivegrid.net","sg-1.paas.massivegrid.net","jelastic.saveincloud.net","nordeste-idc.saveincloud.net","j.scaleforce.net","sdscloud.pl","unicloud.pl","mircloud.ru","enscaled.sg","jele.site","jelastic.team","orangecloud.tn","j.layershift.co.uk","phx.enscaled.us","mircloud.us","myjino.ru","*.hosting.myjino.ru","*.landing.myjino.ru","*.spectrum.myjino.ru","*.vps.myjino.ru","jotelulu.cloud","webadorsite.com","jouwweb.site","*.cns.joyent.com","*.triton.zone","js.org","kaas.gg","khplay.nl","kapsi.fi","ezproxy.kuleuven.be","kuleuven.cloud","keymachine.de","kinghost.net","uni5.net","knightpoint.systems","koobin.events","webthings.io","krellian.net","oya.to","git-repos.de","lcube-server.de","svn-repos.de","leadpages.co","lpages.co","lpusercontent.com","lelux.site","libp2p.direct","runcontainers.dev","co.business","co.education","co.events","co.financial","co.network","co.place","co.technology","linkyard-cloud.ch","linkyard.cloud","members.linode.com","*.nodebalancer.linode.com","*.linodeobjects.com","ip.linodeusercontent.com","we.bs","filegear-sg.me","ggff.net","*.user.localcert.dev","lodz.pl","pabianice.pl","plock.pl","sieradz.pl","skierniewice.pl","zgierz.pl","loginline.app","loginline.dev","loginline.io","loginline.services","loginline.site","lohmus.me","servers.run","krasnik.pl","leczna.pl","lubartow.pl","lublin.pl","poniatowa.pl","swidnik.pl","glug.org.uk","lug.org.uk","lugs.org.uk","barsy.bg","barsy.club","barsycenter.com","barsyonline.com","barsy.de","barsy.dev","barsy.eu","barsy.gr","barsy.in","barsy.info","barsy.io","barsy.me","barsy.menu","barsyonline.menu","barsy.mobi","barsy.net","barsy.online","barsy.org","barsy.pro","barsy.pub","barsy.ro","barsy.rs","barsy.shop","barsyonline.shop","barsy.site","barsy.store","barsy.support","barsy.uk","barsy.co.uk","barsyonline.co.uk","*.magentosite.cloud","hb.cldmail.ru","matlab.cloud","modelscape.com","mwcloudnonprod.com","polyspace.com","mayfirst.info","mayfirst.org","mazeplay.com","mcdir.me","mcdir.ru","vps.mcdir.ru","mcpre.ru","mediatech.by","mediatech.dev","hra.health","medusajs.app","miniserver.com","memset.net","messerli.app","atmeta.com","apps.fbsbx.com","*.cloud.metacentrum.cz","custom.metacentrum.cz","flt.cloud.muni.cz","usr.cloud.muni.cz","meteorapp.com","eu.meteorapp.com","co.pl","*.azurecontainer.io","azure-api.net","azure-mobile.net","azureedge.net","azurefd.net","azurestaticapps.net","1.azurestaticapps.net","2.azurestaticapps.net","3.azurestaticapps.net","4.azurestaticapps.net","5.azurestaticapps.net","6.azurestaticapps.net","7.azurestaticapps.net","centralus.azurestaticapps.net","eastasia.azurestaticapps.net","eastus2.azurestaticapps.net","westeurope.azurestaticapps.net","westus2.azurestaticapps.net","azurewebsites.net","cloudapp.net","trafficmanager.net","blob.core.windows.net","servicebus.windows.net","routingthecloud.com","sn.mynetname.net","routingthecloud.net","routingthecloud.org","csx.cc","mydbserver.com","webspaceconfig.de","mittwald.info","mittwaldserver.info","typo3server.info","project.space","modx.dev","bmoattachments.org","net.ru","org.ru","pp.ru","hostedpi.com","caracal.mythic-beasts.com","customer.mythic-beasts.com","fentiger.mythic-beasts.com","lynx.mythic-beasts.com","ocelot.mythic-beasts.com","oncilla.mythic-beasts.com","onza.mythic-beasts.com","sphinx.mythic-beasts.com","vs.mythic-beasts.com","x.mythic-beasts.com","yali.mythic-beasts.com","cust.retrosnub.co.uk","ui.nabu.casa","cloud.nospamproxy.com","netfy.app","netlify.app","4u.com","nfshost.com","ipfs.nftstorage.link","ngo.us","ngrok.app","ngrok-free.app","ngrok.dev","ngrok-free.dev","ngrok.io","ap.ngrok.io","au.ngrok.io","eu.ngrok.io","in.ngrok.io","jp.ngrok.io","sa.ngrok.io","us.ngrok.io","ngrok.pizza","ngrok.pro","torun.pl","nh-serv.co.uk","nimsite.uk","mmafan.biz","myftp.biz","no-ip.biz","no-ip.ca","fantasyleague.cc","gotdns.ch","3utilities.com","blogsyte.com","ciscofreak.com","damnserver.com","ddnsking.com","ditchyourip.com","dnsiskinky.com","dynns.com","geekgalaxy.com","health-carereform.com","homesecuritymac.com","homesecuritypc.com","myactivedirectory.com","mysecuritycamera.com","myvnc.com","net-freaks.com","onthewifi.com","point2this.com","quicksytes.com","securitytactics.com","servebeer.com","servecounterstrike.com","serveexchange.com","serveftp.com","servegame.com","servehalflife.com","servehttp.com","servehumour.com","serveirc.com","servemp3.com","servep2p.com","servepics.com","servequake.com","servesarcasm.com","stufftoread.com","unusualperson.com","workisboring.com","dvrcam.info","ilovecollege.info","no-ip.info","brasilia.me","ddns.me","dnsfor.me","hopto.me","loginto.me","noip.me","webhop.me","bounceme.net","ddns.net","eating-organic.net","mydissent.net","myeffect.net","mymediapc.net","mypsx.net","mysecuritycamera.net","nhlfan.net","no-ip.net","pgafan.net","privatizehealthinsurance.net","redirectme.net","serveblog.net","serveminecraft.net","sytes.net","cable-modem.org","collegefan.org","couchpotatofries.org","hopto.org","mlbfan.org","myftp.org","mysecuritycamera.org","nflfan.org","no-ip.org","read-books.org","ufcfan.org","zapto.org","no-ip.co.uk","golffan.us","noip.us","pointto.us","stage.nodeart.io","*.developer.app","noop.app","*.northflank.app","*.build.run","*.code.run","*.database.run","*.migration.run","noticeable.news","notion.site","dnsking.ch","mypi.co","n4t.co","001www.com","myiphost.com","forumz.info","soundcast.me","tcp4.me","dnsup.net","hicam.net","now-dns.net","ownip.net","vpndns.net","dynserv.org","now-dns.org","x443.pw","now-dns.top","ntdll.top","freeddns.us","nsupdate.info","nerdpol.ovh","nyc.mn","prvcy.page","obl.ong","observablehq.cloud","static.observableusercontent.com","omg.lol","cloudycluster.net","omniwe.site","123webseite.at","123website.be","simplesite.com.br","123website.ch","simplesite.com","123webseite.de","123hjemmeside.dk","123miweb.es","123kotisivu.fi","123siteweb.fr","simplesite.gr","123homepage.it","123website.lu","123website.nl","123hjemmeside.no","service.one","simplesite.pl","123paginaweb.pt","123minsida.se","is-a-fullstack.dev","is-cool.dev","is-not-a.dev","localplayer.dev","is-local.org","opensocial.site","opencraft.hosting","16-b.it","32-b.it","64-b.it","orsites.com","operaunite.com","*.customer-oci.com","*.oci.customer-oci.com","*.ocp.customer-oci.com","*.ocs.customer-oci.com","*.oraclecloudapps.com","*.oraclegovcloudapps.com","*.oraclegovcloudapps.uk","tech.orange","can.re","authgear-staging.com","authgearapps.com","skygearapp.com","outsystemscloud.com","*.hosting.ovh.net","*.webpaas.ovh.net","ownprovider.com","own.pm","*.owo.codes","ox.rs","oy.lc","pgfog.com","pagexl.com","gotpantheon.com","pantheonsite.io","*.paywhirl.com","*.xmit.co","xmit.dev","madethis.site","srv.us","gh.srv.us","gl.srv.us","lk3.ru","mypep.link","perspecta.cloud","on-web.fr","*.upsun.app","upsunapp.com","ent.platform.sh","eu.platform.sh","us.platform.sh","*.platformsh.site","*.tst.site","platter-app.com","platter-app.dev","platterp.us","pley.games","onporter.run","co.bn","postman-echo.com","pstmn.io","mock.pstmn.io","httpbin.org","prequalifyme.today","xen.prgmr.com","priv.at","protonet.io","chirurgiens-dentistes-en-france.fr","byen.site","pubtls.org","pythonanywhere.com","eu.pythonanywhere.com","qa2.com","qcx.io","*.sys.qcx.io","myqnapcloud.cn","alpha-myqnapcloud.com","dev-myqnapcloud.com","mycloudnas.com","mynascloud.com","myqnapcloud.com","qoto.io","qualifioapp.com","ladesk.com","qbuser.com","*.quipelements.com","vapor.cloud","vaporcloud.io","rackmaze.com","rackmaze.net","cloudsite.builders","myradweb.net","servername.us","web.in","in.net","myrdbx.io","site.rb-hosting.io","*.on-rancher.cloud","*.on-k3s.io","*.on-rio.io","ravpage.co.il","readthedocs-hosted.com","readthedocs.io","rhcloud.com","instances.spawn.cc","onrender.com","app.render.com","replit.app","id.replit.app","firewalledreplit.co","id.firewalledreplit.co","repl.co","id.repl.co","replit.dev","archer.replit.dev","bones.replit.dev","canary.replit.dev","global.replit.dev","hacker.replit.dev","id.replit.dev","janeway.replit.dev","kim.replit.dev","kira.replit.dev","kirk.replit.dev","odo.replit.dev","paris.replit.dev","picard.replit.dev","pike.replit.dev","prerelease.replit.dev","reed.replit.dev","riker.replit.dev","sisko.replit.dev","spock.replit.dev","staging.replit.dev","sulu.replit.dev","tarpit.replit.dev","teams.replit.dev","tucker.replit.dev","wesley.replit.dev","worf.replit.dev","repl.run","resindevice.io","devices.resinstaging.io","hzc.io","adimo.co.uk","itcouldbewor.se","aus.basketball","nz.basketball","git-pages.rit.edu","rocky.page","rub.de","ruhr-uni-bochum.de","io.noc.ruhr-uni-bochum.de","биз.рус","ком.рус","крым.рус","мир.рус","мск.рус","орг.рус","самара.рус","сочи.рус","спб.рус","я.рус","ras.ru","nyat.app","180r.com","dojin.com","sakuratan.com","sakuraweb.com","x0.com","2-d.jp","bona.jp","crap.jp","daynight.jp","eek.jp","flop.jp","halfmoon.jp","jeez.jp","matrix.jp","mimoza.jp","ivory.ne.jp","mail-box.ne.jp","mints.ne.jp","mokuren.ne.jp","opal.ne.jp","sakura.ne.jp","sumomo.ne.jp","topaz.ne.jp","netgamers.jp","nyanta.jp","o0o0.jp","rdy.jp","rgr.jp","rulez.jp","s3.isk01.sakurastorage.jp","s3.isk02.sakurastorage.jp","saloon.jp","sblo.jp","skr.jp","tank.jp","uh-oh.jp","undo.jp","rs.webaccel.jp","user.webaccel.jp","websozai.jp","xii.jp","squares.net","jpn.org","kirara.st","x0.to","from.tv","sakura.tv","*.builder.code.com","*.dev-builder.code.com","*.stg-builder.code.com","*.001.test.code-builder-stg.platform.salesforce.com","*.d.crm.dev","*.w.crm.dev","*.wa.crm.dev","*.wb.crm.dev","*.wc.crm.dev","*.wd.crm.dev","*.we.crm.dev","*.wf.crm.dev","sandcats.io","logoip.com","logoip.de","fr-par-1.baremetal.scw.cloud","fr-par-2.baremetal.scw.cloud","nl-ams-1.baremetal.scw.cloud","cockpit.fr-par.scw.cloud","fnc.fr-par.scw.cloud","functions.fnc.fr-par.scw.cloud","k8s.fr-par.scw.cloud","nodes.k8s.fr-par.scw.cloud","s3.fr-par.scw.cloud","s3-website.fr-par.scw.cloud","whm.fr-par.scw.cloud","priv.instances.scw.cloud","pub.instances.scw.cloud","k8s.scw.cloud","cockpit.nl-ams.scw.cloud","k8s.nl-ams.scw.cloud","nodes.k8s.nl-ams.scw.cloud","s3.nl-ams.scw.cloud","s3-website.nl-ams.scw.cloud","whm.nl-ams.scw.cloud","cockpit.pl-waw.scw.cloud","k8s.pl-waw.scw.cloud","nodes.k8s.pl-waw.scw.cloud","s3.pl-waw.scw.cloud","s3-website.pl-waw.scw.cloud","scalebook.scw.cloud","smartlabeling.scw.cloud","dedibox.fr","schokokeks.net","gov.scot","service.gov.scot","scrysec.com","client.scrypted.io","firewall-gateway.com","firewall-gateway.de","my-gateway.de","my-router.de","spdns.de","spdns.eu","firewall-gateway.net","my-firewall.org","myfirewall.org","spdns.org","seidat.net","sellfy.store","minisite.ms","senseering.net","servebolt.cloud","biz.ua","co.ua","pp.ua","as.sh.cn","sheezy.games","shiftedit.io","myshopblocks.com","myshopify.com","shopitsite.com","shopware.shop","shopware.store","mo-siemens.io","1kapp.com","appchizi.com","applinzi.com","sinaapp.com","vipsinaapp.com","siteleaf.net","small-web.org","aeroport.fr","avocat.fr","chambagri.fr","chirurgiens-dentistes.fr","experts-comptables.fr","medecin.fr","notaires.fr","pharmacien.fr","port.fr","veterinaire.fr","vp4.me","*.snowflake.app","*.privatelink.snowflake.app","streamlit.app","streamlitapp.com","try-snowplow.com","mafelo.net","playstation-cloud.com","srht.site","apps.lair.io","*.stolos.io","spacekit.io","ind.mom","customer.speedpartner.de","myspreadshop.at","myspreadshop.com.au","myspreadshop.be","myspreadshop.ca","myspreadshop.ch","myspreadshop.com","myspreadshop.de","myspreadshop.dk","myspreadshop.es","myspreadshop.fi","myspreadshop.fr","myspreadshop.ie","myspreadshop.it","myspreadshop.net","myspreadshop.nl","myspreadshop.no","myspreadshop.pl","myspreadshop.se","myspreadshop.co.uk","w-corp-staticblitz.com","w-credentialless-staticblitz.com","w-staticblitz.com","stackhero-network.com","runs.onstackit.cloud","stackit.gg","stackit.rocks","stackit.run","stackit.zone","musician.io","novecore.site","api.stdlib.com","feedback.ac","forms.ac","assessments.cx","calculators.cx","funnels.cx","paynow.cx","quizzes.cx","researched.cx","tests.cx","surveys.so","storebase.store","storipress.app","storj.farm","strapiapp.com","media.strapiapp.com","vps-host.net","atl.jelastic.vps-host.net","njs.jelastic.vps-host.net","ric.jelastic.vps-host.net","streak-link.com","streaklinks.com","streakusercontent.com","soc.srcf.net","user.srcf.net","utwente.io","temp-dns.com","supabase.co","supabase.in","supabase.net","syncloud.it","dscloud.biz","direct.quickconnect.cn","dsmynas.com","familyds.com","diskstation.me","dscloud.me","i234.me","myds.me","synology.me","dscloud.mobi","dsmynas.net","familyds.net","dsmynas.org","familyds.org","direct.quickconnect.to","vpnplus.to","mytabit.com","mytabit.co.il","tabitorder.co.il","taifun-dns.de","ts.net","*.c.ts.net","gda.pl","gdansk.pl","gdynia.pl","med.pl","sopot.pl","taveusercontent.com","p.tawk.email","p.tawkto.email","site.tb-hosting.com","edugit.io","s3.teckids.org","telebit.app","telebit.io","*.telebit.xyz","*.firenet.ch","*.svc.firenet.ch","reservd.com","thingdustdata.com","cust.dev.thingdust.io","reservd.dev.thingdust.io","cust.disrec.thingdust.io","reservd.disrec.thingdust.io","cust.prod.thingdust.io","cust.testing.thingdust.io","reservd.testing.thingdust.io","tickets.io","arvo.network","azimuth.network","tlon.network","torproject.net","pages.torproject.net","townnews-staging.com","12hp.at","2ix.at","4lima.at","lima-city.at","12hp.ch","2ix.ch","4lima.ch","lima-city.ch","trafficplex.cloud","de.cool","12hp.de","2ix.de","4lima.de","lima-city.de","1337.pictures","clan.rip","lima-city.rocks","webspace.rocks","lima.zone","*.transurl.be","*.transurl.eu","site.transip.me","*.transurl.nl","tuxfamily.org","dd-dns.de","dray-dns.de","draydns.de","dyn-vpn.de","dynvpn.de","mein-vigor.de","my-vigor.de","my-wan.de","syno-ds.de","synology-diskstation.de","synology-ds.de","diskstation.eu","diskstation.org","typedream.app","pro.typeform.com","*.uberspace.de","uber.space","hk.com","inc.hk","ltd.hk","hk.org","it.com","unison-services.cloud","virtual-user.de","virtualuser.de","name.pm","sch.tf","biz.wf","sch.wf","org.yt","rs.ba","bielsko.pl","upli.io","urown.cloud","dnsupdate.info","us.org","v.ua","express.val.run","web.val.run","vercel.app","v0.build","vercel.dev","vusercontent.net","now.sh","2038.io","router.management","v-info.info","voorloper.cloud","*.vultrobjects.com","wafflecell.com","webflow.io","webflowtest.io","*.webhare.dev","bookonline.app","hotelwithflight.com","reserve-online.com","reserve-online.net","cprapid.com","pleskns.com","wp2.host","pdns.page","plesk.page","wpsquared.site","*.wadl.top","remotewd.com","box.ca","pages.wiardweb.com","toolforge.org","wmcloud.org","wmflabs.org","wdh.app","panel.gg","daemon.panel.gg","wixsite.com","wixstudio.com","editorx.io","wixstudio.io","wix.run","messwithdns.com","woltlab-demo.com","myforum.community","community-pro.de","diskussionsbereich.de","community-pro.net","meinforum.net","affinitylottery.org.uk","raffleentry.org.uk","weeklylottery.org.uk","wpenginepowered.com","js.wpenginepowered.com","half.host","xnbay.com","u2.xnbay.com","u2-local.xnbay.com","cistron.nl","demon.nl","xs4all.space","yandexcloud.net","storage.yandexcloud.net","website.yandexcloud.net","official.academy","yolasite.com","yombo.me","ynh.fr","nohost.me","noho.st","za.net","za.org","zap.cloud","zeabur.app","bss.design","basicserver.io","virtualserver.io","enterprisecloud.nu"].reduce((e,t)=>{const n=t.replace(/^(\*\.|\!)/,""),a=kn.toASCII(n),o=t.charAt(0);if(e.has(a))throw new Error(`Multiple rules found for ${t} (${a})`);return e.set(a,{rule:t,suffix:n,punySuffix:a,wildcard:"*"===o,exception:"!"===o}),e},new Map);const _n={en:JSON.parse('{"cross_sell":{"kayak":{"find_me_accommodation":"Find me accommodation"},"activities":{"explore_activities_with":"Explore activities with ","viator":"Viator","civitatis":"Civitatis"}},"secondary_cta":{"compare_price":"Compare price","book_with_discount":"Save up to {discount}%","book_with_discount_barcelo":"Get Promo","save":"Save {price}","popover":{"header":{"text":"Book with"},"support_hotel":"Support the property directly","feedback":{"text_checked":"{positiveFeedback}/10 users found a good direct deal","text_unchecked":"Help other travelers find better deals"},"discount":{"text_checked":"Discount detected","text_unchecked":"Price discount detected"},"coupon":{"text_checked":"Coupon found"}}},"offers":{"best_offer":"Best offer with","save":"Save {price}","no_discount":"Alternative offer with {provider}","empty":"You\'re viewing the best offer!","popover":{"header":{"text":"Book with"}}},"label":{"own_ota_tooltip":"Check Directo Deal","tooltip":"Direct website found","coupon_tooltip":"Coupon found","discount_tooltip":"Better price found","score_tooltip":"Popular deal found","high_score_tooltip":"Very popular deal found"},"direct_price_tracker":{"saving_label":"Save <strong>{amount}</strong> vs {platform}","span_title":"Price checked just now"}}'),es:JSON.parse('{"cross_sell":{"kayak":{"find_me_accommodation":"Buscar alojamiento"},"activities":{"explore_activities_with":"Explora actividades con ","viator":"Viator","civitatis":"Civitatis"}},"secondary_cta":{"compare_price":"Comparar precio","book_with_discount":"Ahorra hasta {discount}%","book_with_discount_barcelo":"Ver promo","save":"Ahorra {price}","popover":{"header":{"text":"Reserva con"},"support_hotel":"Apoya al alojamiento directamente","feedback":{"text_checked":"{positiveFeedback}/10 usuarios encontraron una buena oferta directa","text_unchecked":"Ayuda a otros viajeros a encontrar mejores ofertas"},"discount":{"text_checked":"Descuento detectado","text_unchecked":"Descuento en precio detectado"},"coupon":{"text_checked":"Cupón encontrado"}}},"offers":{"best_offer":"La mejor oferta con","save":"Ahorra {price}","no_discount":"Oferta alternativa con {provider}","empty":"¡Estás viendo la mejor oferta!","popover":{"header":{"text":"Reserva con"}}},"label":{"own_ota_tooltip":"Ver oferta en Directo","tooltip":"Web directa encontrada","coupon_tooltip":"Cupón encontrado","discount_tooltip":"Mejor precio encontrado","score_tooltip":"Oferta popular encontrada","high_score_tooltip":"Oferta muy popular encontrada"},"direct_price_tracker":{"saving_label":"Ahorras <strong>{amount}</strong> vs {platform}","span_title":"Precio verificado ahora"}}'),fr:JSON.parse('{"cross_sell":{"kayak":{"find_me_accommodation":"Trouver un hébergement"},"activities":{"explore_activities_with":"Découvrez des activités avec ","viator":"Viator","civitatis":"Civitatis"}},"secondary_cta":{"compare_price":"Comparer les prix","book_with_discount":"Économisez jusqu\'à {discount}%","book_with_discount_barcelo":"Voir la promo","save":"Économisez {price}","popover":{"header":{"text":"Réservez avec"},"support_hotel":"Soutenez le bien directement","feedback":{"text_checked":"{positiveFeedback}/10 utilisateurs ont trouvé une bonne offre directe","text_unchecked":"Aidez d\'autres voyageurs à trouver de meilleures offres"},"discount":{"text_checked":"Réduction détectée","text_unchecked":"Réduction de prix détectée"},"coupon":{"text_checked":"Coupon trouvé"}}},"offers":{"best_offer":"La meilleure offre avec","save":"Économisez {price}","no_discount":"Offre alternative avec {provider}","empty":"Vous consultez la meilleure offre!","popover":{"header":{"text":"Réservez avec"}}},"label":{"own_ota_tooltip":"Voir l\'offre sur Directo","tooltip":"Site web direct trouvé","coupon_tooltip":"Coupon trouvé","discount_tooltip":"Meilleur prix trouvé","score_tooltip":"Offre populaire trouvée","high_score_tooltip":"Offre très populaire trouvée"},"direct_price_tracker":{"saving_label":"Vous économisez <strong>{amount}</strong> vs {platform}","span_title":"Prix vérifié à l\'instant"}}'),it:JSON.parse('{"cross_sell":{"kayak":{"find_me_accommodation":"Trova un alloggio"},"activities":{"explore_activities_with":"Esplora le attività con ","viator":"Viator","civitatis":"Civitatis"}},"secondary_cta":{"compare_price":"Confronta il prezzo","book_with_discount":"Risparmia fino al {discount}%","book_with_discount_barcelo":"Vedi la promo","save":"Risparmia {price}","popover":{"header":{"text":"Prenota con"},"support_hotel":"Supporta l\'alojamento direttamente","feedback":{"text_checked":"{positiveFeedback}/10 utenti hanno trovato una buona offerta diretta","text_unchecked":"Aiuta altri viaggiatori a trovare offerte migliori"},"discount":{"text_checked":"Sconto rilevato","text_unchecked":"Sconto sul prezzo rilevato"},"coupon":{"text_checked":"Coupon trovato"}}},"offers":{"best_offer":"La migliore offerta con","save":"Risparmia {price}","no_discount":"Offerta alternativa con {provider}","empty":"Stai visualizzando la migliore offerta!","popover":{"header":{"text":"Prenota con"}}},"label":{"own_ota_tooltip":"Vedi l\'offerta su Directo","tooltip":"Sito web diretto trovato","coupon_tooltip":"Coupon trovato","discount_tooltip":"Prezzo migliore trovato","score_tooltip":"Offerta popolare trovata","high_score_tooltip":"Offerta molto popolare trovata"},"direct_price_tracker":{"saving_label":"Risparmi <strong>{amount}</strong> vs {platform}","span_title":"Prezzo verificato ora"}}'),pt:JSON.parse('{"cross_sell":{"kayak":{"find_me_accommodation":"Encontre um alojamento"},"activities":{"explore_activities_with":"Explore atividades com a ","viator":"Viator","civitatis":"Civitatis"}},"secondary_cta":{"compare_price":"Comparar preço","book_with_discount":"Economize até {discount}%","book_with_discount_barcelo":"Ver promoção","save":"Economize {price}","popover":{"header":{"text":"Reserve com"},"support_hotel":"Apoie o alojamento diretamente","feedback":{"text_checked":"{positiveFeedback}/10 usuários encontraram uma boa oferta direta","text_unchecked":"Ajude outros viajantes a encontrar melhores ofertas"},"discount":{"text_checked":"Desconto detectado","text_unchecked":"Desconto no preço detectado"},"coupon":{"text_checked":"Cupom encontrado"}}},"offers":{"best_offer":"A melhor oferta com","save":"Economize {price}","no_discount":"Oferta alternativa com {provider}","empty":"Você está vendo a melhor oferta!","popover":{"header":{"text":"Reserve com"}}},"label":{"own_ota_tooltip":"Ver oferta na Directo","tooltip":"Encontre uma oferta melhor","coupon_tooltip":"Cupom encontrado","discount_tooltip":"Melhor preço encontrado","score_tooltip":"Oferta popular","high_score_tooltip":"Oferta muito popular"},"direct_price_tracker":{"saving_label":"Você economiza <strong>{amount}</strong> vs {platform}","span_title":"Preço verificado agora"}}')},xn=new class{translations;constructor(e){this.translations=e}getLocalisedString(e,t){const n=t&&Object.keys(this.translations).includes(t)?t:qt(),a=`{${e}}`,o=Pt(this.translations,`${n}.${e}`)??Pt(this.translations,`en.${e}`)??a;return"string"!=typeof o?(console.warn(`i18n: The path "${e}" for locale "${n}" does not resolve to a string.`),a):o}translate(e,t,n){const a=this.getLocalisedString(e,n);if(!t)return a;let o=a;return Vt(t,(e,t)=>{null!=e&&(o=o.replace(`{${t}}`,e.toString()))}),o}}(_n),Cn=xn.translate.bind(xn);async function zn(e,t){await Gt(e,e=>{const n=function(e,t){const n=new AbortController;return e.addEventListener("click",async n=>{if(n instanceof MouseEvent&&null!==n.view&&"isSynthetic"in n.view&&"boolean"==typeof n.view.isSynthetic&&n.view.isSynthetic)return;n.preventDefault(),n.stopPropagation(),n.stopImmediatePropagation();try{await t()}catch(e){console.error(e)}const a=new MouseEvent("click",{bubbles:!0,cancelable:!0,view:Object.assign(window,{isSynthetic:!0})});setTimeout(()=>{e.dispatchEvent(a)},100)},{capture:!0,signal:n.signal}),n}(e,t);return()=>{n.abort()}},{retryMs:fn,checkIntervalMs:fn})}var Sn=n(723),En=n(997),On=n(155);class An{TCheckbox;latestCheckbox=null;constructor(e){this.TCheckbox=e}async inject(e,t){await Gt(e,e=>{let n;switch(this.latestCheckbox?(n=this.latestCheckbox.checked,this.latestCheckbox.$host.remove(),this.latestCheckbox=null):n=!0,this.latestCheckbox=new this.TCheckbox(n),t?.inject){case"append":case void 0:e.append(this.latestCheckbox.$host);break;case"prepend":e.prepend(this.latestCheckbox.$host);break;case"before":e.before(this.latestCheckbox.$host);break;case"after":e.after(this.latestCheckbox.$host);break;default:t?.inject(e,this.latestCheckbox.$host)}return t?.afterInject?.(e,this.latestCheckbox)},{retryMs:fn,checkIntervalMs:fn,signal:t?.signal,getContainer:t?.getContainer})}get checked(){return null!==this.latestCheckbox&&this.latestCheckbox.isVisible&&this.latestCheckbox.checked}set checked(e){this.latestCheckbox&&(this.latestCheckbox.checked=e)}}function Pn(e){return class{reactShadowDom;visibilityRef;#e;constructor(e){this.reactShadowDom=function(){const e=document.createElement("div");e.style.display="contents";const t=En.H(e),n=document.createElement("div");return n.style.display="contents",n.attachShadow({mode:"closed"}).appendChild(e),{$root:n,render(e){t.render(e)}}}(),this.visibilityRef={current:null},this.#e=e,this.handleClick=this.handleClick.bind(this),this.render()}render(){this.reactShadowDom.render((0,Sn.jsx)(e,{visibilityRef:this.visibilityRef,checked:this.#e,onClick:this.handleClick}))}handleClick(){this.checked=!this.checked}get $host(){return this.reactShadowDom.$root}get checked(){return this.#e}set checked(e){this.#e=e,this.render()}get isVisible(){return!!this.visibilityRef.current&&Xt(this.visibilityRef.current)}}}const In=new Set(["renfe.com"]);class Ln extends hn{checkboxManager=new An(Nn);constructor(){super("RENFE_KAYAK")}async shouldActivate(){const e=wn(new URL(window.location.href));return In.has(e)}async handleCrossSell(){this.injectUI()}injectUI(){this.injectCheckbox(),zn(['button[type="submit"]',".rf-button--primary"],this.handleSearchClick.bind(this))}async injectCheckbox(){await u(100),this.checkboxManager.inject(["#promotionsv2"],{afterInject(e,t){e.style.display="flex"}})}get checked(){return this.checkboxManager.checked}async getDestination(){try{const e=Qt(["#destination"]);if(!e)return null;const t=en(e);if(!t)return null;return`${ln(t).replace(/\(TODAS\)/,"")} Spain`}catch(e){return console.error(e),null}}async getQueryParamMap(e){return{checkin(){const e=Qt(["#first-input"]);if(e){const t=en(e);if(t){const[e,n]=t.split(",");if(n)return an.tryFromSlashDDMMYY(n.trim())}}return null},checkout(){const e=Qt(["#second-input"]);if(e){const t=en(e);if(t){const[e,n]=t.split(",");if(n)return an.tryFromSlashDDMMYY(n.trim())}}return null},adults(){const e=Qt(["#passengersSelection"]);if(e&&"value"in e&&"string"==typeof e.value&&e.value){const[t,n,a]=e.value.matchAll(/(\d+)/g);return t?parseInt(t[1]):2}return 2},children(){const e=Qt(["#passengersSelection"]);if(e&&"value"in e&&"string"==typeof e.value&&e.value){const[t,n,a]=e.value.matchAll(/(\d+)/g);return n?parseInt(n[1]):0}return 0},currency:mn}}}class Nn{$checkboxContainer;$checkbox;$text;$label;$style;$rootHost;$root;constructor(e){this.$checkbox=document.createElement("input"),this.$checkbox.className="dir-checkbox",this.$checkbox.type="checkbox",this.$checkbox.checked=e;const t=Jt();this.$text=document.createTextNode(Cn("cross_sell.kayak.find_me_accommodation",{},t)),this.$label=document.createElement("label"),this.$label.className="dir-label",this.$label.appendChild(this.$checkbox),this.$label.appendChild(this.$text),this.$checkboxContainer=document.createElement("div"),this.$checkboxContainer.className="dir-checkbox-container",this.$checkboxContainer.appendChild(this.$label),this.$style=document.createElement("style"),this.$style.textContent="\n .dir-label {\n display: flex;\n align-items: center;\n font-size: 14px;\n margin-left: 8px;\n color: black;\n }\n\n .dir-checkbox {\n margin-right: 8px;\n }\n\n .dir-checkbox-container {\n align-self: center;\n }\n ",this.$rootHost=document.createElement("div"),this.$rootHost.style.display="contents",this.$root=this.$rootHost.attachShadow({mode:"closed"}),this.$root.appendChild(this.$style),this.$root.appendChild(this.$checkboxContainer)}get $host(){return this.$rootHost}get checked(){return this.$checkbox.checked}set checked(e){this.$checkbox.checked=e}get isVisible(){return Xt(this.$checkbox)}}const Tn=new Set(["skyscanner.com","skyscanner.net","skyscanner.es","skyscanner.fr","skyscanner.it","skyscanner.pt","skyscanner.com.br","skyscanner.co.in","skyscanner.com.mx","skyscanner.de","skyscanner.com","skyscanner.com.au","skyscanner.com.my","skyscanner.co.il","skyscanner.com.ph","skyscanner.co.nz"]);class Dn extends hn{checkboxManager=new An(Rn);constructor(){super("SKYSCANNER_KAYAK")}async shouldActivate(){const e=wn(new URL(window.location.href));return Tn.has(e)}async handleCrossSell(){this.checkboxManager.inject(['[class*="SearchControls_DestinationInput__"] fieldset']),zn(['[data-testid="desktop-cta"]','[data-testid="mobile-cta"]'],this.handleSearchClick.bind(this))}get checked(){return this.checkboxManager.checked}async getDestination(){try{const e=Qt(['input[name="destinationInput-search"]']);return e?ln(e.value):null}catch(e){return console.error(e),null}}async getQueryParamMap(e){return{checkin(){const e=Qt(['[data-testid="depart-btn"] [class*="SearchControlButton_value__"]']);if(e){const t=en(e);if(t)return an.tryFromSlashDMY(t)}return null},checkout(){const e=Qt(['[data-testid="return-btn"] [class*="SearchControlButton_value__"]']);if(e){const t=en(e);if(t)return an.tryFromSlashDMY(t)}return null},adults(){const e=Qt(['[data-testid="traveller-button"] [class*="SearchControlButton_value__"]']);if(e){const t=e.textContent;if(t){const[e]=t.matchAll(/(\d+)/g);return e?parseInt(e[1]):2}}return 2},children:0,currency:mn}}}class Rn{$checkbox;$text;$span;$label;$style;$rootHost;$root;constructor(e){this.$checkbox=document.createElement("input"),this.$checkbox.className="dir-checkbox",this.$checkbox.type="checkbox",this.$checkbox.checked=e;const t=Jt();this.$text=document.createTextNode(Cn("cross_sell.kayak.find_me_accommodation",{},t)),this.$span=document.createElement("span"),this.$span.className="dir-span",this.$span.appendChild(this.$text),this.$label=document.createElement("label"),this.$label.className="dir-label",this.$label.appendChild(this.$checkbox),this.$label.appendChild(this.$span),this.$style=document.createElement("style"),this.$style.textContent="\n .dir-checkbox {\n background-color: #fff;\n -webkit-appearance: none;\n appearance: none;\n border: .1875rem solid #626971;border-radius: .25rem;\n cursor: pointer;\n height: 1.25rem;\n left: 0;\n margin: 0;\n padding: 0;\n position: absolute;\n top: .125rem;\n vertical-align: text-bottom;\n width: 1.25rem;\n }\n\n .dir-checkbox:checked {\n background-image: url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='13' height='9' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.354 3.646 5.5 7.5l6-6' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E\");\n background-position: .0625rem;\n background-repeat: no-repeat;\n background-size: calc(100% - .15625rem) auto;\n background-color: #0062e3;\n background-color: var(--bpk-checkbox-checked-color, #0062e3);\n border-color: #0062e3;\n border-color: var(--bpk-checkbox-checked-color, #0062e3);\n }\n\n .dir-label {\n margin-bottom: 1rem;\n margin-top: .5rem;\n width: 100%;\n color: #fff;\n display: inline-block;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5rem;\n margin: 0;\n padding-left: 1.75rem;\n position: relative;\n }\n\n .dir-span {\n word-wrap: break-word;\n cursor: pointer;\n -webkit-hyphens: auto;\n hyphens: auto;\n overflow-wrap: break-word;\n word-break: break-word;\n vertical-align: initial;\n }\n ",this.$rootHost=document.createElement("div"),this.$rootHost.style.display="contents",this.$root=this.$rootHost.attachShadow({mode:"closed"}),this.$root.appendChild(this.$style),this.$root.appendChild(this.$label)}get $host(){return this.$rootHost}get checked(){return this.$checkbox.checked}set checked(e){this.$checkbox.checked=e}get isVisible(){return Xt(this.$checkbox)}}const Mn=new Set(["ryanair.com"]);class $n extends pn{checkboxManager=new An(Bn);constructor(){super("RYANAIR_KAYAK")}async shouldActivate(){const e=wn(new URL(window.location.href));return Mn.has(e)}async handleCrossSell(){const e=new URL(window.location.href);e.pathname.endsWith("/trip/flights/select")||e.pathname.endsWith("/fare-finder")?this.maybeOpenTab():this.injectUI()}get checked(){return this.checkboxManager.checked}injectUI(){this.checkboxManager.inject([".filters-container"]),zn([".flight-search-widget__start-search button"],this.handleSearchClick.bind(this))}async getDestination(){return new URL(window.location.href).searchParams.get("destinationIata")||null}async getQueryParamMap(e){return{checkin(){const t=e.searchParams.get("dateOut");return t?an.tryFromDashYYYYMMDD(t):null},checkout(){const t=e.searchParams.get("dateIn");return t?an.tryFromDashYYYYMMDD(t):null},adults(){const t=e.searchParams.get("adults");return t?p(t)??2:2},children(){const t=e.searchParams.get("teens"),n=e.searchParams.get("children");if(!t&&!n)return 0;const a=parseInt(t??"0",10),o=parseInt(n??"0",10);return Number.isNaN(a)&&Number.isNaN(o)?0:(Number.isNaN(a)?0:a)+(Number.isNaN(o)?0:o)},currency:()=>e.searchParams.get("currency")??mn}}}class Bn{$checkbox;$text;$label;$style;$rootHost;$root;constructor(e){this.$checkbox=document.createElement("input"),this.$checkbox.className="dir-checkbox",this.$checkbox.type="checkbox",this.$checkbox.checked=e;const t=/^https?:\/\/(?:www\.)?ryanair\.com\/[^/]+\/([^/]+)/i.exec(location.href),n=t?t[1].toLowerCase():Kt();this.$text=document.createTextNode(Cn("cross_sell.kayak.find_me_accommodation",{},n)),this.$label=document.createElement("label"),this.$label.className="dir-label",this.$label.appendChild(this.$checkbox),this.$label.appendChild(this.$text),this.$style=document.createElement("style"),this.$style.textContent="\n .dir-label {\n margin-left: 1rem;\n }\n\n .dir-checkbox {\n margin-right: 0.5em;\n }\n ",this.$rootHost=document.createElement("div"),this.$rootHost.style.display="contents",this.$root=this.$rootHost.attachShadow({mode:"closed"}),this.$root.appendChild(this.$style),this.$root.appendChild(this.$label)}get $host(){return this.$rootHost}get checked(){return this.$checkbox.checked}set checked(e){this.$checkbox.checked=e}get isVisible(){return Xt(this.$checkbox)}}const Fn=new Set(["latamairlines.com"]);class Un extends pn{checkboxManager=new An(Vn);constructor(){super("LATAM_AIRLINES_KAYAK")}async shouldActivate(){const e=wn(new URL(window.location.href));return Fn.has(e)}async handleCrossSell(){const e=new URL(window.location.href);e.pathname.endsWith("/es/ofertas-vuelos")||e.pathname.endsWith("/en/flight-offers")||e.pathname.endsWith("/pt/oferta-voos")?this.maybeOpenTab():this.injectUI()}get checked(){return this.checkboxManager.checked}injectUI(){this.checkboxManager.inject(['[class*="LoyaltyBoxstyles__CheckboxContainer"]']),zn(["button#fsb-search-flights",'button[type="submit"]'],this.handleSearchClick.bind(this))}async getDestination(){return new URL(window.location.href).searchParams.get("destination")||null}async getQueryParamMap(e){return{checkin(){const t=e.searchParams.get("outbound");if(!t)return null;const[n,a]=t.split("T");return n?an.tryFromDashYYYYMMDD(n):null},checkout(){const t=e.searchParams.get("inbound");if(!t)return null;const[n,a]=t.split("T");return n?an.tryFromDashYYYYMMDD(n):null},adults(){const t=e.searchParams.get("adt");return t?p(t)??2:2},children(){const t=e.searchParams.get("chd");return t?p(t)??0:0},currency(){const e=Qt(['[data-testid="current-currency__name-and-symbol"]']);if(e){const t=e.textContent;if(t){const e=t.match(/^(.+?) · (.+)$/);if(e)return e[1]}}return mn}}}}class Vn{$checkboxContainer;$checkbox;$checkboxIconWrapper;$checkboxIconI;$span;$text;$label;$style;$rootHost;$root;constructor(e){this.$checkbox=document.createElement("input"),this.$checkbox.className="dir-checkbox",this.$checkbox.type="checkbox",this.$checkbox.checked=e,this.$checkboxIconI=document.createElement("i"),this.$checkboxIconI.className="dir-checkbox-icon-i",this.$checkboxIconI.ariaHidden="true",this.$checkboxIconI.innerHTML='\n <svg xmlns="http://www.w3.org/2000/svg" fill="none" focusable="false" viewBox="0 0 32 32">\n <path d="M12.57 21.6161L4.38 13.2161L2 15.7186L12.57 26.376L30 8.75351L27.5325 6.37354L12.57 21.6161Z" fill="currentColor"></path>\n </svg>\n ',this.$checkboxIconWrapper=document.createElement("span"),this.$checkboxIconWrapper.className="dir-checkbox-icon-wrapper",this.$checkboxIconWrapper.appendChild(this.$checkboxIconI);const t=Jt();this.$text=document.createTextNode(Cn("cross_sell.kayak.find_me_accommodation",{},t)),this.$span=document.createElement("span"),this.$span.className="dir-span",this.$span.appendChild(this.$text),this.$label=document.createElement("label"),this.$label.className="dir-label",this.$label.appendChild(this.$checkbox),this.$label.appendChild(this.$checkboxIconWrapper),this.$label.appendChild(this.$span),this.$checkboxContainer=document.createElement("div"),this.$checkboxContainer.className="dir-checkbox-container",this.$checkboxContainer.appendChild(this.$label),this.$style=document.createElement("style"),this.$style.textContent="\n * {\n box-sizing: border-box;\n }\n\n .dir-checkbox {\n position: absolute;\n height: 0px;\n width: 0px;\n appearance: none;\n }\n\n .dir-checkbox-container {\n display: inline-block;\n padding: 0.5rem 0px;\n position: relative;\n width: initial;\n }\n\n .dir-label {\n cursor: pointer;\n display: flex;\n flex-direction: row;\n gap: 0.75rem;\n -webkit-box-pack: justify;\n justify-content: space-between;\n pointer-events: initial;\n width: initial;\n align-items: center;\n }\n\n .dir-span {\n display: flex;\n flex-direction: column;\n margin-right: 0px;\n margin-left: 0.5rem;\n text-align: initial;\n }\n\n .dir-checkbox-icon-wrapper {\n --checkbox-size: 1.5rem;\n background: transparent;\n border-radius: 0.25rem;\n border: 2px solid rgb(70, 88, 223);\n cursor: pointer;\n display: inline-flex;\n height: var(--checkbox-size);\n width: var(--checkbox-size);\n flex-shrink: 0;\n }\n\n .dir-checkbox:checked + .dir-checkbox-icon-wrapper {\n background: rgb(70, 88, 223);\n }\n\n .dir-checkbox-icon-wrapper:hover {\n box-shadow: rgb(238, 237, 249) 0px 0px 0px 0.5rem;\n }\n\n .dir-checkbox-icon-i {\n color: rgb(255, 255, 255);\n display: none;\n height: 100%;\n margin: auto;\n width: 100%;\n }\n\n .dir-checkbox:checked + .dir-checkbox-icon-wrapper .dir-checkbox-icon-i {\n display: flex;\n }\n ",this.$rootHost=document.createElement("div"),this.$rootHost.style.display="contents",this.$root=this.$rootHost.attachShadow({mode:"closed"}),this.$root.appendChild(this.$style),this.$root.appendChild(this.$checkboxContainer)}get $host(){return this.$rootHost}get checked(){return this.$checkbox.checked}set checked(e){this.$checkbox.checked=e}get isVisible(){return Xt(this.$checkbox)}}const Hn=new Set(["iberia.com"]);class Kn extends pn{checkboxManagerTab=new An(Yn);checkboxManagerAccordion=new An(Yn);constructor(){super("IBERIA_KAYAK")}async shouldActivate(){const e=wn(new URL(window.location.href));return Hn.has(e)}async handleCrossSell(){const e=new URL(window.location.href);!e.pathname.endsWith("/flights/")||"1"!==e.searchParams.get("TRIP_TYPE")&&"2"!==e.searchParams.get("TRIP_TYPE")?this.injectUI():this.maybeOpenTab()}async injectUI(){await u(500),this.injectCheckbox(["#tab-flights .ibe-searcher__options .ibe-form__radio-group"],this.checkboxManagerTab),this.injectCheckbox(["#m-tab-searcher-1 .ibe-searcher__options"],this.checkboxManagerAccordion),zn(["#buttonSubmit1"],this.handleSearchClick.bind(this))}get checked(){return this.checkboxManagerTab.checked||this.checkboxManagerAccordion.checked}async injectCheckbox(e,t){const n=new AbortController;await t.inject(e,{afterInject:(a,o)=>{const r=()=>{switch(t){case this.checkboxManagerAccordion:this.checkboxManagerTab.checked=o.checked;break;case this.checkboxManagerTab:this.checkboxManagerAccordion.checked=o.checked;break;default:throw new Error("Unrecognized checkbox manager")}};o.addEventListener("change",r);let i=!1;const s=async()=>{i||(i=!0,c(),await this.injectCheckbox(e,t),i=!1)};window.addEventListener("resize",s);const c=()=>{n.abort(),o.removeEventListener("change",r),window.removeEventListener("resize",s)};return c},signal:n.signal})}async getDestination(){return new URL(window.location.href).searchParams.get("END_CITY_01")||null}async getQueryParamMap(e){return{checkin(){const t=e.searchParams.get("BEGIN_YEAR_01");if(!t)return null;const n=e.searchParams.get("BEGIN_MONTH_01");if(!n)return null;const a=e.searchParams.get("BEGIN_DAY_01");return a?qn(t,n,a):null},checkout(){const t=e.searchParams.get("END_YEAR_01");if(!t)return null;const n=e.searchParams.get("END_MONTH_01");if(!n)return null;const a=e.searchParams.get("END_DAY_01");return a?qn(t,n,a):null},adults(){const t=e.searchParams.get("ADT");return t?p(t)??2:2},children(){const t=e.searchParams.get("CHD");return t?p(t)??0:0},currency:mn}}}class Yn{eventTarget=new EventTarget;$checkboxContainer;$checkbox;$text;$span;$label;$style;$rootHost;$root;constructor(e){this.$checkboxContainer=document.createElement("div"),this.$checkboxContainer.className="dir-checkbox-container",this.$checkbox=document.createElement("input"),this.$checkbox.className="dir-checkbox",this.$checkbox.type="checkbox",this.$checkbox.checked=e,this.$checkbox.addEventListener("click",()=>{this.dispatchEvent(new Qn(this.$checkbox.checked))});const t=Jt();this.$text=document.createTextNode(Cn("cross_sell.kayak.find_me_accommodation",{},t)),this.$span=document.createElement("span"),this.$span.className="dir-span",this.$span.appendChild(this.$text),this.$label=document.createElement("label"),this.$label.className="dir-label",this.$label.appendChild(this.$checkbox),this.$label.appendChild(this.$span),this.$style=document.createElement("style"),this.$style.textContent='\n .dir-checkbox {\n margin: 0;\n margin-right: 0.9375rem;\n\n -webkit-appearance: none;\n appearance: none;\n cursor: pointer;\n \n background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAABWSURBVHja7NVBEcBADELRuEYBOnCBrwhgtrcKSPfUyRfwjlBJbJPEKJK2k5RtSd19RnW3JNtFcqy8FskCcD4HYKGFFlrof9C1qb02/rfu6AEAAP//AwC94S6rHK/aNAAAAABJRU5ErkJggg==) no-repeat;\n content: "";\n display: inline-block;\n height: 1.625rem;\n overflow: hidden;\n vertical-align: middle;\n width: 1.625rem;\n margin-top: 0;\n }\n\n .dir-checkbox:checked {\n \n background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAEDSURBVHjaYvj79++2bdtaW1vLyQKtra3btm37+/cvw7Zt2+bPn//x48f/ZIGPHz/Onz9/27ZtDK2trWSbAjertbWVoby8/D/FoLy8fNQgahv05syZXR6en+7cIdagz/fvf33yBFnk39+/V3p7V8nI7nR1+/P9O7EG7fLwXKuiemfRIgj36+PHe/z8V0hKrdPU+vLwIQlee75//wpJqRWSUvtDw27Pn79WTX2FpNRKKelne/aQHEanS8sgZsHR5a5ucgL799evW8wt4KYcjIr6/+8fmbH26sSJldIyKySlNpua/Xz/nqLof3v+/M1Zs789fz6aRQaVQVQraqlW+FOrOgIMANiB7jjdFd/sAAAAAElFTkSuQmCC) no-repeat;\n }\n\n .dir-label {\n color: #666;\n cursor: pointer;\n font-size: .8125rem;\n display: inline-block;\n }\n\n @media screen and (max-width: 25.999rem) {\n\n .dir-checkbox-container {\n display: block;\n }\n\n .dir-checkbox {\n margin-right: 0.3125rem;\n }\n }\n\n @media screen and (min-width: 26rem) and (max-width: 29.999rem) {\n\n .dir-checkbox-container {\n display: inline-block;\n margin-left: 1rem;\n }\n\n .dir-checkbox {\n margin-right: 0.3125rem;\n }\n }\n\n @media screen and (min-width: 30rem) and (max-width: 47.999rem) {\n }\n\n @media screen and (min-width: 48rem) and (max-width: 63.999rem) {\n\n .dir-checkbox-container {\n margin-left: 1rem;\n display: inline-block;\n }\n }\n\n @media screen and (min-width: 64rem) and (max-width: 79.999rem) {\n\n .dir-label {\n padding-top: .3125rem;\n }\n }\n\n @media screen and (min-width: 80rem) {\n\n .dir-label {\n padding-top: .3125rem;\n }\n }\n ',this.$checkboxContainer.appendChild(this.$label),this.$rootHost=document.createElement("div"),this.$rootHost.style.display="contents",this.$root=this.$rootHost.attachShadow({mode:"closed"}),this.$root.appendChild(this.$style),this.$root.appendChild(this.$checkboxContainer)}get $host(){return this.$rootHost}get checked(){return this.$checkbox.checked}set checked(e){this.$checkbox.checked=e}get isVisible(){return Xt(this.$checkbox)}addEventListener(e,t,n){return this.eventTarget.addEventListener(e,t,n)}dispatchEvent(e){return this.eventTarget.dispatchEvent(e)}removeEventListener(e,t,n){return this.eventTarget.removeEventListener(e,t,n)}}function qn(e,t,n){if(6!==t.length)return null;if(t.slice(0,4)!==e)return null;const a=t.slice(4,6),o=parseInt(e,10);if(Number.isNaN(o))return null;const r=parseInt(a,10);if(Number.isNaN(r))return null;const i=parseInt(n,10);return Number.isNaN(i)?null:an.new(o,r,i)}class Qn extends Event{checked;constructor(e){super("change"),this.checked=e}}const Wn=new Set(["united.com"]);class Gn extends pn{checkboxManager=new An(Jn);constructor(){super("UNITED_KAYAK")}async shouldActivate(){const e=wn(new URL(window.location.href));return Wn.has(e)}async handleCrossSell(){new URL(window.location.href).pathname.endsWith("/fsr/choose-flights")?this.maybeOpenTab():this.injectUI()}get checked(){return this.checkboxManager.checked}injectUI(){this.checkboxManager.inject(['[class*="app-components-BookFlightForm-bookFlightForm__formHeader--"]']),zn(['[class*="app-components-BookFlightForm-bookFlightForm__findFlightBtn"]'],this.handleSearchClick.bind(this))}async getDestination(){try{const e=new URL(window.location.href).searchParams.get("t");return e?un(e):null}catch(e){return console.error(e),null}}async getQueryParamMap(e){return{checkin(){const t=e.searchParams.get("d");return t?an.tryFromDashYYYYMMDD(t):null},checkout(){const t=e.searchParams.get("r");return t?an.tryFromDashYYYYMMDD(t):null},adults(){const t=e.searchParams.get("px");if(!t)return 2;const n=t.split(",")[0];return n?d(n)??2:2},children(){const t=e.searchParams.get("px");if(!t)return 0;const n=t.split(",")[5];return n?d(n)??0:0},currency:mn}}}class Jn{$checkboxInput;$checkboxSvg;$controlDiv;$text;$textDiv;$label;$style;$rootHost;$root;constructor(e){this.$checkboxInput=document.createElement("input"),this.$checkboxInput.className="dir-checkbox-input",this.$checkboxInput.type="checkbox",this.$checkboxInput.checked=e,this.$checkboxSvg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.$checkboxSvg.classList="dir-checkbox-svg",this.$checkboxSvg.setAttribute("viewBox","0 0 24 24"),this.$checkboxSvg.innerHTML='\n <path fill-rule="evenodd" d="M20 0a4 4 0 0 1 4 4v16a4 4 0 0 1-4 4H4a4 4 0 0 1-4-4V4a4 4 0 0 1 4-4Zm-.38 6.32a1 1 0 0 0-1.35.17l-7.11 9.07-5.51-4.23a1 1 0 0 0-1.41.18 1 1 0 0 0 .06 1.3l.09.08 6.23 4.78a.9.9 0 0 0 .52.2 1 1 0 0 0 .93-.35l7.73-9.86a1 1 0 0 0-.16-1.33Z" class="cls-1"/>\n ',this.$controlDiv=document.createElement("div"),this.$controlDiv.className="dir-control-div",this.$controlDiv.appendChild(this.$checkboxInput),this.$controlDiv.appendChild(this.$checkboxSvg);const t=Jt();this.$text=document.createTextNode(Cn("cross_sell.kayak.find_me_accommodation",{},t)),this.$textDiv=document.createElement("div"),this.$textDiv.className="dir-text-div",this.$textDiv.appendChild(this.$text),this.$label=document.createElement("label"),this.$label.className="dir-label",this.$label.appendChild(this.$controlDiv),this.$label.appendChild(this.$textDiv),this.$style=document.createElement("style"),this.$style.textContent='\n @media screen and (min-width: 1184px) {\n * {\n scroll-margin-top: 100px;\n }\n }\n\n * {\n scroll-margin-top: 72px;\n\n background-repeat: no-repeat;\n box-sizing: border-box;\n }\n\n .dir-checkbox-input {\n \n margin-right: 10px;\n \n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n display: block;\n width: 100%;\n height: 100%;\n cursor: pointer;\n margin: 0;\n -webkit-appearance: none;\n appearance: none;\n border: 2px solid #555;\n border-radius: 4px;\n background-color: rgba(0, 0, 0, 0);\n }\n\n .dir-checkbox-input:checked {\n border: none;\n }\n\n .dir-checkbox-input:focus {\n outline: 4px solid #000;\n outline-offset: 1px;\n }\n\n .dir-checkbox-input:hover, .dir-checkbox-input:focus {\n border-color: #1414d2;\n border-width: 3px;\n }\n\n .dir-checkbox-svg {\n \n width: 20px;\n height: 20px;\n visibility: hidden;\n pointer-events: none;\n \n display: block;\n \n vertical-align: middle;\n fill: currentColor;\n overflow: hidden;\n }\n\n .dir-checkbox-input:checked + .dir-checkbox-svg {\n visibility: visible;\n fill: #1414d2;\n }\n\n .dir-checkbox-input:hover + .dir-checkbox-svg {\n fill: #0d0d8f;\n }\n\n .dir-control-div {\n \n display: block;\n margin-right: .5rem;\n position: relative;\n top: 2px;\n flex: none;\n \n width: 1.25rem;\n height: 1.25rem;\n }\n\n .dir-text-div {\n letter-spacing: normal;\n text-transform: none;\n }\n\n .dir-label {\n visibility: visible;\n text-align: left;\n touch-action: manipulation;\n \n padding: 0;\n \n font-size: .875rem;\n font-weight: 400;\n line-height: 1.7142857143;\n font-family: "NeuePlakTextforUnited-Rg", "Noto Sans", "Arial", sans-serif;\n color: #000;\n display: inline-flex;\n\n \n text-transform: uppercase;\n letter-spacing: 1px;\n\n \n margin-bottom: 14px;\n padding-bottom: .25rem;\n }\n ',this.$rootHost=document.createElement("div"),this.$rootHost.style.display="contents",this.$root=this.$rootHost.attachShadow({mode:"closed"}),this.$root.appendChild(this.$style),this.$root.appendChild(this.$label)}get $host(){return this.$rootHost}get checked(){return this.$checkboxInput.checked}set checked(e){this.$checkboxInput.checked=e}get isVisible(){return Xt(this.$checkboxInput)}}function Zn(e){try{const t=wn(new URL(e));return/^airbnb\.[.a-z]{2,7}/i.exec(t)?"AIRBNB":/^(secure\.)?booking\.com/i.exec(t)?"BOOKING":/^vrbo\.com/i.exec(t)||/^abritel\.fr/i.exec(t)?"VRBO":/^expedia\.[.a-z]{2,7}/i.exec(t)?"EXPEDIA":/google\.[a-z.]{2,7}\/(search\?|travel\/flights\?)/i.exec(e)?"GOOGLE":null}catch(e){return console.error("Error in getPlatform",e),null}}const Xn=/(www\.)?airbnb\.[.a-z]{2,7}\/rooms\/(plus\/)?(\d+)/i,ea=/[https:\/\/]*[www]*\.airbnb\..*?\/homes/i,ta=/[https:\/\/]*[www]*\.airbnb\..*?\/book\/stays/i,na=/^(?:https:\/\/)?(?:www\.)?booking\.com\/hotel\/[\w\-\/]*/i,aa=/^(?:https:\/\/)?(?:www\.)?booking\.com\/searchresults/i,oa=/^(?:https:\/\/)?secure\.booking\.com\/(?:tpi_)?book(?:\.[a-z]+)?\.html/i,ra=/^(?:https:\/\/)?secure\.booking\.com\/confirmation\.[^.]+\.html/i,ia=/(?:www\.)vrbo\.com\/(?:[a-z]{2}-[a-z]{2}\/)?(?:[a-z0-9-]+\/)?p?\d+[a-zA-Z]*/,sa=/(www\.)?vrbo\.com(\/\w{0,2}-\w{0,2})*\/search/,ca=/[https:\/\/]*[www]*\.vrbo\.com(\/\w{0,2}-\w{0,2})?\/td\/tc\/checkout/,la=/(www\.)?abritel\.fr\/location-vacances\/(\w*)/,ua=/(www\.)?abritel\.fr\/search/,da=/[https:\/\/]*[www]*\.abritel\.fr\/\/td\/tc\/checkout/,pa=/expedia.[a-z.]{2,7}\/(?:[a-z0-9-]+\/)?[\w-]*?\.h(\d*)\.[\w-]*\??/,ha=/expedia\.[a-z.]{2,7}\/Hotel-Search/,ma=/^(?:https?:\/\/)?(?:www\.)?expedia\.[a-z.]{2,7}\/checkout/,fa=/(?:https?:\/\/)?(?:www\.)?google\.[a-z.]{2,7}\/search\?/,ga=P(Object.getPrototypeOf,Object);var ya=Function.prototype,ba=Object.prototype,ka=ya.toString,va=ba.hasOwnProperty,wa=ka.call(Object);const ja=function(e){if(!xe(e)||"[object Object]"!=K(e))return!1;var t=ga(e);if(null===t)return!0;var n=va.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&ka.call(n)==wa};function _a(){return"es"===qt()?"civitatis":"viator"}function xa(e){const t=/(http[s]?:\/\/www\.booking\.com\/[\w\/-]+)\./.exec(e);return(t?t[1]:e).replace(/http[s]?:\/\/www\.booking\.com\/hotel\//,"")}function Ca(e){try{const{pathname:t}=new URL(e),n=xa(e.replace(/\.html?[^]*/,""));return t.includes("searchresults")?null:n}catch(e){return console.error(e),null}}class za extends nn{checkboxManager=new An(Sa);confirmationInfo=null;constructor(){super("BOOKING_ACTIVITIES")}async shouldActivate(){return za.isCheckout(window.location)||za.isConfirmation(window.location)}static isCheckout(e){return oa.test(e.href)&&null!==za.getCheckoutType(e.pathname)}static isConfirmation(e){return ra.test(e.href)}static getCheckoutType(e){return/\/book(?:\.[a-z]+)?\.html$/i.test(window.location.pathname)?"book":/\/tpi_book(?:\.[a-z]+)?\.html$/i.test(window.location.pathname)?"tpi_book":null}async getConfirmationInfoJson(){if(null!==this.confirmationInfo)return this.confirmationInfo;if(!za.isConfirmation(window.location))return null;const e=await Zt(['script[data-capla-namespace*="b-post-booking-web-"][data-capla-store-data="apollo"]']);return this.confirmationInfo=e,this.confirmationInfo}async handleCrossSell(){za.isConfirmation(window.location)?this.maybeOpenTab():this.injectUI()}injectUI(){const t=za.getCheckoutType(window.location.pathname);switch(t){case"book":return this.injectBookUI();case"tpi_book":return this.injectTpiBookUI();case null:return;default:e(t)}}injectBookUI(){const e=['button[name="book"][class*="complete-booking"]'];this.checkboxManager.inject(e,{inject:"before",getContainer:e=>e.parentElement?.parentElement?.parentElement??null}),zn(e,this.handleSubmitClick.bind(this))}injectTpiBookUI(){const e=['.bp-main-content button[type="submit"]'];this.checkboxManager.inject(e,{inject:"before"}),zn(e,this.handleSubmitClick.bind(this))}async handleSubmitClick(){await E.setCrossSellWasChecked({crossSellId:this.platform,checked:this.checkboxManager.checked})}async maybeOpenTab(){if(!await E.getCrossSellWasChecked({crossSellId:this.platform}))return;const e=await this.getDestination();if(!e)return;const t=Ca(Qt(['[data-c360-id="hotelTitle"] a'])?.getAttribute("href")??""),[n,a,o,r,i]=await Promise.all([super.getQueryParam("checkin"),super.getQueryParam("checkout"),super.getQueryParam("adults"),super.getQueryParam("children"),super.getQueryParam("currency")]);E.openActivitiesCrossSellTab({provider:_a(),sourceUrl:window.location.href,destination:e,checkin:n,checkout:a,adults:o,children:r,currency:i,sourceId:t})}async getDestination(){const e=await this.getConfirmationInfoJson();if(!e)return null;const t=Ge(e,e=>e.startsWith("PostBookingProperty:"));if(!ja(t))return null;if(!("hotelCity"in t))return null;const n=t.hotelCity;if(!ja(n))return null;const a=n;return"rawValue"in a&&"string"==typeof a.rawValue?a.rawValue:null}async getQueryParamMap(e){const t=await this.getConfirmationInfoJson(),n=t?.body;return{checkin(){const e=n?.trans_checkin;return e&&"string"==typeof e?an.fromDate(new Date(e)):an.fromDate(new Date)},checkout(){const e=n?.trans_checkout;return e&&"string"==typeof e?an.fromDate(new Date(e)):an.fromDate(new Date)},adults(){const e=n?.num_adults;return"number"!=typeof e||Number.isNaN(e)?2:e},children(){const e=n?.child_ages;return Array.isArray(e)?e.length:0},currency:()=>"string"!=typeof n?.trans_currencycode?mn:n?.trans_currencycode}}}class Sa{$checkbox;$linkText;$link;$text;$label;$wrapper;$style;$rootHost;$root;constructor(t){const n=Jt();this.$checkbox=document.createElement("input"),this.$checkbox.className="dir-checkbox",this.$checkbox.type="checkbox",this.$checkbox.checked=t,this.$text=document.createTextNode(Cn("cross_sell.activities.explore_activities_with",{},n));const a=_a();this.$linkText=document.createTextNode(Cn(`cross_sell.activities.${a}`,{},n)),this.$link=document.createElement("a"),this.$link.href=function(t){switch(t){case"viator":return(()=>{const e=new URL("/","https://www.viator.com");return e.searchParams.append("pid","P00253809"),e.searchParams.append("mcid","42383"),e.searchParams.append("medium","link"),e.toString()})();case"civitatis":return(()=>{const e=new URL("/","https://www.civitatis.com");return e.searchParams.append("aid","110241"),e.toString()})();default:e(t)}}(a),this.$link.target="_blank",this.$link.rel="noopener noreferrer",this.$link.appendChild(this.$linkText),this.$label=document.createElement("label"),this.$label.className="dir-label",this.$label.appendChild(this.$checkbox),this.$label.appendChild(this.$text),this.$label.appendChild(this.$link),this.$wrapper=document.createElement("div"),this.$wrapper.className="dir-wrapper",this.$wrapper.appendChild(this.$label),this.$style=document.createElement("style"),this.$style.textContent="\n .dir-wrapper {\n width: 100%;\n display: flex;\n justify-content: flex-end;\n }\n\n .dir-label {\n margin-right: 0.1em;\n }\n\n .dir-checkbox {\n margin-right: 0.5em;\n }\n ",this.$rootHost=document.createElement("div"),this.$rootHost.style.display="contents",this.$root=this.$rootHost.attachShadow({mode:"closed"}),this.$root.appendChild(this.$style),this.$root.appendChild(this.$wrapper)}get $host(){return this.$rootHost}get checked(){return this.$checkbox.checked}set checked(e){this.$checkbox.checked=e}get isVisible(){return Xt(this.$checkbox)}}const Ea=new Set(["flyfrontier.com","es.flyfrontier.com"]);class Oa extends hn{checkboxManager=new An(Aa);constructor(){super("FLYFRONTIER_KAYAK")}async shouldActivate(){const e=wn(new URL(window.location.href));return Ea.has(e)}async handleCrossSell(){this.injectUI()}get checked(){return this.checkboxManager.checked}injectUI(){this.checkboxManager.inject([".divPromoSearchParent"],{inject:"after"}),zn(["#btnSearch"],this.handleSearchClick.bind(this))}async getDestination(){try{const e=Qt(["#destination-label"]);return e?e.textContent?.trim()??null:null}catch(e){return console.error(e),null}}async getQueryParamMap(e){return{checkin(){const e=Qt(["input#departureDate"]);if(!e)return null;const t=e.value;if(!t)return null;const n=new Date(t);return Number.isNaN(n.getTime())?null:an.fromDate(n)},checkout(){const e=Qt(["input#returnDate"]);if(!e)return null;const t=e.value;if(!t)return null;const n=new Date(t);return Number.isNaN(n.getTime())?null:an.fromDate(n)},adults(){const e=Qt(["input#passengersInput"]);if(!e)return 2;const t=e.getAttribute("data-travelers-adult");return null===t?2:d(t)??2},children(){const e=Qt(["input#passengersInput"]);if(!e)return 0;const t=e.getAttribute("data-travelers-child")??"0",n=e.getAttribute("data-travelers-infant")??"0";return(d(t)??0)+(d(n)??0)},currency:"USD"}}}const Aa=Pn(function({visibilityRef:e,checked:t,onClick:n}){const a=Jt();return(0,Sn.jsxs)(Sn.Fragment,{children:[(0,Sn.jsx)("style",{children:"\n.dir-label {\n color: #fff;\n font-size: 13px;\n font-weight: 400;\n cursor: pointer;\n\n display: inline-block;\n margin-top: 3%;\n}\n"}),(0,Sn.jsxs)("label",{className:"dir-label",children:[(0,Sn.jsx)("input",{type:"checkbox",checked:t,onClick:n,onChange:()=>{},ref:e}),Cn("cross_sell.kayak.find_me_accommodation",{},a)]})]})});var Pa=n(395);const Ia=new Set(["southwest.com","espanol.southwest.com"]);class La extends pn{checkboxManager=new An(Na);constructor(){super("SOUTHWEST_KAYAK")}async shouldActivate(){const e=wn(new URL(window.location.href));return Ia.has(e)}async handleCrossSell(){new URL(window.location.href).pathname.endsWith("/air/booking/select-depart.html")?this.maybeOpenTab():this.injectUI()}get checked(){return this.checkboxManager.checked}injectUI(){this.checkboxManager.inject(['#bookingSection [class*="showLowFareContainer__"]']),zn(['#bookingSection [class*="submit__"] button'],this.handleSearchClick.bind(this))}async getDestination(){try{const e=new URL(window.location.href),t=e.searchParams.get("to");if(t){const e=t.split(",").map(e=>e.trim()).filter(e=>e.length>0)[0];return e?un(e):null}const n=e.searchParams.get("destinationAirportCode");return n?un(n):null}catch(e){return console.error(e),null}}async getQueryParamMap(e){return{checkin(){const t=e.searchParams.get("departureDate");return t?an.tryFromDashYYYYMMDD(t):null},checkout(){const t=e.searchParams.get("returnDate");return t?an.tryFromDashYYYYMMDD(t):null},adults(){const t=e.searchParams.get("adultsCount");if(!t)return 2;const n=d(t);return null===n?2:n},children:()=>(d(e.searchParams.get("teensCount")??"0")??0)+(d(e.searchParams.get("olderChildCount")??"0")??0)+(d(e.searchParams.get("youngerChildCount")??"0")??0)+(d(e.searchParams.get("lapInfantPassengersCount")??"0")??0),currency:"USD"}}}const Na=Pn(function({visibilityRef:e,checked:t,onClick:n}){const a=(0,On.useId)(),o=Jt();return(0,Sn.jsxs)(Sn.Fragment,{children:[(0,Sn.jsx)("style",{children:'\n* {\n box-sizing: border-box\n}\n\n.crossSellCheckbox {\n display: inline-block\n}\n\n.formField {\n display: flex;\n flex-direction: column\n}\n\n.hiddenFromScreen {\n border: 0;\n clip: rect(0,0,0,0);\n height: 0;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px\n}\n\n.checkbox {\n align-items: center;\n cursor: pointer;\n display: inline-flex;\n gap: .5rem;\n outline: 0;\n position: relative;\n width: fit-content\n}\n\n.checkbox:before {\n border: 1px solid var(--cmp-core-color-checkbox-border);\n bottom: -2px;\n content: "";\n left: -4px;\n opacity: 0;\n position: absolute;\n right: -4px;\n top: -2px;\n transition: opacity var(--cmp-core-defines-animation-duration-very-fast)\n}\n\n.checkbox:hover .focusRing {\n border-color: var(--cmp-core-color-checkbox-focus)\n}\n\n.checkbox:hover .checkboxIcon {\n border-color: transparent\n}\n\n.checkbox:focus-visible:before {\n opacity: 1\n}\n\n.checkbox:focus-visible .focusRing {\n border-color: var(--cmp-core-color-checkbox-focus)\n}\n\n.checkbox:focus-visible .checkboxIcon {\n border-color: transparent\n}\n\n.checkbox.selected .checkboxIcon {\n background-color: var(--cmp-core-color-checkbox-bg-selected);\n transition: background-color var(--cmp-core-defines-animation-duration-very-fast),border-color var(--cmp-core-defines-animation-duration-very-fast)\n}\n\n.focusRing {\n align-items: center;\n border: 1px solid transparent;\n border-radius: 4px;\n display: flex;\n flex-shrink: 0;\n height: 1.25rem;\n justify-content: center;\n margin: -.125rem;\n position: relative;\n transition: border-color var(--cmp-core-defines-animation-duration-very-fast);\n width: 1.25rem\n}\n\n.checkboxIcon {\n align-items: center;\n background-color: var(--cmp-core-color-checkbox-bg);\n border-color: var(--cmp-core-color-checkbox-border);\n border-radius: 2px;\n border-style: solid;\n border-width: 1px;\n display: flex;\n height: 1rem;\n justify-content: center;\n overflow: hidden;\n transition: background-color var(--cmp-core-defines-animation-duration-very-fast) linear .1s,border-color var(--cmp-core-defines-animation-duration-very-fast);\n width: 1rem;\n}\n\n.iconContainer {\n display: flex\n}\n\n.icon {\n display: inline-block;\n font-size: 0\n}\n\n.transparentBorder {\n border: 2px solid var(--cmp-core-color-icon-border-transparent)\n}\n\n.container {\n align-items: center;\n display: inline-flex;\n justify-content: center\n}\n\n.label {\n color: var(--cmp-core-color-checkbox-content);\n flex: 1;\n min-width: 0;\n transition: color var(--cmp-core-defines-animation-duration-slow)\n}\n'}),(0,Sn.jsxs)("span",{className:"crossSellCheckbox formField",children:[(0,Sn.jsx)("input",{"aria-hidden":"true",className:"hiddenFromScreen",tabIndex:-1,type:"checkbox",value:t?"true":"false",onChange:()=>{}}),(0,Sn.jsxs)("div",{"aria-checked":t,"aria-disabled":"false","aria-labelledby":a,className:Pa("checkbox",{selected:t}),role:"checkbox",tabIndex:0,ref:e,onClick:n,children:[(0,Sn.jsx)("span",{className:"focusRing",children:(0,Sn.jsx)("span",{className:"checkboxIcon",children:(0,Sn.jsx)("div",{className:"iconContainer",style:{opacity:t?1:0,transform:"none"},children:(0,Sn.jsx)("span",{className:"container",style:{height:16,width:16},children:(0,Sn.jsx)("svg",{"aria-label":"Check",className:"icon transparentBorder",height:16,role:"img",viewBox:"0 0 32 32",style:{fill:"var(--cmp-core-color-checkbox-icon, cmp-core-color-checkbox-icon)",stroke:"var(--cmp-core-color-checkbox-icon, cmp-core-color-checkbox-icon)"},children:(0,Sn.jsx)("path",{d:"M2,14 L13,24 L29,7",fill:"none",strokeDasharray:"39",strokeWidth:"5",strokeDashoffset:"0"})})})})})}),(0,Sn.jsx)("span",{className:"label",id:a,children:Cn("cross_sell.kayak.find_me_accommodation",{},o)})]})]})]})}),Ta=new Set(["delta.com","es.delta.com"]);class Da extends hn{checkboxManager=new An(Ra);constructor(){super("DELTA_KAYAK")}async shouldActivate(){const e=wn(new URL(window.location.href));return Ta.has(e)}async handleCrossSell(){this.injectUI()}get checked(){return this.checkboxManager.checked}injectUI(){this.checkboxManager.inject(["ngc-search-options fieldset .booking-widget_search-checkbox-section"]),zn(["#btn-book-submit"],this.handleSearchClick.bind(this))}async getDestination(){try{const e=Qt(["#toAirportName .airport-desc"]);return e?e.textContent?.trim()??null:null}catch(e){return console.error(e),null}}async getQueryParamMap(e){return{checkin(){const e=Qt(["#calDepartLabelCont input"]);if(!e)return null;const t=e.value;return t?an.tryFromSlashMMDDYYYY(t):null},checkout(){const e=Qt(["#calReturnLabelCont input"]);if(!e)return null;const t=e.value;return t?an.tryFromSlashMMDDYYYY(t):null},adults(){const e=Qt(["#passengers-val"]);if(!e)return 2;const t=e.textContent?.match(/\d+/)?.[0]??null;return t?d(t)??2:2},children:0,currency:"USD"}}}const Ra=Pn(function({visibilityRef:e,checked:t,onClick:n}){const a=Jt(),o=(0,On.useId)();return(0,Sn.jsxs)(Sn.Fragment,{children:[(0,Sn.jsx)("style",{children:'\n*, :after, :before {\n box-sizing: border-box;\n}\n\ninput {\n padding: 0;\n}\n\n.dir-wrapper {\n /* always put checkbox at the end */\n order: 99999;\n\n font-weight: 400;\n font-size: .875rem;\n line-height: 1.5;\n}\n\nlabel {\n padding-top: .375rem;\n font-family: Whitney-Light !important;\n font-size: .875rem;\n display: inline-block;\n margin-bottom: .5rem;\n touch-action: manipulation;\n}\n\n.searchOptionCheckboxColumn input+label:before {\n top: .5rem;\n}\n\n@media (min-width: 375px) {\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: none;\n }\n}\n\n@media (min-width: 768px) {\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n}\n\n.col-md-6, .col-sm-auto {\n position: relative;\n width: 100%;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n\ninput {\n overflow: visible;\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n position: absolute;\n top: .5rem;\n left: 1rem;\n width: 1.125rem;\n height: 1.25rem;\n margin: auto;\n}\n\ninput:focus {\n box-shadow: 0 0 .0625rem .3125rem #242a48, 0 0 .0625rem .375rem #616778 !important;\n background-color: #fafbfc;\n border-radius: 3px !important;\n outline: none !important;\n}\n\ninput+label {\n position: relative;\n padding-left: 2rem;\n line-height: 1.5rem;\n}\n\ninput:checked+label:before {\n color: #818a98;\n content: "\\E909";\n}\n\ninput+label:before {\n position: absolute;\n left: 0;\n font-size: 1.25rem;\n color: #818a98;\n content: "\\E91C";\n background-color: #11172b;\n}\n\n.icon-Checked:before {\n font-family: icomoon !important;\n font-style: normal;\n font-weight: 400;\n font-variant: normal;\n line-height: 1;\n text-transform: none;\n speak: none;\n}\n\n@media (min-width: 992px) {\n .searchOptionCheckboxColumn {\n flex: 0 0 auto !important;\n width: auto !important;\n max-width: none !important;\n }\n\n .dir-wrapper {\n padding: 0 0 0 .8125rem;\n }\n}\n\n@media (max-width: 991.9999px) {\n .dir-wrapper {\n width: 100%;\n }\n}\n'}),(0,Sn.jsx)("div",{className:"dir-wrapper",children:(0,Sn.jsxs)("div",{className:"col-sm-auto col-md-6 searchOptionCheckboxColumn",children:[(0,Sn.jsx)("input",{id:o,type:"checkbox",checked:t,onChange:n}),(0,Sn.jsx)("label",{htmlFor:o,className:"icon-Checked",ref:e,children:Cn("cross_sell.kayak.find_me_accommodation",{},a)})]})})]})}),Ma=new Set(["aa.com"]);class $a extends hn{checkboxManager=new An(Ba);constructor(){super("AMERICAN_AIRLINES_KAYAK")}async shouldActivate(){const e=new URL(window.location.href),t=wn(e);return Ma.has(t)&&"/homePage.do"===e.pathname}async handleCrossSell(){this.injectUI()}get checked(){return this.checkboxManager.checked}injectUI(){this.checkboxManager.inject(["#bookingCheckboxContainer >:last-child"],{inject:"append"}),zn(['#flightSearchFormSubmitButton input[type="submit"]'],this.handleSearchClick.bind(this))}async getDestination(){try{const e=Qt(['input[name="destinationAirport"]']);return e?un(e.value):null}catch(e){return console.error(e),null}}async getQueryParamMap(e){return{checkin(){const e=Qt(['input[name="departDate"]']);return e?an.tryFromSlashMMDDYYYY(e.value):null},checkout(){const e=Qt(['input[name="returnDate"]']);return e?an.tryFromSlashMMDDYYYY(e.value):null},adults(){const e=Qt(['select[name="adultOrSeniorPassengerCount"]']);return e?d(e.value)??2:2},children:0,currency:"USD"}}}const Ba=Pn(function({visibilityRef:e,checked:t,onClick:n}){const a=Jt(),o=(0,On.useId)();return(0,Sn.jsxs)(Sn.Fragment,{children:[(0,Sn.jsx)("style",{children:'\n* {\n box-sizing: border-box;\n}\n\n.dir-container {\n display: inline-block;\n\n font-family: Arial, sans-serif;\n font-size: 1em;\n}\n\ninput[type="checkbox"] {\n border: 0;\n clip: rect(0 0 0 0);\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n}\n\nlabel {\n display: inline-block;\n line-height: 20px;\n margin: 0;\n position: relative;\n width: 100%;\n\n padding: 0;\n border: 0;\n font: inherit;\n font-size: 100%;\n vertical-align: baseline;\n}\n\n.control {\n font: inherit;\n font-size: 100%;\n\n background-color: #fff;\n color: #fff;\n height: 20px;\n width: 20px;\n display: inline-block;\n margin: -2px 1px 0;\n border: 1px solid #9da6ab;\n -webkit-box-shadow: inset 0 0 0 2px #fff, inset 0 0 0 3px #d0dae0;\n box-shadow: inset 0 0 0 2px #fff, inset 0 0 0 3px #d0dae0;\n vertical-align: middle;\n\n margin-right: 1px;\n}\n\ninput[type="checkbox"]:checked~label .control {\n -webkit-box-shadow: inset 0 0 0 2px #fff, inset 0 0 0 3px #0078d2;\n box-shadow: inset 0 0 0 2px #fff, inset 0 0 0 3px #0078d2;\n background-color: #0078d2;\n}\n\ninput[type="checkbox"]:checked~label .control:before {\n content: "";\n height: 4px;\n width: 8px;\n display: inline-block;\n border-color: #fff;\n border-style: none none solid solid;\n border-width: 2px;\n margin: 4px;\n -ms-transform: rotate(-45deg);\n -webkit-transform: rotate(-45deg);\n transform: rotate(-45deg);\n}\n\ninput[type="checkbox"]:focus~label .control, input[type="checkbox"]:hover~label .control, input[type="checkbox"]~label .control:focus, input[type="checkbox"]~label .control:hover {\n outline: 1px solid #0078d2;\n border: 1px solid #0078d2;\n}\n'}),(0,Sn.jsxs)("div",{className:"dir-container",children:[(0,Sn.jsx)("input",{type:"checkbox",value:t?"true":"false",checked:t,id:o,onChange:()=>{}}),(0,Sn.jsxs)("label",{htmlFor:o,ref:e,onClick:n,children:[(0,Sn.jsx)("span",{className:"control"})," ",Cn("cross_sell.kayak.find_me_accommodation",{},a)," "]})]})]})});class Fa{platforms=[];constructor(){this.platforms=[new Ln,new Dn,new $n,new Un,new Kn,new Gn,new Oa,new La,new Da,new $a,new za]}async initialize(e){for(const t of this.platforms)await t.shouldActivate(e)&&await t.handleCrossSell()}}const Ua="directoUserId";let Va="";async function Ha(){if(Va)return Va;const{[Ua]:e}=await chrome.storage.local.get(Ua);return Va=e||"",Va}class Ka{partner_name=""}class Ya extends Ka{info=null;parserType="json";constructor(e){if(!e)throw new Error("Partner name is required");super(),this.partner_name=e}shouldHandle(e){throw new Error("Method not implemented.")}async getLocale(){return qt()}async isReservation(){return!!await this.getReservationId()}async getReservationDetails(){try{if(await this.isReservation())return{platform_reservation_id:await this.getReservationId(),reservation_url:window.location.href,booking_reference:await this.getBookingReference(),partner_name:this.partner_name,status:await this.getStatus(),property_name:await this.getPropertyName(),guest_name:await this.getGuestName(),guest_email:await this.getGuestEmail(),currency:null,gross_total_price:null,net_total_price:null,total_tax_price:null,...await this.getPrice(),...await this.getStayParams(),locale:await this.getLocale(),clean_html:"html"===this.parserType?await this.getCleanHTML():null}}catch(e){console.error("Error getting reservation details",e)}return null}async getStayParams(){return{checkin:await this.buildQueryParams("checkin"),checkout:await this.buildQueryParams("checkout"),adults:await this.buildQueryParams("adults"),children:await this.buildQueryParams("children")}}async buildQueryParams(e,t=window.location.href){const n=new URL(t);return tn((await this.getQueryParamMap(n))[e])}async getInfoJSON(e="#__NEXT_DATA__"){try{if(this.info)return this.info;const t=await qe(()=>Qt([e]),e=>!e||!e.textContent,10)();return this.info=Ze(t?.textContent??"{}"),this.info}catch(e){return console.error("Error getting info",e),null}}async getReservationId(){throw new Error("Method not implemented.")}async getBookingReference(){throw new Error("Method not implemented.")}async getPropertyName(){return null}async getGuestName(){return null}async getGuestEmail(){return null}async getPrice(){throw new Error("Method not implemented.")}async getStatus(){throw new Error("Method not implemented.")}async getQueryParamMap(e){throw new Error("Method not implemented.")}async getCleanHTML(){return await function({timeout:e=2e3,stableThreshold:t=1e3,checkInterval:n=300,minTextLength:a=200,minElementCount:o=30}){const r=Date.now()+e;return new Promise(i=>{let s=!1,c=Date.now(),l=Date.now(),u=0,d={elements:0,text:0};const p=()=>{s||(s=!0,h.disconnect(),clearTimeout(g),i())},h=new MutationObserver(()=>{c=Date.now()}),m=()=>{if(s)return;const e=Date.now();if(e>=r)return void p();const i=document.body?.getElementsByTagName("*").length??0,h=(document.body?.innerText??"").replace(/\s+/g," ").trim().length;i!==d.elements||h!==d.text?(d={elements:i,text:h},l=e,u=0):e-c>=n&&(()=>{const e=document.querySelector('main, [role="main"], article')??document.body;if(!e)return!1;const t=(e.textContent??"").replace(/\s+/g," ").trim(),n=e.querySelectorAll("section, article, div, p, span").length;return t.length>=a&&n>=o})()?u+=1:u=0,u>=3&&e-l>=t?p():setTimeout(m,n)},f=()=>{s||(document.body?(d={elements:document.body.getElementsByTagName("*").length,text:(document.body.innerText??"").replace(/\s+/g," ").trim().length},h.observe(document.body,{childList:!0,subtree:!0}),m()):setTimeout(f,50))},g=setTimeout(p,e);(e=>{if("complete"===document.readyState)return e();const t=()=>{window.removeEventListener("load",t),document.removeEventListener("DOMContentLoaded",t),e()};window.addEventListener("load",t,{once:!0}),document.addEventListener("DOMContentLoaded",t,{once:!0})})(f)})}({timeout:5e3}),function(e){const t=e.body||e,n=t.querySelector("main")||t||e;if(!n)return"";n.querySelectorAll("script, noscript, style, svg, link, iframe, img, select, textarea, command, object, param, track, base").forEach(e=>e.remove()),n.querySelectorAll("[style]").forEach(e=>{e.removeAttribute("style")});const a=e.createTreeWalker(n,NodeFilter.SHOW_COMMENT,null),o=[];let r;for(;r=a.nextNode();)o.push(r);o.forEach(e=>{e.parentNode&&e.parentNode.removeChild(e)});const i=[/tracking/i,/banner/i];return n.querySelectorAll("[class], [id]").forEach(e=>{const t=`${e.className} ${e.id}`;i.some(e=>e.test(t))&&e.remove()}),n.innerHTML.trim().replace(/\s+/g," ").replace(/\n\s*\n/g,"\n").replace(/^\s+|\s+$/g,"").replace(/\n\s+/g,"\n").replace(/\s+\n/g,"\n")}(document.cloneNode(!0))}}function qa(e){return Math.round(e)/100}function Qa(e){if(!e)return null;const t=e.match(/\d[\d., \u202f]*/);if(!t)return null;const n=t[0].trim().replace(/[^\d]$/,""),a=n.match(/^(?<integer>\d{1,3}(?:\.\d{3})*)(?:,(?<decimal>\d{1,2}))?$/)??n.match(/^(?<integer>\d{1,3}(?:,\d{3})*)(?:\.(?<decimal>\d{1,2}))?$/)??n.match(/^(?<integer>\d{1,3}(?:[ \u202f]\d{3})*)(?:[.,](?<decimal>\d{1,2}))?$/)??n.match(/^(?<integer>\d+)(?:[.,](?<decimal>\d{1,2}))?$/);if(!a)return null;const o=a.groups.integer.replace(/[., \u202f]/g,""),r=a.groups.decimal||"",i=100*parseInt(o,10),s=parseInt(r.padEnd(2,"0"),10);return isNaN(i)||isNaN(s)?null:i+s}class Wa extends Ya{constructor(){super("HYATT")}shouldHandle(e){return/hyatt\.com(?:[a-zA-Z0-9-\/]*?)\/book\/confirm\//i.test(e)||/hyatt\.com(?:[a-zA-Z0-9-\/]*?)\/reservation\/detail\//i.test(e)}async getReservationId(){try{return(new URL(window.location.href).pathname.split("/").pop()??null)||await this.getBookingReference()}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await this.getInfoJSON();return h(Pt(e,"confirmation_number",null))}async getPropertyName(){const e=await this.getInfoJSON(),t=Pt(e,"hotel_name",null);return"string"!=typeof t?null:t}async getGuestName(){const e=Qt(['[data-locator="guest-name"]']),t=e?.textContent?.trim()??null;if(t)return t;const n=Qt(['[data-js="firstName"]']),a=Qt(['[data-js="lastName"]']),o=n?.getAttribute("value")?.trim()??null,r=a?.getAttribute("value")?.trim()??null;return o||r?`${o} ${r}`:await this.getGuestEmail()}async getGuestEmail(){const e=await this.getInfoJSON(),t=Pt(e,"customer_email",null);return"string"==typeof t?t:Qt(['[data-js="email"]'])?.getAttribute("value")||null}async getPrice(){try{const e=Qt(['[data-js="cash-total-price"']),t=e?.getAttribute("data-currency")?.trim()??"",n=e?.getAttribute("data-price")?.trim()??"";return{currency:t,net_total_price:Qa(n),gross_total_price:Qa(n),total_tax_price:null}}catch(e){return console.error("Error getting price",e),null}}async getInfoJSON(){if(this.info)return this.info;try{const e=Wt(['script[type="text/javascript"]']),t=Array.from(e).find(e=>/utag_data\s*=\s*\{/.test(e.textContent||""));if(t){const e=t.textContent,n=e?.match(/utag_data\s*=\s*(\{[\s\S]*?\})/);if(n){const e=n[1];return this.info=Ze(e),this.info}}return null}catch(e){return console.error("Error getting info",e),null}}async getStatus(){return"BOOKED"}async getQueryParamMap(e){try{const e=await this.getInfoJSON(),t=e?.date_checkin||Qt([".originalCheckinDate"])?.textContent?.trim()||null,n=e?.date_checkout||Qt([".originalCheckoutDate"])?.textContent?.trim()||null,a=e?.number_of_adults||Qt(['[data-id="adults"]'])?.getAttribute("data-value")||null,o=e?.number_of_children||null;return{checkin:"string"==typeof t?t:null,checkout:"string"==typeof n?n:null,adults:"number"==typeof a?a:"string"==typeof a?p(a):null,children:"number"==typeof o?o:"string"==typeof o?p(o):null}}catch(e){return console.error("Error getting query param map",e),{checkin:null,checkout:null,adults:null,children:null}}}}class Ga extends Ya{constructor(){super("BARCELO"),this.parserType="html"}shouldHandle(e){return/reservation\.barcelo\.com(?:[a-zA-Z\/]*?)\/booking-confirmation/i.test(e)}async getReservationId(){try{const e=new URL(window.location.href).searchParams.get("itineraryNumber");if(e)return e;const t=await qe(()=>Wt(['[class*="Alert_success__"] span']),e=>!Pt(e,"[1].textContent",null),10)();return t?.[1]?.textContent?.trim()??null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){return await this.getReservationId()}async getPrice(){return null}async getStatus(){return"BOOKED"}async getQueryParamMap(e){return{checkin:null,checkout:null,adults:null,children:null}}}class Ja extends Ya{constructor(){super("MARRIOTT"),this.parserType="html"}shouldHandle(e){return/www\.marriott\.com(?:[a-zA-Z-\/]*?)\/reservation\/(confirmation|upcomingReservation)\.mi/i.test(e)}async getReservationId(){try{const e=await qe(Wt,e=>!Pt(e,"[1].textContent",null))([".booking-id-wrapper span"]),t=e?.length?e[1]?.textContent:null;if(t)return t.trim().replace(/\s/g,"").replace("#","");return new URL(window.location.href).searchParams.get("confirmationNumber")||null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){return await this.getReservationId()}async getStatus(){return"BOOKED"}async getPrice(){return null}async getQueryParamMap(e){return{checkin:null,checkout:null,adults:null,children:null}}}var Za=Object.prototype.toString;const Xa={...(eo=function(e,t,n){null!=t&&"function"!=typeof t.toString&&(t=Za.call(t)),e[t]=n},no=Ut,to=function(){return no},function(e,t){return function(e,t,n,a){return Bt(e,function(e,o,r){t(a,n(e),o,r)}),a}(e,eo,to(t),{})})({AED:"د.إ",AFN:"؋",ALL:"L",AMD:"֏",ANG:"ƒ",AOA:"Kz",ARS:"AR$",AUD:"$",AWG:"ƒ",AZN:"ман",BAM:"KM",BBD:"$",BDT:"৳",BGN:"лв",BHD:".د.ب",BIF:"FBu",BMD:"$",BND:"$",BOB:"$b",BRL:"R$",BSD:"$",BTC:"฿",BTN:"Nu.",BWP:"P",BYR:"p.",BZD:"BZ$",CAD:"$",CDF:"FC",CHF:"CHF",CLP:"$",CNY:"¥",COP:"$",CRC:"₡",CUC:"$",CUP:"₱",CVE:"$",CZK:"Kč",DJF:"Fdj",DKK:"kr",DOP:"RD$",DZD:"دج",EEK:"kr",EGP:"£",ERN:"Nfk",ETB:"Br",ETH:"Ξ",EUR:"€",FJD:"$",FKP:"£",GEL:"₾",GGP:"£",GHC:"₵",GHS:"GH₵",GIP:"£",GMD:"D",GNF:"FG",GTQ:"Q",GYD:"$",HKD:"$",HNL:"L",HRK:"kn",HTG:"G",HUF:"Ft",IDR:"Rp",ILS:"₪",IMP:"£",INR:"₹",IQD:"ع.د",IRR:"﷼",ISK:"kr",JEP:"£",JMD:"J$",JOD:"JD",JPY:"¥",KES:"KSh",KGS:"лв",KHR:"៛",KMF:"CF",KPW:"₩",KRW:"₩",KWD:"KD",KYD:"$",KZT:"лв",LAK:"₭",LBP:"£",LKR:"₨",LRD:"$",LSL:"M",LTC:"Ł",LTL:"Lt",LVL:"Ls",LYD:"LD",MAD:"MAD",MDL:"lei",MGA:"Ar",MKD:"ден",MMK:"K",MNT:"₮",MOP:"MOP$",MUR:"₨",MVR:"Rf",MWK:"MK",MXN:"$",MYR:"RM",MZN:"MT",NAD:"$",NGN:"₦",NIO:"C$",NOK:"kr",NPR:"₨",NZD:"$",OMR:"﷼",PAB:"B/.",PEN:"S/.",PGK:"K",PHP:"₱",PKR:"₨",PLN:"zł",PYG:"Gs",QAR:"﷼",RMB:"¥",RON:"lei",RSD:"Дин.",RUB:"₽",RWF:"R₣",SAR:"﷼",SBD:"$",SCR:"₨",SDG:"ج.س.",SEK:"kr",SGD:"$",SHP:"£",SLL:"Le",SOS:"S",SRD:"$",SSP:"£",STD:"Db",SVC:"$",SYP:"£",SZL:"E",THB:"฿",TJS:"SM",TMT:"T",TND:"د.ت",TOP:"T$",TRL:"₤",TRY:"₺",TTD:"TT$",TVD:"$",TWD:"NT$",TZS:"TSh",UAH:"₴",UGX:"USh",UYU:"$U",UZS:"лв",VEF:"Bs",VND:"₫",VUV:"VT",WST:"WS$",XAF:"FCFA",XBT:"Ƀ",XCD:"$",XOF:"CFA",XPF:"₣",YER:"﷼",ZAR:"R",ZWD:"Z$",USD:"$",GBP:"£"}),$:"USD",US$:"USD"};var eo,to,no;function ao(e){return Xa[e]||e||null}function oo(e){return/^[A-Z]{3}$/.test(e)}class ro extends Ya{constructor(){super("HOLIDU")}shouldHandle(e){return/holidu\.[.a-z]{2,7}\/reservations\//i.test(e)}async getReservationId(){try{return new URL(window.location.href).pathname.split("/").pop()??null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await this.getInfoJSON(),t=h(Pt(e,"booking.bookingDetails.externalBookingId",null));if(null!==t)return t;const n=h(Pt(e,"booking.bookingDetails.bookingId",null));if(null!==n)return n;const a=Qt(["#contact b"]);return a?.textContent?.trim()??null}async getPrice(){try{const e=await this.getInfoJSON(),t=We(Pt(e,"booking.bookingDetails.receipt",null));if(t){const e=Pt(t,"priceTotal.price.local.currency",null),n=Pt(t,"priceTotalWithTaxes.price.local.value",null),a=Pt(t,"priceTotal.price.local.value",null);return{currency:"string"==typeof e?e:null,gross_total_price:Qa(h(n)),net_total_price:Qa(h(a))}}const n=Qt(["#payment-schedule .mb-xxl"]);if(n?.textContent){const e=n.textContent.trim(),t=e.replace(/[\d,.\s]*/g,""),a=Qa(e);return{currency:ao(t),gross_total_price:a,net_total_price:a}}return null}catch(e){return console.error("Error getting price",e),null}}async getPropertyName(){const e=await this.getInfoJSON(),t=Pt(e,"apartment.details.name",null);if("string"==typeof t)return t;const n=Qt([".text-2xl"]);return n?.textContent?.trim()??null}async getGuestName(){const e=await this.getInfoJSON(),t=Pt(e,"booking.bookingDetails.customer",null),n=Pt(t,"firstName",null),a=Pt(t,"lastName",null);return n||a?`${n} ${a}`:null}async getGuestEmail(){const e=await this.getInfoJSON(),t=Pt(e,"booking.bookingDetails.customer.email",null);if("string"==typeof t)return t;const n=Wt([".tw-reset-button.cursor-pointer.text-black-ultra"]);return n?.[5]?.textContent?.trim()??null}async getStatus(){const e=Qt([".pr-m .p-m.bg-error-light"]);return e?.textContent?.trim()?.includes("cancel")||window.location.href.includes("cancel")?"CANCELLED":"BOOKED"}async getLocale(){const e=Qt(['[data-testid="Navbar__LocaleCurrencySelector"]']);return e?.textContent?.trim()?.split("/")[0]?.toLowerCase()?.trim()||this.getLocale()}async getInfoJSON(){try{if(this.info)return this.info;const e=await qe(()=>Qt(['script[data-key="initial-state"]']),e=>!e||!e.textContent,10)(),t=e?.textContent?.trim()?.replace(/<!--/,"").replace(/-->/,"");return this.info=Ze(t??"{}"),this.info}catch(e){return console.error("Error getting info",e),null}}async getQueryParamMap(e){const t=await this.getInfoJSON(),n=We(Pt(t,"booking.bookingDetails",null));if(n){const e=We(Pt(n,"guests",null)),t=n.checkin,a=n.checkout,o=e?.adults??null,r=e?.kids??null;return{checkin:"string"==typeof t?t:null,checkout:"string"==typeof a?a:null,adults:"number"==typeof o?o:"string"==typeof o?p(o):null,children:"number"==typeof r?r:"string"==typeof r?p(r):null}}const a=Qt([".pr-m .mt-s:not(.gap-xs)"]);return{checkin:()=>{try{if(!a)return null;const e=a.children[0],t=e?.children[1]?.children[0];return rn(t?.textContent?.trim()??null)??null}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{if(!a)return null;const e=a.children[1],t=e?.children[1]?.children[0];return rn(t?.textContent?.trim()??null)??null}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=Qt(["#root > section > div > div > div.pr-m > div:nth-child(2) > div > div.mt-xl.w-full > div > div:nth-child(2) > span:nth-child(1)"]);return p(e?.textContent?.trim().replace(/[^0-9]/g,"")??"")}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{const e=Qt(["#root > section > div > div > div.pr-m > div:nth-child(2) > div > div.mt-xl.w-full > div > div:nth-child(2) > span:nth-child(2)"]);return p(e?.textContent?.trim().match(/\d+/g)?.[0]??"")}catch(e){return console.error("Error getting children",e),null}}}}}const io=".confirmation-page .row > div.col-lg-5.col-12";class so extends Ya{constructor(){super("MEININGER")}shouldHandle(e){return/book\.meininger-hotels\.com\/reservations\/[a-f0-9-]+-(?!guest-details)[^\/]+/i.test(e)}async getReservationId(){try{return(new URL(window.location.href).pathname.split("/").pop()??null)||await this.getBookingReference()}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await this.getInfoJSON(),t=h(Pt(e,"props.bookingCartConfirmation.info.bookingReservationNumber",null));if(null!==t)return t;const n=Qt([`${io} > div:nth-child(2) > div > div:nth-child(2)`]);return n?.textContent?.trim()??null}async getPropertyName(){const e=await this.getInfoJSON(),t=Pt(e,"props.bookingCartConfirmation.info.hotelFullName",null);return"string"!=typeof t?null:t}async getGuestName(){const e=await this.getInfoJSON(),t=Pt(e,"props.bookingCartConfirmation.info.guest",null),n=Pt(t,"name",null),a=Pt(t,"surname",null);return n||a?`${n} ${a}`:null}async getGuestEmail(){const e=await this.getInfoJSON(),t=Pt(e,"props.bookingCartConfirmation.info.guest.email",null);return"string"!=typeof t?null:t}async getPrice(){try{const e=await this.getInfoJSON(),t=We(Pt(e,"props.bookingCartConfirmation",null));if(t){const e=Pt(t,"info.currency",null),n=Pt(t,"totalAmount",null),a=Pt(t,"totalAmountWithCityTax",null),o=Pt(t,"totalCityTax",null);return{currency:"string"==typeof e?e:null,net_total_price:"number"==typeof n?n:null,gross_total_price:"number"==typeof a?a:null,total_tax_price:"number"==typeof o?o:null}}const n=Qt([".bookingCart"]),a=Qt([".bookingCart"])?.children[0],o=a?.getAttribute("data-currency")?.trim()??null,r=n?.children[1];return{currency:o?ao(o):null,net_total_price:Qa(r?.textContent?.trim()||""),gross_total_price:null,total_tax_price:null}}catch(e){return console.error("Error getting price",e),null}}async getInfoJSON(){try{if(this.info)return this.info;const e=await qe(()=>Qt(["#app"]),e=>!e||!e.getAttribute("data-page"),10)();return this.info=Ze(e?.getAttribute("data-page")||"{}"),this.info}catch(e){return console.error("Error getting info",e),null}}async getStatus(){const e=Qt([".pr-m .p-m.bg-error-light"]);return e?.textContent?.trim()?.includes("cancel")?"CANCELLED":"BOOKED"}async getQueryParamMap(e){const t=await this.getInfoJSON(),n=We(Pt(t,"props.bookingCartConfirmation.info",null));if(n){const{arrivalDate:e,departureDate:t,adults:a,children:o}=n;return{checkin:"string"==typeof e?e:null,checkout:"string"==typeof t?t:null,adults:"number"==typeof a?a:"string"==typeof a?p(a):null,children:"number"==typeof o?o:"string"==typeof o?p(o):null}}const a=Qt([`${io} > div:nth-child(3) > div > div:nth-child(2)`]);return{checkin:()=>{try{if(!a)return null;const e=a.textContent;return rn(sn(e?.split(" - ")[0]??null))??null}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{if(!a)return null;const e=a.textContent;return rn(sn(e?.split(" - ")[1]??null))??null}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=Qt([`${io} > div:nth-child(4) > div > div.text-sm.d-flex.flex-column`]);return p(e?.textContent?.trim().match(/\d+/g)?.[0]??"")}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{const e=Qt([`${io} > div:nth-child(4) > div > div.text-sm.d-flex.flex-column > span:nth-child(2)`]);return p(e?.textContent?.trim().match(/\d+/g)?.[0]??"")}catch(e){return console.error("Error getting children",e),null}}}}}class co extends Ya{constructor(){super("EVOLVE")}shouldHandle(e){return/evolve\.com\/booking\/(\d+)\/confirmation/i.test(e)}async getReservationId(){try{const e=new URL(window.location.href),t=e.pathname.match(/\/booking\/(\d+)\/confirmation/),n=await this.getQueryParamMap(e);if(!t?.[1])return null;const a=await Promise.all(Object.values(n).map(e=>"function"==typeof e?e():e));return`${t[1]}-${a.join("-")}`}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){return this.getReservationId()}async getPrice(){return{currency:null,gross_total_price:null,net_total_price:null}}async getPropertyName(){const e=Qt([".Confirmation_listingCopy__t0MUM .Confirmation_sectionHeading__Mlxru"]);return e?.textContent?.trim()??null}async getGuestName(){return null}async getStatus(){return"BOOKED"}async getQueryParamMap(e){return{checkin:()=>{try{return rn(sn(e.searchParams.get("startDate")))??null}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{return rn(sn(e.searchParams.get("endDate")))??null}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{return p(e.searchParams.get("adults")??"")}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{return p(e.searchParams.get("children")??"")}catch(e){return console.error("Error getting children",e),null}}}}}class lo extends Ya{constructor(){super("ACCOR")}shouldHandle(e){return/secure\.accor\.com\/managebookings\/index(?:\.[a-z]{2}(?:-[a-z]{2})?)?\.shtml#\/details/i.test(e)}async getReservationId(){try{const e=await qe(()=>Qt([".bd-info__booking-number"]),e=>!e,15)();return e?.textContent?.trim()??null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){return await this.getReservationId()}async getPrice(){try{const e=Qt(["#afterTaxValue"]);if(e?.textContent){const t=Qt([".price-display__value"],e),n=t?.textContent?.trim()??e.textContent.trim(),a=Qa(n)??Math.round(100*parseFloat(n.replace(/[^0-9.,]/g,"").replace(",","."))),o=Qt([".js-currency-text"]);return{currency:o?.textContent?.trim()??"",gross_total_price:a,net_total_price:a}}return null}catch(e){return console.error("Error getting price",e),null}}async getPropertyName(){const e=Qt(["#hotelName"]);return e?.textContent?.trim()||null}async getGuestName(){const e=Qt(["#reserveeFullName"]);return e?.textContent?.trim()||null}async getGuestEmail(){return null}async getStatus(){const e=Qt([".is-cancellation-message"]);return e?.textContent?"CANCELLED":"BOOKED"}async getQueryParamMap(e){const t=Qt([".bd-info__date"]);return{checkin:()=>{try{if(!t)return null;const e=Qt([".bd-info__date-in-value"],t);return e?.textContent?.trim()??null}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{if(!t)return null;const e=Qt([".bd-info__date-out-value"],t);return e?.textContent?.trim()??null}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=Qt(["#roomListPaxAdults_0"]);return e?p(e.textContent?.trim().match(/\d+/g)?.[0]??""):null}catch(e){return console.error("Error getting adults",e),null}},children:null}}}class uo extends Ya{constructor(){super("ACCOR")}shouldHandle(e){return/secure\.accor\.com\/ssr\/app\/accor\/confirmation\/index(?:\.[a-z]{2}(?:-[a-z]{2})?)?\.shtml/i.test(e)}async getReservationId(){try{const e=await this.getManageReservationButton(),t=e?.getAttribute("href");if(t){return new URL(t,window.location.origin).searchParams.get("historic.folderNumber")??null}return null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){return await this.getReservationId()}async getPropertyName(){const e=Qt([".hotelTitle__text"]);return e?.textContent?.trim()??null}async getGuestName(){const e=await this.getManageReservationButton(),t=e?.getAttribute("href");return t?new URL(t,window.location.origin).searchParams.get("historic.bookingName")??null:null}async getGuestEmail(){return null}async getPrice(){try{const e=Qt([".booking-price"]);if(e?.textContent){const t=Qt([".mcp-price-number"],e),n=Qt([".mcp-price-cent"],e),a=Qt([".js-currency-text"]),o=`${t?.textContent?.trim()??""}${n?.textContent?.trim()??"00"}`,r=Number(o);return{currency:a?.textContent?.trim()??"",gross_total_price:r,net_total_price:r}}return null}catch(e){return console.error("Error getting price",e),null}}async getStatus(){return"BOOKED"}async getManageReservationButton(){return await qe(()=>Qt(["a.btn--manage-reservation"]),e=>!e,15)()}async getQueryParamMap(e){const t=Qt(["li.confirmation-booking-summary__body-items-item"]),n=async()=>{try{const t=await this.getManageReservationButton(),n=t?.getAttribute("href");if(!n)return null;const a=new URL(n,e.origin),o=a.searchParams.get("historic.dayIn")??null,r=a.searchParams.get("historic.monthIn")??null;return`${a.searchParams.get("historic.yearIn")??null}-${r}-${o}`}catch(e){return console.error("Error getting checkin",e),null}};return{checkin:n,checkout:async()=>{try{if(!t)return null;const e=p(t.children[0]?.textContent?.trim().match(/\d+/g)?.[0]??"");if(!e)return null;const a=await n();if(!a)return null;const o=new Date(a).getTime()+24*e*60*60*1e3;return rn(new Date(o).toISOString())??null}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{return t?p(t.children[1]?.textContent?.trim().match(/\d+/g)?.[1]??""):null}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{return t?p(t.children[1]?.textContent?.trim().match(/\d+/g)?.[2]??""):null}catch(e){return console.error("Error getting children",e),null}}}}}class po extends Ya{constructor(){super("GUESTREADY")}shouldHandle(e){return/book\.guestready\.com\/(?:[a-zA-Z]{2}\/)*reservations\/([a-zA-Z0-9]+)/i.test(e)}async getReservationId(){try{const e=/\/reservations\/([a-zA-Z0-9]+)/,t=new URL(window.location.href);return t.pathname.match(e)?.[1]??null}catch(e){return console.error("Error getting reservation id",e),null}}async getPropertyName(){return null}async getGuestName(){return null}async getBookingReference(){const e=await this.getInfoJSON();return h(Pt(e,"props.pageProps.reservation.booking_number",null))}async getPrice(){try{const e=await this.getInfoJSON(),t=Pt(e,"props.pageProps.reservation.receipts.payments[0].amount_formatted",null);if("string"!=typeof t)return null;const n=t.replace(/[0-9.,\s]/g,""),a=Qa(t);return{currency:ao(n),gross_total_price:a,net_total_price:a}}catch(e){return console.error("Error getting price",e),null}}async getStatus(){const e=await this.getInfoJSON();return"CANCELLED"===Pt(e,"props.pageProps.reservation.ongoing_status",null)?"CANCELLED":"BOOKED"}async getQueryParamMap(e){const t=await this.getInfoJSON(),n=We(Pt(t,"props.pageProps.reservation",null));return{checkin:()=>{try{const e=Pt(n,"check_in_date",null);return"string"!=typeof e?null:e}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{const e=Pt(n,"check_out_date",null);return"string"!=typeof e?null:e}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=Pt(n,"adults",null);return"string"==typeof e?p(e):"number"==typeof e?e:null}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{const e=Pt(n,"children",null);return"string"==typeof e?p(e):"number"==typeof e?e:null}catch(e){return console.error("Error getting children",e),null}}}}}const ho=(e,t,n)=>{if(e.searchParams.get(t)&&e.searchParams.get(n)){const a=e.searchParams.get(t),o=`${(parseInt(a?.slice(0,2)||"",10)||0)+1}`.padStart(2,"0"),r=a?.slice(2);return`${r}-${o}-${e.searchParams.get(n)}`}return null};class mo extends Ya{constructor(){super("IHG")}shouldHandle(e){return/www\.ihg\.com(?:[a-zA-Z\/]*?)\/pay\/confirmation/i.test(e)}async getReservationId(){try{const e=new URL(window.location.href);return`${e.searchParams.get("confirmationNumber")}-${e.searchParams.get("lastName")}`}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await qe(()=>Qt(['[data-slnm-ihg="reservationConfirmationMessage"] .notranslate']),e=>!e||!e?.textContent?.trim(),10)();return e?.textContent?.trim()??this.getReservationId()}async getPrice(){try{const e=await qe(()=>Qt([".table-bottom._total .side-panel-total"]),e=>!e||!e?.textContent?.trim(),10)();if(e?.textContent){const t=e.textContent.replace(/[^0-9.,]/g,""),n=Qt([".brandThemeLink"],e),a=Qa(t);return{currency:n?.textContent?.trim()??"",gross_total_price:a,net_total_price:a}}return null}catch(e){return console.error("Error getting price",e),null}}async getPropertyName(){const e=Qt([".hotelInfoSummary .ng-star-inserted"]);return e?.textContent?.trim()??null}async getGuestName(){const e=Qt(['[data-slnm-ihg="quickEnrollWelcomeContentSID"] .notranslate']);return e?.textContent?.trim()??null}async getGuestEmail(){return await this.getGuestName()}async getStatus(){return"BOOKED"}async getQueryParamMap(e){const t=await qe(()=>Qt(['[data-slnm-ihg="duplicateReservationButton"]']),e=>!e||!e?.getAttribute("href"),10)(),n=t?.getAttribute("href");if(!n)return{checkin:null,checkout:null,adults:null,children:null};const a=new URL(`${window.location.origin}${n}`);return{checkin:()=>{try{return ho(a,"qCiMy","qCiD")}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{return ho(a,"qCoMy","qCoD")}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{return p(a.searchParams.get("qAdlt")??"")}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{return p(a.searchParams.get("qChld")??"")}catch(e){return console.error("Error getting children",e),null}}}}}class fo extends Ya{constructor(){super("MELIA")}shouldHandle(e){return/www\.melia\.com(?:[a-zA-Z\/]*?)\/checkout\/confirmation/i.test(e)}async getReservationId(){try{const e=new URL(window.location.href).searchParams.get("loc");if(e)return e;const t=await this.getInfoJSON();return h(Pt(t,"props.pageProps.checkOutDetails.summary.locatorCode",null))}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await this.getInfoJSON();return h(Pt(e,"props.pageProps.checkOutDetails.summary.selectedConfig.locator",null))}async getPrice(){try{const e=await this.getInfoJSON(),t=We(Pt(e,"props.pageProps.checkOutDetails.summary.selectedRoomRate",null));if(t?.currencyPrice){const n=Pt(e,"props.pageProps.checkOutDetails.currency",null),a=h(Pt(t,"currencyPrice",null)||Pt(t,"price",null)),o=h(Pt(t,"currencyPriceWithoutTax",null)||Pt(t,"priceWithoutTax",null)),r=Qa(a),i=Qa(o);return{currency:"string"==typeof n?n:null,gross_total_price:r,net_total_price:r,total_tax_price:null!==r&&null!==i?r-i:null}}return null}catch(e){return console.error("Error getting price",e),null}}async getStatus(){const e=await this.getInfoJSON();return"CANCELLED"===Pt(e,"props.pageProps.reservation.ongoing_status",null)?"CANCELLED":"BOOKED"}async getQueryParamMap(e){const t=await this.getInfoJSON(),n=Pt(t,"props.pageProps.checkOutDetails.summary.selectedConfig.dates",null),a=We(Pt(t,"props.pageProps.checkOutDetails.summary.selectedConfig.occupancy[0]",null));return{checkin:()=>{try{if(!Array.isArray(n))return null;const e=n[0];return"string"!=typeof e?null:e}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{if(!Array.isArray(n))return null;const e=n[1];return"string"!=typeof e?null:e}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{return a?"number"==typeof a.adults?a.adults:"string"==typeof a.adults?p(a.adults):null:null}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{return a?"number"==typeof a.children?a.children:"string"==typeof a.children?p(a.children):null:null}catch(e){return console.error("Error getting children",e),null}}}}}class go extends Ya{constructor(){super("MELIA")}shouldHandle(e){return/www\.melia\.com(?:[a-zA-Z\/]*?)\/reservation/i.test(e)}async getReservationId(){try{return this.getBookingReference()}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await qe(()=>Qt([".definition-list-wrapper___2kUGk dd"]),e=>!e||!e.textContent,10)();return e?.textContent?.trim()??null}async getPrice(){try{const e=await qe(()=>Qt([".c-payment-card___1_CuQ"]),e=>!e||!e.textContent,10)();if(e){const t=Qt([".price___14pEy.featured___2Dap0"],e),n=Qa((t?.textContent??"").replace(/[a-zA-Z\s]/g,"")),a=t?.textContent?.replace(/[0-9.,\s]/g,"")??null,o=Qt([".summary___3U0EP .price___14pEy"],e);return{currency:a,gross_total_price:n,net_total_price:n,total_tax_price:Qa((o?.textContent??"").replace(/[a-zA-Z\s]/g,""))}}return null}catch(e){return console.error("Error getting price",e),null}}async getStatus(){const e=Wt([".c-definition-list___21ds4"]);if(e){const t=e[3];if(t)return t.textContent?.toLocaleLowerCase().includes("cance")?"CANCELLED":"BOOKED"}return"BOOKED"}async getQueryParamMap(e){const t=Wt([".details-section___2hrKe"]);return{checkin:()=>{try{if(!t?.[1])return null;const e=Qt([".detail___2S67E"],t[1]);return e?.textContent??null}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{if(!t?.[1])return null;const e=(Wt([".detail___2S67E"],t[1])||[])[2];return e?.textContent??null}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{if(!t?.[2])return null;const e=Qt([".capacity___BYiON"],t[2]);return p(e?.textContent?.match(/\d+/)?.[0]??"")}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{if(!t?.[2])return null;const e=Qt([".capacity___BYiON"],t[2]);return p(e?.textContent?.match(/\d+[^]*?(\d+)/)?.[1]??"")}catch(e){return console.error("Error getting children",e),null}}}}}class yo extends Ya{constructor(){super("IBEROSTAR")}shouldHandle(e){return/booking\.iberostar\.com\/Book\/Confirm\.aspx/i.test(e)}async getReservationId(){try{return this.getBookingReference()}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await qe(()=>Qt(["#cphMain_ctl01_Label1"]),e=>!e||!e.textContent,10)();return e?.textContent?.trim()??null}async getGuestName(){const e=await qe(()=>Qt(["#ContentPlaceHolder3_lblcodclinombre1"]),e=>!e||!e.textContent,10)();return e?.textContent?.trim()??null}async getGuestEmail(){const e=await qe(()=>Qt(["#ContentPlaceHolder3_lblcodemail1"]),e=>!e||!e.textContent,10)();return e?.textContent?.trim()??null}async getPropertyName(){const e=await qe(()=>Qt([".hname"]),e=>!e||!e.textContent,10)();return e?.textContent?.trim()??null}async getPrice(){try{const e=await qe(()=>Wt(["#Totales div"]),e=>!e||Ye(e),10)(),t=Array.from(e||[]).find(e=>"none"!==e.style.display);if(t){const e=Qa((t?.textContent??"").replace(/[a-zA-Z\s]/g,"")),n=Qt([".currency"],t);return{currency:n?.textContent?.trim()??null,gross_total_price:e,net_total_price:e,total_tax_price:null}}return null}catch(e){return console.error("Error getting price",e),null}}async getStatus(){return Wt([".alert-cancelled"])?"CANCELLED":"BOOKED"}async getQueryParamMap(e){const t=Qt(["#reservationData"]);return t?{checkin:()=>{try{const e=Qt([".checkin .fieldvalue"],t);return sn(e?.textContent?.trim()??null)}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{const e=Qt([".checkout .fieldvalue"],t);return sn(e?.textContent?.trim()??null)}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=Qt([".people .fieldvalue"],t);return p(e?.textContent?.trim()?.match(/\d+/)?.[0]??"")}catch(e){return console.error("Error getting adults",e),null}},children:null}:{checkin:null,checkout:null,adults:null,children:null}}}class bo extends Ya{constructor(){super("SONDER")}shouldHandle(e){return/www\.sonder\.com(?:[a-zA-Z-/]*?)\/bookings\/[a-zA-Z0-9]*?\/confirmations/i.test(e)}async getReservationId(){try{return await this.getBookingReference()}catch(e){return console.error("Error getting reservation id",e),null}}async getGuestName(){const e=await this.getInfoJSON(),t=Pt(e,"props.pageProps.confirmation.guestInfo",null),n=Pt(t,"firstName",null),a=Pt(t,"lastName",null);return n||a?`${n}-${a}`:null}async getBookingReference(){const e=await this.getInfoJSON();return h(Pt(e,"props.pageProps.bookingUniqKey",null))}async getPropertyName(){const e=await this.getProductInfo();return e?`${e?.title} - ${e?.subtitle}`:null}async getPrice(){try{const e=await this.getInfoJSON(),t=Pt(e,"props.pageProps.confirmation.invoiceInfo",null);if(t){const e=Pt(t,"total.value",null),n=Pt(t,"total.currency",null),a=Pt(t,"lineItems",null),o=Qa("string"==typeof e?e.replace(/[^\d.,]/g,""):null);return{currency:"string"==typeof n?n:null,gross_total_price:o,net_total_price:o,total_tax_price:Qa(h(Array.isArray(a)?a?.find(e=>{const t=We(e);return!!t&&"taxes"===t.type&&void 0!==t.value})?.value:null))}}return null}catch(e){return console.error("Error getting price",e),null}}async getStatus(){const e=await this.getInfoJSON();return"CANCELLED"===Pt(e,"props.pageProps.reservation.ongoing_status",null)?"CANCELLED":"BOOKED"}async getProductInfo(){const e=await this.getInfoJSON();return We(Pt(e,"props.pageProps.confirmation.productInfo",null))??null}async getQueryParamMap(e){const t=await this.getProductInfo();return{checkin:()=>{try{const e=Pt(t,"checkInDate",null);return"string"!=typeof e?null:e}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{const e=Pt(t,"checkOutDate",null);return"string"!=typeof e?null:e}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=Pt(t,"numberOfGuests",null);return"number"==typeof e?e:"string"==typeof e?p(e):null}catch(e){return console.error("Error getting adults",e),null}},children:null}}}class ko extends Ya{constructor(){super("CHOICEHOTELS")}shouldHandle(e){return/www\.choicehotels\.com(?:[a-zA-Z-/]*?)\/confirmation/i.test(e)||/www\.choicehotels\.com(?:[a-zA-Z-/]*?)\/reservations\/reservation-details/i.test(e)}async getReservationId(){try{const e=await qe(()=>Qt([".confirmation-number-heading"]),e=>!e,15)(),t=(e?.textContent?.trim()??"").split(" ");return t[t.length-1].trim()}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){return await this.getReservationId()}async getGuestName(){try{const e=await qe(()=>Qt([".reservation-guest-details .user-name"]),e=>!e,10)();return e?.textContent?.trim()??null}catch(e){return console.error("Error getting guest name",e),null}}async getPropertyName(){try{const e=await qe(()=>Qt(['[data-track-id="BackToPropertyPage"]']),e=>!e,10)();return e?.textContent?.trim()??null}catch(e){return console.error("Error getting property name",e),null}}async getPrice(){try{const e=Qt(['[data-track-id="summaryOfCharges"]']);if(e?.textContent){const t=Qt([".summary-of-charges-total-amount"],e),n=Qa(t?.textContent?.trim()||""),a=Qt([".currency-code"]),o=Qt([".taxes-total"]),r=Qa(o?.textContent?.trim()||"");return{currency:a?.textContent?.trim().replace(/[()]/g,"")??"",gross_total_price:n,net_total_price:n,total_tax_price:r}}return null}catch(e){return console.error("Error getting price",e),null}}async getStatus(){return"BOOKED"}async getQueryParamMap(e){const t=await qe(()=>Qt([".booking-summary"]),e=>!e,15)();return{checkin:()=>{try{if(!t)return null;const e=Qt(['[data-track-id="CheckInDate"] .select-day'],t);return e?.textContent?.trim()??null}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{if(!t)return null;const e=Qt(['[data-track-id="CheckOutDate"] .select-day'],t);return e?.textContent?.trim()??null}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=Qt([".occupancy-description"]);return e?p(e.textContent?.trim().match(/\d+/g)?.[0]??""):null}catch(e){return console.error("Error getting adults",e),null}},children:null}}}class vo extends Ya{constructor(){super("WYNDHAMHOTELS")}shouldHandle(e){return/wyndhamhotels\.com(?:[a-zA-Z0-9-\/]*?)\/reservation\/confirm/i.test(e)||/wyndhamhotels\.com(?:[a-zA-Z0-9-\/]*?)\/reservation\/view/i.test(e)}async getReservationId(){try{return await this.getBookingReference()}catch(e){return console.error("Error getting reservation id",e),null}}async getInfoJSON(){if(this.info)return this.info;try{const e=Qt(["script"],await qe(Qt,e=>!e||!e.textContent,10)([".container.component-spacer"])),t=e?.textContent?.match(/var\s+reservationDataFromAEM\s*=\s*(\{[\s\S]*?\});/),n=function(e,t){let n=e;return t.forEach(e=>{n=function(e,t){const n=new RegExp(`${t}\\s*:\\s*("[^"]*"|\\[[\\s\\S]*?\\]|'[^']*'),?`);return e.replace(n,"")}(n,e)}),n}(t?.[1],["taxList","dateRateMap","checkInTime","checkOutTime"])?.replace(/([a-zA-Z0-9_]+)\s*:/g,'"$1":').replace(/\n/g,"");return t?(this.info=Ze(n||"{}"),this.info):null}catch(e){return console.error("Error getting info",e),null}}async getGuestName(){const e=await this.getInfoJSON(),t=Pt(e,"firstName",null),n=Pt(e,"lastName",null);return t||n?`${t}-${n}`:null}async getBookingReference(){const e=await this.getInfoJSON();return h(Pt(e,"confirmationNumber",null))}async getPropertyName(){const e=await this.getInfoJSON();return h(Pt(e,"propertyId",null))}async getPrice(){try{const e=await this.getInfoJSON();if(!e)return null;const t=Pt(e,"totalCash",null),n=Pt(e,"subtotal",null),a=Pt(e,"taxTotal",null),o=Pt(e,"currencyCode",null),r="string"==typeof t?t.replace(/[^\d.,]/g,""):null,i="string"==typeof n?n.replace(/[^\d.,]/g,""):null,s="string"==typeof a?a.replace(/[^\d.,]/g,""):null,c="string"==typeof o?o:null,l=Qa(r);return{currency:c,gross_total_price:l,net_total_price:Qa(i),total_tax_price:Qa(s)}}catch(e){return console.error("Error getting price",e),null}}async getStatus(){return"BOOKED"}async getQueryParamMap(e){const t=await this.getInfoJSON();return{checkin:()=>{try{const e=Pt(t,"checkInDate",null);return"string"!=typeof e?null:e}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{const e=Pt(t,"checkOutDate",null);return"string"!=typeof e?null:e}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=Pt(t,"adults",null);return"number"==typeof e?e:"string"==typeof e?p(e):null}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{const e=Pt(t,"children",null);return"number"==typeof e?e:"string"==typeof e?p(e):null}catch(e){return console.error("Error getting children",e),null}}}}}class wo extends Ya{constructor(){super("OYOROOMS")}shouldHandle(e){return/oyorooms\.com(?:[a-zA-Z0-9-\/]*?)\/booking\/([a-zA-Z0-9-]+)/i.test(e)}async getReservationId(){try{return new URL(window.location.href).pathname.split("/").pop()||await this.getBookingReference()||null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await this.getBookingData();return h(Pt(e,"invoice",null))}async getGuestName(){const e=await this.getBookingData(),t=Pt(e,"guest_name",null);if("string"==typeof t)return t;const n=Pt(e,"guest.name",null);return"string"==typeof n?n:await this.getGuestEmail()}async getGuestEmail(){const e=await this.getBookingData(),t=Pt(e,"guest.email",null);if("string"==typeof t)return t;const n=Pt(e,"guest_email",null);return"string"==typeof n?n:null}async getPropertyName(){const e=await this.getBookingData(),t=Pt(e,"get_alias_name",null);return"string"!=typeof t?null:t}async getBookingData(){const e=await this.getInfoJSON();return We(Pt(e,"bookingDetailPage.bookingData.data",null))??null}async getInfoJSON(){if(this.info)return this.info;try{const e=Wt(["script"]),t=Array.from(e).find(e=>/window\.__PRELOADED_STATE__\s*=\s*\{/.test(e.textContent||""));if(t){const e=t.textContent,n=e?.match(/window\.__PRELOADED_STATE__\s*=\s*(\{[\s\S]*?\}\n)/);if(n){const e=n[1];return this.info=Ze(e),this.info}}return null}catch(e){return console.error("Error getting info",e),null}}async getPrice(){try{const e=await this.getBookingData();if(!e)return null;const t=h(e.total_amount_excluding_wizard),n=h(e.final_amount_excluding_oyo_money),a=h(e.total_tariff);return{currency:"string"==typeof e.currency_symbol?e.currency_symbol:null,gross_total_price:Qa(t)??Qa(n),net_total_price:Qa(a),total_tax_price:0}}catch(e){return console.error("Error getting price",e),null}}async getStatus(){const e=await this.getBookingData();return"cancelled"===e?.morphedStatus?"CANCELLED":"BOOKED"}async getQueryParamMap(e){const t=await this.getBookingData();return t?{checkin:()=>{try{return"string"!=typeof t.checkin?null:t.checkin}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{return"string"!=typeof t.checkout?null:t.checkout}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{return"number"==typeof t.no_of_adults?t.no_of_adults:"string"==typeof t.no_of_adults?p(t.no_of_adults):null}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{return"number"==typeof t.no_of_children?t.no_of_children:"string"==typeof t.no_of_children?p(t.no_of_children):null}catch(e){return console.error("Error getting children",e),null}}}:{checkin:null,checkout:null,adults:null,children:null}}}class jo extends Ya{constructor(){super("CITIZENM")}shouldHandle(e){return/citizenm\.com(?:[a-zA-Z0-9-\/]*?)\/book\/confirmation/i.test(e)}async getReservationId(){try{return new URL(window.location.href).searchParams.get("bookingCode")??null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){return await this.getReservationId()}async getPrice(){try{const e=await qe(Qt,e=>!e,10)(['[data-testid="booking-confirmation-stay-price-total-amount"']);if(e?.textContent){const t=e.textContent.trim(),n=t.replace(/[0-9.,]/g,"").trim(),a=oo(n)?n:ao(n),o=Qa(t);return{currency:a,gross_total_price:o,net_total_price:o}}return null}catch(e){return console.error("Error getting price",e),null}}async getPropertyName(){const e=await qe(Qt,e=>!e,10)(['[data-testid="booking-confirmation-info-hotel"] h1']);return e?.textContent?.trim()??null}async getGuestName(){const e=await qe(Qt,e=>!e,10)(['[data-testid="booking-confirmation-booker-firstname"] .value']),t=await qe(Qt,e=>!e,10)(['[data-testid="booking-confirmation-booker-lastname"] .value']),n=e?.textContent?.trim(),a=t?.textContent?.trim();return n||a?`${n} ${a}`:null}async getGuestEmail(){const e=await qe(Qt,e=>!e,10)(['[data-testid="booking-confirmation-booker-email"] .value']);return e?.textContent?.trim()??null}async getStatus(){return"BOOKED"}async getQueryParamMap(e){return{checkin:async()=>{try{const e=await qe(Qt,e=>!e,10)(['[name="startdate"]']);return e?.getAttribute("value")??null}catch(e){return console.error("Error getting checkin",e),null}},checkout:async()=>{try{const e=await qe(Qt,e=>!e,10)(['[name="enddate"]']);return e?.getAttribute("value")??null}catch(e){return console.error("Error getting checkout",e),null}},adults:async()=>{try{const e=await qe(Qt,e=>!e,10)([".rd-guests .value"]);return p(e?.textContent?.trim().replace(/[^0-9]/g,"")??"")}catch(e){return console.error("Error getting adults",e),null}},children:null}}}class _o extends Ya{constructor(){super("HOTEL-BB")}shouldHandle(e){return/hotel-bb\.com(?:[a-zA-Z0-9-\/]*?)\/checkout-confirmation\/([a-zA-Z0-9-]+)/i.test(e)}async getReservationId(){try{return new URL(window.location.href).pathname.split("/").pop()??null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await this.getInfoJSON();return h(Pt(e,"transactionId",null))}async getInfoJSON(){try{if(this.info)return this.info;const e=await qe(()=>Qt(['[data-drupal-selector="drupal-settings-json"]']),e=>!e||!e.textContent,10)();return this.info=Ze(e?.textContent||"{}"),this.info}catch(e){return console.error("Error getting info",e),null}}async getRoomData(){const e=await this.getInfoJSON(),t=We(Pt(e,"bookingData.rooms",null))??{},n=Object.values(t);return(n[0]?We(n[0]):null)??null}async getPrice(){try{const e=await this.getInfoJSON(),t=Pt(e,"bookingData.totalAmount",null);if(!t)return null;const n=await this.getRoomData(),a=t||Pt(n,"room_info.price"),o=Pt(e,"bbh_datalayer_ga4.page_data.currency",null)||Pt(n,"room_info.currency_code",null),r="string"==typeof a?Qa(a):null;return{currency:"string"==typeof o?o:null,gross_total_price:r,net_total_price:r,total_tax_price:Qa(h(n?.cityTaxAmount))}}catch(e){return console.error("Error getting price",e),null}}async getPropertyName(){const e=await this.getInfoJSON(),t=Pt(e,"bookingData.hotelName",null);return"string"!=typeof t?null:t}async getGuestName(){const e=await this.getRoomData(),t=e?.occupant||e?.occupants_title;if("string"==typeof t)return t;const n=await qe(Qt,e=>!e,10)([".confirmation__txt-box h1"]);return n?.textContent?.trim().split(",")[0]??null}async getGuestEmail(){const e=await this.getRoomData(),t=e?.booker_email||e?.occupant_email;if("string"==typeof t)return t;const n=await qe(Qt,e=>!e,10)([".confirmation__txt-box strong"]);return n?.textContent?.trim()??null}async getStatus(){return"BOOKED"}async getQueryParamMap(e){const t=await this.getInfoJSON(),n=Pt(t,"bbh_datalayer_ga4.page_data",null),a=await this.getRoomData(),o=We(Pt(a,"room_info",null));return{checkin:()=>{try{const e=Pt(n,"booking_checkin_date",null);if("string"!=typeof e)return null;const[t,a,o]=e.split("/");return`${o}-${a}-${t}`}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{const e=Pt(n,"booking_checkout_date",null);if("string"!=typeof e)return null;const[t,a,o]=e.split("/");return`${o}-${a}-${t}`}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=o?.adultsCount??a?.guestCount??null;return"string"==typeof e?p(e):"number"==typeof e?e:null}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{const e=o?.childrenCount??null;return"string"==typeof e?p(e):"number"==typeof e?e:null}catch(e){return console.error("Error getting children",e),null}}}}}class xo extends Ya{constructor(){super("ZENITHOTELES")}shouldHandle(e){return/zenithoteles\.com(?:[a-zA-Z0-9-\/]*?)\/bookcore\/your-booking\/confirmation\/([a-zA-Z0-9-]+)/i.test(e)}async getReservationId(){try{return(new URL(window.location.href).pathname.split("/").pop()??null)||await this.getBookingReference()}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await this.getInfoComponent();if(e)return e.getAttribute("data-booking-code")??null;const t=window.location.href.match(/bookcore\/your-booking\/confirmation\/([a-zA-Z0-9]+)\//);return t?t[1]:null}async getPropertyName(){const e=await this.getInfoComponent(),t=Je(e?.getAttribute("data-hotel-info")||"{}");return h(Pt(t,"hotelName",null))}async getGuestName(){const e=Qt([".voucher__client .voucher__client-info-value"]);return e?.textContent?.trim()??null??null}async getGuestEmail(){const e=Wt([".voucher__client .voucher__client-info-value"]);return e?.[1]?.textContent?.trim()??null??null}async getPrice(){try{const e=await this.getInfoJSON();if(e){const t=h(Pt(e,"currency",null)),n=h(Pt(e,"value",null)),a=h(Pt(e,"tax",null)),o=Qa(n),r=Qa(a);return{currency:t,net_total_price:null!==o&&null!==r?o-r:null,gross_total_price:o,total_tax_price:r}}const t=Qt([".bookingCart"]);let n=Qt([".bookingCart"])?.children[0],a=n?.getAttribute("data-currency")?.trim()??null;const o=t?.children[1];return{currency:a?ao(a):null,net_total_price:Qa(o?.textContent?.trim()||""),gross_total_price:null,total_tax_price:null}}catch(e){return console.error("Error getting price",e),null}}async getInfoComponent(){return await qe(Qt,e=>!e||!e.getAttribute("data-ga4-event-data"),10)(["#roi-voucher-trackings"])}async getInfoJSON(){try{if(this.info)return this.info;const e=await this.getInfoComponent();return this.info=Ze(e?.getAttribute("data-ga4-event-data")||"{}"),this.info}catch(e){return console.error("Error getting info",e),null}}async getStatus(){return"BOOKED"}async getQueryParamMap(e){const t=await this.getInfoJSON(),n=Pt(t,"items",null);if(n&&Array.isArray(n)&&n[0]){const e=We(n[0]);if(e){const t="string"==typeof e.item_category2?e.item_category2.split("-"):null,n=e.item_category3,a=e.item_category4,o=t?t[0]:null,r=t?t[1]:null;return{checkin:"string"==typeof n?n:null,checkout:"string"==typeof a?a:null,adults:"string"==typeof o?p(o):null,children:"string"==typeof r?p(r):null}}}return{checkin:null,checkout:null,adults:null,children:null}}}class Co extends Ya{constructor(){super("RADISSON"),this.parserType="html"}shouldHandle(e){return/radissonhotels\.com(?:[a-zA-Z0-9-\/]*?)\/booking\/confirmation/i.test(e)||/radisson-confirmation/i.test(e)}async getReservationId(){try{return(new URL(window.location.href).searchParams.get("bookingId")??null)||await this.getBookingReference()}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await qe(async()=>Qt(['[name="bookingId"]']),e=>!e,10)();return e?e.getAttribute("value"):null}async getPropertyName(){const e=Qt(['[data-test="propertyName"]']);return e?.textContent?.trim()??null}async getGuestName(){const e=Qt(['[data-test="first-name"]']),t=Qt(['[data-test="last-name"]']),n=e?.textContent?.trim(),a=t?.textContent?.trim();return n||a?`${n} ${a}`:null}async getGuestEmail(){const e=Qt(['[data-test="email"]']);return e?.textContent?.trim()??null}async getPrice(){return null}async getStatus(){return"BOOKED"}async getQueryParamMap(e){const t=Qt(['[data-testid="people"]']),n=t?.textContent?.replace(/\D/g,"");return{checkin:null,checkout:null,adults:p(n??""),children:null}}}class zo extends Ya{constructor(){super("NOVASOL")}shouldHandle(e){return/checkout\.novasol\.com(?:[a-zA-Z0-9-\/]*?)\/booking-complete\?/i.test(e)}async getReservationId(){try{const e=await this.getInfoJSON();return h(Pt(e,"bookingDetails.bookingId",null))}catch(e){return console.error("Error getting reservation id",e),null}}async getInfoJSON(){const e=await super.getInfoJSON();return We(Pt(e,"props.pageProps",null))??null}async getPropertyName(){const e=await this.getInfoJSON();return h(Pt(e,"property.propertyCode",null))??h(Pt(e,"propertyUnitCode",null))}async getGuestName(){const e=await this.getInfoJSON(),t=Pt(e,"customerSession.customer",null),n=Pt(t,"firstName",null),a=Pt(t,"lastName",null);return n||a?`${n} ${a}`:null}async getGuestEmail(){const e=await this.getInfoJSON(),t=Pt(e,"customerSession.customer.email",null);return"string"!=typeof t?null:t}async getBookingReference(){const e=await this.getInfoJSON();return h(Pt(e,"bookingDetails.bookingId",null))}async getPrice(){try{const e=await this.getInfoJSON(),t=Pt(e,"customerSession.initialQuote.totalCost",null);if(!t)return null;const n=Pt(t,"value",null),a=Pt(t,"currency",null),o=Qa(h(n));return{currency:"string"==typeof a?a:null,gross_total_price:o,net_total_price:o}}catch(e){return console.error("Error getting price",e),null}}async getStatus(){return"BOOKED"}async getQueryParamMap(e){const t=await this.getInfoJSON(),n=new URL(window.location.href);return{checkin:()=>{try{const e=Pt(t,"bookingDetails.startDate",null);return"string"==typeof e?e.split("T")[0]:n.searchParams.get("start")}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{const e=Pt(t,"bookingDetails.endDate",null);return"string"==typeof e?e.split("T")[0]:n.searchParams.get("end")}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=Pt(t,"bookingDetails.numberOfAdults",null);return"number"==typeof e?e:p("string"==typeof e?e:n.searchParams.get("adult")??"")}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{const e=Pt(t,"bookingDetails.numberOfChildren",null);return"number"==typeof e?e:p("string"==typeof e?e:n.searchParams.get("child")??"")}catch(e){return console.error("Error getting children",e),null}}}}}class So extends Ya{reservationInfo=null;constructor(){super("BOOKING")}shouldHandle(e){return/secure\.booking\.com\/confirmation(?:\.[a-zA-Z-]{2,5})*\.html/i.test(e)}async getReservationId(){try{return await this.getBookingReference()}catch(e){return console.error("Error getting reservation id",e),null}}async getGuestName(){return null}async getBookingReference(){const e=await this.getReservationInfo();return h(Pt(e,"identity.reservationId",null))}async getPropertyName(){const e=await this.findJSONPartFromRegex(/^PostBookingProperty:{/),t=Pt(e,"url",null);return"string"!=typeof t?null:xa(t.replace(".html",""))??null}async getPrice(){try{const e=await this.getReservationInfo(),t=e?.price;if(t){const n=Pt(t,"userTotalPretty",null),a=Pt(e,"context.selectedCurrency",null),o=Qa("string"==typeof n?n.replace(/[^\d.,]/g,""):null);return{currency:"string"==typeof a?a:null,gross_total_price:o,net_total_price:o,total_tax_price:null}}return null}catch(e){return console.error("Error getting price",e),null}}async getStatus(){return"BOOKED"}async getReservationInfo(){try{if(this.reservationInfo)return this.reservationInfo;const e=await this.findJSONPartFromRegex(/^PostBookingReservation:{/);return this.reservationInfo=e,this.reservationInfo}catch(e){return console.error("Error getting reservation info",e),null}}async findJSONPartFromRegex(e){const t=await this.getInfoJSON();if(!t)return null;const n=Ge(t,e);return n?We(n)??null:null}async getInfoJSON(){if(this.info)return this.info;const e=await Zt(['script[data-capla-namespace*="b-post-booking-web-"][data-capla-store-data="apollo"]']);return this.info=e,this.info}buildDate(e){const t=new Date(parseInt(e,10));return`${t.getUTCFullYear()}-${Qe(t.getUTCMonth()+1)}-${Qe(t.getUTCDate())}`}async getQueryParamMap(e){const t=await this.getReservationInfo(),n=We(Pt(t,"bookedOccupancyInfo",null));return{checkin:()=>{try{const e=Pt(t,"reservationCheckinDate.rawDate",null);return"string"!=typeof e?null:this.buildDate(e+"000")}catch(e){return console.error("Error getting checkin",e),null}},checkout:()=>{try{const e=Pt(t,"reservationCheckoutDate.rawDate",null);return"string"!=typeof e?null:this.buildDate(e+"000")}catch(e){return console.error("Error getting checkout",e),null}},adults:()=>{try{const e=n?.numberOfAdults;return"string"==typeof e?p(e):"number"==typeof e?e:null}catch(e){return console.error("Error getting adults",e),null}},children:()=>{try{const e=n?.numberOfChildren;return"string"==typeof e?p(e):"number"==typeof e?e:null}catch(e){return console.error("Error getting children",e),null}}}}}class Eo extends Ya{constructor(){super("EUROSTARSHOTELS"),this.parserType="html"}shouldHandle(e){return/eurostarshotels\.com(?:[^]*?)#confirmation\//i.test(e)}async getReservationId(){try{const e=new URL(window.location.href),t=e.searchParams.get("id_hotel"),n=e.hash.split("/").pop();return t&&n?`${t}-${n}`:null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){return null}async getPropertyName(){return null}async getGuestName(){return null}async getGuestEmail(){return null}async getPrice(){return null}async getStatus(){return"BOOKED"}async getQueryParamMap(e){const t=Qt(['[data-testid="people"]']);return{checkin:null,checkout:null,adults:p(t?.textContent?.replace(/\D/g,"")??null??""),children:null}}}class Oo extends Ya{constructor(){super("DIRECT_BOOK"),this.parserType="html"}shouldHandle(e){return/direct-book\.com\/properties\/[a-zA-Z0-9-]+\/reservations\/[a-zA-Z0-9-]+/i.test(e)}async getReservationId(){try{return new URL(window.location.href).pathname.split("/").pop()||await this.getBookingReference()}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){const e=await qe(()=>Qt(['[data-cy="reservation-reference-id"]']),e=>!e,10)();if(!e)return null;const t=e.textContent;if(!t)return null;const n=t.split(":")[1];return n?n.replace("#","").replace("\n","").trim()??null:null}async getPrice(){return null}async getStatus(){return"BOOKED"}async getQueryParamMap(e){return{checkin:null,checkout:null,adults:null,children:null}}}class Ao extends Ya{constructor(){super("BESTWESTERN"),this.parserType="html"}shouldHandle(e){return/bestwestern\.[.a-z]{2,7}(?:[a-zA-Z_\/]*?)\/reservations\/reservation-details\.(thankyou|rewards)\.html/i.test(e)}async getReservationId(){try{const e=await qe(Wt,e=>!Pt(e,"[1].textContent",null))([".confirmationNumberContainer div"]),t=e?.length?e[1]?.textContent:null;return t?t.trim().replace(/\s/g,"").replace("#",""):null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){return await this.getReservationId()}async getStatus(){return"BOOKED"}async getPrice(){return null}async getQueryParamMap(e){return{checkin:null,checkout:null,adults:null,children:null}}}class Po extends Ya{constructor(){super("GETDIRECTO"),this.parserType="html"}shouldHandle(e){return/secure\.getdirecto\.com\/confirmation\//i.test(e)}async getBookingReference(){try{const e=await qe(Qt,e=>!Pt(e,"textContent",null))([".confirmation-bookingId span"]),t=e?.textContent;return t??null}catch(e){return console.error("Error getting booking reference",e),null}}async getReservationId(){try{const e=new URL(window.location.href).pathname.split("/").pop();if(e)return e}catch(e){console.error("Error getting reservation id from URL",e)}return await this.getBookingReference()}async getStatus(){return"BOOKED"}async getPrice(){return null}async getQueryParamMap(e){return{checkin:null,checkout:null,adults:null,children:null}}}class Io extends Ya{constructor(){super("ADAGIO_CITY"),this.parserType="html"}shouldHandle(e){return/adagio-city.com(?:[a-zA-Z\/]*?)\/booking\/confirmation\/[a-zA-Z0-9-_]+/i.test(e)}async getReservationId(){try{const e=await qe(()=>Qt([".confirmation-info-top dd"]),e=>!e,10)();return e?.textContent?.trim()??null}catch(e){return console.error("Error getting reservation id",e),null}}async getBookingReference(){return await this.getReservationId()}async getPrice(){return null}async getStatus(){return"BOOKED"}async getQueryParamMap(e){return{checkin:null,checkout:null,adults:null,children:null}}}class Lo{trackers=[];activeTracker=null;constructor(){this.trackers=[new Wa,new Ga,new Ja,new ro,new so,new co,new lo,new uo,new po,new mo,new fo,new go,new yo,new bo,new ko,new vo,new wo,new jo,new _o,new xo,new Co,new zo,new So,new Eo,new Oo,new Ao,new Po,new Io]}async initialize(e){try{const t=this.getTrackerForUrl(e);if(t&&await t.isReservation()){const e=await t.getReservationDetails(),n=await E.getSessionId(),a=await Ha();"html"===t.parserType?E.sendConversionHTMLEvent({...e,session_id:n,user_id:a}):E.sendConversionEvent({...e,session_id:n,user_id:a})}}catch(e){console.error("Error handling reservation tracker",e)}}getTrackerForUrl(e){if(this.activeTracker&&this.activeTracker.shouldHandle(e))return this.activeTracker;for(const t of this.trackers)if(t.shouldHandle(e))return this.activeTracker=t,t;return this.activeTracker=null,null}}const No={utm_source:"getdirecto",utm_medium:"extension"};function To(e){const t=vn(e);for(const[e,n]of Object.entries(No))t.searchParams.set(e,n);return t.toString()}function Do(e){try{const t=new URL(e).hostname.toLowerCase();return"getdirecto.com"===t||t.endsWith(".getdirecto.com")}catch{return!1}}function Ro(e,t){return Math.floor(Math.random()*(t-e+1)+e)}function Mo(e){var t=this.__data__=new pt(e);this.size=t.size}Mo.prototype.clear=function(){this.__data__=new pt,this.size=0},Mo.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Mo.prototype.get=function(e){return this.__data__.get(e)},Mo.prototype.has=function(e){return this.__data__.has(e)},Mo.prototype.set=function(e,t){var n=this.__data__;if(n instanceof pt){var a=n.__data__;if(!ce||a.length<199)return a.push([e,t]),this.size=++n.size,this;n=this.__data__=new ft(a)}return n.set(e,t),this.size=n.size,this};const $o=Mo;function Bo(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new ft;++t<n;)this.add(e[t])}Bo.prototype.add=Bo.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},Bo.prototype.has=function(e){return this.__data__.has(e)};const Fo=Bo,Uo=function(e,t){for(var n=-1,a=null==e?0:e.length;++n<a;)if(t(e[n],n,e))return!0;return!1},Vo=function(e,t){return e.has(t)},Ho=function(e,t,n,a,o,r){var i=1&n,s=e.length,c=t.length;if(s!=c&&!(i&&c>s))return!1;var l=r.get(e),u=r.get(t);if(l&&u)return l==t&&u==e;var d=-1,p=!0,h=2&n?new Fo:void 0;for(r.set(e,t),r.set(t,e);++d<s;){var m=e[d],f=t[d];if(a)var g=i?a(f,m,d,t,e,r):a(m,f,d,e,t,r);if(void 0!==g){if(g)continue;p=!1;break}if(h){if(!Uo(t,function(e,t){if(!Vo(h,t)&&(m===e||o(m,e,n,a,r)))return h.push(t)})){p=!1;break}}else if(m!==f&&!o(m,f,n,a,r)){p=!1;break}}return r.delete(e),r.delete(t),p},Ko=R.Uint8Array,Yo=function(e){var t=-1,n=Array(e.size);return e.forEach(function(e,a){n[++t]=[a,e]}),n},qo=function(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n};var Qo=M?M.prototype:void 0,Wo=Qo?Qo.valueOf:void 0;const Go=function(e,t){for(var n=-1,a=null==e?0:e.length,o=0,r=[];++n<a;){var i=e[n];t(i,n,e)&&(r[o++]=i)}return r};var Jo=Object.prototype.propertyIsEnumerable,Zo=Object.getOwnPropertySymbols;const Xo=Zo?function(e){return null==e?[]:(e=Object(e),Go(Zo(e),function(t){return Jo.call(e,t)}))}:function(){return[]},er=function(e){return function(e,t,n){var a=t(e);return Ae(e)?a:function(e,t){for(var n=-1,a=t.length,o=e.length;++n<a;)e[o+n]=t[n];return e}(a,n(e))}(e,$t,Xo)};var tr=Object.prototype.hasOwnProperty;var nr="[object Arguments]",ar="[object Array]",or="[object Object]",rr=Object.prototype.hasOwnProperty;const ir=function(e,t,n,a,o,r){var i=Ae(e),s=Ae(t),c=i?ar:_e(e),l=s?ar:_e(t),u=(c=c==nr?or:c)==or,d=(l=l==nr?or:l)==or,p=c==l;if(p&&De(e)){if(!De(t))return!1;i=!0,u=!1}if(p&&!u)return r||(r=new $o),i||He(e)?Ho(e,t,n,a,o,r):function(e,t,n,a,o,r,i){switch(n){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!r(new Ko(e),new Ko(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return ct(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var s=Yo;case"[object Set]":var c=1&a;if(s||(s=qo),e.size!=t.size&&!c)return!1;var l=i.get(e);if(l)return l==t;a|=2,i.set(e,t);var u=Ho(s(e),s(t),a,o,r,i);return i.delete(e),u;case"[object Symbol]":if(Wo)return Wo.call(e)==Wo.call(t)}return!1}(e,t,c,n,a,o,r);if(!(1&n)){var h=u&&rr.call(e,"__wrapped__"),m=d&&rr.call(t,"__wrapped__");if(h||m){var f=h?e.value():e,g=m?t.value():t;return r||(r=new $o),o(f,g,n,a,r)}}return!!p&&(r||(r=new $o),function(e,t,n,a,o,r){var i=1&n,s=er(e),c=s.length;if(c!=er(t).length&&!i)return!1;for(var l=c;l--;){var u=s[l];if(!(i?u in t:tr.call(t,u)))return!1}var d=r.get(e),p=r.get(t);if(d&&p)return d==t&&p==e;var h=!0;r.set(e,t),r.set(t,e);for(var m=i;++l<c;){var f=e[u=s[l]],g=t[u];if(a)var y=i?a(g,f,u,t,e,r):a(f,g,u,e,t,r);if(!(void 0===y?f===g||o(f,g,n,a,r):y)){h=!1;break}m||(m="constructor"==u)}if(h&&!m){var b=e.constructor,k=t.constructor;b==k||!("constructor"in e)||!("constructor"in t)||"function"==typeof b&&b instanceof b&&"function"==typeof k&&k instanceof k||(h=!1)}return r.delete(e),r.delete(t),h}(e,t,n,a,o,r))},sr=function e(t,n,a,o,r){return t===n||(null==t||null==n||!xe(t)&&!xe(n)?t!=t&&n!=n:ir(t,n,a,o,e,r))},cr=function(e){return e==e&&!Y(e)},lr=function(e,t){return function(n){return null!=n&&n[e]===t&&(void 0!==t||e in Object(n))}},ur=function(e){var t=function(e){for(var t=$t(e),n=t.length;n--;){var a=t[n],o=e[a];t[n]=[a,o,cr(o)]}return t}(e);return 1==t.length&&t[0][2]?lr(t[0][0],t[0][1]):function(n){return n===e||function(e,t,n,a){var o=n.length,r=o,i=!a;if(null==e)return!r;for(e=Object(e);o--;){var s=n[o];if(i&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++o<r;){var c=(s=n[o])[0],l=e[c],u=s[1];if(i&&s[2]){if(void 0===l&&!(c in e))return!1}else{var d=new $o;if(a)var p=a(l,u,c,e,t,d);if(!(void 0===p?sr(u,l,3,a,d):p))return!1}}return!0}(n,e,t)}},dr=function(e,t){return null!=e&&t in Object(e)},pr=function(e,t){return null!=e&&function(e,t,n){for(var a=-1,o=(t=Et(t,e)).length,r=!1;++a<o;){var i=Ot(t[a]);if(!(r=null!=e&&n(e,i)))break;e=e[i]}return r||++a!=o?r:!!(o=null==e?0:e.length)&&Pe(o)&&Dt(i,o)&&(Ae(e)||Oe(e))}(e,t,dr)},hr=function(e){return nt(e)?(t=Ot(e),function(e){return null==e?void 0:e[t]}):function(e){return function(t){return At(t,e)}}(e);var t},mr=function(e){return"function"==typeof e?e:null==e?Ut:"object"==typeof e?Ae(e)?(t=e[0],n=e[1],nt(t)&&cr(n)?lr(Ot(t),n):function(e){var a=Pt(e,t);return void 0===a&&a===n?pr(e,t):sr(n,a,3)}):ur(e):hr(e);var t,n},fr=function(e,t){if(e!==t){var n=void 0!==e,a=null===e,o=e==e,r=Xe(e),i=void 0!==t,s=null===t,c=t==t,l=Xe(t);if(!s&&!l&&!r&&e>t||r&&i&&c&&!s&&!l||a&&i&&c||!n&&c||!o)return 1;if(!a&&!r&&!l&&e<t||l&&n&&o&&!a&&!r||s&&n&&o||!i&&o||!c)return-1}return 0},gr=function(e,t,n){t=t.length?_t(t,function(e){return Ae(e)?function(t){return At(t,1===e.length?e[0]:e)}:e}):[Ut];var a=-1;t=_t(t,Me(mr));var o=function(e,t){var n=-1,a=Ie(e)?Array(e.length):[];return Ft(e,function(e,o,r){a[++n]=t(e,o,r)}),a}(e,function(e,n,o){return{criteria:_t(t,function(t){return t(e)}),index:++a,value:e}});return function(e,t){var n=e.length;for(e.sort(t);n--;)e[n]=e[n].value;return e}(o,function(e,t){return function(e,t,n){for(var a=-1,o=e.criteria,r=t.criteria,i=o.length,s=n.length;++a<i;){var c=fr(o[a],r[a]);if(c)return a>=s?c:c*("desc"==n[a]?-1:1)}return e.index-t.index}(e,t,n)})},yr=({width:e="29",height:t="31",viewBox:n="0 0 29 31",fill:a="none",style:o={}})=>(0,Sn.jsxs)("svg",{width:e,height:t,viewBox:n,style:o,fill:a,xmlns:"http://www.w3.org/2000/svg",children:[(0,Sn.jsx)("path",{d:"M23.0716 26.6715C21.7556 25.5134 20.4569 24.3399 19.1234 23.1974C18.8924 22.9998 18.7424 23.0044 18.5196 23.163C17.9021 23.6022 17.2174 23.9458 16.5035 24.2399C15.0518 24.8382 13.516 25.0848 11.9241 25.084C11.2304 25.084 10.5366 25.0821 9.84291 25.0817C9.69079 25.0817 9.56738 25.192 9.56738 25.328V30.3459C9.56738 30.4815 9.69036 30.5914 9.84205 30.5918C10.6313 30.5934 11.4206 30.596 12.2104 30.5995C13.0472 30.6033 13.8862 30.5658 14.6991 30.4478C16.1646 30.2353 17.5992 29.8856 18.9631 29.328C20.4393 28.7244 21.8079 27.9768 23.0596 27.0526C23.2588 26.9055 23.2511 26.8293 23.0716 26.6715Z",fill:"#000141"}),(0,Sn.jsx)("path",{d:"M11.9914 6.24371C13.0108 6.25367 14.0341 6.32835 15.0046 6.6133C16.1354 6.94497 17.2632 7.30574 18.2239 7.97061C18.3289 8.043 18.4395 8.11155 18.532 8.19505C18.7 8.34633 18.832 8.32756 18.9845 8.18432C19.1632 8.01619 19.341 7.84729 19.5279 7.68605C20.7084 6.66883 21.8898 5.65237 23.0754 4.63975C23.2177 4.51834 23.2687 4.44902 23.0758 4.30769C22.4382 3.84045 21.7818 3.39924 21.082 3.00821C18.502 1.56625 15.6816 0.791076 12.6509 0.747798C11.7155 0.734394 10.7796 0.726734 9.84419 0.722904C9.69165 0.722138 9.56738 0.832822 9.56738 0.969167V5.9917C9.56738 6.12766 9.69079 6.23797 9.84291 6.23758C10.5589 6.23682 11.275 6.23682 11.991 6.24371H11.9914Z",fill:"#000141"}),(0,Sn.jsx)("path",{d:"M6.70176 0.717285H1.12783C0.951519 0.717285 0.808594 0.845031 0.808594 1.00261V30.3052C0.808594 30.4628 0.951519 30.5905 1.12783 30.5905H6.70176C6.87806 30.5905 7.02099 30.4628 7.02099 30.3052V1.00261C7.02099 0.845031 6.87806 0.717285 6.70176 0.717285Z",fill:"#000141"}),(0,Sn.jsx)("path",{d:"M25.0106 6.09228C25.5783 6.67174 26.0904 7.28721 26.5364 7.94748C27.1895 8.91453 27.678 9.94209 28.0923 11.0091C28.4973 12.0528 28.6978 13.1205 28.8306 14.2109C28.9073 14.8421 28.9819 15.4713 28.9459 16.1044C28.8345 18.0542 28.3944 19.9351 27.5023 21.7302C27.1826 22.3736 26.8205 23.0032 26.41 23.5892C26.0004 24.174 25.5629 24.7711 24.9428 25.2862C24.6219 24.9867 24.3048 24.6811 23.9766 24.3854C22.8946 23.4103 21.8114 22.4364 20.7213 21.4682C20.5854 21.3475 20.5709 21.289 20.7011 21.1423C21.4459 20.3012 21.9421 19.3384 22.3024 18.3242C22.6928 17.2262 22.8625 16.0849 22.7104 14.9455C22.6101 14.1925 22.4948 13.4288 22.1996 12.6969C21.9001 11.9555 21.514 11.2603 21.0474 10.5962C20.9295 10.4285 20.8267 10.2473 20.6788 10.1033C20.531 9.95971 20.5404 9.87775 20.6943 9.74562C21.7762 8.81534 22.8676 7.89425 23.9252 6.94098C24.2504 6.64799 24.5902 6.3596 24.9424 6.08691C24.9651 6.08845 24.9883 6.08998 25.011 6.09113L25.0106 6.09228Z",fill:"#000141"})]}),br=({})=>(0,Sn.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,Sn.jsx)("path",{d:"M10.4306 12.1599C9.8141 11.6173 9.20561 11.0675 8.58086 10.5322C8.47266 10.4396 8.40239 10.4418 8.298 10.5161C8.00871 10.7219 7.6879 10.8828 7.35345 11.0206C6.67329 11.3009 5.95378 11.4165 5.20798 11.4161C4.88296 11.4161 4.55793 11.4152 4.23291 11.415C4.16164 11.415 4.10383 11.4667 4.10383 11.5304V13.8814C4.10383 13.9449 4.16144 13.9964 4.23251 13.9966C4.6023 13.9973 4.97209 13.9985 5.34208 14.0001C5.73416 14.0019 6.12723 13.9843 6.50807 13.9291C7.19465 13.8295 7.86678 13.6657 8.50578 13.4044C9.19738 13.1216 9.83859 12.7714 10.425 12.3384C10.5183 12.2695 10.5147 12.2338 10.4306 12.1599Z",fill:"white"}),(0,Sn.jsx)("path",{d:"M5.2395 2.58924C5.71709 2.5939 6.1965 2.62889 6.65121 2.76239C7.181 2.91778 7.70938 3.08681 8.15948 3.3983C8.20866 3.43222 8.26046 3.46433 8.30382 3.50345C8.38252 3.57433 8.44435 3.56553 8.51582 3.49843C8.59953 3.41966 8.68285 3.34052 8.77038 3.26498C9.32346 2.78841 9.87694 2.31219 10.4324 1.83777C10.4991 1.78089 10.523 1.74841 10.4326 1.6822C10.1339 1.46329 9.82635 1.25659 9.49851 1.07338C8.28977 0.397817 6.9684 0.0346442 5.54846 0.0143682C5.11021 0.00808808 4.67176 0.00449952 4.23351 0.00270519C4.16204 0.00234632 4.10383 0.0542024 4.10383 0.118081V2.47117C4.10383 2.53487 4.16164 2.58655 4.23291 2.58637C4.56837 2.58601 4.90403 2.58601 5.2395 2.58924Z",fill:"white"}),(0,Sn.jsx)("path",{d:"M2.76098 0H0.149562C0.0669613 0 0 0.0598496 0 0.133678V13.8621C0 13.936 0.0669613 13.9958 0.149562 13.9958H2.76098C2.84358 13.9958 2.91055 13.936 2.91055 13.8621V0.133678C2.91055 0.0598496 2.84358 0 2.76098 0Z",fill:"white"}),(0,Sn.jsx)("path",{d:"M11.339 2.5184C11.605 2.78989 11.8449 3.07824 12.0538 3.38758C12.3598 3.84065 12.5887 4.32207 12.7828 4.82197C12.9725 5.31093 13.0665 5.81119 13.1287 6.32203C13.1646 6.61774 13.1996 6.91255 13.1827 7.20915C13.1305 8.12265 12.9243 9.00385 12.5063 9.84485C12.3566 10.1463 12.1869 10.4413 11.9946 10.7158C11.8027 10.9898 11.5977 11.2696 11.3072 11.5109C11.1569 11.3706 11.0083 11.2274 10.8545 11.0889C10.3476 10.632 9.84012 10.1757 9.3294 9.72212C9.26576 9.6656 9.25893 9.63814 9.31996 9.56942C9.66888 9.17539 9.90135 8.72429 10.0702 8.24915C10.2531 7.73471 10.3326 7.2 10.2613 6.66619C10.2143 6.31342 10.1603 5.95563 10.022 5.61273C9.88168 5.26535 9.7008 4.93968 9.48217 4.62854C9.42697 4.54995 9.37878 4.46508 9.30952 4.39761C9.24026 4.33032 9.24468 4.29192 9.31675 4.23002C9.82366 3.79418 10.335 3.36264 10.8304 2.91603C10.9828 2.77876 11.142 2.64365 11.307 2.51589C11.3177 2.51661 11.3283 2.51787 11.339 2.5184Z",fill:"white"})]}),kr=({})=>(0,Sn.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,Sn.jsx)("path",{d:"M10.4306 12.1599C9.8141 11.6173 9.20561 11.0675 8.58086 10.5322C8.47266 10.4396 8.40239 10.4418 8.298 10.5161C8.00871 10.7219 7.6879 10.8828 7.35345 11.0206C6.67329 11.3009 5.95378 11.4165 5.20798 11.4161C4.88296 11.4161 4.55793 11.4152 4.23291 11.415C4.16164 11.415 4.10383 11.4667 4.10383 11.5304V13.8814C4.10383 13.9449 4.16144 13.9964 4.23251 13.9966C4.6023 13.9973 4.97209 13.9985 5.34208 14.0001C5.73416 14.0019 6.12723 13.9843 6.50807 13.9291C7.19465 13.8295 7.86678 13.6657 8.50578 13.4044C9.19738 13.1216 9.83859 12.7714 10.425 12.3384C10.5183 12.2695 10.5147 12.2338 10.4306 12.1599Z",fill:"#000141"}),(0,Sn.jsx)("path",{d:"M5.2395 2.58924C5.71709 2.5939 6.1965 2.62889 6.65121 2.76239C7.181 2.91778 7.70938 3.08681 8.15948 3.3983C8.20866 3.43222 8.26046 3.46433 8.30382 3.50345C8.38252 3.57433 8.44435 3.56553 8.51582 3.49843C8.59953 3.41966 8.68285 3.34052 8.77038 3.26498C9.32346 2.78841 9.87694 2.31219 10.4324 1.83777C10.4991 1.78089 10.523 1.74841 10.4326 1.6822C10.1339 1.46329 9.82635 1.25659 9.49851 1.07338C8.28977 0.397817 6.9684 0.0346442 5.54846 0.0143682C5.11021 0.00808808 4.67176 0.00449952 4.23351 0.00270519C4.16204 0.00234632 4.10383 0.0542024 4.10383 0.118081V2.47117C4.10383 2.53487 4.16164 2.58655 4.23291 2.58637C4.56837 2.58601 4.90403 2.58601 5.2395 2.58924Z",fill:"#000141"}),(0,Sn.jsx)("path",{d:"M2.76098 0H0.149562C0.0669613 0 0 0.0598496 0 0.133678V13.8621C0 13.936 0.0669613 13.9958 0.149562 13.9958H2.76098C2.84358 13.9958 2.91055 13.936 2.91055 13.8621V0.133678C2.91055 0.0598496 2.84358 0 2.76098 0Z",fill:"#000141"}),(0,Sn.jsx)("path",{d:"M11.339 2.5184C11.605 2.78989 11.8449 3.07824 12.0538 3.38758C12.3598 3.84065 12.5887 4.32207 12.7828 4.82197C12.9725 5.31093 13.0665 5.81119 13.1287 6.32203C13.1646 6.61774 13.1996 6.91255 13.1827 7.20915C13.1305 8.12265 12.9243 9.00385 12.5063 9.84485C12.3566 10.1463 12.1869 10.4413 11.9946 10.7158C11.8027 10.9898 11.5977 11.2696 11.3072 11.5109C11.1569 11.3706 11.0083 11.2274 10.8545 11.0889C10.3476 10.632 9.84012 10.1757 9.3294 9.72212C9.26576 9.6656 9.25893 9.63814 9.31996 9.56942C9.66888 9.17539 9.90135 8.72429 10.0702 8.24915C10.2531 7.73471 10.3326 7.2 10.2613 6.66619C10.2143 6.31342 10.1603 5.95563 10.022 5.61273C9.88168 5.26535 9.7008 4.93968 9.48217 4.62854C9.42697 4.54995 9.37878 4.46508 9.30952 4.39761C9.24026 4.33032 9.24468 4.29192 9.31675 4.23002C9.82366 3.79418 10.335 3.36264 10.8304 2.91603C10.9828 2.77876 11.142 2.64365 11.307 2.51589C11.3177 2.51661 11.3283 2.51787 11.339 2.5184Z",fill:"#000141"})]}),vr=({className:e,style:t})=>(0,Sn.jsxs)("svg",{width:"100%",height:"100%",className:e,viewBox:"0 0 32 32",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:t,children:[(0,Sn.jsxs)("g",{clipPath:"url(#clip0_38_1686)",children:[(0,Sn.jsx)("path",{d:"M25.0747 27.7915C23.6506 26.5506 22.2436 25.2944 20.8003 24.0707C20.5503 23.8588 20.388 23.8645 20.1474 24.0344C19.4793 24.5041 18.7366 24.8725 17.9654 25.1875C16.3942 25.829 14.7314 26.0924 13.0075 26.0924C12.2573 26.0924 11.5051 26.0905 10.7548 26.0905C10.5907 26.0905 10.457 26.2089 10.457 26.354V31.728C10.457 31.8731 10.5907 31.9914 10.7548 31.9914C11.6101 31.9914 12.4634 31.9953 13.3187 31.9991C14.2255 32.0029 15.1323 31.9628 16.0124 31.8368C17.5988 31.6096 19.1528 31.2354 20.6285 30.6379C22.2264 29.9907 23.7079 29.1908 25.0633 28.2019C25.279 28.0454 25.2714 27.9633 25.0767 27.7934L25.0747 27.7915Z",fill:"#FDC307"}),(0,Sn.jsx)("path",{d:"M13.0791 5.91629C14.1825 5.92774 15.2898 6.00601 16.3417 6.31146C17.5654 6.66655 18.7872 7.05218 19.8276 7.76426C19.9422 7.84254 20.0605 7.91508 20.1617 8.00481C20.3431 8.16708 20.4862 8.14608 20.6523 7.99335C20.8452 7.8139 21.038 7.63254 21.2403 7.46072C22.5175 6.37065 23.7966 5.28248 25.0814 4.19813C25.236 4.06831 25.2914 3.99386 25.0814 3.84304C24.3903 3.34286 23.6801 2.86942 22.9222 2.45133C20.1293 0.906895 17.0747 0.0764508 13.7931 0.0306332C12.7793 0.0153607 11.7675 0.00772438 10.7538 0.00390625C10.5877 0.00390625 10.4541 0.122268 10.4541 0.267358V5.6452C10.4541 5.79029 10.5877 5.90865 10.7519 5.90865C11.527 5.90865 12.3021 5.90865 13.0772 5.91438L13.0791 5.91629Z",fill:"#FDC307"}),(0,Sn.jsx)("path",{d:"M7.35178 0H1.31722C1.12631 0 0.97168 0.137453 0.97168 0.305451V31.6829C0.97168 31.8509 1.12631 31.9883 1.31722 31.9883H7.35178C7.54269 31.9883 7.69732 31.8509 7.69732 31.6829V0.305451C7.69732 0.137453 7.54269 0 7.35178 0Z",fill:"#000141"}),(0,Sn.jsx)("path",{d:"M27.1757 5.75577C27.7905 6.37622 28.3441 7.03485 28.8271 7.74311C29.5334 8.77782 30.0622 9.87936 30.5109 11.021C30.95 12.1378 31.1657 13.2813 31.3108 14.4497C31.3929 15.1255 31.475 15.7994 31.4349 16.4771C31.3146 18.5656 30.8373 20.5797 29.8713 22.5002C29.5258 23.1894 29.1325 23.8633 28.6896 24.4914C28.2467 25.1175 27.7733 25.7571 27.1013 26.3088C26.7538 25.9881 26.4102 25.6616 26.0551 25.3447C24.8829 24.3004 23.7108 23.2581 22.531 22.2215C22.384 22.0917 22.3687 22.0306 22.51 21.8721C23.3156 20.971 23.854 19.9401 24.2434 18.8539C24.6653 17.6779 24.8505 16.4561 24.6844 15.2362C24.5756 14.4306 24.4515 13.6116 24.1308 12.8289C23.8062 12.0347 23.3881 11.2902 22.8842 10.58C22.7562 10.4005 22.6455 10.2058 22.4852 10.0531C22.3248 9.89845 22.3362 9.81063 22.5023 9.66936C23.6745 8.67283 24.8562 7.68775 25.9998 6.6664C26.351 6.35331 26.7195 6.04404 27.1013 5.75195C27.1261 5.75195 27.1509 5.75577 27.1757 5.75577Z",fill:"#FDC307"})]}),(0,Sn.jsx)("defs",{children:(0,Sn.jsx)("clipPath",{id:"clip0_38_1686",children:(0,Sn.jsx)("rect",{width:"32",height:"32",fill:"white"})})})]}),wr=({style:e})=>(0,Sn.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:e,children:(0,Sn.jsx)("path",{d:"M5.50008 14.6666V7.33331M2.16675 8.66665V13.3333C2.16675 14.0697 2.7637 14.6666 3.50008 14.6666H12.4509C13.4381 14.6666 14.2776 13.9464 14.4277 12.9708L15.1456 8.30409C15.332 7.09258 14.3946 5.99998 13.1689 5.99998H10.8334C10.4652 5.99998 10.1667 5.7015 10.1667 5.33331V2.97721C10.1667 2.06931 9.43075 1.33331 8.52286 1.33331C8.30631 1.33331 8.11007 1.46084 8.02212 1.65873L5.67604 6.93741C5.56904 7.17816 5.33029 7.33331 5.06683 7.33331H3.50008C2.7637 7.33331 2.16675 7.93027 2.16675 8.66665Z",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round"})}),jr=({className:e=""})=>(0,Sn.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:e,children:(0,Sn.jsx)("path",{d:"M10.3602 7.52685L6.58682 3.76019C6.52484 3.6977 6.45111 3.64811 6.36987 3.61426C6.28863 3.58041 6.20149 3.56299 6.11348 3.56299C6.02548 3.56299 5.93834 3.58041 5.8571 3.61426C5.77586 3.64811 5.70213 3.6977 5.64015 3.76019C5.51598 3.8851 5.44629 4.05406 5.44629 4.23019C5.44629 4.40631 5.51598 4.57528 5.64015 4.70019L8.94015 8.03352L5.64015 11.3335C5.51598 11.4584 5.44629 11.6274 5.44629 11.8035C5.44629 11.9796 5.51598 12.1486 5.64015 12.2735C5.70189 12.3365 5.77552 12.3866 5.85677 12.421C5.93802 12.4553 6.02528 12.4732 6.11348 12.4735C6.20169 12.4732 6.28894 12.4553 6.37019 12.421C6.45144 12.3866 6.52507 12.3365 6.58682 12.2735L10.3602 8.50685C10.4278 8.44443 10.4818 8.36866 10.5188 8.28433C10.5557 8.19999 10.5748 8.10892 10.5748 8.01685C10.5748 7.92479 10.5557 7.83372 10.5188 7.74938C10.4818 7.66505 10.4278 7.58928 10.3602 7.52685V7.52685Z",fill:"currentColor"})}),_r=({className:e="",style:t={}})=>(0,Sn.jsxs)("svg",{width:"29",height:"24",viewBox:"0 0 29 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:e,style:t,children:[(0,Sn.jsx)("path",{d:"M0.81897 1.81898C1.34335 1.29459 2.05456 1 2.79615 1H25.1654C25.9069 1 26.6182 1.29459 27.1425 1.81898C27.6669 2.34335 27.9615 3.05458 27.9615 3.79614V8.78571C27.9615 9.11857 27.6886 9.38196 27.3634 9.45315C26.8451 9.56668 26.3654 9.82636 25.9843 10.2074C25.4599 10.7318 25.1654 11.443 25.1654 12.1846C25.1654 12.9262 25.4599 13.6374 25.9843 14.1618C26.3654 14.5428 26.8451 14.8025 27.3634 14.9161C27.6886 14.9873 27.9615 15.2506 27.9615 15.5835V20.5731C27.9615 21.3146 27.6669 22.0259 27.1425 22.5503C26.6182 23.0746 25.9069 23.3692 25.1654 23.3692H2.79615C2.05456 23.3692 1.34335 23.0746 0.81897 22.5503C0.294594 22.0259 0 21.3146 0 20.5731V15.5835C0 15.2506 0.272938 14.9873 0.598128 14.9161C1.11644 14.8025 1.59613 14.5428 1.97717 14.1618C2.50156 13.6374 2.79615 12.9262 2.79615 12.1846C2.79615 11.443 2.50156 10.7318 1.97717 10.2074C1.59613 9.82636 1.11644 9.56668 0.598128 9.45315C0.272938 9.38196 0 9.11857 0 8.78571V3.79614C0 3.05458 0.294594 2.34335 0.81897 1.81898Z",fill:"#FDC307"}),(0,Sn.jsx)("path",{d:"M27.789 1.17254L27.7889 1.17252C27.3584 0.741918 26.7743 0.5 26.1654 0.5H3.79615C3.18717 0.5 2.60314 0.741915 2.17252 1.17253C1.74192 1.60314 1.5 2.18719 1.5 2.79614V7.78571C1.5 7.80892 1.50815 7.83953 1.5422 7.87591C1.57863 7.91484 1.63663 7.94973 1.70505 7.96471L1.70512 7.96473C2.31604 8.09855 2.88153 8.40465 3.33075 8.85391C3.94889 9.47202 4.29615 10.3104 4.29615 11.1846C4.29615 12.0588 3.9489 12.8972 3.33075 13.5153C2.88153 13.9646 2.31604 14.2707 1.70512 14.4045L1.70505 14.4045C1.63663 14.4195 1.57863 14.4544 1.5422 14.4933C1.50815 14.5297 1.5 14.5603 1.5 14.5835V19.5731C1.5 20.182 1.74191 20.7661 2.17251 21.1967C2.60313 21.6273 3.18718 21.8692 3.79615 21.8692H26.1654C26.7743 21.8692 27.3584 21.6273 27.789 21.1967C28.2196 20.7661 28.4615 20.182 28.4615 19.5731V14.5835C28.4615 14.5603 28.4534 14.5297 28.4193 14.4933C28.3829 14.4544 28.3249 14.4195 28.2565 14.4045L28.2564 14.4045C27.6455 14.2707 27.08 13.9646 26.6308 13.5153C26.6308 13.5153 26.6308 13.5153 26.6308 13.5153M27.789 1.17254L26.9843 9.20744C26.4599 9.73178 26.1654 10.443 26.1654 11.1846C26.1654 11.9262 26.4599 12.6374 26.9843 13.1618L26.6308 13.5153M27.789 1.17254C28.2196 1.60315 28.4615 2.1872 28.4615 2.79614V7.78571C28.4615 7.8089 28.4534 7.83952 28.4193 7.87591C28.3829 7.91484 28.3249 7.94974 28.2565 7.96471L28.2564 7.96473C27.6455 8.09855 27.08 8.40462 26.6308 8.85387M27.789 1.17254L26.6308 8.85387M26.6308 13.5153C26.0126 12.8972 25.6654 12.0588 25.6654 11.1846C25.6654 10.3104 26.0126 9.47204 26.6308 8.85391M26.6308 13.5153V8.85391M26.6308 8.85391C26.6308 8.8539 26.6308 8.85388 26.6308 8.85387M26.6308 8.85391L26.6308 8.85387",fill:"#000141",stroke:"#FDC307"}),(0,Sn.jsx)("path",{d:"M15.779 12.7709C14.4908 14.4694 13.203 16.1677 11.9214 17.8705C11.7811 18.0567 11.6186 18.2124 11.4182 18.3158C11.2155 18.4204 10.9905 18.4627 10.7403 18.4463C10.5788 18.4356 10.4148 18.438 10.2381 18.4406L10.2341 18.4407C10.0853 18.4429 9.92771 18.4453 9.76896 18.4381C9.60837 18.4307 9.41512 18.3864 9.25901 18.2838C9.10235 18.1815 9.00935 18.0237 9.00066 17.8415C8.99252 17.6697 9.06061 17.5059 9.16241 17.3695C9.42982 17.011 9.70024 16.6551 9.9699 16.3003L9.98153 16.285L9.98236 16.2839L9.98485 16.2806L9.98696 16.2778C10.0951 16.1355 10.2031 15.9934 10.3109 15.8512L18.1623 5.48965C18.2352 5.39339 18.3086 5.29773 18.3815 5.20279C18.5489 4.98468 18.7132 4.77051 18.8699 4.55174C18.9944 4.37797 19.1449 4.22651 19.3342 4.12598C19.5267 4.02368 19.7434 3.98255 19.9842 4.00675C20.0696 4.01527 20.159 4.01333 20.2679 4.01057C20.3151 4.00935 20.3672 4.00802 20.4187 4.00802L20.723 4.00824L21.0269 4.00841C21.2472 4.00841 21.5392 4.06498 21.697 4.36928C21.776 4.52151 21.7838 4.67319 21.7438 4.8128C21.7075 4.93979 21.6345 5.04558 21.5753 5.12352C20.3497 6.73933 19.1249 8.35589 17.9002 9.97239L17.6144 10.3496L17.6099 10.3556L17.036 11.1129C16.6321 11.646 16.228 12.1788 15.824 12.7116L15.7813 12.7678L15.779 12.7709Z",fill:"#FDC307"}),(0,Sn.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.06166 5.59643C6.964 6.35766 7.00404 7.81567 7.03529 8.21069C7.12611 9.36352 7.6183 10.2209 8.58998 10.699C9.23256 11.0149 9.90736 11.0481 10.5919 10.9543C11.9122 10.7742 12.8683 9.73754 12.9601 8.30151C13.0158 7.44067 13.0128 6.56811 12.9552 5.70776C12.8839 4.65258 12.3898 3.86059 11.5245 3.38842C10.9884 3.09594 10.4357 2.97534 9.87709 3.00415C9.5597 3.02075 9.24037 3.08569 8.92201 3.19506C7.86634 3.55786 7.21986 4.36401 7.06166 5.59643ZM10.0001 5.00024C9.4474 5.00024 9.00013 5.44799 9.00013 6.00024V8.00024C9.00013 8.55249 9.4474 9.00024 10.0001 9.00024C10.2911 9.00024 10.5529 8.8767 10.7355 8.67895C10.8995 8.50024 11.0001 8.26196 11.0001 8.00024V6.00024C11.0001 5.44799 10.5529 5.00024 10.0001 5.00024Z",fill:"#FDC307"}),(0,Sn.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M18.0617 13.5964C17.964 14.3577 18.004 15.8157 18.0353 16.2107C18.1261 17.3635 18.6183 18.2209 19.59 18.699C20.2326 19.0149 20.9074 19.0481 21.5919 18.9543C22.9122 18.7742 23.8683 17.7375 23.9601 16.3015C24.0158 15.4407 24.0128 14.5681 23.9552 13.7078C23.8839 12.6526 23.3898 11.8606 22.5245 11.3884C21.9884 11.0959 21.4357 10.9753 20.8771 11.0041C20.5597 11.0207 20.2404 11.0857 19.922 11.1951C18.8663 11.5579 18.2199 12.364 18.0617 13.5964ZM21.0001 13.0002C20.4474 13.0002 20.0001 13.448 20.0001 14.0002V16.0002C20.0001 16.5525 20.4474 17.0002 21.0001 17.0002C21.2911 17.0002 21.5529 16.8767 21.7355 16.679C21.8995 16.5002 22.0001 16.262 22.0001 16.0002V14.0002C22.0001 13.448 21.5529 13.0002 21.0001 13.0002Z",fill:"#FDC307"})]}),xr=({style:e})=>(0,Sn.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",className:"size-6",style:e,children:(0,Sn.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 6v12m-3-2.818.879.659c1.171.879 3.07.879 4.242 0 1.172-.879 1.172-2.303 0-3.182C13.536 12.219 12.768 12 12 12c-.725 0-1.45-.22-2.003-.659-1.106-.879-1.106-2.303 0-3.182s2.9-.879 4.006 0l.415.33M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"})}),Cr=({style:e})=>(0,Sn.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",className:"size-6",style:e,children:(0,Sn.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M21 8.25c0-2.485-2.099-4.5-4.688-4.5-1.935 0-3.597 1.126-4.312 2.733-.715-1.607-2.377-2.733-4.313-2.733C5.1 3.75 3 5.765 3 8.25c0 7.22 9 12 9 12s9-4.78 9-12Z"})}),zr=({style:e})=>(0,Sn.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor",className:"size-6",style:e,children:(0,Sn.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M16.5 6v.75m0 3v.75m0 3v.75m0 3V18m-9-5.25h5.25M7.5 15h3M3.375 5.25c-.621 0-1.125.504-1.125 1.125v3.026a2.999 2.999 0 0 1 0 5.198v3.026c0 .621.504 1.125 1.125 1.125h17.25c.621 0 1.125-.504 1.125-1.125v-3.026a2.999 2.999 0 0 1 0-5.198V6.375c0-.621-.504-1.125-1.125-1.125H3.375Z"})}),Sr="#000141",Er=({style:e,monochromatic:t})=>{const n=t?Sr:"#FDC307";return(0,Sn.jsxs)("svg",{style:e,width:"70",height:"35",viewBox:"0 0 655 188",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,Sn.jsxs)("g",{clipPath:"url(#clip0_2736_1130)",children:[(0,Sn.jsx)("path",{d:"M140.53 151.42C133.176 145.377 125.919 139.255 118.468 133.294C117.177 132.263 116.339 132.287 115.094 133.114C111.644 135.406 107.817 137.199 103.828 138.733C95.7161 141.854 87.1346 143.141 78.2395 143.137C74.3629 143.137 70.4864 143.127 66.6099 143.125C65.7599 143.125 65.0703 143.701 65.0703 144.41V170.591C65.0703 171.299 65.7575 171.872 66.6051 171.874C71.0156 171.882 75.4261 171.896 79.8389 171.914C84.5152 171.934 89.2034 171.738 93.7455 171.123C101.934 170.014 109.951 168.19 117.572 165.28C125.821 162.131 133.468 158.23 140.462 153.408C141.576 152.641 141.533 152.243 140.53 151.42Z",fill:n}),(0,Sn.jsx)("path",{d:"M78.6076 44.8196C84.3038 44.8716 90.0216 45.2612 95.4449 46.7479C101.764 48.4784 108.066 50.3608 113.434 53.8298C114.021 54.2075 114.638 54.5651 115.156 55.0008C116.094 55.7901 116.832 55.6922 117.684 54.9448C118.682 54.0676 119.676 53.1863 120.72 52.3451C127.317 47.0377 133.918 41.7343 140.543 36.4509C141.338 35.8175 141.623 35.4558 140.546 34.7184C136.983 32.2805 133.315 29.9785 129.405 27.9383C114.988 20.4148 99.2281 16.3704 82.2925 16.1446C77.0656 16.0746 71.8362 16.0347 66.6093 16.0147C65.7569 16.0107 65.0625 16.5882 65.0625 17.2996V43.5048C65.0625 44.2142 65.7521 44.7896 66.6021 44.7876C70.6031 44.7837 74.6041 44.7837 78.6052 44.8196H78.6076Z",fill:n}),(0,Sn.jsx)("path",{d:"M49.0472 15.9951H17.901C16.9158 15.9951 16.1172 16.6616 16.1172 17.4838V170.371C16.1172 171.193 16.9158 171.86 17.901 171.86H49.0472C50.0324 171.86 50.8311 171.193 50.8311 170.371V17.4838C50.8311 16.6616 50.0324 15.9951 49.0472 15.9951Z",fill:Sr}),(0,Sn.jsx)("path",{d:"M151.361 44.0407C154.534 47.064 157.395 50.2752 159.888 53.7203C163.537 58.7659 166.266 64.1272 168.582 69.6944C170.845 75.1396 171.965 80.7108 172.707 86.3998C173.136 89.693 173.553 92.9761 173.351 96.2792C172.729 106.452 170.27 116.266 165.285 125.632C163.499 128.989 161.475 132.274 159.181 135.331C156.892 138.383 154.448 141.498 150.983 144.186C149.19 142.623 147.418 141.028 145.584 139.486C139.538 134.398 133.485 129.317 127.394 124.265C126.635 123.635 126.553 123.33 127.281 122.564C131.442 118.176 134.215 113.153 136.229 107.861C138.41 102.132 139.358 96.1773 138.508 90.2325C137.948 86.3039 137.304 82.3194 135.654 78.5007C133.981 74.6321 131.823 71.0052 129.216 67.5402C128.557 66.665 127.983 65.7198 127.156 64.9685C126.33 64.2191 126.383 63.7915 127.243 63.1021C133.289 58.2483 139.387 53.4425 145.296 48.4688C147.114 46.9401 149.012 45.4355 150.981 44.0127C151.108 44.0207 151.237 44.0287 151.364 44.0347L151.361 44.0407Z",fill:n}),(0,Sn.jsx)("path",{d:"M151.356 44.0383C151.229 44.0303 151.1 44.0243 150.973 44.0163C151.042 43.9044 151.112 43.7925 151.179 43.6826C151.236 43.8025 151.296 43.9204 151.353 44.0403L151.356 44.0383Z",fill:Sr}),(0,Sn.jsx)("path",{d:"M210.432 170.988H186.687V85.6419H210.432V170.988ZM198.56 73.9412C194.889 73.9412 191.792 72.6794 189.268 70.1557C186.744 67.632 185.482 64.5347 185.482 60.8639C185.482 57.1931 186.744 54.0959 189.268 51.5722C191.792 48.9338 194.889 47.6146 198.56 47.6146C202.23 47.6146 205.328 48.9338 207.851 51.5722C210.375 54.0959 211.637 57.1931 211.637 60.8639C211.637 64.5347 210.375 67.632 207.851 70.1557C205.328 72.6794 202.23 73.9412 198.56 73.9412ZM251.545 97.5147C252.692 95.6793 254.011 93.9586 255.502 92.3526C256.994 90.6319 258.772 89.1407 260.837 87.8788C262.901 86.5023 265.253 85.4125 267.891 84.6095C270.53 83.8065 273.512 83.405 276.839 83.405C280.739 83.405 285.27 84.0933 290.433 85.4698L288.196 106.634C286.934 106.405 285.672 106.118 284.41 105.774C283.378 105.545 282.231 105.373 280.969 105.258C279.707 105.028 278.56 104.914 277.527 104.914C273.857 104.914 270.415 105.43 267.203 106.462C264.106 107.495 261.41 108.929 259.116 110.764C256.822 112.599 254.986 114.836 253.61 117.475C252.233 119.998 251.545 122.752 251.545 125.734V170.988H227.799V85.6419H249.308L251.545 97.5147ZM341.212 83.2329C347.636 83.2329 353.486 84.5521 358.763 87.1905C364.04 89.7142 368.571 93.0982 372.356 97.3426C376.142 101.472 379.067 106.29 381.132 111.796C383.197 117.188 384.229 122.752 384.229 128.487C384.229 131.929 383.77 135.599 382.853 139.5H321.94C324.234 143.4 327.504 146.727 331.748 149.48C335.992 152.118 340.581 153.437 345.514 153.437C350.446 153.437 354.748 153.036 358.419 152.233C362.204 151.43 365.76 150.397 369.087 149.135L377.002 163.761C372.758 166.744 367.883 169.038 362.376 170.644C356.985 172.25 351.192 173.053 344.997 173.053C338.229 173.053 331.92 171.906 326.07 169.612C320.219 167.203 315.115 163.991 310.756 159.976C306.396 155.961 302.955 151.2 300.431 145.694C297.908 140.188 296.646 134.338 296.646 128.143C296.646 122.063 297.793 116.328 300.087 110.936C302.381 105.43 305.536 100.669 309.551 96.6543C313.681 92.5247 318.441 89.2554 323.833 86.8464C329.224 84.4374 335.017 83.2329 341.212 83.2329ZM360.656 121.088C359.279 116.156 356.813 112.141 353.257 109.043C349.701 105.946 345.686 104.397 341.212 104.397C336.623 104.397 332.436 105.946 328.651 109.043C324.98 112.141 322.456 116.156 321.08 121.088H360.656ZM443.374 104.397C440.506 104.397 437.81 105.086 435.287 106.462C432.763 107.724 430.526 109.502 428.576 111.796C426.741 113.976 425.249 116.557 424.102 119.54C423.07 122.522 422.554 125.734 422.554 129.175C422.554 132.617 423.07 135.771 424.102 138.639C425.249 141.392 426.741 143.801 428.576 145.866C430.526 147.816 432.763 149.365 435.287 150.512C437.81 151.659 440.506 152.233 443.374 152.233C446.93 152.233 450.371 151.43 453.698 149.824C457.139 148.103 460.065 145.751 462.474 142.769L477.099 157.223C473.085 162.041 468.152 165.884 462.302 168.751C456.451 171.619 450.142 173.053 443.374 173.053C437.179 173.053 431.386 171.906 425.995 169.612C420.603 167.203 415.9 163.991 411.885 159.976C407.87 155.846 404.658 151.086 402.249 145.694C399.955 140.188 398.808 134.338 398.808 128.143C398.808 121.949 399.955 116.156 402.249 110.764C404.658 105.258 407.87 100.497 411.885 96.4823C415.9 92.3526 420.603 89.1407 425.995 86.8464C431.386 84.4374 437.179 83.2329 443.374 83.2329C450.371 83.2329 456.853 84.7242 462.818 87.7067C468.783 90.6893 473.83 94.7616 477.96 99.9237L461.441 112.657C458.115 109.56 455.075 107.437 452.322 106.29C449.683 105.028 446.701 104.397 443.374 104.397ZM521.433 140.36C521.433 144.375 522.637 147.472 525.046 149.652C527.57 151.831 530.839 152.921 534.854 152.921C538.066 152.921 541.278 152.29 544.49 151.028V170.988C541.622 171.906 538.582 172.652 535.37 173.225C532.159 173.913 528.947 174.258 525.735 174.258C522.064 174.258 518.565 173.799 515.238 172.881C511.912 171.963 508.929 170.415 506.291 168.235C503.652 165.941 501.53 162.958 499.924 159.288C498.433 155.502 497.687 150.856 497.687 145.35V106.806H485.47V90.804L497.687 85.6419V66.5422H521.433V85.6419H544.49V106.806H521.433V140.36ZM597.799 83.2329C603.879 83.2329 609.615 84.4374 615.006 86.8464C620.398 89.1407 625.101 92.3526 629.116 96.4823C633.131 100.497 636.286 105.258 638.58 110.764C640.989 116.156 642.193 121.949 642.193 128.143C642.193 134.338 640.989 140.188 638.58 145.694C636.286 151.086 633.131 155.846 629.116 159.976C625.101 163.991 620.398 167.203 615.006 169.612C609.615 171.906 603.879 173.053 597.799 173.053C591.605 173.053 585.812 171.906 580.42 169.612C575.029 167.203 570.326 163.991 566.311 159.976C562.296 155.846 559.084 151.086 556.675 145.694C554.381 140.188 553.233 134.338 553.233 128.143C553.233 121.949 554.381 116.156 556.675 110.764C559.084 105.258 562.296 100.497 566.311 96.4823C570.326 92.3526 575.029 89.1407 580.42 86.8464C585.812 84.4374 591.605 83.2329 597.799 83.2329ZM597.799 152.233C600.667 152.233 603.306 151.659 605.715 150.512C608.238 149.365 610.418 147.816 612.253 145.866C614.203 143.801 615.695 141.392 616.727 138.639C617.874 135.771 618.448 132.617 618.448 129.175C618.448 125.734 617.874 122.522 616.727 119.54C615.695 116.557 614.203 113.976 612.253 111.796C610.418 109.502 608.238 107.724 605.715 106.462C603.306 105.086 600.667 104.397 597.799 104.397C594.932 104.397 592.236 105.086 589.712 106.462C587.188 107.724 584.952 109.502 583.001 111.796C581.166 113.976 579.675 116.557 578.528 119.54C577.495 122.522 576.979 125.734 576.979 129.175C576.979 132.617 577.495 135.771 578.528 138.639C579.675 141.392 581.166 143.801 583.001 145.866C584.952 147.816 587.188 149.365 589.712 150.512C592.236 151.659 594.932 152.233 597.799 152.233Z",fill:Sr})]}),(0,Sn.jsx)("defs",{children:(0,Sn.jsx)("clipPath",{id:"clip0_2736_1130",children:(0,Sn.jsx)("rect",{width:"655",height:"188",fill:"white"})})})]})};function Or(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),a=1;a<t;a++)n[a-1]=arguments[a];throw new Error("number"==typeof e?"[MobX] minified error nr: "+e+(n.length?" "+n.map(String).join(","):"")+". Find the full error at: https://github.com/mobxjs/mobx/blob/main/packages/mobx/src/errors.ts":"[MobX] "+e)}var Ar={};function Pr(){return"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==n.g?n.g:"undefined"!=typeof self?self:Ar}var Ir=Object.assign,Lr=Object.getOwnPropertyDescriptor,Nr=Object.defineProperty,Tr=Object.prototype,Dr=[];Object.freeze(Dr);var Rr={};Object.freeze(Rr);var Mr="undefined"!=typeof Proxy,$r=Object.toString();function Br(){Mr||Or("Proxy not available")}function Fr(e){var t=!1;return function(){if(!t)return t=!0,e.apply(this,arguments)}}var Ur=function(){};function Vr(e){return"function"==typeof e}function Hr(e){switch(typeof e){case"string":case"symbol":case"number":return!0}return!1}function Kr(e){return null!==e&&"object"==typeof e}function Yr(e){if(!Kr(e))return!1;var t=Object.getPrototypeOf(e);if(null==t)return!0;var n=Object.hasOwnProperty.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n.toString()===$r}function qr(e){var t=null==e?void 0:e.constructor;return!!t&&("GeneratorFunction"===t.name||"GeneratorFunction"===t.displayName)}function Qr(e,t,n){Nr(e,t,{enumerable:!1,writable:!0,configurable:!0,value:n})}function Wr(e,t,n){Nr(e,t,{enumerable:!1,writable:!1,configurable:!0,value:n})}function Gr(e,t){var n="isMobX"+e;return t.prototype[n]=!0,function(e){return Kr(e)&&!0===e[n]}}function Jr(e){return null!=e&&"[object Map]"===Object.prototype.toString.call(e)}function Zr(e){return null!=e&&"[object Set]"===Object.prototype.toString.call(e)}var Xr=void 0!==Object.getOwnPropertySymbols,ei="undefined"!=typeof Reflect&&Reflect.ownKeys?Reflect.ownKeys:Xr?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames;function ti(e){return null===e?null:"object"==typeof e?""+e:e}function ni(e,t){return Tr.hasOwnProperty.call(e,t)}var ai=Object.getOwnPropertyDescriptors||function(e){var t={};return ei(e).forEach(function(n){t[n]=Lr(e,n)}),t};function oi(e,t){return!!(e&t)}function ri(e,t,n){return n?e|=t:e&=~t,e}function ii(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function si(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,hi(a.key),a)}}function ci(e,t,n){return t&&si(e.prototype,t),n&&si(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function li(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return ii(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ii(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var a=0;return function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function ui(){return ui=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)({}).hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},ui.apply(null,arguments)}function di(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,pi(e,t)}function pi(e,t){return pi=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},pi(e,t)}function hi(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}var mi=Symbol("mobx-stored-annotations");function fi(e){return Object.assign(function(t,n){if(yi(n))return e.decorate_20223_(t,n);gi(t,n,e)},e)}function gi(e,t,n){ni(e,mi)||Qr(e,mi,ui({},e[mi])),function(e){return e.annotationType_===Ci}(n)||(e[mi][t]=n)}function yi(e){return"object"==typeof e&&"string"==typeof e.kind}var bi=Symbol("mobx administration"),ki=function(){function e(e){void 0===e&&(e="Atom"),this.name_=void 0,this.flags_=0,this.observers_=new Set,this.lastAccessedBy_=0,this.lowestObserverState_=ws.NOT_TRACKING_,this.onBOL=void 0,this.onBUOL=void 0,this.name_=e}var t=e.prototype;return t.onBO=function(){this.onBOL&&this.onBOL.forEach(function(e){return e()})},t.onBUO=function(){this.onBUOL&&this.onBUOL.forEach(function(e){return e()})},t.reportObserved=function(){return Hs(this)},t.reportChanged=function(){Us(),Ks(this),Vs()},t.toString=function(){return this.name_},ci(e,[{key:"isBeingObserved",get:function(){return oi(this.flags_,e.isBeingObservedMask_)},set:function(t){this.flags_=ri(this.flags_,e.isBeingObservedMask_,t)}},{key:"isPendingUnobservation",get:function(){return oi(this.flags_,e.isPendingUnobservationMask_)},set:function(t){this.flags_=ri(this.flags_,e.isPendingUnobservationMask_,t)}},{key:"diffValue",get:function(){return oi(this.flags_,e.diffValueMask_)?1:0},set:function(t){this.flags_=ri(this.flags_,e.diffValueMask_,1===t)}}])}();ki.isBeingObservedMask_=1,ki.isPendingUnobservationMask_=2,ki.diffValueMask_=4;var vi=Gr("Atom",ki);function wi(e,t,n){void 0===t&&(t=Ur),void 0===n&&(n=Ur);var a=new ki(e);return t!==Ur&&pc(lc,a,t,undefined),n!==Ur&&dc(a,n),a}var ji={identity:function(e,t){return e===t},structural:function(e,t){return Sl(e,t)},default:function(e,t){return Object.is?Object.is(e,t):e===t?0!==e||1/e==1/t:e!=e&&t!=t},shallow:function(e,t){return Sl(e,t,1)}};function _i(e,t,n){return _c(e)?e:Array.isArray(e)?ss.array(e,{name:n}):Yr(e)?ss.object(e,void 0,{name:n}):Jr(e)?ss.map(e,{name:n}):Zr(e)?ss.set(e,{name:n}):"function"!=typeof e||sc(e)||jc(e)?e:qr(e)?vc(e):ic(n,e)}function xi(e){return e}var Ci="override";function zi(e,t){return{annotationType_:e,options_:t,make_:Si,extend_:Ei,decorate_20223_:Oi}}function Si(e,t,n,a){var o;if(null!=(o=this.options_)&&o.bound)return null===this.extend_(e,t,n,!1)?0:1;if(a===e.target_)return null===this.extend_(e,t,n,!1)?0:2;if(sc(n.value))return 1;var r=Ai(e,this,t,n,!1);return Nr(a,t,r),2}function Ei(e,t,n,a){var o=Ai(e,this,t,n);return e.defineProperty_(t,o,a)}function Oi(e,t){var n,a=t.kind,o=t.name,r=t.addInitializer,i=this,s=function(e){var t,n,a,r;return gs(null!=(t=null==(n=i.options_)?void 0:n.name)?t:o.toString(),e,null!=(a=null==(r=i.options_)?void 0:r.autoAction)&&a)};return"field"==a?function(e){var t,n=e;return sc(n)||(n=s(n)),null!=(t=i.options_)&&t.bound&&((n=n.bind(this)).isMobxAction=!0),n}:"method"==a?(sc(e)||(e=s(e)),null!=(n=this.options_)&&n.bound&&r(function(){var e=this,t=e[o].bind(e);t.isMobxAction=!0,e[o]=t}),e):void Or("Cannot apply '"+i.annotationType_+"' to '"+String(o)+"' (kind: "+a+"):\n'"+i.annotationType_+"' can only be used on properties with a function value.")}function Ai(e,t,n,a,o){var r,i,s,c,l,u,d,p;void 0===o&&(o=Ms.safeDescriptors),p=a,t.annotationType_,p.value;var h,m=a.value;return null!=(r=t.options_)&&r.bound&&(m=m.bind(null!=(h=e.proxy_)?h:e.target_)),{value:gs(null!=(i=null==(s=t.options_)?void 0:s.name)?i:n.toString(),m,null!=(c=null==(l=t.options_)?void 0:l.autoAction)&&c,null!=(u=t.options_)&&u.bound?null!=(d=e.proxy_)?d:e.target_:void 0),configurable:!o||e.isPlainObject_,enumerable:!1,writable:!o}}function Pi(e,t){return{annotationType_:e,options_:t,make_:Ii,extend_:Li,decorate_20223_:Ni}}function Ii(e,t,n,a){var o;if(a===e.target_)return null===this.extend_(e,t,n,!1)?0:2;if(null!=(o=this.options_)&&o.bound&&(!ni(e.target_,t)||!jc(e.target_[t]))&&null===this.extend_(e,t,n,!1))return 0;if(jc(n.value))return 1;var r=Ti(e,this,0,n,!1,!1);return Nr(a,t,r),2}function Li(e,t,n,a){var o,r=Ti(e,this,0,n,null==(o=this.options_)?void 0:o.bound);return e.defineProperty_(t,r,a)}function Ni(e,t){var n,a=t.name,o=t.addInitializer;return jc(e)||(e=vc(e)),null!=(n=this.options_)&&n.bound&&o(function(){var e=this,t=e[a].bind(e);t.isMobXFlow=!0,e[a]=t}),e}function Ti(e,t,n,a,o,r){var i;void 0===r&&(r=Ms.safeDescriptors),i=a,t.annotationType_,i.value;var s,c=a.value;return jc(c)||(c=vc(c)),o&&((c=c.bind(null!=(s=e.proxy_)?s:e.target_)).isMobXFlow=!0),{value:c,configurable:!r||e.isPlainObject_,enumerable:!1,writable:!r}}function Di(e,t){return{annotationType_:e,options_:t,make_:Ri,extend_:Mi,decorate_20223_:$i}}function Ri(e,t,n){return null===this.extend_(e,t,n,!1)?0:1}function Mi(e,t,n,a){return o=n,this.annotationType_,o.get,e.defineComputedProperty_(t,ui({},this.options_,{get:n.get,set:n.set}),a);var o}function $i(e,t){var n=this,a=t.name;return(0,t.addInitializer)(function(){var t=rl(this)[bi],o=ui({},n.options_,{get:e,context:this});o.name||(o.name="ObservableObject."+a.toString()),t.values_.set(a,new vs(o))}),function(){return this[bi].getObservablePropValue_(a)}}function Bi(e,t){return{annotationType_:e,options_:t,make_:Fi,extend_:Ui,decorate_20223_:Vi}}function Fi(e,t,n){return null===this.extend_(e,t,n,!1)?0:1}function Ui(e,t,n,a){var o,r;return this.annotationType_,e.defineObservableProperty_(t,n.value,null!=(o=null==(r=this.options_)?void 0:r.enhancer)?o:_i,a)}function Vi(e,t){var n=this,a=t.kind,o=t.name,r=new WeakSet;function i(e,t){var a,i,s=rl(e)[bi],c=new ks(t,null!=(a=null==(i=n.options_)?void 0:i.enhancer)?a:_i,"ObservableObject."+o.toString(),!1);s.values_.set(o,c),r.add(e)}if("accessor"==a)return{get:function(){return r.has(this)||i(this,e.get.call(this)),this[bi].getObservablePropValue_(o)},set:function(e){return r.has(this)||i(this,e),this[bi].setObservablePropValue_(o,e)},init:function(e){return r.has(this)||i(this,e),e}}}var Hi="true",Ki=Yi();function Yi(e){return{annotationType_:Hi,options_:e,make_:qi,extend_:Qi,decorate_20223_:Wi}}function qi(e,t,n,a){var o,r,i,s;if(n.get)return ds.make_(e,t,n,a);if(n.set){var c=sc(n.set)?n.set:gs(t.toString(),n.set);return a===e.target_?null===e.defineProperty_(t,{configurable:!Ms.safeDescriptors||e.isPlainObject_,set:c})?0:2:(Nr(a,t,{configurable:!0,set:c}),2)}if(a!==e.target_&&"function"==typeof n.value)return qr(n.value)?(null!=(s=this.options_)&&s.autoBind?vc.bound:vc).make_(e,t,n,a):(null!=(i=this.options_)&&i.autoBind?ic.bound:ic).make_(e,t,n,a);var l,u=!1===(null==(o=this.options_)?void 0:o.deep)?ss.ref:ss;return"function"==typeof n.value&&null!=(r=this.options_)&&r.autoBind&&(n.value=n.value.bind(null!=(l=e.proxy_)?l:e.target_)),u.make_(e,t,n,a)}function Qi(e,t,n,a){var o,r,i;return n.get?ds.extend_(e,t,n,a):n.set?e.defineProperty_(t,{configurable:!Ms.safeDescriptors||e.isPlainObject_,set:gs(t.toString(),n.set)},a):("function"==typeof n.value&&null!=(o=this.options_)&&o.autoBind&&(n.value=n.value.bind(null!=(i=e.proxy_)?i:e.target_)),(!1===(null==(r=this.options_)?void 0:r.deep)?ss.ref:ss).extend_(e,t,n,a))}function Wi(e,t){Or("'"+this.annotationType_+"' cannot be used as a decorator")}var Gi={deep:!0,name:void 0,defaultDecorator:void 0,proxy:!0};function Ji(e){return e||Gi}Object.freeze(Gi);var Zi=Bi("observable"),Xi=Bi("observable.ref",{enhancer:xi}),es=Bi("observable.shallow",{enhancer:function(e,t,n){return null==e||cl(e)||Kc(e)||Gc(e)||el(e)?e:Array.isArray(e)?ss.array(e,{name:n,deep:!1}):Yr(e)?ss.object(e,void 0,{name:n,deep:!1}):Jr(e)?ss.map(e,{name:n,deep:!1}):Zr(e)?ss.set(e,{name:n,deep:!1}):void 0}}),ts=Bi("observable.struct",{enhancer:function(e,t){return Sl(e,t)?t:e}}),ns=fi(Zi);function as(e){return!0===e.deep?_i:!1===e.deep?xi:(t=e.defaultDecorator)&&null!=(n=null==(a=t.options_)?void 0:a.enhancer)?n:_i;var t,n,a}function os(e,t,n){return yi(t)?Zi.decorate_20223_(e,t):Hr(t)?void gi(e,t,Zi):_c(e)?e:Yr(e)?ss.object(e,t,n):Array.isArray(e)?ss.array(e,t):Jr(e)?ss.map(e,t):Zr(e)?ss.set(e,t):"object"==typeof e&&null!==e?e:ss.box(e,t)}Ir(os,ns);var rs,is,ss=Ir(os,{box:function(e,t){var n=Ji(t);return new ks(e,as(n),n.name,!0,n.equals)},array:function(e,t){var n=Ji(t);return(!1===Ms.useProxies||!1===n.proxy?vl:Mc)(e,as(n),n.name)},map:function(e,t){var n=Ji(t);return new Wc(e,as(n),n.name)},set:function(e,t){var n=Ji(t);return new Xc(e,as(n),n.name)},object:function(e,t,n){return xl(function(){return function(e,t,n,a){var o=ai(t);return xl(function(){var t=rl(e,a)[bi];ei(o).forEach(function(e){t.extend_(e,o[e],!n||!(e in n)||n[e])})}),e}(!1===Ms.useProxies||!1===(null==n?void 0:n.proxy)?rl({},n):function(e,t){var n,a;return Br(),null!=(a=(n=(e=rl(e,t))[bi]).proxy_)?a:n.proxy_=new Proxy(e,zc)}({},n),e,t)})},ref:fi(Xi),shallow:fi(es),deep:ns,struct:fi(ts)}),cs="computed",ls=Di(cs),us=Di("computed.struct",{equals:ji.structural}),ds=function(e,t){if(yi(t))return ls.decorate_20223_(e,t);if(Hr(t))return gi(e,t,ls);if(Yr(e))return fi(Di(cs,e));var n=Yr(t)?t:{};return n.get=e,n.name||(n.name=e.name||""),new vs(n)};Object.assign(ds,ls),ds.struct=fi(us);var ps=0,hs=1,ms=null!=(rs=null==(is=Lr(function(){},"name"))?void 0:is.configurable)&&rs,fs={value:"action",configurable:!0,writable:!1,enumerable:!1};function gs(e,t,n,a){function o(){return function(e,t,n,a,o){var r=function(e,t){var n=!1,a=0,o=Ms.trackingDerivation,r=!t||!o;Us();var i=Ms.allowStateChanges;r&&(As(),i=ys(!0));var s={runAsAction_:r,prevDerivation_:o,prevAllowStateChanges_:i,prevAllowStateReads_:Is(!0),notifySpy_:n,startTime_:a,actionId_:hs++,parentActionId_:ps};return ps=s.actionId_,s}(0,t);try{return n.apply(a,o)}catch(e){throw r.error_=e,e}finally{!function(e){ps!==e.actionId_&&Or(30),ps=e.parentActionId_,void 0!==e.error_&&(Ms.suppressReactionErrors=!0),bs(e.prevAllowStateChanges_),Ls(e.prevAllowStateReads_),Vs(),e.runAsAction_&&Ps(e.prevDerivation_),Ms.suppressReactionErrors=!1}(r)}}(0,n,t,a||this,arguments)}return void 0===n&&(n=!1),o.isMobxAction=!0,o.toString=function(){return t.toString()},ms&&(fs.value=e,Nr(o,"name",fs)),o}function ys(e){var t=Ms.allowStateChanges;return Ms.allowStateChanges=e,t}function bs(e){Ms.allowStateChanges=e}var ks=function(e){function t(t,n,a,o,r){var i;return void 0===a&&(a="ObservableValue"),void 0===o&&(o=!0),void 0===r&&(r=ji.default),(i=e.call(this,a)||this).enhancer=void 0,i.name_=void 0,i.equals=void 0,i.hasUnreportedChange_=!1,i.interceptors_=void 0,i.changeListeners_=void 0,i.value_=void 0,i.dehancer=void 0,i.enhancer=n,i.name_=a,i.equals=r,i.value_=n(t,void 0,a),i}di(t,e);var n=t.prototype;return n.dehanceValue=function(e){return void 0!==this.dehancer?this.dehancer(e):e},n.set=function(e){this.value_,(e=this.prepareNewValue_(e))!==Ms.UNCHANGED&&this.setNewValue_(e)},n.prepareNewValue_=function(e){if(Sc(this)){var t=Oc(this,{object:this,type:Tc,newValue:e});if(!t)return Ms.UNCHANGED;e=t.newValue}return e=this.enhancer(e,this.value_,this.name_),this.equals(this.value_,e)?Ms.UNCHANGED:e},n.setNewValue_=function(e){var t=this.value_;this.value_=e,this.reportChanged(),Ac(this)&&Ic(this,{type:Tc,object:this,newValue:e,oldValue:t})},n.get=function(){return this.reportObserved(),this.dehanceValue(this.value_)},n.intercept_=function(e){return Ec(this,e)},n.observe_=function(e,t){return t&&e({observableKind:"value",debugObjectName:this.name_,object:this,type:Tc,newValue:this.value_,oldValue:void 0}),Pc(this,e)},n.raw=function(){return this.value_},n.toJSON=function(){return this.get()},n.toString=function(){return this.name_+"["+this.value_+"]"},n.valueOf=function(){return ti(this.get())},n[Symbol.toPrimitive]=function(){return this.valueOf()},t}(ki),vs=function(){function e(e){this.dependenciesState_=ws.NOT_TRACKING_,this.observing_=[],this.newObserving_=null,this.observers_=new Set,this.runId_=0,this.lastAccessedBy_=0,this.lowestObserverState_=ws.UP_TO_DATE_,this.unboundDepsCount_=0,this.value_=new xs(null),this.name_=void 0,this.triggeredBy_=void 0,this.flags_=0,this.derivation=void 0,this.setter_=void 0,this.isTracing_=js.NONE,this.scope_=void 0,this.equals_=void 0,this.requiresReaction_=void 0,this.keepAlive_=void 0,this.onBOL=void 0,this.onBUOL=void 0,e.get||Or(31),this.derivation=e.get,this.name_=e.name||"ComputedValue",e.set&&(this.setter_=gs("ComputedValue-setter",e.set)),this.equals_=e.equals||(e.compareStructural||e.struct?ji.structural:ji.default),this.scope_=e.context,this.requiresReaction_=e.requiresReaction,this.keepAlive_=!!e.keepAlive}var t=e.prototype;return t.onBecomeStale_=function(){var e;(e=this).lowestObserverState_===ws.UP_TO_DATE_&&(e.lowestObserverState_=ws.POSSIBLY_STALE_,e.observers_.forEach(function(e){e.dependenciesState_===ws.UP_TO_DATE_&&(e.dependenciesState_=ws.POSSIBLY_STALE_,e.onBecomeStale_())}))},t.onBO=function(){this.onBOL&&this.onBOL.forEach(function(e){return e()})},t.onBUO=function(){this.onBUOL&&this.onBUOL.forEach(function(e){return e()})},t.get=function(){if(this.isComputing&&Or(32,this.name_,this.derivation),0!==Ms.inBatch||0!==this.observers_.size||this.keepAlive_){if(Hs(this),zs(this)){var e=Ms.trackingContext;this.keepAlive_&&!e&&(Ms.trackingContext=this),this.trackAndCompute()&&((t=this).lowestObserverState_!==ws.STALE_&&(t.lowestObserverState_=ws.STALE_,t.observers_.forEach(function(e){e.dependenciesState_===ws.POSSIBLY_STALE_?e.dependenciesState_=ws.STALE_:e.dependenciesState_===ws.UP_TO_DATE_&&(t.lowestObserverState_=ws.UP_TO_DATE_)}))),Ms.trackingContext=e}}else zs(this)&&(this.warnAboutUntrackedRead_(),Us(),this.value_=this.computeValue_(!1),Vs());var t,n=this.value_;if(Cs(n))throw n.cause;return n},t.set=function(e){if(this.setter_){this.isRunningSetter&&Or(33,this.name_),this.isRunningSetter=!0;try{this.setter_.call(this.scope_,e)}finally{this.isRunningSetter=!1}}else Or(34,this.name_)},t.trackAndCompute=function(){var e=this.value_,t=this.dependenciesState_===ws.NOT_TRACKING_,n=this.computeValue_(!0),a=t||Cs(e)||Cs(n)||!this.equals_(e,n);return a&&(this.value_=n),a},t.computeValue_=function(e){this.isComputing=!0;var t,n=ys(!1);if(e)t=Ss(this,this.derivation,this.scope_);else if(!0===Ms.disableErrorBoundaries)t=this.derivation.call(this.scope_);else try{t=this.derivation.call(this.scope_)}catch(e){t=new xs(e)}return bs(n),this.isComputing=!1,t},t.suspend_=function(){this.keepAlive_||(Es(this),this.value_=void 0)},t.observe_=function(e,t){var n=this,a=!0,o=void 0;return function(e,t){var n,a,o,r;void 0===t&&(t=Rr);var i,s=null!=(n=null==(a=t)?void 0:a.name)?n:"Autorun";if(t.scheduler||t.delay){var c=function(e){return e.scheduler?e.scheduler:e.delay?function(t){return setTimeout(t,e.delay)}:cc}(t),l=!1;i=new Ys(s,function(){l||(l=!0,c(function(){l=!1,i.isDisposed||i.track(u)}))},t.onError,t.requiresObservable)}else i=new Ys(s,function(){this.track(u)},t.onError,t.requiresObservable);function u(){e(i)}return null!=(o=t)&&null!=(o=o.signal)&&o.aborted||i.schedule_(),i.getDisposer_(null==(r=t)?void 0:r.signal)}(function(){var r=n.get();if(!a||t){var i=As();e({observableKind:"computed",debugObjectName:n.name_,type:Tc,object:n,newValue:r,oldValue:o}),Ps(i)}a=!1,o=r})},t.warnAboutUntrackedRead_=function(){},t.toString=function(){return this.name_+"["+this.derivation.toString()+"]"},t.valueOf=function(){return ti(this.get())},t[Symbol.toPrimitive]=function(){return this.valueOf()},ci(e,[{key:"isComputing",get:function(){return oi(this.flags_,e.isComputingMask_)},set:function(t){this.flags_=ri(this.flags_,e.isComputingMask_,t)}},{key:"isRunningSetter",get:function(){return oi(this.flags_,e.isRunningSetterMask_)},set:function(t){this.flags_=ri(this.flags_,e.isRunningSetterMask_,t)}},{key:"isBeingObserved",get:function(){return oi(this.flags_,e.isBeingObservedMask_)},set:function(t){this.flags_=ri(this.flags_,e.isBeingObservedMask_,t)}},{key:"isPendingUnobservation",get:function(){return oi(this.flags_,e.isPendingUnobservationMask_)},set:function(t){this.flags_=ri(this.flags_,e.isPendingUnobservationMask_,t)}},{key:"diffValue",get:function(){return oi(this.flags_,e.diffValueMask_)?1:0},set:function(t){this.flags_=ri(this.flags_,e.diffValueMask_,1===t)}}])}();vs.isComputingMask_=1,vs.isRunningSetterMask_=2,vs.isBeingObservedMask_=4,vs.isPendingUnobservationMask_=8,vs.diffValueMask_=16;var ws,js,_s=Gr("ComputedValue",vs);!function(e){e[e.NOT_TRACKING_=-1]="NOT_TRACKING_",e[e.UP_TO_DATE_=0]="UP_TO_DATE_",e[e.POSSIBLY_STALE_=1]="POSSIBLY_STALE_",e[e.STALE_=2]="STALE_"}(ws||(ws={})),function(e){e[e.NONE=0]="NONE",e[e.LOG=1]="LOG",e[e.BREAK=2]="BREAK"}(js||(js={}));var xs=function(e){this.cause=void 0,this.cause=e};function Cs(e){return e instanceof xs}function zs(e){switch(e.dependenciesState_){case ws.UP_TO_DATE_:return!1;case ws.NOT_TRACKING_:case ws.STALE_:return!0;case ws.POSSIBLY_STALE_:for(var t=Is(!0),n=As(),a=e.observing_,o=a.length,r=0;r<o;r++){var i=a[r];if(_s(i)){if(Ms.disableErrorBoundaries)i.get();else try{i.get()}catch(e){return Ps(n),Ls(t),!0}if(e.dependenciesState_===ws.STALE_)return Ps(n),Ls(t),!0}}return Ns(e),Ps(n),Ls(t),!1}}function Ss(e,t,n){var a=Is(!0);Ns(e),e.newObserving_=new Array(0===e.runId_?100:e.observing_.length),e.unboundDepsCount_=0,e.runId_=++Ms.runId;var o,r=Ms.trackingDerivation;if(Ms.trackingDerivation=e,Ms.inBatch++,!0===Ms.disableErrorBoundaries)o=t.call(n);else try{o=t.call(n)}catch(e){o=new xs(e)}return Ms.inBatch--,Ms.trackingDerivation=r,function(e){for(var t=e.observing_,n=e.observing_=e.newObserving_,a=ws.UP_TO_DATE_,o=0,r=e.unboundDepsCount_,i=0;i<r;i++){var s=n[i];0===s.diffValue&&(s.diffValue=1,o!==i&&(n[o]=s),o++),s.dependenciesState_>a&&(a=s.dependenciesState_)}for(n.length=o,e.newObserving_=null,r=t.length;r--;){var c=t[r];0===c.diffValue&&Bs(c,e),c.diffValue=0}for(;o--;){var l=n[o];1===l.diffValue&&(l.diffValue=0,$s(l,e))}a!==ws.UP_TO_DATE_&&(e.dependenciesState_=a,e.onBecomeStale_())}(e),Ls(a),o}function Es(e){var t=e.observing_;e.observing_=[];for(var n=t.length;n--;)Bs(t[n],e);e.dependenciesState_=ws.NOT_TRACKING_}function Os(e){var t=As();try{return e()}finally{Ps(t)}}function As(){var e=Ms.trackingDerivation;return Ms.trackingDerivation=null,e}function Ps(e){Ms.trackingDerivation=e}function Is(e){var t=Ms.allowStateReads;return Ms.allowStateReads=e,t}function Ls(e){Ms.allowStateReads=e}function Ns(e){if(e.dependenciesState_!==ws.UP_TO_DATE_){e.dependenciesState_=ws.UP_TO_DATE_;for(var t=e.observing_,n=t.length;n--;)t[n].lowestObserverState_=ws.UP_TO_DATE_}}var Ts=function(){this.version=6,this.UNCHANGED={},this.trackingDerivation=null,this.trackingContext=null,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!1,this.allowStateReads=!0,this.enforceActions=!0,this.spyListeners=[],this.globalReactionErrorHandlers=[],this.computedRequiresReaction=!1,this.reactionRequiresObservable=!1,this.observableRequiresReaction=!1,this.disableErrorBoundaries=!1,this.suppressReactionErrors=!1,this.useProxies=!0,this.verifyProxies=!1,this.safeDescriptors=!0},Ds=!0,Rs=!1,Ms=function(){var e=Pr();return e.__mobxInstanceCount>0&&!e.__mobxGlobals&&(Ds=!1),e.__mobxGlobals&&e.__mobxGlobals.version!==(new Ts).version&&(Ds=!1),Ds?e.__mobxGlobals?(e.__mobxInstanceCount+=1,e.__mobxGlobals.UNCHANGED||(e.__mobxGlobals.UNCHANGED={}),e.__mobxGlobals):(e.__mobxInstanceCount=1,e.__mobxGlobals=new Ts):(setTimeout(function(){Rs||Or(35)},1),new Ts)}();function $s(e,t){e.observers_.add(t),e.lowestObserverState_>t.dependenciesState_&&(e.lowestObserverState_=t.dependenciesState_)}function Bs(e,t){e.observers_.delete(t),0===e.observers_.size&&Fs(e)}function Fs(e){!1===e.isPendingUnobservation&&(e.isPendingUnobservation=!0,Ms.pendingUnobservations.push(e))}function Us(){Ms.inBatch++}function Vs(){if(0===--Ms.inBatch){Ws();for(var e=Ms.pendingUnobservations,t=0;t<e.length;t++){var n=e[t];n.isPendingUnobservation=!1,0===n.observers_.size&&(n.isBeingObserved&&(n.isBeingObserved=!1,n.onBUO()),n instanceof vs&&n.suspend_())}Ms.pendingUnobservations=[]}}function Hs(e){var t=Ms.trackingDerivation;return null!==t?(t.runId_!==e.lastAccessedBy_&&(e.lastAccessedBy_=t.runId_,t.newObserving_[t.unboundDepsCount_++]=e,!e.isBeingObserved&&Ms.trackingContext&&(e.isBeingObserved=!0,e.onBO())),e.isBeingObserved):(0===e.observers_.size&&Ms.inBatch>0&&Fs(e),!1)}function Ks(e){e.lowestObserverState_!==ws.STALE_&&(e.lowestObserverState_=ws.STALE_,e.observers_.forEach(function(e){e.dependenciesState_===ws.UP_TO_DATE_&&e.onBecomeStale_(),e.dependenciesState_=ws.STALE_}))}var Ys=function(){function e(e,t,n,a){void 0===e&&(e="Reaction"),this.name_=void 0,this.onInvalidate_=void 0,this.errorHandler_=void 0,this.requiresObservable_=void 0,this.observing_=[],this.newObserving_=[],this.dependenciesState_=ws.NOT_TRACKING_,this.runId_=0,this.unboundDepsCount_=0,this.flags_=0,this.isTracing_=js.NONE,this.name_=e,this.onInvalidate_=t,this.errorHandler_=n,this.requiresObservable_=a}var t=e.prototype;return t.onBecomeStale_=function(){this.schedule_()},t.schedule_=function(){this.isScheduled||(this.isScheduled=!0,Ms.pendingReactions.push(this),Ws())},t.runReaction_=function(){if(!this.isDisposed){Us(),this.isScheduled=!1;var e=Ms.trackingContext;if(Ms.trackingContext=this,zs(this)){this.isTrackPending=!0;try{this.onInvalidate_()}catch(e){this.reportExceptionInDerivation_(e)}}Ms.trackingContext=e,Vs()}},t.track=function(e){if(!this.isDisposed){Us(),this.isRunning=!0;var t=Ms.trackingContext;Ms.trackingContext=this;var n=Ss(this,e,void 0);Ms.trackingContext=t,this.isRunning=!1,this.isTrackPending=!1,this.isDisposed&&Es(this),Cs(n)&&this.reportExceptionInDerivation_(n.cause),Vs()}},t.reportExceptionInDerivation_=function(e){var t=this;if(this.errorHandler_)this.errorHandler_(e,this);else{if(Ms.disableErrorBoundaries)throw e;var n="[mobx] uncaught error in '"+this+"'";Ms.suppressReactionErrors||console.error(n,e),Ms.globalReactionErrorHandlers.forEach(function(n){return n(e,t)})}},t.dispose=function(){this.isDisposed||(this.isDisposed=!0,this.isRunning||(Us(),Es(this),Vs()))},t.getDisposer_=function(e){var t=this,n=function n(){t.dispose(),null==e||null==e.removeEventListener||e.removeEventListener("abort",n)};return null==e||null==e.addEventListener||e.addEventListener("abort",n),n[bi]=this,"dispose"in Symbol&&"symbol"==typeof Symbol.dispose&&(n[Symbol.dispose]=n),n},t.toString=function(){return"Reaction["+this.name_+"]"},t.trace=function(e){void 0===e&&(e=!1)},ci(e,[{key:"isDisposed",get:function(){return oi(this.flags_,e.isDisposedMask_)},set:function(t){this.flags_=ri(this.flags_,e.isDisposedMask_,t)}},{key:"isScheduled",get:function(){return oi(this.flags_,e.isScheduledMask_)},set:function(t){this.flags_=ri(this.flags_,e.isScheduledMask_,t)}},{key:"isTrackPending",get:function(){return oi(this.flags_,e.isTrackPendingMask_)},set:function(t){this.flags_=ri(this.flags_,e.isTrackPendingMask_,t)}},{key:"isRunning",get:function(){return oi(this.flags_,e.isRunningMask_)},set:function(t){this.flags_=ri(this.flags_,e.isRunningMask_,t)}},{key:"diffValue",get:function(){return oi(this.flags_,e.diffValueMask_)?1:0},set:function(t){this.flags_=ri(this.flags_,e.diffValueMask_,1===t)}}])}();Ys.isDisposedMask_=1,Ys.isScheduledMask_=2,Ys.isTrackPendingMask_=4,Ys.isRunningMask_=8,Ys.diffValueMask_=16;var qs=100,Qs=function(e){return e()};function Ws(){Ms.inBatch>0||Ms.isRunningReactions||Qs(Gs)}function Gs(){Ms.isRunningReactions=!0;for(var e=Ms.pendingReactions,t=0;e.length>0;){++t===qs&&(console.error("[mobx] cycle in reaction: "+e[0]),e.splice(0));for(var n=e.splice(0),a=0,o=n.length;a<o;a++)n[a].runReaction_()}Ms.isRunningReactions=!1}var Js=Gr("Reaction",Ys),Zs="action",Xs="autoAction",ec=zi(Zs),tc=zi("action.bound",{bound:!0}),nc=zi(Xs,{autoAction:!0}),ac=zi("autoAction.bound",{autoAction:!0,bound:!0});function oc(e){return function(t,n){return Vr(t)?gs(t.name||"<unnamed action>",t,e):Vr(n)?gs(t,n,e):yi(n)?(e?nc:ec).decorate_20223_(t,n):Hr(n)?gi(t,n,e?nc:ec):Hr(t)?fi(zi(e?Xs:Zs,{name:t,autoAction:e})):void 0}}var rc=oc(!1);Object.assign(rc,ec);var ic=oc(!0);function sc(e){return Vr(e)&&!0===e.isMobxAction}Object.assign(ic,nc),rc.bound=fi(tc),ic.bound=fi(ac);var cc=function(e){return e()};var lc="onBO",uc="onBUO";function dc(e,t,n){return pc(uc,e,t,n)}function pc(e,t,n,a){var o="function"==typeof a?wl(t,n):wl(t),r=Vr(a)?a:n,i=e+"L";return o[i]?o[i].add(r):o[i]=new Set([r]),function(){var e=o[i];e&&(e.delete(r),0===e.size&&delete o[i])}}var hc="always";function mc(e){!0===e.isolateGlobalState&&function(){if((Ms.pendingReactions.length||Ms.inBatch||Ms.isRunningReactions)&&Or(36),Rs=!0,Ds){var e=Pr();0===--e.__mobxInstanceCount&&(e.__mobxGlobals=void 0),Ms=new Ts}}();var t,n,a=e.useProxies,o=e.enforceActions;if(void 0!==a&&(Ms.useProxies=a===hc||"never"!==a&&"undefined"!=typeof Proxy),"ifavailable"===a&&(Ms.verifyProxies=!0),void 0!==o){var r=o===hc?hc:"observed"===o;Ms.enforceActions=r,Ms.allowStateChanges=!0!==r&&r!==hc}["computedRequiresReaction","reactionRequiresObservable","observableRequiresReaction","disableErrorBoundaries","safeDescriptors"].forEach(function(t){t in e&&(Ms[t]=!!e[t])}),Ms.allowStateReads=!Ms.observableRequiresReaction,e.reactionScheduler&&(t=e.reactionScheduler,n=Qs,Qs=function(e){return t(function(){return n(e)})})}function fc(e){var t,n={name:e.name_};return e.observing_&&e.observing_.length>0&&(n.dependencies=(t=e.observing_,Array.from(new Set(t))).map(fc)),n}var gc=0;function yc(){this.message="FLOW_CANCELLED"}yc.prototype=Object.create(Error.prototype);var bc=Pi("flow"),kc=Pi("flow.bound",{bound:!0}),vc=Object.assign(function(e,t){if(yi(t))return bc.decorate_20223_(e,t);if(Hr(t))return gi(e,t,bc);var n=e,a=n.name||"<unnamed flow>",o=function(){var e,t=arguments,o=++gc,r=rc(a+" - runid: "+o+" - init",n).apply(this,t),i=void 0,s=new Promise(function(t,n){var s=0;function c(e){var t;i=void 0;try{t=rc(a+" - runid: "+o+" - yield "+s++,r.next).call(r,e)}catch(e){return n(e)}u(t)}function l(e){var t;i=void 0;try{t=rc(a+" - runid: "+o+" - yield "+s++,r.throw).call(r,e)}catch(e){return n(e)}u(t)}function u(e){if(!Vr(null==e?void 0:e.then))return e.done?t(e.value):(i=Promise.resolve(e.value)).then(c,l);e.then(u,n)}e=n,c(void 0)});return s.cancel=rc(a+" - runid: "+o+" - cancel",function(){try{i&&wc(i);var t=r.return(void 0),n=Promise.resolve(t.value);n.then(Ur,Ur),wc(n),e(new yc)}catch(t){e(t)}}),s};return o.isMobXFlow=!0,o},bc);function wc(e){Vr(e.cancel)&&e.cancel()}function jc(e){return!0===(null==e?void 0:e.isMobXFlow)}function _c(e){return function(e,t){return!!e&&(void 0!==t?!!cl(e)&&e[bi].values_.has(t):cl(e)||!!e[bi]||vi(e)||Js(e)||_s(e))}(e)}function xc(e,t){void 0===t&&(t=void 0),Us();try{return e.apply(t)}finally{Vs()}}function Cc(e){return e[bi]}vc.bound=fi(kc);var zc={has:function(e,t){return Cc(e).has_(t)},get:function(e,t){return Cc(e).get_(t)},set:function(e,t,n){var a;return!!Hr(t)&&(null==(a=Cc(e).set_(t,n,!0))||a)},deleteProperty:function(e,t){var n;return!!Hr(t)&&(null==(n=Cc(e).delete_(t,!0))||n)},defineProperty:function(e,t,n){var a;return null==(a=Cc(e).defineProperty_(t,n))||a},ownKeys:function(e){return Cc(e).ownKeys_()},preventExtensions:function(e){Or(13)}};function Sc(e){return void 0!==e.interceptors_&&e.interceptors_.length>0}function Ec(e,t){var n=e.interceptors_||(e.interceptors_=[]);return n.push(t),Fr(function(){var e=n.indexOf(t);-1!==e&&n.splice(e,1)})}function Oc(e,t){var n=As();try{for(var a=[].concat(e.interceptors_||[]),o=0,r=a.length;o<r&&((t=a[o](t))&&!t.type&&Or(14),t);o++);return t}finally{Ps(n)}}function Ac(e){return void 0!==e.changeListeners_&&e.changeListeners_.length>0}function Pc(e,t){var n=e.changeListeners_||(e.changeListeners_=[]);return n.push(t),Fr(function(){var e=n.indexOf(t);-1!==e&&n.splice(e,1)})}function Ic(e,t){var n=As(),a=e.changeListeners_;if(a){for(var o=0,r=(a=a.slice()).length;o<r;o++)a[o](t);Ps(n)}}function Lc(e,t,n){return xl(function(){var a=rl(e,n)[bi];null!=t||(t=function(e){return ni(e,mi)||Qr(e,mi,ui({},e[mi])),e[mi]}(e)),ei(t).forEach(function(e){return a.make_(e,t[e])})}),e}var Nc="splice",Tc="update",Dc={get:function(e,t){var n=e[bi];return t===bi?n:"length"===t?n.getArrayLength_():"string"!=typeof t||isNaN(t)?ni($c,t)?$c[t]:e[t]:n.get_(parseInt(t))},set:function(e,t,n){var a=e[bi];return"length"===t&&a.setArrayLength_(n),"symbol"==typeof t||isNaN(t)?e[t]=n:a.set_(parseInt(t),n),!0},preventExtensions:function(){Or(15)}},Rc=function(){function e(e,t,n,a){void 0===e&&(e="ObservableArray"),this.owned_=void 0,this.legacyMode_=void 0,this.atom_=void 0,this.values_=[],this.interceptors_=void 0,this.changeListeners_=void 0,this.enhancer_=void 0,this.dehancer=void 0,this.proxy_=void 0,this.lastKnownLength_=0,this.owned_=n,this.legacyMode_=a,this.atom_=new ki(e),this.enhancer_=function(e,n){return t(e,n,"ObservableArray[..]")}}var t=e.prototype;return t.dehanceValue_=function(e){return void 0!==this.dehancer?this.dehancer(e):e},t.dehanceValues_=function(e){return void 0!==this.dehancer&&e.length>0?e.map(this.dehancer):e},t.intercept_=function(e){return Ec(this,e)},t.observe_=function(e,t){return void 0===t&&(t=!1),t&&e({observableKind:"array",object:this.proxy_,debugObjectName:this.atom_.name_,type:"splice",index:0,added:this.values_.slice(),addedCount:this.values_.length,removed:[],removedCount:0}),Pc(this,e)},t.getArrayLength_=function(){return this.atom_.reportObserved(),this.values_.length},t.setArrayLength_=function(e){("number"!=typeof e||isNaN(e)||e<0)&&Or("Out of range: "+e);var t=this.values_.length;if(e!==t)if(e>t){for(var n=new Array(e-t),a=0;a<e-t;a++)n[a]=void 0;this.spliceWithArray_(t,0,n)}else this.spliceWithArray_(e,t-e)},t.updateArrayLength_=function(e,t){e!==this.lastKnownLength_&&Or(16),this.lastKnownLength_+=t,this.legacyMode_&&t>0&&kl(e+t+1)},t.spliceWithArray_=function(e,t,n){var a=this;this.atom_;var o=this.values_.length;if(void 0===e?e=0:e>o?e=o:e<0&&(e=Math.max(0,o+e)),t=1===arguments.length?o-e:null==t?0:Math.max(0,Math.min(t,o-e)),void 0===n&&(n=Dr),Sc(this)){var r=Oc(this,{object:this.proxy_,type:Nc,index:e,removedCount:t,added:n});if(!r)return Dr;t=r.removedCount,n=r.added}if(n=0===n.length?n:n.map(function(e){return a.enhancer_(e,void 0)}),this.legacyMode_){var i=n.length-t;this.updateArrayLength_(o,i)}var s=this.spliceItemsIntoValues_(e,t,n);return 0===t&&0===n.length||this.notifyArraySplice_(e,n,s),this.dehanceValues_(s)},t.spliceItemsIntoValues_=function(e,t,n){var a;if(n.length<1e4)return(a=this.values_).splice.apply(a,[e,t].concat(n));var o=this.values_.slice(e,e+t),r=this.values_.slice(e+t);this.values_.length+=n.length-t;for(var i=0;i<n.length;i++)this.values_[e+i]=n[i];for(var s=0;s<r.length;s++)this.values_[e+n.length+s]=r[s];return o},t.notifyArrayChildUpdate_=function(e,t,n){var a=!this.owned_&&!1,o=Ac(this),r=o||a?{observableKind:"array",object:this.proxy_,type:Tc,debugObjectName:this.atom_.name_,index:e,newValue:t,oldValue:n}:null;this.atom_.reportChanged(),o&&Ic(this,r)},t.notifyArraySplice_=function(e,t,n){var a=!this.owned_&&!1,o=Ac(this),r=o||a?{observableKind:"array",object:this.proxy_,debugObjectName:this.atom_.name_,type:Nc,index:e,removed:n,added:t,removedCount:n.length,addedCount:t.length}:null;this.atom_.reportChanged(),o&&Ic(this,r)},t.get_=function(e){if(!(this.legacyMode_&&e>=this.values_.length))return this.atom_.reportObserved(),this.dehanceValue_(this.values_[e]);console.warn("[mobx] Out of bounds read: "+e)},t.set_=function(e,t){var n=this.values_;if(this.legacyMode_&&e>n.length&&Or(17,e,n.length),e<n.length){this.atom_;var a=n[e];if(Sc(this)){var o=Oc(this,{type:Tc,object:this.proxy_,index:e,newValue:t});if(!o)return;t=o.newValue}(t=this.enhancer_(t,a))!==a&&(n[e]=t,this.notifyArrayChildUpdate_(e,t,a))}else{for(var r=new Array(e+1-n.length),i=0;i<r.length-1;i++)r[i]=void 0;r[r.length-1]=t,this.spliceWithArray_(n.length,0,r)}},e}();function Mc(e,t,n,a){return void 0===n&&(n="ObservableArray"),void 0===a&&(a=!1),Br(),xl(function(){var o=new Rc(n,t,a,!1);Wr(o.values_,bi,o);var r=new Proxy(o.values_,Dc);return o.proxy_=r,e&&e.length&&o.spliceWithArray_(0,0,e),r})}var $c={clear:function(){return this.splice(0)},replace:function(e){var t=this[bi];return t.spliceWithArray_(0,t.values_.length,e)},toJSON:function(){return this.slice()},splice:function(e,t){for(var n=arguments.length,a=new Array(n>2?n-2:0),o=2;o<n;o++)a[o-2]=arguments[o];var r=this[bi];switch(arguments.length){case 0:return[];case 1:return r.spliceWithArray_(e);case 2:return r.spliceWithArray_(e,t)}return r.spliceWithArray_(e,t,a)},spliceWithArray:function(e,t,n){return this[bi].spliceWithArray_(e,t,n)},push:function(){for(var e=this[bi],t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];return e.spliceWithArray_(e.values_.length,0,n),e.values_.length},pop:function(){return this.splice(Math.max(this[bi].values_.length-1,0),1)[0]},shift:function(){return this.splice(0,1)[0]},unshift:function(){for(var e=this[bi],t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];return e.spliceWithArray_(0,0,n),e.values_.length},reverse:function(){return Ms.trackingDerivation&&Or(37,"reverse"),this.replace(this.slice().reverse()),this},sort:function(){Ms.trackingDerivation&&Or(37,"sort");var e=this.slice();return e.sort.apply(e,arguments),this.replace(e),this},remove:function(e){var t=this[bi],n=t.dehanceValues_(t.values_).indexOf(e);return n>-1&&(this.splice(n,1),!0)}};function Bc(e,t){"function"==typeof Array.prototype[e]&&($c[e]=t(e))}function Fc(e){return function(){var t=this[bi];t.atom_.reportObserved();var n=t.dehanceValues_(t.values_);return n[e].apply(n,arguments)}}function Uc(e){return function(t,n){var a=this,o=this[bi];return o.atom_.reportObserved(),o.dehanceValues_(o.values_)[e](function(e,o){return t.call(n,e,o,a)})}}function Vc(e){return function(){var t=this,n=this[bi];n.atom_.reportObserved();var a=n.dehanceValues_(n.values_),o=arguments[0];return arguments[0]=function(e,n,a){return o(e,n,a,t)},a[e].apply(a,arguments)}}Bc("at",Fc),Bc("concat",Fc),Bc("flat",Fc),Bc("includes",Fc),Bc("indexOf",Fc),Bc("join",Fc),Bc("lastIndexOf",Fc),Bc("slice",Fc),Bc("toString",Fc),Bc("toLocaleString",Fc),Bc("toSorted",Fc),Bc("toSpliced",Fc),Bc("with",Fc),Bc("every",Uc),Bc("filter",Uc),Bc("find",Uc),Bc("findIndex",Uc),Bc("findLast",Uc),Bc("findLastIndex",Uc),Bc("flatMap",Uc),Bc("forEach",Uc),Bc("map",Uc),Bc("some",Uc),Bc("toReversed",Uc),Bc("reduce",Vc),Bc("reduceRight",Vc);var Hc=Gr("ObservableArrayAdministration",Rc);function Kc(e){return Kr(e)&&Hc(e[bi])}var Yc={},qc="add",Qc="delete",Wc=function(){function e(e,t,n){var a=this;void 0===t&&(t=_i),void 0===n&&(n="ObservableMap"),this.enhancer_=void 0,this.name_=void 0,this[bi]=Yc,this.data_=void 0,this.hasMap_=void 0,this.keysAtom_=void 0,this.interceptors_=void 0,this.changeListeners_=void 0,this.dehancer=void 0,this.enhancer_=t,this.name_=n,Vr(Map)||Or(18),xl(function(){a.keysAtom_=wi("ObservableMap.keys()"),a.data_=new Map,a.hasMap_=new Map,e&&a.merge(e)})}var t=e.prototype;return t.has_=function(e){return this.data_.has(e)},t.has=function(e){var t=this;if(!Ms.trackingDerivation)return this.has_(e);var n=this.hasMap_.get(e);if(!n){var a=n=new ks(this.has_(e),xi,"ObservableMap.key?",!1);this.hasMap_.set(e,a),dc(a,function(){return t.hasMap_.delete(e)})}return n.get()},t.set=function(e,t){var n=this.has_(e);if(Sc(this)){var a=Oc(this,{type:n?Tc:qc,object:this,newValue:t,name:e});if(!a)return this;t=a.newValue}return n?this.updateValue_(e,t):this.addValue_(e,t),this},t.delete=function(e){var t=this;if(this.keysAtom_,Sc(this)&&!Oc(this,{type:Qc,object:this,name:e}))return!1;if(this.has_(e)){var n=Ac(this),a=n?{observableKind:"map",debugObjectName:this.name_,type:Qc,object:this,oldValue:this.data_.get(e).value_,name:e}:null;return xc(function(){var n;t.keysAtom_.reportChanged(),null==(n=t.hasMap_.get(e))||n.setNewValue_(!1),t.data_.get(e).setNewValue_(void 0),t.data_.delete(e)}),n&&Ic(this,a),!0}return!1},t.updateValue_=function(e,t){var n=this.data_.get(e);if((t=n.prepareNewValue_(t))!==Ms.UNCHANGED){var a=Ac(this),o=a?{observableKind:"map",debugObjectName:this.name_,type:Tc,object:this,oldValue:n.value_,name:e,newValue:t}:null;n.setNewValue_(t),a&&Ic(this,o)}},t.addValue_=function(e,t){var n=this;this.keysAtom_,xc(function(){var a,o=new ks(t,n.enhancer_,"ObservableMap.key",!1);n.data_.set(e,o),t=o.value_,null==(a=n.hasMap_.get(e))||a.setNewValue_(!0),n.keysAtom_.reportChanged()});var a=Ac(this),o=a?{observableKind:"map",debugObjectName:this.name_,type:qc,object:this,name:e,newValue:t}:null;a&&Ic(this,o)},t.get=function(e){return this.has(e)?this.dehanceValue_(this.data_.get(e).get()):this.dehanceValue_(void 0)},t.dehanceValue_=function(e){return void 0!==this.dehancer?this.dehancer(e):e},t.keys=function(){return this.keysAtom_.reportObserved(),this.data_.keys()},t.values=function(){var e=this,t=this.keys();return Jc({next:function(){var n=t.next(),a=n.done,o=n.value;return{done:a,value:a?void 0:e.get(o)}}})},t.entries=function(){var e=this,t=this.keys();return Jc({next:function(){var n=t.next(),a=n.done,o=n.value;return{done:a,value:a?void 0:[o,e.get(o)]}}})},t[Symbol.iterator]=function(){return this.entries()},t.forEach=function(e,t){for(var n,a=li(this);!(n=a()).done;){var o=n.value,r=o[0],i=o[1];e.call(t,i,r,this)}},t.merge=function(e){var t=this;return Gc(e)&&(e=new Map(e)),xc(function(){Yr(e)?function(e){var t=Object.keys(e);if(!Xr)return t;var n=Object.getOwnPropertySymbols(e);return n.length?[].concat(t,n.filter(function(t){return Tr.propertyIsEnumerable.call(e,t)})):t}(e).forEach(function(n){return t.set(n,e[n])}):Array.isArray(e)?e.forEach(function(e){var n=e[0],a=e[1];return t.set(n,a)}):Jr(e)?(function(e){var t=Object.getPrototypeOf(e),n=Object.getPrototypeOf(t);return null===Object.getPrototypeOf(n)}(e)||Or(19,e),e.forEach(function(e,n){return t.set(n,e)})):null!=e&&Or(20,e)}),this},t.clear=function(){var e=this;xc(function(){Os(function(){for(var t,n=li(e.keys());!(t=n()).done;){var a=t.value;e.delete(a)}})})},t.replace=function(e){var t=this;return xc(function(){for(var n,a=function(e){if(Jr(e)||Gc(e))return e;if(Array.isArray(e))return new Map(e);if(Yr(e)){var t=new Map;for(var n in e)t.set(n,e[n]);return t}return Or(21,e)}(e),o=new Map,r=!1,i=li(t.data_.keys());!(n=i()).done;){var s=n.value;if(!a.has(s))if(t.delete(s))r=!0;else{var c=t.data_.get(s);o.set(s,c)}}for(var l,u=li(a.entries());!(l=u()).done;){var d=l.value,p=d[0],h=d[1],m=t.data_.has(p);if(t.set(p,h),t.data_.has(p)){var f=t.data_.get(p);o.set(p,f),m||(r=!0)}}if(!r)if(t.data_.size!==o.size)t.keysAtom_.reportChanged();else for(var g=t.data_.keys(),y=o.keys(),b=g.next(),k=y.next();!b.done;){if(b.value!==k.value){t.keysAtom_.reportChanged();break}b=g.next(),k=y.next()}t.data_=o}),this},t.toString=function(){return"[object ObservableMap]"},t.toJSON=function(){return Array.from(this)},t.observe_=function(e,t){return Pc(this,e)},t.intercept_=function(e){return Ec(this,e)},ci(e,[{key:"size",get:function(){return this.keysAtom_.reportObserved(),this.data_.size}},{key:Symbol.toStringTag,get:function(){return"Map"}}])}(),Gc=Gr("ObservableMap",Wc);function Jc(e){return e[Symbol.toStringTag]="MapIterator",Pl(e)}var Zc={},Xc=function(){function e(e,t,n){var a=this;void 0===t&&(t=_i),void 0===n&&(n="ObservableSet"),this.name_=void 0,this[bi]=Zc,this.data_=new Set,this.atom_=void 0,this.changeListeners_=void 0,this.interceptors_=void 0,this.dehancer=void 0,this.enhancer_=void 0,this.name_=n,Vr(Set)||Or(22),this.enhancer_=function(e,a){return t(e,a,n)},xl(function(){a.atom_=wi(a.name_),e&&a.replace(e)})}var t=e.prototype;return t.dehanceValue_=function(e){return void 0!==this.dehancer?this.dehancer(e):e},t.clear=function(){var e=this;xc(function(){Os(function(){for(var t,n=li(e.data_.values());!(t=n()).done;){var a=t.value;e.delete(a)}})})},t.forEach=function(e,t){for(var n,a=li(this);!(n=a()).done;){var o=n.value;e.call(t,o,o,this)}},t.add=function(e){var t=this;if(this.atom_,Sc(this)){var n=Oc(this,{type:qc,object:this,newValue:e});if(!n)return this;e=n.newValue}if(!this.has(e)){xc(function(){t.data_.add(t.enhancer_(e,void 0)),t.atom_.reportChanged()});var a=Ac(this),o=a?{observableKind:"set",debugObjectName:this.name_,type:qc,object:this,newValue:e}:null;a&&Ic(this,o)}return this},t.delete=function(e){var t=this;if(Sc(this)&&!Oc(this,{type:Qc,object:this,oldValue:e}))return!1;if(this.has(e)){var n=Ac(this),a=n?{observableKind:"set",debugObjectName:this.name_,type:Qc,object:this,oldValue:e}:null;return xc(function(){t.atom_.reportChanged(),t.data_.delete(e)}),n&&Ic(this,a),!0}return!1},t.has=function(e){return this.atom_.reportObserved(),this.data_.has(this.dehanceValue_(e))},t.entries=function(){var e=this.values();return tl({next:function(){var t=e.next(),n=t.value,a=t.done;return a?{value:void 0,done:a}:{value:[n,n],done:a}}})},t.keys=function(){return this.values()},t.values=function(){this.atom_.reportObserved();var e=this,t=this.data_.values();return tl({next:function(){var n=t.next(),a=n.value,o=n.done;return o?{value:void 0,done:o}:{value:e.dehanceValue_(a),done:o}}})},t.intersection=function(e){return Zr(e)&&!el(e)?e.intersection(this):new Set(this).intersection(e)},t.union=function(e){return Zr(e)&&!el(e)?e.union(this):new Set(this).union(e)},t.difference=function(e){return new Set(this).difference(e)},t.symmetricDifference=function(e){return Zr(e)&&!el(e)?e.symmetricDifference(this):new Set(this).symmetricDifference(e)},t.isSubsetOf=function(e){return new Set(this).isSubsetOf(e)},t.isSupersetOf=function(e){return new Set(this).isSupersetOf(e)},t.isDisjointFrom=function(e){return Zr(e)&&!el(e)?e.isDisjointFrom(this):new Set(this).isDisjointFrom(e)},t.replace=function(e){var t=this;return el(e)&&(e=new Set(e)),xc(function(){Array.isArray(e)||Zr(e)?(t.clear(),e.forEach(function(e){return t.add(e)})):null!=e&&Or("Cannot initialize set from "+e)}),this},t.observe_=function(e,t){return Pc(this,e)},t.intercept_=function(e){return Ec(this,e)},t.toJSON=function(){return Array.from(this)},t.toString=function(){return"[object ObservableSet]"},t[Symbol.iterator]=function(){return this.values()},ci(e,[{key:"size",get:function(){return this.atom_.reportObserved(),this.data_.size}},{key:Symbol.toStringTag,get:function(){return"Set"}}])}(),el=Gr("ObservableSet",Xc);function tl(e){return e[Symbol.toStringTag]="SetIterator",Pl(e)}var nl=Object.create(null),al="remove",ol=function(){function e(e,t,n,a){void 0===t&&(t=new Map),void 0===a&&(a=Ki),this.target_=void 0,this.values_=void 0,this.name_=void 0,this.defaultAnnotation_=void 0,this.keysAtom_=void 0,this.changeListeners_=void 0,this.interceptors_=void 0,this.proxy_=void 0,this.isPlainObject_=void 0,this.appliedAnnotations_=void 0,this.pendingKeys_=void 0,this.target_=e,this.values_=t,this.name_=n,this.defaultAnnotation_=a,this.keysAtom_=new ki("ObservableObject.keys"),this.isPlainObject_=Yr(this.target_)}var t=e.prototype;return t.getObservablePropValue_=function(e){return this.values_.get(e).get()},t.setObservablePropValue_=function(e,t){var n=this.values_.get(e);if(n instanceof vs)return n.set(t),!0;if(Sc(this)){var a=Oc(this,{type:Tc,object:this.proxy_||this.target_,name:e,newValue:t});if(!a)return null;t=a.newValue}if((t=n.prepareNewValue_(t))!==Ms.UNCHANGED){var o=Ac(this),r=o?{type:Tc,observableKind:"object",debugObjectName:this.name_,object:this.proxy_||this.target_,oldValue:n.value_,name:e,newValue:t}:null;n.setNewValue_(t),o&&Ic(this,r)}return!0},t.get_=function(e){return Ms.trackingDerivation&&!ni(this.target_,e)&&this.has_(e),this.target_[e]},t.set_=function(e,t,n){return void 0===n&&(n=!1),ni(this.target_,e)?this.values_.has(e)?this.setObservablePropValue_(e,t):n?Reflect.set(this.target_,e,t):(this.target_[e]=t,!0):this.extend_(e,{value:t,enumerable:!0,writable:!0,configurable:!0},this.defaultAnnotation_,n)},t.has_=function(e){if(!Ms.trackingDerivation)return e in this.target_;this.pendingKeys_||(this.pendingKeys_=new Map);var t=this.pendingKeys_.get(e);return t||(t=new ks(e in this.target_,xi,"ObservableObject.key?",!1),this.pendingKeys_.set(e,t)),t.get()},t.make_=function(e,t){if(!0===t&&(t=this.defaultAnnotation_),!1!==t){if(!(e in this.target_)){var n;if(null!=(n=this.target_[mi])&&n[e])return;Or(1,t.annotationType_,this.name_+"."+e.toString())}for(var a=this.target_;a&&a!==Tr;){var o=Lr(a,e);if(o){var r=t.make_(this,e,o,a);if(0===r)return;if(1===r)break}a=Object.getPrototypeOf(a)}ll(this,0,e)}},t.extend_=function(e,t,n,a){if(void 0===a&&(a=!1),!0===n&&(n=this.defaultAnnotation_),!1===n)return this.defineProperty_(e,t,a);var o=n.extend_(this,e,t,a);return o&&ll(this,0,e),o},t.defineProperty_=function(e,t,n){void 0===n&&(n=!1),this.keysAtom_;try{Us();var a=this.delete_(e);if(!a)return a;if(Sc(this)){var o=Oc(this,{object:this.proxy_||this.target_,name:e,type:qc,newValue:t.value});if(!o)return null;var r=o.newValue;t.value!==r&&(t=ui({},t,{value:r}))}if(n){if(!Reflect.defineProperty(this.target_,e,t))return!1}else Nr(this.target_,e,t);this.notifyPropertyAddition_(e,t.value)}finally{Vs()}return!0},t.defineObservableProperty_=function(e,t,n,a){void 0===a&&(a=!1),this.keysAtom_;try{Us();var o=this.delete_(e);if(!o)return o;if(Sc(this)){var r=Oc(this,{object:this.proxy_||this.target_,name:e,type:qc,newValue:t});if(!r)return null;t=r.newValue}var i=sl(e),s={configurable:!Ms.safeDescriptors||this.isPlainObject_,enumerable:!0,get:i.get,set:i.set};if(a){if(!Reflect.defineProperty(this.target_,e,s))return!1}else Nr(this.target_,e,s);var c=new ks(t,n,"ObservableObject.key",!1);this.values_.set(e,c),this.notifyPropertyAddition_(e,c.value_)}finally{Vs()}return!0},t.defineComputedProperty_=function(e,t,n){void 0===n&&(n=!1),this.keysAtom_;try{Us();var a=this.delete_(e);if(!a)return a;if(Sc(this)&&!Oc(this,{object:this.proxy_||this.target_,name:e,type:qc,newValue:void 0}))return null;t.name||(t.name="ObservableObject.key"),t.context=this.proxy_||this.target_;var o=sl(e),r={configurable:!Ms.safeDescriptors||this.isPlainObject_,enumerable:!1,get:o.get,set:o.set};if(n){if(!Reflect.defineProperty(this.target_,e,r))return!1}else Nr(this.target_,e,r);this.values_.set(e,new vs(t)),this.notifyPropertyAddition_(e,void 0)}finally{Vs()}return!0},t.delete_=function(e,t){if(void 0===t&&(t=!1),this.keysAtom_,!ni(this.target_,e))return!0;if(Sc(this)&&!Oc(this,{object:this.proxy_||this.target_,name:e,type:al}))return null;try{var n;Us();var a,o=Ac(this),r=this.values_.get(e),i=void 0;if(!r&&o&&(i=null==(a=Lr(this.target_,e))?void 0:a.value),t){if(!Reflect.deleteProperty(this.target_,e))return!1}else delete this.target_[e];if(r&&(this.values_.delete(e),r instanceof ks&&(i=r.value_),Ks(r)),this.keysAtom_.reportChanged(),null==(n=this.pendingKeys_)||null==(n=n.get(e))||n.set(e in this.target_),o){var s={type:al,observableKind:"object",object:this.proxy_||this.target_,debugObjectName:this.name_,oldValue:i,name:e};o&&Ic(this,s)}}finally{Vs()}return!0},t.observe_=function(e,t){return Pc(this,e)},t.intercept_=function(e){return Ec(this,e)},t.notifyPropertyAddition_=function(e,t){var n,a=Ac(this);if(a){var o=a?{type:qc,observableKind:"object",debugObjectName:this.name_,object:this.proxy_||this.target_,name:e,newValue:t}:null;a&&Ic(this,o)}null==(n=this.pendingKeys_)||null==(n=n.get(e))||n.set(!0),this.keysAtom_.reportChanged()},t.ownKeys_=function(){return this.keysAtom_.reportObserved(),ei(this.target_)},t.keys_=function(){return this.keysAtom_.reportObserved(),Object.keys(this.target_)},e}();function rl(e,t){var n;if(ni(e,bi))return e;var a=null!=(n=null==t?void 0:t.name)?n:"ObservableObject",o=new ol(e,new Map,String(a),function(e){var t;return e?null!=(t=e.defaultDecorator)?t:Yi(e):void 0}(t));return Qr(e,bi,o),e}var il=Gr("ObservableObjectAdministration",ol);function sl(e){return nl[e]||(nl[e]={get:function(){return this[bi].getObservablePropValue_(e)},set:function(t){return this[bi].setObservablePropValue_(e,t)}})}function cl(e){return!!Kr(e)&&il(e[bi])}function ll(e,t,n){var a;null==(a=e.target_[mi])||delete a[n]}var ul,dl,pl=yl(0),hl=function(){var e=!1,t={};return Object.defineProperty(t,"0",{set:function(){e=!0}}),Object.create(t)[0]=1,!1===e}(),ml=0,fl=function(){};ul=fl,dl=Array.prototype,Object.setPrototypeOf?Object.setPrototypeOf(ul.prototype,dl):void 0!==ul.prototype.__proto__?ul.prototype.__proto__=dl:ul.prototype=dl;var gl=function(e){function t(t,n,a,o){var r;return void 0===a&&(a="ObservableArray"),void 0===o&&(o=!1),r=e.call(this)||this,xl(function(){var e=new Rc(a,n,o,!0);e.proxy_=r,Wr(r,bi,e),t&&t.length&&r.spliceWithArray(0,0,t),hl&&Object.defineProperty(r,"0",pl)}),r}di(t,e);var n=t.prototype;return n.concat=function(){this[bi].atom_.reportObserved();for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return Array.prototype.concat.apply(this.slice(),t.map(function(e){return Kc(e)?e.slice():e}))},n[Symbol.iterator]=function(){var e=this,t=0;return Pl({next:function(){return t<e.length?{value:e[t++],done:!1}:{done:!0,value:void 0}}})},ci(t,[{key:"length",get:function(){return this[bi].getArrayLength_()},set:function(e){this[bi].setArrayLength_(e)}},{key:Symbol.toStringTag,get:function(){return"Array"}}])}(fl);function yl(e){return{enumerable:!1,configurable:!0,get:function(){return this[bi].get_(e)},set:function(t){this[bi].set_(e,t)}}}function bl(e){Nr(gl.prototype,""+e,yl(e))}function kl(e){if(e>ml){for(var t=ml;t<e+100;t++)bl(t);ml=e}}function vl(e,t,n){return new gl(e,t,n)}function wl(e,t){if("object"==typeof e&&null!==e){if(Kc(e))return void 0!==t&&Or(23),e[bi].atom_;if(el(e))return e.atom_;if(Gc(e)){if(void 0===t)return e.keysAtom_;var n=e.data_.get(t)||e.hasMap_.get(t);return n||Or(25,t,_l(e)),n}if(cl(e)){if(!t)return Or(26);var a=e[bi].values_.get(t);return a||Or(27,t,_l(e)),a}if(vi(e)||_s(e)||Js(e))return e}else if(Vr(e)&&Js(e[bi]))return e[bi];Or(28)}function jl(e,t){return e||Or(29),void 0!==t?jl(wl(e,t)):vi(e)||_s(e)||Js(e)||Gc(e)||el(e)?e:e[bi]?e[bi]:void Or(24,e)}function _l(e,t){var n;if(void 0!==t)n=wl(e,t);else{if(sc(e))return e.name;n=cl(e)||Gc(e)||el(e)?jl(e):wl(e)}return n.name_}function xl(e){var t=As(),n=ys(!0);Us();try{return e()}finally{Vs(),bs(n),Ps(t)}}Object.entries($c).forEach(function(e){var t=e[0],n=e[1];"concat"!==t&&Qr(gl.prototype,t,n)}),kl(1e3);var Cl,zl=Tr.toString;function Sl(e,t,n){return void 0===n&&(n=-1),El(e,t,n)}function El(e,t,n,a,o){if(e===t)return 0!==e||1/e==1/t;if(null==e||null==t)return!1;if(e!=e)return t!=t;var r=typeof e;if("function"!==r&&"object"!==r&&"object"!=typeof t)return!1;var i=zl.call(e);if(i!==zl.call(t))return!1;switch(i){case"[object RegExp]":case"[object String]":return""+e==""+t;case"[object Number]":return+e!=+e?+t!=+t:0===+e?1/+e==1/t:+e===+t;case"[object Date]":case"[object Boolean]":return+e===+t;case"[object Symbol]":return"undefined"!=typeof Symbol&&Symbol.valueOf.call(e)===Symbol.valueOf.call(t);case"[object Map]":case"[object Set]":n>=0&&n++}e=Ol(e),t=Ol(t);var s="[object Array]"===i;if(!s){if("object"!=typeof e||"object"!=typeof t)return!1;var c=e.constructor,l=t.constructor;if(c!==l&&!(Vr(c)&&c instanceof c&&Vr(l)&&l instanceof l)&&"constructor"in e&&"constructor"in t)return!1}if(0===n)return!1;n<0&&(n=-1),o=o||[];for(var u=(a=a||[]).length;u--;)if(a[u]===e)return o[u]===t;if(a.push(e),o.push(t),s){if((u=e.length)!==t.length)return!1;for(;u--;)if(!El(e[u],t[u],n-1,a,o))return!1}else{var d=Object.keys(e),p=d.length;if(Object.keys(t).length!==p)return!1;for(var h=0;h<p;h++){var m=d[h];if(!ni(t,m)||!El(e[m],t[m],n-1,a,o))return!1}}return a.pop(),o.pop(),!0}function Ol(e){return Kc(e)?e.slice():Jr(e)||Gc(e)||Zr(e)||el(e)?Array.from(e.entries()):e}var Al=(null==(Cl=Pr().Iterator)?void 0:Cl.prototype)||{};function Pl(e){return e[Symbol.iterator]=Il,Object.assign(Object.create(Al),e)}function Il(){return this}if(["Symbol","Map","Set"].forEach(function(e){void 0===Pr()[e]&&Or("MobX requires global '"+e+"' to be available or polyfilled")}),"object"==typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:function(e){return console.warn("[mobx.spy] Is a no-op in production builds"),function(){}},extras:{getDebugName:_l},$mobx:bi}),!On.useState)throw new Error("mobx-react-lite requires React with Hooks support");if(!Lc)throw new Error("mobx-react-lite@3 requires mobx at least version 6 to be available");var Ll=n(316);function Nl(e){e()}function Tl(e){return fc(wl(e,t));var t}var Dl,Rl,Ml=function(){function e(e){var t=this;Object.defineProperty(this,"finalize",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"registrations",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"sweepTimeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"sweep",{enumerable:!0,configurable:!0,writable:!0,value:function(e){void 0===e&&(e=1e4),clearTimeout(t.sweepTimeout),t.sweepTimeout=void 0;var n=Date.now();t.registrations.forEach(function(a,o){n-a.registeredAt>=e&&(t.finalize(a.value),t.registrations.delete(o))}),t.registrations.size>0&&t.scheduleSweep()}}),Object.defineProperty(this,"finalizeAllImmediately",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.sweep(0)}})}return Object.defineProperty(e.prototype,"register",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,n){this.registrations.set(n,{value:t,registeredAt:Date.now()}),this.scheduleSweep()}}),Object.defineProperty(e.prototype,"unregister",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.registrations.delete(e)}}),Object.defineProperty(e.prototype,"scheduleSweep",{enumerable:!1,configurable:!0,writable:!0,value:function(){void 0===this.sweepTimeout&&(this.sweepTimeout=setTimeout(this.sweep,1e4))}}),e}(),$l=new("undefined"!=typeof FinalizationRegistry?FinalizationRegistry:Ml)(function(e){var t;null===(t=e.reaction)||void 0===t||t.dispose(),e.reaction=null}),Bl=n(98);function Fl(e){e.reaction=new Ys("observer".concat(e.name),function(){var t;e.stateVersion=Symbol(),null===(t=e.onStoreChange)||void 0===t||t.call(e)})}var Ul="function"==typeof Symbol&&Symbol.for,Vl=null!==(Rl=null===(Dl=Object.getOwnPropertyDescriptor(function(){},"name"))||void 0===Dl?void 0:Dl.configurable)&&void 0!==Rl&&Rl,Hl=Ul?Symbol.for("react.forward_ref"):"function"==typeof On.forwardRef&&(0,On.forwardRef)(function(e){return null}).$$typeof,Kl=Ul?Symbol.for("react.memo"):"function"==typeof On.memo&&(0,On.memo)(function(e){return null}).$$typeof;function Yl(e,t){var n;if(Kl&&e.$$typeof===Kl)throw new Error("[mobx-react-lite] You are trying to use `observer` on a function component wrapped in either another `observer` or `React.memo`. The observer already applies 'React.memo' for you.");var a=null!==(n=null==t?void 0:t.forwardRef)&&void 0!==n&&n,o=e,r=e.displayName||e.name;if(Hl&&e.$$typeof===Hl&&(a=!0,"function"!=typeof(o=e.render)))throw new Error("[mobx-react-lite] `render` property of ForwardRef was not a function");var i,s,c=function(e,t){return function(e,t){void 0===t&&(t="observed");var n=On.useRef(null);if(!n.current){var a={reaction:null,onStoreChange:null,stateVersion:Symbol(),name:t,subscribe:function(e){return $l.unregister(a),a.onStoreChange=e,a.reaction||(Fl(a),a.stateVersion=Symbol()),function(){var e;a.onStoreChange=null,null===(e=a.reaction)||void 0===e||e.dispose(),a.reaction=null}},getSnapshot:function(){return a.stateVersion}};n.current=a}var o,r,i=n.current;if(i.reaction||(Fl(i),$l.register(n,i,i)),On.useDebugValue(i.reaction,Tl),(0,Bl.useSyncExternalStore)(i.subscribe,i.getSnapshot,i.getSnapshot),i.reaction.track(function(){try{o=e()}catch(e){r=e}}),r)throw r;return o}(function(){return o(e,t)},r)};return c.displayName=e.displayName,Vl&&Object.defineProperty(c,"name",{value:e.name,writable:!0,configurable:!0}),e.contextTypes&&(c.contextTypes=e.contextTypes),a&&(c=(0,On.forwardRef)(c)),c=(0,On.memo)(c),i=e,s=c,Object.keys(i).forEach(function(e){ql[e]||Object.defineProperty(s,e,Object.getOwnPropertyDescriptor(i,e))}),c}var ql={$$typeof:!0,render:!0,compare:!0,type:!0,displayName:!0};function Ql(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}!function(e){e||(e=Nl),mc({reactionScheduler:e})}(Ll.unstable_batchedUpdates),$l.finalizeAllImmediately;var Wl=Symbol("patchMixins"),Gl=Symbol("patchedDefinition");function Jl(e,t){for(var n=this,a=arguments.length,o=new Array(a>2?a-2:0),r=2;r<a;r++)o[r-2]=arguments[r];t.locks++;try{var i;return null!=e&&(i=e.apply(this,o)),i}finally{t.locks--,0===t.locks&&t.methods.forEach(function(e){e.apply(n,o)})}}function Zl(e,t){return function(){for(var n=arguments.length,a=new Array(n),o=0;o<n;o++)a[o]=arguments[o];Jl.call.apply(Jl,[this,e,t].concat(a))}}function Xl(e,t,n){var a=function(e,t){var n=e[Wl]=e[Wl]||{},a=n[t]=n[t]||{};return a.locks=a.locks||0,a.methods=a.methods||[],a}(e,t);a.methods.indexOf(n)<0&&a.methods.push(n);var o=Object.getOwnPropertyDescriptor(e,t);if(!o||!o[Gl]){var r=e[t],i=eu(e,t,o?o.enumerable:void 0,a,r);Object.defineProperty(e,t,i)}}function eu(e,t,n,a,o){var r,i=Zl(o,a);return(r={})[Gl]=!0,r.get=function(){return i},r.set=function(o){if(this===e)i=Zl(o,a);else{var r=eu(this,t,n,a,o);Object.defineProperty(this,t,r)}},r.configurable=!0,r.enumerable=n,r}var tu=Symbol("ObserverAdministration"),nu=Symbol("isMobXReactObserver");function au(e){var t;return null!=(t=e[tu])?t:e[tu]={reaction:null,mounted:!1,reactionInvalidatedBeforeMount:!1,forceUpdate:null,name:ou(e.constructor),state:void 0,props:void 0,context:void 0}}function ou(e){return e.displayName||e.name||"<component>"}function ru(e){var t=e.bind(this),n=au(this);return function(){n.reaction||(n.reaction=function(e){return new Ys(e.name+".render()",function(){if(e.mounted)try{null==e.forceUpdate||e.forceUpdate()}catch(n){var t;null==(t=e.reaction)||t.dispose(),e.reaction=null}else e.reactionInvalidatedBeforeMount=!0})}(n),n.mounted||$l.register(this,n,this));var e=void 0,a=void 0;if(n.reaction.track(function(){try{a=function(e,t){var n=ys(e);try{return t()}finally{bs(n)}}(!1,t)}catch(t){e=t}}),e)throw e;return a}}function iu(e,t){return this.state!==t||!function(e,t){if(Ql(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),a=Object.keys(t);if(n.length!==a.length)return!1;for(var o=0;o<n.length;o++)if(!Object.hasOwnProperty.call(t,n[o])||!Ql(e[n[o]],t[n[o]]))return!1;return!0}(this.props,e)}function su(e,t){if(t&&"class"!==t.kind)throw new Error("The @observer decorator can be used on classes only");return!0===e.isMobxInjector&&console.warn("Mobx observer: You are trying to use `observer` on a component that already has `inject`. Please apply `observer` before applying `inject`"),Object.prototype.isPrototypeOf.call(On.Component,e)||Object.prototype.isPrototypeOf.call(On.PureComponent,e)?function(e){var t=e.prototype;if(e[nu]){var n=ou(e);throw new Error("The provided component class ("+n+") has already been declared as an observer component.")}if(e[nu]=!0,t.componentWillReact)throw new Error("The componentWillReact life-cycle event is no longer supported");if(e.__proto__!==On.PureComponent)if(t.shouldComponentUpdate){if(t.shouldComponentUpdate!==iu)throw new Error("It is not allowed to use shouldComponentUpdate in observer based components.")}else t.shouldComponentUpdate=iu;var a=t.render;if("function"!=typeof a){var o=ou(e);throw new Error("[mobx-react] class component ("+o+") is missing `render` method.\n`observer` requires `render` being a function defined on prototype.\n`render = () => {}` or `render = function() {}` is not supported.")}t.render=function(){return Object.defineProperty(this,"render",{configurable:!1,writable:!1,value:ru.call(this,a)}),this.render()};var r=t.componentDidMount;return t.componentDidMount=function(){var e=this,t=au(this);return t.mounted=!0,$l.unregister(this),t.forceUpdate=function(){return e.forceUpdate()},t.reaction&&!t.reactionInvalidatedBeforeMount||t.forceUpdate(),null==r?void 0:r.apply(this,arguments)},Xl(t,"componentWillUnmount",function(){var e,t=au(this);null==(e=t.reaction)||e.dispose(),t.reaction=null,t.forceUpdate=null,t.mounted=!1,t.reactionInvalidatedBeforeMount=!1}),e}(e):Yl(e)}if(On.version.split(".")[0],!On.Component)throw new Error("mobx-react requires React to be available");if(!ss)throw new Error("mobx-react requires mobx to be available");const cu=new class{offersById=new Map;constructor(){this.clear=this.clear.bind(this),this.initializeOfferById=this.initializeOfferById.bind(this),this.updateOfferDirectoInfo=this.updateOfferDirectoInfo.bind(this),this.updateOfferDisplayPrices=this.updateOfferDisplayPrices.bind(this),this.updateOfferAlternativeOffers=this.updateOfferAlternativeOffers.bind(this),this.updateOfferListingPrice=this.updateOfferListingPrice.bind(this),Lc(this,{offersById:ss,clear:rc,initializeOfferById:rc,updateOfferDirectoInfo:rc,updateOfferDisplayPrices:rc,updateOfferAlternativeOffers:rc,updateOfferListingPrice:rc})}clear(){this.offersById.clear()}initializeOfferById(e){this.offersById.has(e)||this.offersById.set(e,{directoInfo:{type:"loading"},displayPrices:{type:"loading"},listingPrice:{type:"loading"},alternativeOffers:{type:"loading"}})}updateOfferDirectoInfo(e,t){const n=this.offersById.get(e);if(!n)throw new Error(`Offer ${e} not initialized`);this.offersById.set(e,{...n,directoInfo:t})}updateOfferDisplayPrices(e,t){const n=this.offersById.get(e);if(!n)throw new Error(`Offer ${e} not initialized`);this.offersById.set(e,{...n,displayPrices:t})}updateOfferAlternativeOffers(e,t){const n=this.offersById.get(e);if(!n)throw new Error(`Offer ${e} not initialized`);this.offersById.set(e,{...n,alternativeOffers:t})}updateOfferListingPrice(e,t){const n=this.offersById.get(e);if(!n)throw new Error(`Offer ${e} not initialized`);this.offersById.set(e,{...n,listingPrice:t})}};function lu(e,t){return"loading"===e.type||"error"===e.type?t:e.data}function uu(e,t){return"error"===e.type?t:e.data}function du(e){return{type:"loaded",data:e}}function pu(e){return{type:"error"}}const hu=({icon:e,text:t,check:n})=>(0,Sn.jsxs)("div",{className:"directo_popover__bullet-point "+(n?"":"directo_popover__bullet-text-disabled"),children:[e,(0,Sn.jsx)("span",{className:"directo_popover__bullet-text",children:t}),n&&(0,Sn.jsx)("span",{className:"directo_popover__bullet-check",children:"✓"})]}),mu=su(({item:e})=>{const t=lu(cu.offersById.get(e.source_id)?.displayPrices??du(null),null),n=!!e.discount||!!t?.thereIsDiscount,a=!!e.coupon,o=e.score&&e.score>50?Math.ceil((e.score||0)/10):0,r=[{icon:(0,Sn.jsx)(zr,{style:{height:16,width:16}}),text:Cn("secondary_cta.popover.coupon.text_checked"),check:a,hide:!a},{icon:(0,Sn.jsx)(xr,{style:{height:16,width:16}}),text:n?Cn("secondary_cta.popover.discount.text_checked",{discount:e.discount}):Cn("secondary_cta.popover.discount.text_unchecked"),check:n},{icon:(0,Sn.jsx)(wr,{style:{height:16,width:16}}),text:o?Cn("secondary_cta.popover.feedback.text_checked",{positiveFeedback:o}):Cn("secondary_cta.popover.feedback.text_unchecked"),check:!!o}];return!Do(e.directo_url)&&r.unshift({icon:(0,Sn.jsx)(Cr,{style:{height:16,width:16}}),text:Cn("secondary_cta.popover.support_hotel"),check:!0}),(0,Sn.jsx)("div",{className:"directo_popover__bullet-points",children:(i=r,s="check",c="desc",null==i?[]:(Ae(s)||(s=null==s?[]:[s]),Ae(c=l?void 0:c)||(c=null==c?[]:[c]),gr(i,s,c))).map((e,t)=>!e.hide&&(0,Sn.jsx)(hu,{...e},t))});var i,s,c,l}),fu=({item:e})=>{const t=e.directo_url?jn(e.directo_url):"";return(0,Sn.jsxs)(Sn.Fragment,{children:[(0,Sn.jsxs)("div",{className:"directo_popover__header",children:[(0,Sn.jsxs)("div",{className:"directo_popover__header-text",children:[Cn("secondary_cta.popover.header.text")," ",(0,Sn.jsx)(vr,{className:"directo_popover__directo-logo"}),"irecto"]}),(0,Sn.jsx)("div",{className:"directo_popover__domain",children:(0,Sn.jsx)("span",{className:"directo_popover__domain-text",children:t})})]}),(0,Sn.jsx)(mu,{item:e})]})},gu={USD:1,EUR:.92,GBP:.79,CAD:1.35,AUD:1.54,CHF:.89,JPY:149.5,NOK:10.8,SEK:10.7,DKK:6.9,PLN:4.1,BRL:5,INR:83.2,ARS:350,CLP:880,COP:4100,MXN:17.5,PEN:3.8,UYU:39.5};function yu(e){return gu[e]||1}function bu(e){try{return!!(e.displayedDirectoPrice&&e.displayedOtaPrice&&e.thereIsDiscount&&e.displayedCurrency)&&(t=e.displayedOtaPrice,n=e.displayedDirectoPrice,Math.round((t-n)/((t+n)/2)*100)>=2)}catch(e){return!1}var t,n}function ku(e,t){return e.toLocaleString(qt(),{style:"currency",currency:t,currencyDisplay:"symbol",minimumFractionDigits:0})}function vu(e){if(Number.isNaN(e.otaTotalPrice)||Number.isNaN(e.directoPrice)||e.otaTotalPrice<=0||e.directoPrice<=0)return null;const t=e.directoIsNightly?e.lengthOfStay?e.directoPrice*e.lengthOfStay:null:e.directoPrice;if(null===t)return null;const{price1:n,price2:a}=function(e,t,n,a,o){const r=e/yu(t),i=n/yu(a),s=yu(o);return{price1:r*s,price2:i*s,currency:o}}(e.otaTotalPrice,e.otaCurrency,t,e.directoCurrency,e.displayCurrency),o=qa(n),r=qa(a),i=Math.max(o-r,0),s=i>0;return{displayedOtaPrice:o,displayedDirectoPrice:r,displayedPriceDifference:i,displayedCurrency:e.displayCurrency,thereIsDiscount:s}}const wu=Date.now(),ju=function(){let e="";let t=0;for(;t<14;)e+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".charAt(Math.floor(62*Math.random())),t+=1;return e}();async function _u(){const{hostname:e}=new URL(window.location.href);return{engagement_time_msec:""+(Date.now()-wu),session_id:ju,user_id_dimension:await Ha(),platform:(Zn(window.location.href)||e).toLowerCase(),page_location:window.location.href,page_title:window.document.title,page_referrer:window.document.referrer,language:window.navigator.language,screen_resolution:`${window.screen.availHeight}x${window.screen.availWidth}`}}async function xu(){return{user_id:await Ha(),client_id:"GTM-PQTC3VG"}}async function Cu(e){return{events:e,...await xu()}}async function zu(e,t={}){return{name:e,params:{...await _u(),...t}}}function Su(e){if(e.status>=200&&e.status<300)return e;throw new Error(e.statusText)}function Eu(e,t){const n=function(e){const t=new URL(`https://www.google-analytics.com${e}`);return Object.entries({api_secret:"GE9ObhGLSdmUus1uyoSEaw",measurement_id:"G-KXK74ZXW09"}).forEach(([e,n])=>{if(Array.isArray(n)&&n.length)return n.forEach(n=>t.searchParams.append(e,n));t.searchParams.append(e,n)}),t}(e);return fetch(n.toString(),{body:JSON.stringify(t),method:"POST"}).then(Su).catch(console.error)}const Ou=(e="/mp/collect")=>({async pageView(t,n={}){const a=await zu("page_view",{page_location:t,...n}),o=await Cu([a]);return Eu(e,o)},async event(t,n={}){const a=await zu(t,n),o=await Cu([a]);return Eu(e,o)},async exception(t={}){const n=await zu("exception",t),a=await Cu([n]);return Eu(e,a)}}),Au=Ou(),Pu="click_out_ext_secondary";function Iu({className:e,displayPrices:t,item:n,cta:a}){const o=t&&!!t.displayedDirectoPrice&&!!t.displayedOtaPrice&&bu(t),r=o?Cn("secondary_cta.save",{price:ku(t.displayedPriceDifference,t.displayedCurrency)}):function(e){const t=e.directo_url?jn(e.directo_url):"";return e.discount?"reservation.barcelo.com"===t?Cn("secondary_cta.book_with_discount_barcelo"):Cn("secondary_cta.book_with_discount",{discount:e.discount}):Cn("secondary_cta.compare_price")}(n),i=o||n.discount;return(0,Sn.jsxs)("button",{onClick:e=>{const t=To(n.directo_url);Au.event(Pu,{outbound_url:t}),Vh.navigateToDirectLink(t,a,{parametrised:n.stay_parametrised,sourceId:n.source_id,coupon:n.coupon,verified:n.verified,discount:n.discount,stayParams:n.stayParams}),e.stopPropagation()},className:Pa(e,i?"directo-cta-button-shine":"directo-cta-button-dark"),disabled:!n.directo_url,children:[i?(0,Sn.jsx)(kr,{}):(0,Sn.jsx)(br,{}),r,(0,Sn.jsx)(jr,{})]})}const Lu="\n.directo-cta-button-shine:hover {\n background-color: #edb602;\n}\n\n.directo-cta-button-shine {\n white-space: nowrap;\n font-weight: 600;\n width: 100%;\n min-height: 36px;\n cursor: pointer;\n border-width: 1px;\n border-color: rgb(0 0 0 / 0.1);\n border-radius: 4px;\n padding: 4px 12px;\n background-color: #FDC307;\n display: flex;\n gap: 0.5rem;\n justify-content: space-between;\n align-items: center;\n color: #000141;\n position: relative;\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n.directo-cta-button-shine {\n overflow: hidden;\n}\n\n.directo-cta-button-shine::before {\n background: linear-gradient(to right, rgba(216, 182, 182, 0) 0%, #ffffffbe);\n content: '';\n display: block;\n height: 100%;\n left: -75%;\n position: absolute;\n top: 0;\n transform: skewX(-25deg);\n width: 50%;\n z-index: 2;\n -webkit-animation: shine 2s ease-in-out infinite;\n animation: shine 2s ease-in-out infinite;\n}\n\n@keyframes shine {\n 100% {\n left: 125%;\n }\n}\n\n.directo-cta-button-dark {\n white-space: nowrap;\n font-weight: 600;\n width: 100%;\n min-height: 36px;\n cursor: pointer;\n border-width: 1px;\n border-color: rgb(0 0 0 / 0.1);\n border-radius: 4px;\n padding: 4px 12px;\n background-color: #000141;\n display: flex;\n gap: 0.5rem;\n justify-content: space-between;\n align-items: center;\n color: #ffffff;\n position: relative;\n}\n",Nu="\n.secondary-button {\n position: relative;\n width: 100%;\n border: none;\n outline: none;\n color: white;\n cursor: pointer;\n border-radius: 5px;\n font-size: 14px;\n font-weight: bold;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n}\n\n.secondary-button:before{\n position: absolute;\n content: '';\n top: -2px;\n left: -2px;\n height: calc(100% + 4px);\n width: calc(100% + 4px);\n border-radius: 5px;\n z-index: -1;\n opacity: 1;\n filter: blur(5px);\n background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000);\n background-size: 400%;\n transition: opacity 1s ease-in-out;\n animation: animate 20s linear infinite;\n z-index: 1;\n}\n\n.secondary-button:hover:before{\n opacity: 1;\n}\n\n.secondary-button:hover:active{\n background: none;\n}\n\n.secondary-button:hover:active:before{\n filter: blur(2px);\n}\n\n@keyframes animate {\n 0% { background-position: 0 0; }\n 50% { background-position: 400% 0; }\n 100% { background-position: 0 0; }\n}\n\n.secondary-button-span {\n z-index: 2;\n position: relative;\n display: flex;\n align-items: center;\n gap: 6px;\n /*background: radial-gradient(85.26% 304.19% at 109.77% -9.38%, #1E40AF 0%, #172554 100%);*/\n background: rgba(0,0,0,.5);\n padding: 8px 12px;\n width: 100%;\n border-radius: 4px;\n justify-content: center;\n transition: background .2s ease-in-out;\n white-space: nowrap;\n}\n\n.secondary-button-span:hover {\n background: rgba(0, 0, 0, .8);\n}\n\n.secondary-button-container {\n padding: 4px;\n background: rgba(0,0,0,.5);\n border-radius: 8px;\n width: 100%;\n}\n";function Tu(e){return(0,Sn.jsxs)("div",{className:"popover","data-direction":"top",children:[(0,Sn.jsx)("div",{className:"popover__trigger",children:e.children}),(0,Sn.jsx)("div",{className:"popover__content",children:e.popover})]})}const Du="\n.popover {\n position: relative;\n z-index: auto;\n}\n\n.popover__content {\n position: absolute;\n min-width: 130px;\n // width: 362px;\n width: 300px;\n text-align: left;\n display: flex;\n padding: 1rem; /* p-4 */\n visibility: hidden;\n overflow: hidden;\n opacity: 0;\n background: white;\n transition: all 0.25s cubic-bezier(0, 0, 0.2, 1);\n color: #0f172a;\n border-radius: 0.5rem; /* Tailwind rounded-lg */\n font-weight: 500;\n box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1),\n 0 4px 6px -2px rgba(0, 0, 0, 0.05);\n z-index: 999999999;\n flex-direction: column;\n gap: 0.5rem; /* gap-2 */\n align-items: flex-start;\n background-color: #ffffff;\n\n /* Needed to prevent some element (like images) inside popover breaking mouse interactions,\n since they are only visually hidden but still present and breaking hover, clicks, etc. */\n pointer-events: none;\n}\n\n.popover__trigger {\n cursor: pointer;\n z-index: 5;\n}\n\n.popover[data-direction=top] .popover__trigger:hover ~ .popover__content {\n transform: translate3d(-50%, 0, 0);\n visibility: visible;\n opacity: 1;\n}\n.popover[data-direction=top] .popover__content {\n bottom: calc(100% + .5rem);\n left: 50%;\n transform: translate3d(-50%, -15px, 0);\n}\n.popover[data-direction=top] .popover__content:after {\n bottom: -0.5em;\n left: 50%;\n transform: translate3d(-50%, 0, 0);\n border-width: 0 0.5em 0.5em 0.5em;\n border-color: transparent transparent white transparent;\n filter: drop-shadow(1px -1px 1px #bcbcbc);\n}\n",Ru="\n.directo_popover__directo-logo {\n width: 20px;\n height: 20px;\n margin-left: 2px;\n visibility: visible;\n opacity: 1;\n}\n\n/* Title */\n.directo_popover__title {\n font-size: 1.125rem; /* text-lg */\n line-height: 1.75rem; /* leading-7 */\n color: #000000;\n margin: 0;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n.directo_popover__title-text {\n font-weight: bold;\n}\n\n/* Domain / subtitle */\n.directo_popover__domain {\n font-size: 0.875rem; /* text-sm */\n line-height: 1.25rem; /* leading-5 */\n color: #4B5563; /* text-gray-600 */\n}\n\n.directo_popover__domain-text {\n font-weight: normal;\n}\n\n/* Bullet points */\n.directo_popover__bullet-points {\n display: flex;\n flex-direction: column;\n gap: 0.5rem; /* gap-2 */\n align-items: flex-start;\n width: 100%;\n position: relative;\n}\n\n.directo_popover__bullet-point {\n display: flex;\n align-items: center;\n gap: 0.5rem; /* gap-2 */\n width: 100%;\n position: relative;\n color: #000141;\n}\n\n.directo_popover__bullet-text-disabled {\n --tw-text-opacity: 1;\n color: rgb(100 116 139 / var(--tw-text-opacity));\n}\n\n.directo_popover__bullet-check {\n color: limegreen;\n font-size: 18px;\n font-weight: 700;\n}\n\n.directo_popover__header {\n width:100%;\n display: flex;\n flex-direction: column;\n}\n\n.directo_popover__header-text {\n align-items: center;\n display: inline;\n font-size: 20px;\n font-weight: bold;\n color: #000141;\n}\n",Mu=su(({item:e,cta:t})=>{const n=lu(cu.offersById.get(e.source_id)?.displayPrices??du(null),null);return(0,Sn.jsx)(Iu,{displayPrices:n??null,item:e,cta:t})}),$u=async(e,t)=>{const n=document.createElement("div"),a=n.attachShadow({mode:"closed"}),o=document.createElement("style");o.innerHTML=[Nu,Lu,Du,Ru].join("\n"),a.appendChild(o);const r=document.createElement("div");return a.appendChild(r),(0,En.H)(r).render((0,Sn.jsx)(Tu,{popover:(0,Sn.jsx)(fu,{item:e}),children:(0,Sn.jsx)(Mu,{item:e,cta:t})})),Object.assign(n,{$reactRoot:r})},Bu=({offer:{price:e,currency:t,providerName:n},providerSvgLogo:a,providerLogo:o,listingPrice:r,bestOffer:i,thereIsDiscount:s})=>{const c=null!==r?qa(r.totalPrice)-e:null;return(0,Sn.jsxs)(Sn.Fragment,{children:[(0,Sn.jsxs)("div",{className:"popover__header",children:[(0,Sn.jsxs)("div",{className:"popover__header-text",children:[Cn(i&&s?"offers.best_offer":"offers.popover.header.text")," ",o?(0,Sn.jsx)("img",{className:"popover__offer-provider-logo",src:o}):a]}),(0,Sn.jsx)("div",{className:"popover__domain",children:(0,Sn.jsx)("span",{className:"popover__domain-text",children:n})})]}),(0,Sn.jsx)("span",{style:{color:s?"green":"auto",fontSize:s?"20px":"16px"},children:s&&null!==c?Cn("offers.save",{price:ku(Math.round(c),t)}):Cn("offers.no_discount",{provider:n})})]})},Fu="\n.offers-container {\n display: flex;\n gap: 10px;\n}\n.offers-container.offers-container-vertical {\n flex-direction: column;\n}\n.offers-container.offers-container-horizontal {\n flex-direction: row-reverse;\n}\n.secondary-button {\n position: relative;\n width: 100%;\n border: none;\n outline: none;\n color: white;\n cursor: pointer;\n border-radius: 5px;\n font-size: 14px;\n font-weight: bold;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n}\n.secondary-button:before{\n position: absolute;\n content: '';\n top: -2px;\n left: -2px;\n height: calc(100% + 4px);\n width: calc(100% + 4px);\n border-radius: 5px;\n z-index: -1;\n opacity: 1;\n filter: blur(5px);\n background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000);\n background-size: 400%;\n transition: opacity 1s ease-in-out;\n animation: animate 20s linear infinite;\n z-index: 1;\n}\n.secondary-button:hover:before{\n opacity: 1;\n}\n.secondary-button:hover:active{\n background: none;\n}\n.secondary-button:hover:active:before{\n filter: blur(2px);\n}\n@keyframes animate {\n 0% { background-position: 0 0; }\n 50% { background-position: 400% 0; }\n 100% { background-position: 0 0; }\n}\n.secondary-button-span {\n z-index: 2;\n position: relative;\n display: flex;\n align-items: center;\n gap: 6px;\n /*background: radial-gradient(85.26% 304.19% at 109.77% -9.38%, #1E40AF 0%, #172554 100%);*/\n background: rgba(0,0,0,.5);\n padding: 8px 12px;\n width: 100%;\n border-radius: 4px;\n justify-content: center;\n transition: background .2s ease-in-out;\n white-space: nowrap;\n}\n.secondary-button-span:hover {\n background: rgba(0, 0, 0, .8);\n}\n.secondary-button-container {\n padding: 4px;\n background: rgba(0,0,0,.5);\n border-radius: 8px;\n width: 100%;\n}\n\n.directo-cta-button-light {\n box-shadow: 0 0 5px 1px rgba(253, 195, 7, 0.5);\n white-space: nowrap;\n font-weight: 600;\n width: 100%;\n min-height: 36px;\n cursor: pointer;\n border-width: 1px;\n border-color: rgb(0 0 0 / 0.1);\n border-radius: 4px;\n padding: 4px 12px;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n display: flex;\n gap: 0.5rem;\n justify-content: flex-end;\n align-items: center;\n color: #000141;\n position: relative;\n}\n\n.directo-cta-provider-logo {\n margin-right: auto;\n max-height: 2rem;\n max-width: 5rem;\n}\n\n.directo-cta-button-light-shadow-pulse {\n animation: pulse-shadow 2s infinite ease-in-out;\n background-color: #edb602;\n}\n\n@keyframes pulse-shadow {\n 0% {\n box-shadow: 0 0 10px 2px rgba(253, 195, 7, 0.5);\n }\n 50% {\n box-shadow: 0 0 20px 10px rgba(253, 195, 7, 0.7);\n }\n 100% {\n box-shadow: 0 0 10px 2px rgba(253, 195, 7, 0.5);\n }\n}\n\n/* Title */\n.popover__title {\n font-size: 1.125rem; /* text-lg */\n line-height: 1.75rem; /* leading-7 */\n color: #000000;\n margin: 0;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n.popover__title-text {\n font-weight: bold;\n}\n\n/* Domain / subtitle */\n.popover__domain {\n font-size: 0.875rem; /* text-sm */\n line-height: 1.25rem; /* leading-5 */\n color: #4B5563; /* text-gray-600 */\n}\n\n.popover__domain-text {\n font-weight: normal;\n}\n\n/* Bullet points */\n.popover__bullet-points {\n display: flex;\n flex-direction: column;\n gap: 0.5rem; /* gap-2 */\n align-items: flex-start;\n width: 100%;\n position: relative;\n}\n\n.popover__bullet-point {\n display: flex;\n align-items: center;\n gap: 0.5rem; /* gap-2 */\n width: 100%;\n position: relative;\n color: #000141;\n}\n\n.popover__bullet-text-disabled {\n --tw-text-opacity: 1;\n color: rgb(100 116 139 / var(--tw-text-opacity));\n}\n\n.popover__bullet-check {\n color: limegreen;\n font-size: 18px;\n font-weight: 700;\n}\n\n.popover__header {\n width:100%;\n display: flex;\n flex-direction: column;\n}\n.popover__header-text {\n align-items: center;\n display: inline;\n font-size: 20px;\n font-weight: bold;\n color: #000141;\n}\n\n.popover__header-text img {\n max-height: 2rem;\n max-width: 5rem;\n margin-left: 8px;\n}\n.popover__offer-provider-logo {\n margin-left: 6px;\n visibility: visible;\n opacity: 1;\n transform: scale(1.2) translateY(4px);\n}\n\n/* Title */\n.popover__title {\n font-size: 1.125rem; /* text-lg */\n line-height: 1.75rem; /* leading-7 */\n color: #000000;\n margin: 0;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n.popover__title-text {\n font-weight: bold;\n}\n\n.dr-floating-coupon-icon {\n position: absolute;\n top: -16px;\n left: -16px;\n box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n border-radius: 99px;\n font-size: 12px;\n z-index: 99;\n}\n\n/* Skeleton Loader Styles */\n.skeleton-button {\n position: relative;\n width: 100%;\n height: 36px;\n background: linear-gradient(90deg, #e0e0e0 25%, #f0f0f0 50%, #e0e0e0 75%);\n background-size: 200% 100%;\n border-radius: 4px;\n overflow: hidden;\n animation: skeleton-loading 1.5s ease-in-out infinite;\n}\n\n.skeleton-shine {\n position: absolute;\n top: 0;\n left: -100%;\n width: 100%;\n height: 100%;\n background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.5), transparent);\n animation: skeleton-shine 1.5s ease-in-out infinite;\n}\n\n@keyframes skeleton-loading {\n 0% {\n background-position: 200% 0;\n }\n 100% {\n background-position: -200% 0;\n }\n}\n\n@keyframes skeleton-shine {\n 0% {\n left: -100%;\n }\n 100% {\n left: 100%;\n }\n}\n\n/* Empty State Styles */\n.empty-state-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 16px;\n}\n\n.empty-state-content {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 12px;\n text-align: center;\n max-width: 320px;\n}\n\n.empty-state-title {\n font-size: 16px;\n font-weight: 600;\n margin: 0;\n line-height: 1.2;\n}\n.empty-state-icon {\n width: 24px\n}\n",Uu="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAtCAYAAADV2ImkAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAwaSURBVHgB7Vl5jFXVGf+du7335s3K7AgCioqQWhWVtpg4iq0akVBbjEUtRdtKamrb1MZKY2KUWv9oTVWUaCqgSBFwSbS1LlSpaCUhpiLrFBiwDsww896bmbfe/fT77r0PBpkFXP5o6pmc3Pvucs7v/L7ft5w7wJftC21Cwf9Y0/A5N/m39yb6W7YsRKFYsKZfuLriulkH8Tk2gc/Q5PMvXSg/3L0EBdMRp076jXnJhdnYaxvfREfnRJgW4Kp7xFUXz3ATxjnq5u13oncgJqrGLBIP/2wPPl0Tn4VhIdv3rMPh1ERAgdzXcWUs29+Lw70tUDwgTlxY7hlyR/su1fWakRoASiXI/tyfpJRtQgiJk2/ypBiW27dX4oNd30B/wbSnThqnP/fyM/A8gVgMULVoOBl2Sd2n34QdPnXXAWzqA7b02mbO1CqScfejLk377a0bTgK8OCnA3tInnhS7P1oYAGuq85FJqeC5FPZdJRwuwCuPHgPAhNjnczradNSTPhRNoCcLYRgPiHVLFp8ohhMGLB98MCG3bCugZoyATmwqKvWIGDm4DwLrl18WR5/jax6d2LSSfBFeuj+lbVrdJEIoozE9eliTMhhDuf2xx3ykMllIN5zVi0zME7tRd+ie7UbX6ei64TU36p4XLqSM3HdgF/q6L4VQEZhoVAJH1bC45557xOzW1jHTEk3XxnZsfQCZTF34KnWNmE6QfqurANMEsiVyNAIr/YhdEcpFi+Ti+iG7PC1JRDoeqcRIuadN/Gl2xnlvtlw7M00E+SNoelQNK4dXrpzUsCe9Ab3picLK0UR2eEfXgbMmAQu/DzTUEzQC8K8PgRXPkmMVQibZgKc0AYsWQFZVw7zvD4j3ZELA1INHhE6PJWnA2L72OmXG2Y8u7sNRMR0HeKSwxosRta++M1/05ydCJ6sZ1FUlZK21Abj1FjJmDOmVa1Bx9hTELzgX/pwBCPotfHpGF/CvmgXUNyL19Bq477yL+rHjaa0xBKGQDeW7EG4B0vRPb0r736ZLK6K5h2RZGQWwYn2wvRvpbjJ5PgxNjhPq8YLzAWKt65FlOPTA/dh1y80w+/rhTJtGlmeze/DPmABx0XTkOw8hu3YdsSlg9Q2Q/G2SgwNJWvdKBdh9PSh270X/wfZunpNliKH1LJXhmG1ra+N76n1m98uO7XwcarDsYDRZU0MgVberG1WxClQrGuz+fngxA6ZtwW+ohvjxApSyBWSWPYFYoQSFxmCwTqEI1yrBJbB8dGi8kuJsPX37O29PnjxZ2bhx47BEDnWDTSFyuRwDV5VvzTGUtkuKwaMcT70QtGSmSIT65NNgGHEkTxmLWGsLrM6DyB06CGf2FbDiFci8+jr8tzdBIz2zK/kkAddksBTS7BJ1k+RMeh475WOaT9+7d69GgIfzrSCcHHdx3rx5yoYNG9RXHn587K3VzX9V2jvOBrERZjAEDlVq3w3/sktR8fWLYEw9C5Xzr4efTCKz6s+wcllU/eJ25A91YWDJ/YhR6FM469F7LAtBppEsGVq8T+zyMaYaZ/7q4jln9JxW/xdbUVyyMHbu3Dmk+Y+lV9J6RbAQfaBtzneqLLEKMSVIEoGA2PODMsFCpqURFb/8OWLjx8PL5ZBa/wIyzz6L8WueAerqkXloKfDKq1CMGJRkJfRCAYYMS8QgURBw3w9DHfFPkU5Bp+fPmr7z7X/SIw5h8cQnAtlxUUJETzQ3Nyv5dF8uqRBSUSFghNmtnI9U1UBs915kbvoB/HiMTOvShBI1ty2CaGnBwN//gYHXX0Pjr+9A9RXfpEyswuvPwlz7PPw1a6HJMCn5nku4iXFyZBrD74nJ0rhx40RnZ2cZyzHRYkhxT506VTl8+LCYsm3Tu3vSvUvNfC4YnJ0syLxkAIWcLJGsQW1FHWqUODleEuqESai5YT6sdB/SD/8RFTcvQMXll6GfNNx+/+8opzhQbroBhfFj4RBQj+Tg0tGmY94q4oDqLrlu97Z/E9ggQkVZFiMB5swWaKehoUGQJrXzOnc+6NZUbZFBamDAYcDnVxXdoCLNACvIIwar7r6TnKmE/tWrIShiJGdfjVIqjb133Qlz3VrsX7kcNqVj67zzKaM7cNgBGThpOKOqL13Z2bE8F2JSpk+ffsTaw0pCRgJm4KlUKjje+72bJlQbTV/x9+8jk4egy44X0ECJhBeg33wjjDPPQuatjXDXPwdjTB0EOWHx40OIUz2RoPKz2NUVJFe3MgnTtaEzCVEl19Q6eeblKmrfOnjALJDWS6XSkLF4SIa51dXVBQ8vyhtfox1EnN0i0BxNwLrzHCc40i94zQ2Iz50LO5tHbumjiHMZSU4oKXQZLc1wyAEtWmzlOV9lO6O048Mg9jqk20AaxLTX1VH/IxmbwWAZB1uZsAQcDgu4XHRQ8EZfX1/AZfHAXsfJZeBSvHQp6LuORedWED+9YEIbxl13kGmpPH5qJeLd3QhCTLGI9LJlUJMVmPjUCox7+ilMuPEGlDo64G5+j97zYNG7DNoi8MVSTg4U+0oRq4IwHCHvGIw4vin0MAdwTviJec3jmh6qablXg5yrV1ZBcE1xpAyWKE45He7130XhwEewn1yOBGc0cGHmIaeSycnJai6bBT2eQH7XDvQ8shQVlFw0hHHZp4XarufkdfWFa1Ndiy3LYoq506aQc1NQvY0ImK+xthlwBfVkDDHj6pam6sebxr+oqtopLIMgatAfs9RfLATllU5hT1XCUpx17VJyKJBFssSiSxc0mlinzsFRRIU+KXXrbZmeH+4vFvNKPF4yTZPBlsjp7Pfff7+8wRpaEuUFsIci5DF4wYKlbc6m3YQeb2YkHunOJQ07XMTTUwmKFnFyKoXf9kOdEzGU3WjVVBDWqjp1CoOUdNSgLiLde36Q4VTHb2ovFl3K7yxJv7q6mgH6BLZc6WMkwCxyVFVVlTczfgTarU8kSm4u77oWadkOwfLR5ULICwGGQKgop1rDdcOQ5ZM0OBL4XLD7IVCWC4c0h57zpJePMdFCeBQZ/Gw262OErdKQ9XBjY2OwOooUPjkf74ncbel0cptR9+hYXf+JKb0iwfSTRqxRkE4ZlMes0p8vQ7kEsxJITzJAAsrRhGXCzum7HboUtUJ6Slpoy6VhGHaoXTciSA4HeriqKCgtEeo4Ti1J2kog1DRfVxc0n5JcnKh6Q1EU4RBgm5nlVChEBDyUhsPscs0QmEvClMK53S217ctk/EEAi9zJsiWqEvncwdEPBMe046o1GVZUQWghswoyER+V8iJ0XVcJiLa1kJPzE5XnKq7XyoDz8A71eM7WuO+fytz45HAlMnlKyA2m4ySE71dxKOuB//KKTGozjeOrquppmkZr9cxkMmnl83mLIpSTyWTKLI/O8NFkF0YLkofR29tbjhjMcjzq6tW1DfG5mnGJpwv397mBTZ2mKVc3jr271rYvJ+XiP6qyalGm94mLkkljtqJdQNvU6qdLhTcOmPwdK2DXjsViJbJSkRZQInJMcniHo0OUdeWogD9xj1kth7hYBDgRnRvRvfL2XCG22BpYWFd/aj+F6Bf70ym6Vp7Up3s+M+tQY9kSIO6kNpMTBq0HFtXi3rRp0yRnuaFYHmkTOugDQsCGUllZKchswNHooSPSdAQ8iDqrcgP7GTiDpWN5DBmN4xFYx7ZtZpm34OaYMWMskgHfkyOBLbM4NNpQGnIQGK22tjZGetMIRJxCkBEB1gYDJgYFERiMS+e013QGh0gG5ZAT28SqQ05mkZOxgwVOxuyuX79+xLB2Ip+qAgckbamkLS0CqZOTaFSoBLIgHQYOSWlVIfYCiRCDMnrXp/se3WOLeIlEgirQkh2xW44G5Ygw+KPXkO2EPlWxA1xzzTUe7bN4Aqu1tbVEYFl3HDvzZPoCeTxrJU9Ag873iMk8AcwT2OA3SapAC+J3OHRZtFFwaMxAJlwzjAb2ZFvZCYNijMJP4IQURSrpSN+qUFtTU8Ofseqj3hAdx1Dn69XUk7RYjjb8rk4SUHGSH9U/zRf4wd8tEG3JVVqApAqvHDHK40ran0na8ki+TwvyOe1zJo20GjyDL7pFRXWZ8TLrWrmTqY84JC1Mi5hUBzH6qf9V8Zn+xzF4nEEZ8pNNDnP+Zfuy/V+2/wLQlMJlaj4ozgAAAABJRU5ErkJggg==",Vu=({className:e,count:t})=>(0,Sn.jsx)(Sn.Fragment,{children:Array(t).fill(null).map((t,n)=>(0,Sn.jsx)("div",{className:Pa(e,"skeleton-button"),children:(0,Sn.jsx)("div",{className:"skeleton-shine"})},n))}),Hu=()=>(0,Sn.jsx)("div",{className:"empty-state-container",children:(0,Sn.jsxs)("div",{className:"empty-state-content",children:[(0,Sn.jsx)(vr,{className:"empty-state-icon"}),(0,Sn.jsx)("h3",{className:"empty-state-title",children:Cn("offers.empty")})]})});function Ku(e){return e.rate.base+(e.rate.taxes||0)+(e.rate.hotelFees||0)}function Yu(e){return"offer"===e.type?Ku(e.offer):e.displayPrices?e.displayPrices.displayedDirectoPrice:1/0}function qu(e,t){return Yu(e)-Yu(t)}const Qu=new Map([["BOOKING",new Set(["Booking"])],["EXPEDIA",new Set(["Expedia"])]]);const Wu=Ou(),Gu=({className:e,providerLogo:t,providerSvgLogo:n,bestOffer:a,onClick:o,price:r,currency:i})=>(0,Sn.jsxs)("button",{onClick:o,className:Pa(e,"directo-cta-button-light",a&&"directo-cta-button-light-shadow-pulse"),children:[a&&(0,Sn.jsx)("div",{className:"dr-floating-coupon-icon",children:(0,Sn.jsx)("img",{src:Uu,alt:"Directo",style:{width:"40px",height:"40px"}})}),t?(0,Sn.jsx)("img",{className:"directo-cta-provider-logo",src:t}):n,(0,Sn.jsx)("span",{style:{fontSize:"20px"},children:ku(Math.floor(r),i)}),(0,Sn.jsx)(jr,{})]});function Ju({offer:e,listingPrice:t,index:n,ctaPrefix:a}){const o=null!==t&&function(e,t){if(e.currency!==t.currency)return!1;const n=Ku(e);return t.totalPrice/100-n>0}(e,t),r=0===n&&o,i=Ku(e),s=e.currency,c=`${a}_${e.provider.name.replace(".","_").toUpperCase()}`,l=e.provider.logoUrl;return(0,Sn.jsx)(Tu,{popover:(0,Sn.jsx)(Bu,{offer:{price:i,currency:s,providerName:e.provider.name},providerLogo:l,listingPrice:t,bestOffer:r,thereIsDiscount:o}),children:(0,Sn.jsx)(Gu,{className:"offers-item",providerLogo:l,bestOffer:r,price:i,currency:s,onClick:async t=>{E.openOutclickTab({cta:c,sourceUrl:window.location.href,targetUrl:e.url,sourceId:e.source_id,stayParams:e.stayParams,redirectEngineParams:null}),t&&t.stopPropagation()}})})}function Zu({item:e,displayPrices:t,listingPrice:n,cta:a,index:o}){if(!t)return(0,Sn.jsx)(Tu,{popover:(0,Sn.jsx)(fu,{item:e}),children:(0,Sn.jsx)(Iu,{className:"offers-item",item:e,displayPrices:t,cta:a})});const r=0===o&&!!t.thereIsDiscount;return(0,Sn.jsx)(Tu,{popover:(0,Sn.jsx)(Bu,{offer:{price:t.displayedDirectoPrice,currency:t.displayedCurrency,providerName:"Directo"},providerSvgLogo:(0,Sn.jsx)(Er,{style:{verticalAlign:"-0.15rem",maxHeight:"1.5rem",width:"80px"}}),listingPrice:n,bestOffer:r,thereIsDiscount:t.thereIsDiscount}),children:(0,Sn.jsx)(Gu,{className:"offers-item",onClick:t=>{const n=To(e.directo_url);Wu.event(Pu,{outbound_url:n}),Vh.navigateToDirectLink(n,a,{parametrised:e.stay_parametrised,sourceId:e.source_id,coupon:e.coupon,verified:e.verified,discount:e.discount,stayParams:e.stayParams}),t&&t.stopPropagation()},price:t.displayedDirectoPrice,currency:t.displayedCurrency,bestOffer:r,providerSvgLogo:(0,Sn.jsx)(Er,{style:{maxHeight:"1.25rem",marginRight:"auto",marginTop:"-3px"},monochromatic:r})})})}const Xu=({children:e,isVertical:t})=>(0,Sn.jsx)("div",{className:Pa("offers-container",t?"offers-container-vertical":"offers-container-horizontal"),children:e}),ed=su(({sourceId:t,options:n,platform:a})=>{const o=cu.offersById.get(t);if(!o)throw new Error("Offers data not found for sourceId: "+t);if("loading"===o.alternativeOffers.type||"loading"===o.listingPrice.type||"loading"===o.directoInfo.type)return n.hideLoadingSkeleton?null:(0,Sn.jsx)(Xu,{isVertical:n.vertical,children:(0,Sn.jsx)(Vu,{count:n.loadingItems})});const{alternativeOffers:r,listingPrice:i,directoInfo:s,displayPrices:c}=o,l=uu(r,[]),u=uu(i,null);var d;const p=function(e,t,n,a,o){if(o<1)return[];const r=null!==t?{type:"directo",directoInfo:t,displayPrices:"loaded"===n.type?n.data:null}:null,i=e.filter(function(e){return t=>!Qu.get(e)?.has(t.provider.name)}(a)).map(e=>({type:"offer",offer:e})),s=i.toSorted(qu);if(r){if(Do(r.directoInfo.directo_url))return r.directoInfo.pricing?"loading"===n.type?[r,...o>1?Array(o-1).fill({type:"loading",count:1}):[]]:n.data&&bu(n.data)?[r]:o>1?[r,...s.slice(0,o-1)].sort(qu):[r,...s].sort(qu).slice(0,o):s.slice(0,o);if(s.length>0){if("loading"===n.type)return[...s.slice(0,o-1),{type:"loading",count:1}];const e=s[0]?Yu(s[0]):null,t=n.data?.displayedOtaPrice??null;return null!==e&&null!==t&&t>e?r.directoInfo.verified?[...s,r].sort(qu).slice(0,o):s.slice(0,o):[...s,r].sort(qu).slice(0,o)}return[r]}return s.slice(0,o)}(l,uu(s,null),"error"===(d=c).type?{type:"loaded",data:null}:d,a,n.maxItems);return 0===p.length?n.hideEmptyState?null:(0,Sn.jsx)(Hu,{}):(0,Sn.jsx)(Xu,{isVertical:n.vertical,children:p.map((t,a)=>{switch(t.type){case"directo":return(0,Sn.jsx)(Zu,{index:a,item:t.directoInfo,displayPrices:t.displayPrices,listingPrice:u,cta:`${n.ctaPrefix}_DIRECTO`},a);case"offer":return(0,Sn.jsx)(Ju,{offer:t.offer,listingPrice:u,index:a,ctaPrefix:n.ctaPrefix},a);case"loading":return n.hideLoadingSkeleton?null:(0,Sn.jsx)(Vu,{count:t.count},a);default:e(t)}})})});class td{renderedLabels={};renderedSecondaryCTAs={};insertedOfferComponents={};debouncedRenderMLs=null;platform=null;displayName=null}class nd extends td{base=this.constructor;listingsInPage=new Set;rendererConfig;constructor(e){super(),this.rendererConfig=e}shouldActivate(e){throw new Error("Method not implemented.")}getLinkId(){if(!this.platform)throw new Error("Platform not set");return`${this.platform.substring(0,3)}${this.getItemId()}`}async getListingLoS(e){const t=await this.buildListingQueryParam("checkin",e),n=await this.buildListingQueryParam("checkout",e);return t&&n?function(e,t){const n=new Date(e),a=new Date(t),o=Math.ceil((a.getTime()-n.getTime())/864e5);return isNaN(o)||o<1?null:o}(t,n):null}async getPrice(e){if(!await this.getListingLoS(e))return null;const t=this.base.getSection(new URL(window.location.href));return"DETAIL"===t?await this.getDetailPrice():"LIST"===t?await this.getPriceFromList(e):"CHECKOUT"===t?await this.getCheckoutPrice(e):null}async getDestinationInUrl(){return null}async getHotelIdInDetail(){return null}async getHotelIdInCheckout(){return null}cleanRenderedLabel(e){this.renderedLabels[e]&&(this.renderedLabels[e].remove(),delete this.renderedLabels[e])}filterNewListingsInPage(e){const t=[];return e.forEach(e=>{this.listingsInPage.has(e)||t.push(e),this.listingsInPage.add(e)}),this.listingsInPage.forEach(t=>{e.find(e=>e===t)||this.listingsInPage.delete(t)}),t}cleanAllRenderedLabels(){Object.keys(this.renderedLabels).forEach(e=>{this.cleanRenderedLabel(e)}),Object.keys(this.renderedSecondaryCTAs).forEach(e=>{this.cleanRenderedSecondaryCTAs(e)}),Object.keys(this.insertedOfferComponents).forEach(e=>{this.cleanInsertedOfferComponent(e)}),this.listingsInPage.clear()}cleanRenderedSecondaryCTAs(e){this.renderedSecondaryCTAs[e]&&(this.renderedSecondaryCTAs[e].forEach(e=>e&&e.remove&&e.remove()),delete this.renderedSecondaryCTAs[e])}cleanInsertedOfferComponent(e){this.insertedOfferComponents[e]&&(this.insertedOfferComponents[e].remove(),delete this.insertedOfferComponents[e])}setRenderedSecondaryCTA(e,t){this.renderedSecondaryCTAs[e]||(this.renderedSecondaryCTAs[e]=new Set),this.renderedSecondaryCTAs[e].add(t)}setInsertedOfferComponent(e,t){this.insertedOfferComponents[e]=t}async insertSecondaryCTA(e,t,n,a,o=document.body){if(!1===this.rendererConfig.renderSecondaryCTAs)return null;const r=a||e.source_id,i=this.renderedSecondaryCTAs[r];if(i&&[...i].every(e=>e.isConnected))return null;const s=await qe(Qt,e=>!e,10)(t,o);if(!s)return null;this.cleanRenderedSecondaryCTAs(r);const c=await $u(e,n);return s.appendChild(c),this.setRenderedSecondaryCTA(r,c),c}async insertOffersComponent(e,t){if(!1===this.rendererConfig.renderAlternativeOffers)return null;const{idSuffix:n,selector:a,container:o=document.body,componentOptions:r}=t,i=`${e}${n?`-${n}`:""}`,s=this.insertedOfferComponents[i];if(s&&s.isConnected)return null;let c=null;if(c=a?await qe(Qt,e=>!e,10)(a,o):o,!c)return null;const l=await(async(e,t,n)=>{const a=document.createElement("div"),o=a.attachShadow({mode:"closed"}),r=document.createElement("style");r.innerHTML=[Fu,Lu,Du,Ru,n.styles?n.styles:""].join("\n"),o.appendChild(r);const i=document.createElement("div");return o.appendChild(i),(0,En.H)(i).render((0,Sn.jsx)(ed,{sourceId:e,options:n,platform:t})),a})(e,this.platform,r);return this.cleanInsertedOfferComponent(i),c.appendChild(l),this.setInsertedOfferComponent(i,l),l}async canMakePricingRequest(e){const t=await this.buildListingQueryParam("checkin",e),n=await this.buildListingQueryParam("checkout",e);return!!t&&!!n}async insertOffersComponentInList(e){}async insertOffersComponentInDetail(e){}getListingNameFromList(e){return null}async insertSecondaryCTAInDetailView(e){throw new Error("Method not implemented.")}async insertSecondaryCTAInCheckoutView(e){throw new Error("Method not implemented.")}getItemId(e){throw new Error("Method not implemented.")}getItemIdOnOTACheckout(){throw new Error("Method not implemented.")}setMLRenderer(e){throw new Error("Method not implemented.")}getListingsInPage(){throw new Error("Method not implemented.")}markListingAsMultilisting(e,t){throw new Error("Method not implemented.")}getPriceFromList(e){throw new Error("Method not implemented.")}getDetailPrice(){throw new Error("Method not implemented.")}getCheckoutPrice(e){throw new Error("Method not implemented.")}async getPlatformQueryParamMap(e){throw new Error("Method not implemented.")}async getListingQueryParamMap(e,t){return this.getPlatformQueryParamMap(t)}async buildPlatformQueryParam(e,t=window.location.href){const n=new URL(t);return tn((await this.getPlatformQueryParamMap(n))[e])}async buildListingQueryParam(e,t,n=window.location.href){const a=new URL(n);return tn((await this.getListingQueryParamMap(t,a))[e])}static getSection(e){throw new Error("Method not implemented.")}}const ad=function(){return R.Date.now()};var od=/\s/;var rd=/^\s+/;const id=function(e){return e?e.slice(0,function(e){for(var t=e.length;t--&&od.test(e.charAt(t)););return t}(e)+1).replace(rd,""):e};var sd=/^[-+]0x[0-9a-f]+$/i,cd=/^0b[01]+$/i,ld=/^0o[0-7]+$/i,ud=parseInt;const dd=function(e){if("number"==typeof e)return e;if(Xe(e))return NaN;if(Y(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=Y(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=id(e);var n=cd.test(e);return n||ld.test(e)?ud(e.slice(2),n?2:8):sd.test(e)?NaN:+e};var pd=Math.max,hd=Math.min;const md=function(e,t,n){var a,o,r,i,s,c,l=0,u=!1,d=!1,p=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function h(t){var n=a,r=o;return a=o=void 0,l=t,i=e.apply(r,n)}function m(e){var n=e-c;return void 0===c||n>=t||n<0||d&&e-l>=r}function f(){var e=ad();if(m(e))return g(e);s=setTimeout(f,function(e){var n=t-(e-c);return d?hd(n,r-(e-l)):n}(e))}function g(e){return s=void 0,p&&a?h(e):(a=o=void 0,i)}function y(){var e=ad(),n=m(e);if(a=arguments,o=this,c=e,n){if(void 0===s)return function(e){return l=e,s=setTimeout(f,t),u?h(e):i}(c);if(d)return clearTimeout(s),s=setTimeout(f,t),h(c)}return void 0===s&&(s=setTimeout(f,t)),i}return t=dd(t)||0,Y(n)&&(u=!!n.leading,r=(d="maxWait"in n)?pd(dd(n.maxWait)||0,t):r,p="trailing"in n?!!n.trailing:p),y.cancel=function(){void 0!==s&&clearTimeout(s),l=0,a=c=o=s=void 0},y.flush=function(){return void 0===s?i:g(ad())},y},fd=Ou(),gd=()=>(0,Sn.jsx)("div",{className:"dr-floating-directo dr-direct",children:(0,Sn.jsx)("span",{style:{position:"relative",zIndex:10},children:(0,Sn.jsx)(yr,{})})});class yd extends On.Component{box=On.createRef();item;backgroundColor;platform;constructor(e){super(e),this.state={hidden:!0},this.navigate=this.navigate.bind(this),this.item=e.item,this.backgroundColor=e.backgroundColor,this.platform=e.platform}navigate(e){return t=>{t.preventDefault();const n=To(e);fd.event("click_out_ml",{outbound_url:n}),Vh.navigateToDirectLink(n,"LIST",{parametrised:this.item.stay_parametrised,sourceId:this.item.source_id,verified:this.item.verified,coupon:this.item.coupon,discount:this.item.discount,stayParams:this.item.stayParams})}}getThumbs(){const e=this.item.score??0;let t="👍";return e>=70?t="👍👍👍":e>=50&&(t="👍👍"),e?(0,Sn.jsx)("div",{className:"dr-floating-score-icon",children:t}):null}getFloatingLabel(){return this.item.coupon?(0,Sn.jsx)("div",{className:"dr-floating-coupon-icon",children:(0,Sn.jsx)(_r,{})}):this.item.discount?(0,Sn.jsx)("div",{className:"dr-floating-coupon-icon",children:(0,Sn.jsx)("img",{src:Uu,alt:"Directo",className:"dr-h-7 dr-w-7"})}):this.getThumbs()}getTooltipText(){const{score:e,discount:t,coupon:n}=this.item,a=Do(this.item.directo_url);return Cn(a?"label.own_ota_tooltip":n?"label.coupon_tooltip":t?"label.discount_tooltip":e&&e>70?"label.high_score_tooltip":e?"label.score_tooltip":"label.tooltip")}render(){const e="GOOGLE"===Zn(window.location.href);return(0,Sn.jsxs)("button",{onClick:this.navigate(this.item.directo_url),ref:this.box,style:{position:"relative",backgroundColor:this.backgroundColor},className:"dr-floating-container",children:[this.getFloatingLabel(),!e&&(0,Sn.jsx)("span",{className:"dr-floating-container-before",style:{boxShadow:`${"booking"===this.platform?"-10px":"10px"} 10px 0 ${this.backgroundColor}`}}),(0,Sn.jsx)(gd,{},this.item.source_id),(0,Sn.jsx)("div",{className:"dr-floating-label-popover",children:this.getTooltipText()}),!e&&(0,Sn.jsx)("span",{className:"dr-floating-container-after",style:{boxShadow:`${"booking"===this.platform?"-10px":"10px"} 10px 0 ${this.backgroundColor}`}})]})}}const bd=function(e,t,n="white",a=!1){const o=Zn(window.location.href)?.toLowerCase(),r=document.createElement("div"),i=r.attachShadow({mode:"closed"}),s=function(e,t,n=!1){const a=document.createElement("style");return a.innerHTML='.dr-floating-directo {\n position: relative;\n margin-top: 5px;\n }\n .dr-floating-directo:before {\n content: "";\n position: absolute;\n width: 29px;\n height: 31px;\n background-color: #FDC307;\n left: 0;\n top: 0;\n border-top-right-radius: 100%;\n border-bottom-right-radius: 100%;\n border-top-left-radius: 8px;\n border-bottom-left-radius: 8px;\n animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;\n}\n.dr-floating-directo:after {\n content: "";\n position: absolute;\n width: 39px;\n height: 41px;\n background-color: #FDC307;\n left: -5px;\n top: -5px;\n border-top-right-radius: 100%;\n border-bottom-right-radius: 100%;\n border-top-left-radius: 8px;\n border-bottom-left-radius: 8px;\n}\n.dr-floating-container {\n outline: none;\n border: 0;\n cursor: pointer;\n width: 50px;\n height: 55px;\n background: white;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.dr-floating-score-icon {\n position: absolute;\n top: -12px;\n left: -20px;\n background-color: #3B82F6;\n box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n border: 3px solid white;\n border-radius: 99px;\n padding: 2px 6px;\n font-size: 12px;\n z-index: 99;\n}\n\n.dr-floating-coupon-icon {\n position: absolute;\n top: -16px;\n left: -16px;\n box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n border-radius: 99px;\n font-size: 12px;\n z-index: 99;\n}\n\n.dr-floating-container-before,\n.dr-floating-container-after {\n z-index: -1;\n}\n.dr-floating-container-before {\n position: absolute;\n width: 20px;\n height: 20px;\n bottom: 0px;\n background: transparent;\n border-radius: 50%;\n}\n.dr-floating-container-after {\n position: absolute;\n width: 20px;\n height: 20px;\n top: -20px;\n background: transparent;\n border-radius: 50%;\n}\n @keyframes ping {\n 75%, 100% {\n transform: scale(2);\n opacity: 0;\n }\n}',a.innerHTML+=`.dr-floating-container {\n\n ${"booking"===t?"border-top-right-radius: 25px; margin-left: 0;":"border-top-left-radius: 10px; margin-left: 5px;"}\n }\n .dr-floating-container-before,\n .dr-floating-container-after {\n box-shadow: ${"booking"===t?"-10px":"10px"} 10px 0 ${e};\n }\n .dr-floating-container-before {\n ${"booking"===t?"right: -20px;":"left: -20px;"}\n }\n.dr-floating-container-after {\n ${"booking"===t?"left: 0px;":"vrbo"===t?"left: 30px;":"left: 25px;"}\n\n}\n `,a.innerHTML+=`\n .dr-floating-label-popover {\n position: absolute;\n ${["booking","google"].includes(t)?"top: -51px;left: 50%; border-radius: 8px;":"left: -60px;top: -33px;border-radius: 8px 8px 2px 8px;"}\n color: #000141;\n transform: translateX(-50%);\n background: white;\n padding-top: 8px;\n padding-right: 16px;\n padding-bottom: 8px;\n padding-left: 16px;\n box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n z-index: 999;\n visibility: hidden;\n opacity: 0;\n transition: all .15s ease-in-out;\n font-weight: 600;\n width: 148px;\n padding-top: 8px;\n padding-bottom: 8px;\n text-align: center;\n pointer-events: none;\n }\n .dr-floating-container:hover .dr-floating-label-popover {\n visibility: visible;\n opacity: 1;\n ${["booking","google"].includes(t)?`top: -41px;left: ${n?130:50}%;`:"left: -60px;top: -23px;border-radius: 8px 8px 2px 8px;"}\n }\n `,a}(n,o,a);i.appendChild(s);const c=document.createElement("div");return Object.assign(c.style,t),i.appendChild(c),(0,En.H)(c).render((0,Sn.jsx)(yd,{item:e,backgroundColor:n,platform:o})),r};var kd=/^[a-zA-Z:_][a-zA-Z0-9:_.-]*$/,vd={revert:function(){}},wd=new Map,jd=new Set;function _d(e){var t=wd.get(e);return t||(t={element:e,attributes:{}},wd.set(e,t)),t}function xd(e,t,n,a,o){var r=n(e),i={isDirty:!1,originalValue:r,virtualValue:r,mutations:[],el:e,_positionTimeout:null,observer:new MutationObserver(function(){if("position"!==t||!i._positionTimeout){"position"===t&&(i._positionTimeout=setTimeout(function(){i._positionTimeout=null},1e3));var a=n(e);"position"===t&&a.parentNode===i.virtualValue.parentNode&&a.insertBeforeNode===i.virtualValue.insertBeforeNode||a!==i.virtualValue&&(i.originalValue=a,o(i))}}),mutationRunner:o,setValue:a,getCurrentValue:n};return"position"===t&&e.parentNode?i.observer.observe(e.parentNode,{childList:!0,subtree:!0,attributes:!1,characterData:!1}):i.observer.observe(e,function(e){return"html"===e?{childList:!0,subtree:!0,attributes:!0,characterData:!0}:{childList:!1,subtree:!1,attributes:!0,attributeFilter:[e]}}(t)),i}function Cd(e,t){var n=t.getCurrentValue(t.el);t.virtualValue=e,e&&"string"!=typeof e?n&&e.parentNode===n.parentNode&&e.insertBeforeNode===n.insertBeforeNode||(t.isDirty=!0,Hd()):e!==n&&(t.isDirty=!0,Hd())}function zd(e){var t=e.originalValue;e.mutations.forEach(function(e){return t=e.mutate(t)}),Cd(function(e){return Dd||(Dd=document.createElement("div")),Dd.innerHTML=e,Dd.innerHTML}(t),e)}function Sd(e){var t=new Set(e.originalValue.split(/\s+/).filter(Boolean));e.mutations.forEach(function(e){return e.mutate(t)}),Cd(Array.from(t).filter(Boolean).join(" "),e)}function Ed(e){var t=e.originalValue;e.mutations.forEach(function(e){return t=e.mutate(t)}),Cd(t,e)}function Od(e){var t=e.originalValue;e.mutations.forEach(function(e){var n=function(e){var t=e.parentSelector,n=e.insertBeforeSelector,a=document.querySelector(t);if(!a)return null;var o=n?document.querySelector(n):null;return n&&!o?null:{parentNode:a,insertBeforeNode:o}}(e.mutate());t=n||t}),Cd(t,e)}var Ad=function(e){return e.innerHTML},Pd=function(e,t){return e.innerHTML=t};function Id(e){var t=_d(e);return t.html||(t.html=xd(e,"html",Ad,Pd,zd)),t.html}var Ld=function(e){return{parentNode:e.parentElement,insertBeforeNode:e.nextElementSibling}},Nd=function(e,t){t.insertBeforeNode&&!t.parentNode.contains(t.insertBeforeNode)||t.parentNode.insertBefore(e,t.insertBeforeNode)};function Td(e){var t=_d(e);return t.position||(t.position=xd(e,"position",Ld,Nd,Od)),t.position}var Dd,Rd,Md=function(e,t){return t?e.className=t:e.removeAttribute("class")},$d=function(e){return e.className};function Bd(e){var t=_d(e);return t.classes||(t.classes=xd(e,"class",$d,Md,Sd)),t.classes}function Fd(e,t){var n,a=_d(e);return a.attributes[t]||(a.attributes[t]=xd(e,t,(n=t,function(e){var t;return null!=(t=e.getAttribute(n))?t:null}),function(e){return function(t,n){return null!==n?t.setAttribute(e,n):t.removeAttribute(e)}}(t),Ed)),a.attributes[t]}function Ud(e,t,n){if(n.isDirty){n.isDirty=!1;var a=n.virtualValue;n.mutations.length||function(e,t){var n,a,o=wd.get(e);if(o)if("html"===t)null==(n=o.html)||null==(a=n.observer)||a.disconnect(),delete o.html;else if("class"===t){var r,i;null==(r=o.classes)||null==(i=r.observer)||i.disconnect(),delete o.classes}else if("position"===t){var s,c;null==(s=o.position)||null==(c=s.observer)||c.disconnect(),delete o.position}else{var l,u,d;null==(l=o.attributes)||null==(u=l[t])||null==(d=u.observer)||d.disconnect(),delete o.attributes[t]}}(e,t),n.setValue(e,a)}}function Vd(e,t){e.html&&Ud(t,"html",e.html),e.classes&&Ud(t,"class",e.classes),e.position&&Ud(t,"position",e.position),Object.keys(e.attributes).forEach(function(n){Ud(t,n,e.attributes[n])})}function Hd(){wd.forEach(Vd)}function Kd(e){if("position"!==e.kind||1!==e.elements.size){var t=new Set(e.elements);document.querySelectorAll(e.selector).forEach(function(n){t.has(n)||(e.elements.add(n),function(e,t){var n=null;"html"===e.kind?n=Id(t):"class"===e.kind?n=Bd(t):"attribute"===e.kind?n=Fd(t,e.attribute):"position"===e.kind&&(n=Td(t)),n&&(n.mutations.push(e),n.mutationRunner(n))}(e,n))})}}function Yd(){jd.forEach(Kd)}function qd(e){return"undefined"==typeof document?vd:(jd.add(e),Kd(e),{revert:function(){var t;(t=e).elements.forEach(function(e){return function(e,t){var n=null;if("html"===e.kind?n=Id(t):"class"===e.kind?n=Bd(t):"attribute"===e.kind?n=Fd(t,e.attribute):"position"===e.kind&&(n=Td(t)),n){var a=n.mutations.indexOf(e);-1!==a&&n.mutations.splice(a,1),n.mutationRunner(n)}}(t,e)}),t.elements.clear(),jd.delete(t)}})}function Qd(e,t){return qd({kind:"html",elements:new Set,mutate:t,selector:e})}function Wd(e,t){return qd({kind:"position",elements:new Set,mutate:t,selector:e})}function Gd(e,t){return qd({kind:"class",elements:new Set,mutate:t,selector:e})}function Jd(e,t,n){return kd.test(t)?"class"===t||"className"===t?Gd(e,function(e){var t=n(Array.from(e).join(" "));e.clear(),t&&t.split(/\s+/g).filter(Boolean).forEach(function(t){return e.add(t)})}):qd({kind:"attribute",attribute:t,elements:new Set,mutate:n,selector:e}):vd}"undefined"!=typeof document&&(Rd||(Rd=new MutationObserver(function(){Yd()})),Yd(),Rd.observe(document.documentElement,{childList:!0,subtree:!0,attributes:!1,characterData:!1}));var Zd={html:Qd,classes:Gd,attribute:Jd,position:Wd,declarative:function(e){var t=e.selector,n=e.action,a=e.value,o=e.attribute,r=e.parentSelector,i=e.insertBeforeSelector;if("html"===o){if("append"===n)return Qd(t,function(e){return e+(null!=a?a:"")});if("set"===n)return Qd(t,function(){return null!=a?a:""})}else if("class"===o){if("append"===n)return Gd(t,function(e){a&&e.add(a)});if("remove"===n)return Gd(t,function(e){a&&e.delete(a)});if("set"===n)return Gd(t,function(e){e.clear(),a&&e.add(a)})}else if("position"===o){if("set"===n&&r)return Wd(t,function(){return{insertBeforeSelector:i,parentSelector:r}})}else{if("append"===n)return Jd(t,o,function(e){return null!==e?e+(null!=a?a:""):null!=a?a:""});if("set"===n)return Jd(t,o,function(){return null!=a?a:""});if("remove"===n)return Jd(t,o,function(){return null})}return vd}};const Xd=Zd;function ep(e){let t=2166136261;const n=e.length;for(let a=0;a<n;a++)t^=e.charCodeAt(a),t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24);return t>>>0}function tp(e,t,n){return 2===n?ep(ep(e+t)+"")%1e4/1e4:1===n?ep(t+e)%1e3/1e3:null}function np(e,t){return e>=t[0]&&e<t[1]}function ap(e){try{const t=e.replace(/([^\\])\//g,"$1\\/");return new RegExp(t)}catch(e){return void console.error(e)}}function op(e,t,n){try{const a=new URL(e,"https://_");if("regex"===t){const e=ap(n);return!!e&&(e.test(a.href)||e.test(a.href.substring(a.origin.length)))}return"simple"===t&&function(e,t){try{const n=new URL(t.replace(/^([^:/?]*)\./i,"https://$1.").replace(/\*/g,"_____"),"https://_____"),a=[[e.host,n.host,!1],[e.pathname,n.pathname,!0]];return n.hash&&a.push([e.hash,n.hash,!1]),n.searchParams.forEach((t,n)=>{a.push([e.searchParams.get(n)||"",t,!1])}),!a.some(e=>!function(e,t,n){try{let a=t.replace(/[*.+?^${}()|[\]\\]/g,"\\$&").replace(/_____/g,".*");return n&&(a="\\/?"+a.replace(/(^\/|\/$)/g,"")+"\\/?"),new RegExp("^"+a+"$","i").test(e)}catch(e){return!1}}(e[0],e[1],e[2]))}catch(e){return!1}}(a,n)}catch(e){return!1}}const rp=e=>Uint8Array.from(atob(e),e=>e.charCodeAt(0));async function ip(e,t,n){if(t=t||"",!(n=n||globalThis.crypto&&globalThis.crypto.subtle))throw new Error("No SubtleCrypto implementation found");try{const a=await n.importKey("raw",rp(t),{name:"AES-CBC",length:128},!0,["encrypt","decrypt"]),[o,r]=e.split("."),i=await n.decrypt({name:"AES-CBC",iv:rp(o)},a,rp(r));return(new TextDecoder).decode(i)}catch(e){throw new Error("Failed to decrypt")}}function sp(e){return"string"==typeof e?e:JSON.stringify(e)}function cp(e){"number"==typeof e&&(e+=""),e&&"string"==typeof e||(e="0");const t=e.replace(/(^v|\+.*$)/g,"").split(/[-.]/);return 3===t.length&&t.push("~"),t.map(e=>e.match(/^[0-9]+$/)?e.padStart(5," "):e).join("-")}const lp={};function up(e,t){if("$or"in t)return gp(e,t.$or);if("$nor"in t)return!gp(e,t.$nor);if("$and"in t)return function(e,t){for(let n=0;n<t.length;n++)if(!up(e,t[n]))return!1;return!0}(e,t.$and);if("$not"in t)return!up(e,t.$not);for(const[n,a]of Object.entries(t))if(!pp(a,dp(e,n)))return!1;return!0}function dp(e,t){const n=t.split(".");let a=e;for(let e=0;e<n.length;e++){if(!a||"object"!=typeof a||!(n[e]in a))return null;a=a[n[e]]}return a}function pp(e,t){if("string"==typeof e)return t+""===e;if("number"==typeof e)return 1*t===e;if("boolean"==typeof e)return!!t===e;if(null===e)return null===t;if(Array.isArray(e)||!hp(e))return JSON.stringify(t)===JSON.stringify(e);for(const n in e)if(!fp(n,t,e[n]))return!1;return!0}function hp(e){const t=Object.keys(e);return t.length>0&&t.filter(e=>"$"===e[0]).length===t.length}function mp(e,t){return Array.isArray(e)?e.some(e=>t.includes(e)):t.includes(e)}function fp(e,t,n){switch(e){case"$veq":return cp(t)===cp(n);case"$vne":return cp(t)!==cp(n);case"$vgt":return cp(t)>cp(n);case"$vgte":return cp(t)>=cp(n);case"$vlt":return cp(t)<cp(n);case"$vlte":return cp(t)<=cp(n);case"$eq":return t===n;case"$ne":return t!==n;case"$lt":return t<n;case"$lte":return t<=n;case"$gt":return t>n;case"$gte":return t>=n;case"$exists":return n?null!=t:null==t;case"$in":return!!Array.isArray(n)&&mp(t,n);case"$nin":return!!Array.isArray(n)&&!mp(t,n);case"$not":return!pp(n,t);case"$size":return!!Array.isArray(t)&&pp(n,t.length);case"$elemMatch":return function(e,t){if(!Array.isArray(e))return!1;const n=hp(t)?e=>pp(t,e):e=>up(e,t);for(let t=0;t<e.length;t++)if(e[t]&&n(e[t]))return!0;return!1}(t,n);case"$all":if(!Array.isArray(t))return!1;for(let e=0;e<n.length;e++){let a=!1;for(let o=0;o<t.length;o++)if(pp(n[e],t[o])){a=!0;break}if(!a)return!1}return!0;case"$regex":try{return(a=n,lp[a]||(lp[a]=new RegExp(a.replace(/([^\\])\//g,"$1\\/"))),lp[a]).test(t)}catch(e){return!1}case"$type":return function(e){if(null===e)return"null";if(Array.isArray(e))return"array";const t=typeof e;return["string","number","boolean","object","undefined"].includes(t)?t:"unknown"}(t)===n;default:return console.error("Unknown operator: "+e),!1}var a}function gp(e,t){if(!t.length)return!0;for(let n=0;n<t.length;n++)if(up(e,t[n]))return!0;return!1}const yp={staleTTL:6e4,cacheKey:"gbFeaturesCache",backgroundSync:!0,maxEntries:10,disableIdleStreams:!1,idleStreamInterval:2e4},bp={fetch:globalThis.fetch?globalThis.fetch.bind(globalThis):void 0,SubtleCrypto:globalThis.crypto?globalThis.crypto.subtle:void 0,EventSource:globalThis.EventSource},kp={fetchFeaturesCall:e=>{let{host:t,clientKey:n,headers:a}=e;return bp.fetch("".concat(t,"/api/features/").concat(n),{headers:a})},fetchRemoteEvalCall:e=>{let{host:t,clientKey:n,payload:a,headers:o}=e;const r={method:"POST",headers:{"Content-Type":"application/json",...o},body:JSON.stringify(a)};return bp.fetch("".concat(t,"/api/eval/").concat(n),r)},eventSourceCall:e=>{let{host:t,clientKey:n,headers:a}=e;return a?new bp.EventSource("".concat(t,"/sub/").concat(n),{headers:a}):new bp.EventSource("".concat(t,"/sub/").concat(n))},startIdleListener:()=>{let e;if("undefined"==typeof window||"undefined"==typeof document)return;const t=()=>{"visible"===document.visibilityState?(window.clearTimeout(e),xp.forEach(e=>{e&&"idle"===e.state&&Rp(e)})):"hidden"===document.visibilityState&&(e=window.setTimeout(zp,yp.idleStreamInterval))};return document.addEventListener("visibilitychange",t),()=>document.removeEventListener("visibilitychange",t)},stopIdleListener:()=>{}};try{globalThis.localStorage&&(bp.localStorage=globalThis.localStorage)}catch(e){}const vp=new Map;let wp=!1;const jp=new Map,_p=new Map,xp=new Map,Cp=new Set;function zp(){xp.forEach(e=>{e&&(e.state="idle",Dp(e))})}async function Sp(){try{if(!bp.localStorage)return;await bp.localStorage.setItem(yp.cacheKey,JSON.stringify(Array.from(jp.entries())))}catch(e){}}function Ep(e){const[t,n]=e.getApiInfo();return"".concat(t,"||").concat(n)}function Op(e){const t=Ep(e);if(!e.isRemoteEval())return t;const n=e.getAttributes(),a=e.getCacheKeyAttributes()||Object.keys(e.getAttributes()),o={};a.forEach(e=>{o[e]=n[e]});const r=e.getForcedVariations(),i=e.getUrl();return"".concat(t,"||").concat(JSON.stringify({ca:o,fv:r,url:i}))}function Ap(){const e=Array.from(jp.entries()).map(e=>{let[t,n]=e;return{key:t,staleAt:n.staleAt.getTime()}}).sort((e,t)=>e.staleAt-t.staleAt),t=Math.min(Math.max(0,jp.size-yp.maxEntries),jp.size);for(let n=0;n<t;n++)jp.delete(e[n].key)}function Pp(e,t,n){const a=n.dateUpdated||"",o=new Date(Date.now()+yp.staleTTL),r=jp.get(t);if(r&&a&&r.version===a)return r.staleAt=o,void Sp();jp.set(t,{data:n,version:a,staleAt:o,sse:Cp.has(e)}),Ap(),Sp();const i=vp.get(e);i&&i.forEach(e=>Ip(e,n))}async function Ip(e,t){t=await e.decryptPayload(t,void 0,bp.SubtleCrypto),await e.refreshStickyBuckets(t),e.setExperiments(t.experiments||e.getExperiments()),e.setFeatures(t.features||e.getFeatures())}async function Lp(e){const{apiHost:t,apiRequestHeaders:n}=e.getApiHosts(),a=e.getClientKey(),o=e.isRemoteEval(),r=Ep(e),i=Op(e);let s=_p.get(i);return s||(s=(o?kp.fetchRemoteEvalCall({host:t,clientKey:a,payload:{attributes:e.getAttributes(),forcedVariations:e.getForcedVariations(),forcedFeatures:Array.from(e.getForcedFeatures().entries()),url:e.getUrl()},headers:n}):kp.fetchFeaturesCall({host:t,clientKey:a,headers:n})).then(e=>("enabled"===e.headers.get("x-sse-support")&&Cp.add(r),e.json())).then(t=>(Pp(r,i,t),Np(e),_p.delete(i),t)).catch(e=>(_p.delete(i),Promise.resolve({}))),_p.set(i,s)),await s}function Np(e){const t=Ep(e),n=Op(e),{streamingHost:a,streamingHostRequestHeaders:o}=e.getApiHosts(),r=e.getClientKey();if(yp.backgroundSync&&Cp.has(t)&&bp.EventSource){if(xp.has(t))return;const e={src:null,host:a,clientKey:r,headers:o,cb:a=>{try{if("features-updated"===a.type){const e=vp.get(t);e&&e.forEach(e=>{Lp(e)})}else if("features"===a.type){const e=JSON.parse(a.data);Pp(t,n,e)}e.errors=0}catch(t){Tp(e)}},errors:0,state:"active"};xp.set(t,e),Rp(e)}}function Tp(e){if("idle"!==e.state&&(e.errors++,e.errors>3||e.src&&2===e.src.readyState)){const t=Math.pow(3,e.errors-3)*(1e3+1e3*Math.random());Dp(e),setTimeout(()=>{["idle","active"].includes(e.state)||Rp(e)},Math.min(t,3e5))}}function Dp(e){e.src&&(e.src.onopen=null,e.src.onerror=null,e.src.close(),e.src=null,"active"===e.state&&(e.state="disabled"))}function Rp(e){e.src=kp.eventSourceCall({host:e.host,clientKey:e.clientKey,headers:e.headers}),e.state="active",e.src.addEventListener("features",e.cb),e.src.addEventListener("features-updated",e.cb),e.src.onerror=()=>Tp(e),e.src.onopen=()=>{e.errors=0}}const Mp="undefined"!=typeof window&&"undefined"!=typeof document,$p=function(){let e;try{e="0.32.0"}catch(t){e=""}return e}();class Bp{constructor(e){if(e=e||{},this.version=$p,this._ctx=this.context=e,this._renderer=null,this._trackedExperiments=new Set,this._trackedFeatures={},this.debug=!1,this._subscriptions=new Set,this._rtQueue=[],this._rtTimer=0,this.ready=!1,this._assigned=new Map,this._forcedFeatureValues=new Map,this._attributeOverrides={},this._activeAutoExperiments=new Map,this._triggeredExpKeys=new Set,this._loadFeaturesCalled=!1,e.remoteEval){if(e.decryptionKey)throw new Error("Encryption is not available for remoteEval");if(!e.clientKey)throw new Error("Missing clientKey");let t=!1;try{t=!!new URL(e.apiHost||"").hostname.match(/growthbook\.io$/i)}catch(e){}if(t)throw new Error("Cannot use remoteEval on GrowthBook Cloud")}else if(e.cacheKeyAttributes)throw new Error("cacheKeyAttributes are only used for remoteEval");e.features&&(this.ready=!0),Mp&&e.enableDevMode&&(window._growthbook=this,document.dispatchEvent(new Event("gbloaded"))),e.experiments&&(this.ready=!0,this._updateAllAutoExperiments()),e.clientKey&&!e.remoteEval&&this._refresh({},!0,!1)}async loadFeatures(e){e&&e.autoRefresh&&(this._ctx.subscribeToChanges=!0),this._loadFeaturesCalled=!0,await this._refresh(e,!0,!0),this._canSubscribe()&&function(e){const t=Ep(e),n=vp.get(t)||new Set;n.add(e),vp.set(t,n)}(this)}async refreshFeatures(e){await this._refresh(e,!1,!0)}getApiInfo(){return[this.getApiHosts().apiHost,this.getClientKey()]}getApiHosts(){const e=this._ctx.apiHost||"https://cdn.growthbook.io";return{apiHost:e.replace(/\/*$/,""),streamingHost:(this._ctx.streamingHost||e).replace(/\/*$/,""),apiRequestHeaders:this._ctx.apiHostRequestHeaders,streamingHostRequestHeaders:this._ctx.streamingHostRequestHeaders}}getClientKey(){return this._ctx.clientKey||""}isRemoteEval(){return this._ctx.remoteEval||!1}getCacheKeyAttributes(){return this._ctx.cacheKeyAttributes}async _refresh(e,t,n){if(e=e||{},!this._ctx.clientKey)throw new Error("Missing clientKey");await async function(e,t,n,a,o,r){r||(yp.backgroundSync=!1);const i=await async function(e,t,n,a){const o=Ep(e),r=Op(e),i=new Date;await async function(){if(!wp){wp=!0;try{if(bp.localStorage){const e=await bp.localStorage.getItem(yp.cacheKey);if(e){const t=JSON.parse(e);t&&Array.isArray(t)&&t.forEach(e=>{let[t,n]=e;jp.set(t,{...n,staleAt:new Date(n.staleAt)})}),Ap()}}}catch(e){}if(!yp.disableIdleStreams){const e=kp.startIdleListener();e&&(kp.stopIdleListener=e)}}}();const s=jp.get(r);return s&&!a&&(t||s.staleAt>i)?(s.sse&&Cp.add(o),s.staleAt<i?Lp(e):Np(e),s.data):await function(e,t){return new Promise(n=>{let a,o=!1;const r=e=>{o||(o=!0,a&&clearTimeout(a),n(e||null))};t&&(a=setTimeout(()=>r(),t)),e.then(e=>r(e)).catch(()=>r())})}(Lp(e),n)}(e,a,t,n);o&&i&&await Ip(e,i)}(this,e.timeout,e.skipCache||this._ctx.enableDevMode,t,n,!1!==this._ctx.backgroundSync)}_render(){this._renderer&&this._renderer()}setFeatures(e){this._ctx.features=e,this.ready=!0,this._render()}async setEncryptedFeatures(e,t,n){const a=await ip(e,t||this._ctx.decryptionKey,n);this.setFeatures(JSON.parse(a))}setExperiments(e){this._ctx.experiments=e,this.ready=!0,this._updateAllAutoExperiments()}async setEncryptedExperiments(e,t,n){const a=await ip(e,t||this._ctx.decryptionKey,n);this.setExperiments(JSON.parse(a))}async decryptPayload(e,t,n){return e.encryptedFeatures&&(e.features=JSON.parse(await ip(e.encryptedFeatures,t||this._ctx.decryptionKey,n)),delete e.encryptedFeatures),e.encryptedExperiments&&(e.experiments=JSON.parse(await ip(e.encryptedExperiments,t||this._ctx.decryptionKey,n)),delete e.encryptedExperiments),e}async setAttributes(e){this._ctx.attributes=e,this._ctx.stickyBucketService&&await this.refreshStickyBuckets(),this._ctx.remoteEval?await this._refreshForRemoteEval():(this._render(),this._updateAllAutoExperiments())}async setAttributeOverrides(e){this._attributeOverrides=e,this._ctx.stickyBucketService&&await this.refreshStickyBuckets(),this._ctx.remoteEval?await this._refreshForRemoteEval():(this._render(),this._updateAllAutoExperiments())}async setForcedVariations(e){this._ctx.forcedVariations=e||{},this._ctx.remoteEval?await this._refreshForRemoteEval():(this._render(),this._updateAllAutoExperiments())}setForcedFeatures(e){this._forcedFeatureValues=e,this._render()}async setURL(e){if(this._ctx.url=e,this._ctx.remoteEval)return await this._refreshForRemoteEval(),void this._updateAllAutoExperiments(!0);this._updateAllAutoExperiments(!0)}getAttributes(){return{...this._ctx.attributes,...this._attributeOverrides}}getForcedVariations(){return this._ctx.forcedVariations||{}}getForcedFeatures(){return this._forcedFeatureValues||new Map}getStickyBucketAssignmentDocs(){return this._ctx.stickyBucketAssignmentDocs||{}}getUrl(){return this._ctx.url||""}getFeatures(){return this._ctx.features||{}}getExperiments(){return this._ctx.experiments||[]}subscribe(e){return this._subscriptions.add(e),()=>{this._subscriptions.delete(e)}}_canSubscribe(){return!1!==this._ctx.backgroundSync&&this._ctx.subscribeToChanges}async _refreshForRemoteEval(){this._ctx.remoteEval&&this._loadFeaturesCalled&&await this._refresh({},!1,!0).catch(()=>{})}getAllResults(){return new Map(this._assigned)}destroy(){var e;this._subscriptions.clear(),this._assigned.clear(),this._trackedExperiments.clear(),this._trackedFeatures={},this._rtQueue=[],this._rtTimer&&clearTimeout(this._rtTimer),e=this,vp.forEach(t=>t.delete(e)),Mp&&window._growthbook===this&&delete window._growthbook,this._activeAutoExperiments.forEach(e=>{e.undo()}),this._activeAutoExperiments.clear(),this._triggeredExpKeys.clear()}setRenderer(e){this._renderer=e}forceVariation(e,t){this._ctx.forcedVariations=this._ctx.forcedVariations||{},this._ctx.forcedVariations[e]=t,this._ctx.remoteEval?this._refreshForRemoteEval():(this._updateAllAutoExperiments(),this._render())}run(e){const t=this._run(e,null);return this._fireSubscriptions(e,t),t}triggerExperiment(e){return this._triggeredExpKeys.add(e),this._ctx.experiments?this._ctx.experiments.filter(t=>t.key===e).map(e=>e.manual?this._runAutoExperiment(e):null).filter(e=>null!==e):null}_runAutoExperiment(e,t){const n=this._activeAutoExperiments.get(e);if(e.manual&&!this._triggeredExpKeys.has(e.key)&&!n)return null;const a=this.run(e),o=JSON.stringify(a.value);if(!t&&a.inExperiment&&n&&n.valueHash===o)return a;if(n&&this._undoActiveAutoExperiment(e),a.inExperiment){const t=this._applyDOMChanges(a.value);t&&this._activeAutoExperiments.set(e,{undo:t,valueHash:o})}return a}_undoActiveAutoExperiment(e){const t=this._activeAutoExperiments.get(e);t&&(t.undo(),this._activeAutoExperiments.delete(e))}_updateAllAutoExperiments(e){const t=this._ctx.experiments||[],n=new Set(t);this._activeAutoExperiments.forEach((e,t)=>{n.has(t)||(e.undo(),this._activeAutoExperiments.delete(t))}),t.forEach(t=>{this._runAutoExperiment(t,e)})}_fireSubscriptions(e,t){const n=e.key,a=this._assigned.get(n);a&&a.result.inExperiment===t.inExperiment&&a.result.variationId===t.variationId||(this._assigned.set(n,{experiment:e,result:t}),this._subscriptions.forEach(n=>{try{n(e,t)}catch(e){console.error(e)}}))}_trackFeatureUsage(e,t){if("override"===t.source)return;const n=JSON.stringify(t.value);if(this._trackedFeatures[e]!==n){if(this._trackedFeatures[e]=n,this._ctx.onFeatureUsage)try{this._ctx.onFeatureUsage(e,t)}catch(e){}Mp&&window.fetch&&(this._rtQueue.push({key:e,on:t.on}),this._rtTimer||(this._rtTimer=window.setTimeout(()=>{this._rtTimer=0;const e=[...this._rtQueue];this._rtQueue=[],this._ctx.realtimeKey&&window.fetch("https://rt.growthbook.io/?key=".concat(this._ctx.realtimeKey,"&events=").concat(encodeURIComponent(JSON.stringify(e))),{cache:"no-cache",mode:"no-cors"}).catch(()=>{})},this._ctx.realtimeInterval||2e3)))}}_getFeatureResult(e,t,n,a,o,r){const i={value:t,on:!!t,off:!t,source:n,ruleId:a||""};return o&&(i.experiment=o),r&&(i.experimentResult=r),this._trackFeatureUsage(e,i),i}isOn(e){return this.evalFeature(e).on}isOff(e){return this.evalFeature(e).off}getFeatureValue(e,t){const n=this.evalFeature(e).value;return null===n?t:n}feature(e){return this.evalFeature(e)}evalFeature(e){if(this._forcedFeatureValues.has(e))return this._getFeatureResult(e,this._forcedFeatureValues.get(e),"override");if(!this._ctx.features||!this._ctx.features[e])return this._getFeatureResult(e,null,"unknownFeature");const t=this._ctx.features[e];if(t.rules)for(const n of t.rules){if(n.filters&&this._isFilteredOut(n.filters))continue;if("force"in n){if(n.condition&&!this._conditionPasses(n.condition))continue;if(!this._isIncludedInRollout(n.seed||e,n.hashAttribute,this._ctx.stickyBucketService&&!n.disableStickyBucketing?n.fallbackAttribute:void 0,n.range,n.coverage,n.hashVersion))continue;return n.tracks&&n.tracks.forEach(e=>{this._track(e.experiment,e.result)}),this._getFeatureResult(e,n.force,"force",n.id)}if(!n.variations)continue;const t={variations:n.variations,key:n.key||e};"coverage"in n&&(t.coverage=n.coverage),n.weights&&(t.weights=n.weights),n.hashAttribute&&(t.hashAttribute=n.hashAttribute),n.fallbackAttribute&&(t.fallbackAttribute=n.fallbackAttribute),n.disableStickyBucketing&&(t.disableStickyBucketing=n.disableStickyBucketing),void 0!==n.bucketVersion&&(t.bucketVersion=n.bucketVersion),void 0!==n.minBucketVersion&&(t.minBucketVersion=n.minBucketVersion),n.namespace&&(t.namespace=n.namespace),n.meta&&(t.meta=n.meta),n.ranges&&(t.ranges=n.ranges),n.name&&(t.name=n.name),n.phase&&(t.phase=n.phase),n.seed&&(t.seed=n.seed),n.hashVersion&&(t.hashVersion=n.hashVersion),n.filters&&(t.filters=n.filters),n.condition&&(t.condition=n.condition);const a=this._run(t,e);if(this._fireSubscriptions(t,a),a.inExperiment&&!a.passthrough)return this._getFeatureResult(e,a.value,"experiment",n.id,t,a)}return this._getFeatureResult(e,void 0===t.defaultValue?null:t.defaultValue,"defaultValue")}_isIncludedInRollout(e,t,n,a,o,r){if(!a&&void 0===o)return!0;const{hashValue:i}=this._getHashAttribute(t,n);if(!i)return!1;const s=tp(e,i,r||1);return null!==s&&(a?np(s,a):void 0===o||s<=o)}_conditionPasses(e){return up(this.getAttributes(),e)}_isFilteredOut(e){return e.some(e=>{const{hashValue:t}=this._getHashAttribute(e.attribute);if(!t)return!0;const n=tp(e.seed,t,e.hashVersion||2);return null===n||!e.ranges.some(e=>np(n,e))})}_run(e,t){const n=e.key,a=e.variations.length;if(a<2)return this._getResult(e,-1,!1,t);if(!1===this._ctx.enabled)return this._getResult(e,-1,!1,t);e=this._mergeOverrides(e);const o=function(e,t,n){if(!t)return null;const a=t.split("?")[1];if(!a)return null;const o=a.replace(/#.*/,"").split("&").map(e=>e.split("=",2)).filter(t=>{let[n]=t;return n===e}).map(e=>{let[,t]=e;return parseInt(t)});return o.length>0&&o[0]>=0&&o[0]<n?o[0]:null}(n,this._getContextUrl(),a);if(null!==o)return this._getResult(e,o,!1,t);if(this._ctx.forcedVariations&&n in this._ctx.forcedVariations){const a=this._ctx.forcedVariations[n];return this._getResult(e,a,!1,t)}if("draft"===e.status||!1===e.active)return this._getResult(e,-1,!1,t);const{hashAttribute:r,hashValue:i}=this._getHashAttribute(e.hashAttribute,this._ctx.stickyBucketService&&!e.disableStickyBucketing?e.fallbackAttribute:void 0);if(!i)return this._getResult(e,-1,!1,t);let s=-1,c=!1,l=!1;if(this._ctx.stickyBucketService&&!e.disableStickyBucketing){const{variation:t,versionIsBlocked:n}=this._getStickyBucketVariation(e.key,e.bucketVersion,e.minBucketVersion,e.meta);c=t>=0,s=t,l=!!n}if(!c){if(e.filters){if(this._isFilteredOut(e.filters))return this._getResult(e,-1,!1,t)}else if(e.namespace&&!function(e,t){const n=tp("__"+t[0],e,1);return null!==n&&n>=t[1]&&n<t[2]}(i,e.namespace))return this._getResult(e,-1,!1,t);if(e.include&&!function(e){try{return e()}catch(e){return console.error(e),!1}}(e.include))return this._getResult(e,-1,!1,t);if(e.condition&&!this._conditionPasses(e.condition))return this._getResult(e,-1,!1,t);if(e.groups&&!this._hasGroupOverlap(e.groups))return this._getResult(e,-1,!1,t)}if(e.url&&!this._urlIsValid(e.url))return this._getResult(e,-1,!1,t);if(e.urlPatterns&&!function(e,t){if(!t.length)return!1;let n=!1,a=!1;for(let o=0;o<t.length;o++){const r=op(e,t[o].type,t[o].pattern);if(!1===t[o].include){if(r)return!1}else n=!0,r&&(a=!0)}return a||!n}(this._getContextUrl(),e.urlPatterns))return this._getResult(e,-1,!1,t);const u=tp(e.seed||n,i,e.hashVersion||1);if(null===u)return this._getResult(e,-1,!1,t);if(c||(s=function(e,t){for(let n=0;n<t.length;n++)if(np(e,t[n]))return n;return-1}(u,e.ranges||function(e,t,n){(t=void 0===t?1:t)<0?t=0:t>1&&(t=1);const a=(o=e)<=0?[]:new Array(o).fill(1/o);var o;(n=n||a).length!==e&&(n=a);const r=n.reduce((e,t)=>t+e,0);(r<.99||r>1.01)&&(n=a);let i=0;return n.map(e=>{const n=i;return i+=e,[n,n+t*e]})}(a,void 0===e.coverage?1:e.coverage,e.weights))),l)return this._getResult(e,-1,!1,t,void 0,!0);if(s<0)return this._getResult(e,-1,!1,t);if("force"in e)return this._getResult(e,void 0===e.force?-1:e.force,!1,t);if(this._ctx.qaMode)return this._getResult(e,-1,!1,t);if("stopped"===e.status)return this._getResult(e,-1,!1,t);const d=this._getResult(e,s,!0,t,u,c);if(this._ctx.stickyBucketService&&!e.disableStickyBucketing){const{changed:t,key:n,doc:a}=this._generateStickyBucketAssignmentDoc(r,sp(i),{[this._getStickyBucketExperimentKey(e.key,e.bucketVersion)]:d.key});t&&(this._ctx.stickyBucketAssignmentDocs=this._ctx.stickyBucketAssignmentDocs||{},this._ctx.stickyBucketAssignmentDocs[n]=a,this._ctx.stickyBucketService.saveAssignments(a))}return this._track(e,d),d}log(e,t){this.debug&&(this._ctx.log?this._ctx.log(e,t):console.log(e,t))}_track(e,t){if(!this._ctx.trackingCallback)return;const n=e.key,a=t.hashAttribute+t.hashValue+n+t.variationId;if(!this._trackedExperiments.has(a)){this._trackedExperiments.add(a);try{this._ctx.trackingCallback(e,t)}catch(e){console.error(e)}}}_mergeOverrides(e){const t=e.key,n=this._ctx.overrides;return n&&n[t]&&"string"==typeof(e=Object.assign({},e,n[t])).url&&(e.url=ap(e.url)),e}_getHashAttribute(e,t){let n=e||"id",a="";return this._attributeOverrides[n]?a=this._attributeOverrides[n]:this._ctx.attributes?a=this._ctx.attributes[n]||"":this._ctx.user&&(a=this._ctx.user[n]||""),!a&&t&&(this._attributeOverrides[t]?a=this._attributeOverrides[t]:this._ctx.attributes?a=this._ctx.attributes[t]||"":this._ctx.user&&(a=this._ctx.user[t]||""),a&&(n=t)),{hashAttribute:n,hashValue:a}}_getResult(e,t,n,a,o,r){let i=!0;(t<0||t>=e.variations.length)&&(t=0,i=!1);const{hashAttribute:s,hashValue:c}=this._getHashAttribute(e.hashAttribute,this._ctx.stickyBucketService&&!e.disableStickyBucketing?e.fallbackAttribute:void 0),l=e.meta?e.meta[t]:{},u={key:l.key||""+t,featureId:a,inExperiment:i,hashUsed:n,variationId:t,value:e.variations[t],hashAttribute:s,hashValue:c,stickyBucketUsed:!!r};return l.name&&(u.name=l.name),void 0!==o&&(u.bucket=o),l.passthrough&&(u.passthrough=l.passthrough),u}_getContextUrl(){return this._ctx.url||(Mp?window.location.href:"")}_urlIsValid(e){const t=this._getContextUrl();if(!t)return!1;const n=t.replace(/^https?:\/\//,"").replace(/^[^/]*\//,"/");return!!e.test(t)||!!e.test(n)}_hasGroupOverlap(e){const t=this._ctx.groups||{};for(let n=0;n<e.length;n++)if(t[e[n]])return!0;return!1}_applyDOMChanges(e){if(!Mp)return;const t=[];if(e.css){const n=document.createElement("style");n.innerHTML=e.css,document.head.appendChild(n),t.push(()=>n.remove())}if(e.js){const n=document.createElement("script");n.innerHTML=e.js,document.head.appendChild(n),t.push(()=>n.remove())}return e.domMutations&&e.domMutations.forEach(e=>{t.push(Xd.declarative(e).revert)}),()=>{t.forEach(e=>e())}}_deriveStickyBucketIdentifierAttributes(e){const t=new Set,n=e&&e.features?e.features:this.getFeatures(),a=e&&e.experiments?e.experiments:this.getExperiments();return Object.keys(n).forEach(e=>{const a=n[e];if(a.rules)for(const e of a.rules)e.variations&&(t.add(e.hashAttribute||"id"),e.fallbackAttribute&&t.add(e.fallbackAttribute))}),a.map(e=>{t.add(e.hashAttribute||"id"),e.fallbackAttribute&&t.add(e.fallbackAttribute)}),Array.from(t)}async refreshStickyBuckets(e){if(this._ctx.stickyBucketService){const t=this._getStickyBucketAttributes(e);this._ctx.stickyBucketAssignmentDocs=await this._ctx.stickyBucketService.getAllAssignments(t)}}_getStickyBucketAssignments(){const e={};return Object.values(this._ctx.stickyBucketAssignmentDocs||{}).forEach(t=>{t.assignments&&Object.assign(e,t.assignments)}),e}_getStickyBucketVariation(e,t,n,a){t=t||0,n=n||0,a=a||[];const o=this._getStickyBucketExperimentKey(e,t),r=this._getStickyBucketAssignments();if(n>0)for(let t=0;t<=n;t++)if(void 0!==r[this._getStickyBucketExperimentKey(e,t)])return{variation:-1,versionIsBlocked:!0};const i=r[o];if(void 0===i)return{variation:-1};const s=a.findIndex(e=>e.key===i);return s<0?{variation:-1}:{variation:s}}_getStickyBucketExperimentKey(e,t){return t=t||0,"".concat(e,"__").concat(t)}_getStickyBucketAttributes(e){const t={};return this._ctx.stickyBucketIdentifierAttributes=this._ctx.stickyBucketIdentifierAttributes?this._ctx.stickyBucketIdentifierAttributes:this._deriveStickyBucketIdentifierAttributes(e),this._ctx.stickyBucketIdentifierAttributes.forEach(e=>{const{hashValue:n}=this._getHashAttribute(e);t[e]=sp(n)}),t}_generateStickyBucketAssignmentDoc(e,t,n){const a="".concat(e,"||").concat(t),o=this._ctx.stickyBucketAssignmentDocs&&this._ctx.stickyBucketAssignmentDocs[a]&&this._ctx.stickyBucketAssignmentDocs[a].assignments||{},r={...o,...n};return{key:a,doc:{attributeName:e,attributeValue:t,assignments:r},changed:JSON.stringify(o)!==JSON.stringify(r)}}}async function Fp(e,t){return{user_id:await Ha(),experiment_id:e,variation_id:t,url_visited:window.location.href}}const Up=["experiment","defaultValue"];let Vp=null;function Hp(){if(Vp)return Vp;const e=new Bp({apiHost:"https://cdn.growthbook.io",clientKey:"sdk-9jiRKLpeCAeQD7C",enableDevMode:!1,subscribeToChanges:!0,trackingCallback:async(e,t)=>{await j(await Fp(e.key,t.key))}});return Vp=Object.assign(e,{async getFeature(t){const n=await E.getGrowthbookFeature(t);if(n)return"experiment"===n?.source&&await j(await Fp(n.key,n?.experimentResult?.key??"0")),n;await e.loadFeatures();const a=e.evalFeature(t);return a&&Up.includes(a.source)&&await E.setGrowthbookFeature({key:t,...a}),a}}),Vp}const Kp='[data-testid="content-scroller"]';function Yp(e){if("childList"===e.type){if(e.removedNodes.length)return!0;if(e.addedNodes&&e.addedNodes[0]&&e.addedNodes[0]?.firstChild&&"dr-floating-container"===(e.addedNodes[0]?.firstChild).className)return!0;if(!e.addedNodes[0]?.firstChild?.className)return!0}return!1}class qp extends nd{constructor(e){super(e),this.platform="AIRBNB",this.displayName="Airbnb"}shouldActivate(e){return/airbnb\.[.a-z]{2,7}/i.test(e)}getListingsInPage(){const e=document.querySelectorAll("a.bn2bl2p");return Array.from(e).map(e=>{const t=e.getAttribute("target")?.replace("listing_","");return t})}findListingElement(e){return document.querySelector(`[target=listing_${e}]`)}async insertOffersComponentInList(e){const t=this.findListingElement(e);if(!t)return;const n=t.closest('[itemprop="itemListElement"]');n&&this.insertOffersComponent(e,{idSuffix:"list",container:n,componentOptions:{maxItems:1,loadingItems:1,ctaPrefix:"OFFERS_IN_LIST_ITEM",styles:Qp,vertical:!0,hideEmptyState:!0,hideLoadingSkeleton:!1}})}async markListingAsMultilisting(e,t){this.cleanRenderedLabel(e);const n=this.findListingElement(e);if(!n)return;const a=null!==n.closest(Kp),o=this.getLabelPlacement(n),r=bd(t,o,a?"#F7F6F2":"white");this.renderedLabels[e]||(this.renderedLabels[e]=r,this.appendLabel(n,r))}async insertSecondaryCTAInDetailView(e){if((await Hp().getFeature("secondary-ctas-offers")).on)this.insertOffersComponent(e.source_id,{idSuffix:"detail-secondary-cta",selector:Wp,componentOptions:{maxItems:1,loadingItems:1,ctaPrefix:"OFFERS_IN_DETAIL_BOOK",styles:Gp,vertical:!0,hideEmptyState:!0,hideLoadingSkeleton:!1}});else{const t=await this.insertSecondaryCTA(e,Wp,"SECONDARY_CTA_IN_DETAIL_BOOK");if(!t)return;t.style.marginTop="10px";const n=await qe(()=>Qt([".directo-cta-button-shine",".directo-cta-button-dark"],t.$reactRoot))();if(!n)return;n.style.borderRadius="8px",n.style.padding="15px 12px"}}async insertSecondaryCTAInCheckoutView(e){const t=await this.insertSecondaryCTA(e,['[data-section-id="CONFIRM_AND_PAY"]'],"SECONDARY_CTA_IN_CHECKOUT_FOOTER");if(!t)return;t.parentElement&&(t.parentElement.style.display="flex"),t.style.marginLeft="10px";const n=await qe(()=>Qt([".directo-cta-button-shine",".directo-cta-button-dark"],t.$reactRoot))();n&&(n.style.borderRadius="8px",n.style.padding="18px 12px",n.style.fontSize="16px",n.style.gap="12px",n.style.height="48px",n.style.right="0px")}getLabelPlacement(e){const{top:t,right:n}=function(e){const t=e.parentElement?.parentElement;if(!t)return console.warn("Parent element not found."),{right:-5,top:0};const n=Qt(["picture img"],t);if(!n)return console.warn("Picture element not found."),{right:-5,top:0};const a=null!==e.closest(Kp);return{right:-5,top:n.height-(a?70:54)}}(e);return{position:"absolute",top:`${t}px`,right:`${n}px`,zIndex:"1",borderTopLeftRadius:"25px"}}appendLabel(e,t){if(!1===this.rendererConfig.renderLabels)return;const n=Ro(1,3);try{switch(n){case 1:return e.append(t);case 2:return e.parentElement.append(t);case 3:return e.parentElement.children[1].append(t)}}catch(n){return e.append(t)}}async setMLRenderer(e){this.debouncedRenderMLs||(this.debouncedRenderMLs=md(e,2e3,{trailing:!0})),setTimeout(async()=>{const e=await qe(Qt,e=>!e)(["[itemprop=itemListElement]"]);new MutationObserver(e=>{for(const t of e)!Yp(t)&&this.debouncedRenderMLs&&this.debouncedRenderMLs()}).observe(e,{childList:!0,subtree:!0})},800),this.debouncedRenderMLs()}async getPriceFromList(e){if(!e)return null;const t=this.findListingElement(e);if(!t)return null;if(null!==t.closest(Kp))return null;const n=await qe(Qt,e=>!e,2)(['[data-testid="price-availability-row"] [role="presentation"] [aria-hidden="true"] [role="button"]','[data-testid="price-availability-row"] [role="presentation"] [aria-hidden="true"]'],t.parentElement);if(!n)return null;const a=[...n.querySelectorAll("span")].find(e=>"clip"!==getComputedStyle(e).overflow);if(!a)return null;const o=a.textContent,r=Qa(o),i=await this.buildListingQueryParam("currency",e);if(null===r||!i)return null;const s=await this.getListingLoS(e);return null===s?null:{priceString:o,currency:i,priceStringIsNightly:!1,totalPrice:r,nightlyPrice:r/s}}async getCheckoutPrice(e){const t=Qt(['[data-testid="pd-value-TOTAL"]']);if(!t)return null;const n=t.textContent||"",a=Qa(n),o=await this.buildListingQueryParam("currency",e);if(null===a||!o)return null;const r=await this.getListingLoS(e);return null===r?null:{priceString:n,currency:o,priceStringIsNightly:!1,totalPrice:a,nightlyPrice:a/r}}async canMakePricingRequest(e){const{hash:t}=window.location,n=t.includes("availability-calendar");return await super.canMakePricingRequest(e)&&!n}async getDetailPrice(){let e="";const t=await qe(()=>{const e=Qt(['[data-testid="book-it-default"] button']);if(!e)return null;const t="dialog"===e.getAttribute("aria-haspopup");return[...e.querySelectorAll("span")].find(e=>{const n=getComputedStyle(e);return"solid"===n.textDecorationStyle&&(!!t||"underline"===n.textDecorationLine)})||null},e=>!e)();t&&(e=t.textContent||"");const n=e.replace(/\n/gm,""),a=this.getItemId();if(null===a)return null;const o=await this.buildListingQueryParam("currency",a),r=Qa(n);if(null===r||!o)return null;const i=await this.getListingLoS(a);return null===i?null:{priceString:n,currency:o,priceStringIsNightly:!1,totalPrice:r,nightlyPrice:r/i}}getItemId(e){return(Xn.exec(e||location.href)||[])[3]??null}async getItemIdOnOTACheckout(){return(/(www\.)?airbnb\.[.a-z]{2,7}\/book\/stays\/(\d+)/i.exec(location.href)||[])[2]??null}getListingNameFromList(e){const t=this.findListingElement(e.source_id),n=t?.parentElement?.querySelector('[data-testid="listing-card-title"]')?.textContent;return n||e.directo_url}async getDestinationInUrl(){const e=/[https:\/\/]*[www]*\.airbnb\.[^\/]+\/s\/([^\/]+)\/homes/i.exec(location.href);return e?.length?decodeURIComponent(e[1]):null}async getPlatformQueryParamMap(e){return{checkin:()=>e.searchParams.get("check_in")||e.searchParams.get("checkin")||cn(new Date(Date.now()+8641e4)),checkout:()=>e.searchParams.get("check_out")||e.searchParams.get("checkout")||cn(new Date(Date.now()+16641e4)),adults:()=>e.searchParams.get("adults")||"2",children:()=>e.searchParams.get("children")||"0",currency:async()=>{try{if(e.searchParams.has("display_currency"))return e.searchParams.get("display_currency");if(e.searchParams.has("currency"))return e.searchParams.get("currency");if(e.searchParams.has("guestCurrency"))return e.searchParams.get("guestCurrency");const t=await qe(()=>Wt(["footer button span:not(:has(*))"]),e=>!e||0===e.length,8)();if(!t||0===t.length)throw new Error("Could not scrape platform currency in Airbnb (no candidates)");const n=[...t].map(e=>e.textContent.replace(/\n/gm,"")).filter(oo).at(-1)??null;if(!n)throw new Error("Could not scrape platform currency in Airbnb (no valid currency)");return n}catch(e){return console.error("Error getting currency from Airbnb URL or page",e),null}}}}static getSection(e){const t=e.href;return ea.test(t)?"LIST":Xn.test(t)?"DETAIL":ta.test(t)?"CHECKOUT":"UNKNOWN"}cleanRenderedSecondaryCTA(e,t){e.remove(),delete this.renderedSecondaryCTAs[t]}}const Qp="\n.offers-container {\n margin-top: 0.5em;\n}\n",Wp=['._wgmchy[data-testid="book-it-default"]'],Gp="\n.offers-container, .empty-state-container {\n margin-top: 10px;\n}\n\n.offers-item {\n border-radius: 8px;\n padding: 15px 12px;\n}\n\n.skeleton-button {\n padding: 5px 0;\n}\n";function Jp(e){if("childList"===e.type){if(e.removedNodes.length)return!0;const t=e.addedNodes[0];if(""===t?.className&&"DIV"===t?.nodeName)return!0;if(t&&"dr-floating-container"===t?.firstChild?.className)return!0}return!1}class Zp extends nd{lastUrl="";mapWasOpen=!1;isGridMode=void 0;embeddedInfoCache=null;constructor(e){super(e),this.platform="BOOKING",this.displayName="Booking.com",this.mapWasOpen=this.isMapOpen()}shouldActivate(e){return/booking\.com/i.test(e)}static getItemId(e=window.location.href){return Ca(e)}getListingsInPage(){if(this.isMapOpen())return[];const e=Wt(['[data-testid="property-card"]','[data-testid="property-card-desktop-single-image"]']),t=Array.from(e||[]).map(e=>{const t=e.querySelector("a");let n=t?.getAttribute("href");return xa((a=n.match(/[^]+?\.html/))&&a.length?a[0]:void 0);var a});return this.filterNewListingsInPage(t)}getListingCardContainer(e){const t=e.closest('[data-testid="property-card-container"]');return t?.firstChild?.firstChild??null}findListingElement(e){const t=Wt(['[data-testid="property-card"]','[data-testid="property-card-desktop-single-image"]']);if(!t||0===t.length)return null;let n=null;for(const a of t){const t=a.querySelector("a")||a,o=t.getAttribute("href");if(o&&xa(o)===e){n=t;break}}return n?this.getListingCardContainer(n):null}isMapOpen(){const{hash:e}=window.location,t=e.includes("map_opened");return this.mapWasOpen!==t&&(this.mapWasOpen=t,this.listingsInPage.clear(),this.renderedLabels=[]),t}async setGridMode(){const e=await qe(Qt,e=>!e,5)(['[role="radiogroup"]']);return void 0===this.isGridMode&&(this.isGridMode="grid"===e.querySelector("[checked]")?.getAttribute("value")),e&&e.addEventListener("change",()=>{this.cleanAllRenderedLabels(),this.isGridMode=!this.isGridMode,this.debouncedRenderMLs&&this.debouncedRenderMLs()}),this.isGridMode}async insertOffersComponentInList(e){setTimeout(()=>{if(this.isMapOpen())return;const t=this.findListingElement(e);if(!t)return;const n=t.closest('[data-testid="property-card"]');n&&this.insertOffersComponent(e,{idSuffix:"list",container:n,componentOptions:{maxItems:4,loadingItems:3,ctaPrefix:"VIO_BOOKING_LIST",styles:Xp,vertical:!0,hideEmptyState:!0,hideLoadingSkeleton:!0}})},2e3)}async insertOffersComponentInDetail(e){const t=await qe(e=>Qt(e),e=>null===e,10)([".hprt-reservation-cta"]);t&&await this.insertOffersComponent(e,{idSuffix:"detail",container:t,componentOptions:{maxItems:4,loadingItems:3,vertical:!0,styles:eh,ctaPrefix:"VIO_BOOKING_DETAIL"}})}async markListingAsMultilisting(e,t){if(this.isMapOpen())return;const n=this.findListingElement(e);if(!n)return;const a=n.closest('[data-testid="property-card"]');if(!a)return;const o=window.getComputedStyle(a).getPropertyValue("background-color"),r=this.getLabelPlacement(n),i=bd(t,r,o);this.appendLabel(e,a,i),this.rankListing(t,a)}rankListing(e,t){if(t&&t.parentElement)try{const n=new URL(window.location.href).searchParams.get("order");if(e.ranking&&(!n||"popularity"===n)){const e=t.parentElement;e.insertBefore(t,e.firstChild)}}catch(e){console.error(e)}}async insertSecondaryCTAInDetailView(e){if((await Hp().getFeature("secondary-ctas-offers")).on)this.insertOffersComponent(e.source_id,{idSuffix:"detail-secondary-cta-alt",selector:th,componentOptions:{maxItems:1,loadingItems:1,ctaPrefix:"OFFERS_IN_DETAIL_ALT",styles:nh,vertical:!0,hideEmptyState:!0,hideLoadingSkeleton:!1}}),this.insertOffersComponent(e.source_id,{idSuffix:"detail-secondary-cta-book",selector:ah,componentOptions:{maxItems:1,loadingItems:1,ctaPrefix:"OFFERS_IN_DETAIL_BOOK",styles:oh,vertical:!0,hideEmptyState:!0,hideLoadingSkeleton:!1}});else{const t=await this.insertSecondaryCTA(e,th,"SECONDARY_CTA_IN_DETAIL_ALT",`${e.source_id}-1`);t&&(t.style.marginTop="10px");const n=await this.insertSecondaryCTA(e,ah,"SECONDARY_CTA_IN_DETAIL_BOOK",`${e.source_id}-2`);n&&(n.style.marginTop="10px")}}async insertSecondaryCTAInCheckoutView(e){return this.debouncedInsertSecondaryCTAInCheckoutView(e)}debouncedInsertSecondaryCTAInCheckoutView=md(this.insertSecondaryCTAInCheckoutViewToDebounce,9e3,{leading:!0});async insertSecondaryCTAInCheckoutViewToDebounce(e){if((await Hp().getFeature("secondary-ctas-offers")).on)this.insertOffersComponent(e.source_id,{idSuffix:"checkout-secondary-cta-book",selector:rh,componentOptions:{maxItems:1,loadingItems:1,ctaPrefix:"OFFERS_IN_CHECKOUT_FOOTER",styles:ih,vertical:!0,hideEmptyState:!0,hideLoadingSkeleton:!1}});else{const t=await this.insertSecondaryCTA(e,rh,"SECONDARY_CTA_IN_CHECKOUT_FOOTER");if(!t)return;const n=await qe(()=>Qt([".directo-cta-button-shine",".directo-cta-button-dark"],t.$reactRoot))();if(!n)return;n.style.padding="14px 15px",n.style.fontSize="15px"}}appendLabel(e,t,n){!1!==this.rendererConfig.renderLabels&&(this.cleanRenderedLabel(e),t.append(n),this.renderedLabels[e]=n,setTimeout(()=>{const a=this.findListingElement(e);a&&(a===t||this.appendLabel(e,a,n))},2e3))}getLabelPlacement(e){return{position:"absolute",zIndex:"200",bottom:"0px",borderTopRightRadius:"25px"}}async setMLRenderer(e){this.debouncedRenderMLs||(this.debouncedRenderMLs=md(e,2500,{trailing:!0})),setTimeout(async()=>{const e=(await qe(Qt,e=>!e)(['[data-testid="property-card"]'])).parentElement,t=new MutationObserver(e=>{this.cleanAllRenderedLabels()});t.disconnect();const n=e.parentElement?.parentElement?.parentElement?.querySelector(".d3c5f9b609");t.observe(n,{childList:!0,subtree:!0});const a=new MutationObserver(e=>{for(const t of e)!Jp(t)&&this.debouncedRenderMLs&&this.debouncedRenderMLs()});a.disconnect();const o=e.parentElement?.parentElement?.parentElement?.querySelector('[data-results-container="1"]');a.observe(o,{childList:!0,subtree:!0}),this.setGridMode&&this.setGridMode(),this.lastUrl=window.location.href},2e3),this.lastUrl!==window.location.href&&this.listingsInPage.clear(),this.debouncedRenderMLs()}async getPriceObject(e,t,n){const a=Qa(t);if(null===a)return null;const o=await this.getListingLoS(e);return null===o?null:{priceString:t,currency:n,priceStringIsNightly:!1,nightlyPrice:a/o,totalPrice:a}}async getPriceFromList(e){const t=this.findListingElement(e),n=await qe(Qt,e=>!e,2)(['[data-testid="price-and-discounted-price"]'],t?.parentElement?.parentElement?.parentElement);if(!n)return null;const a=n.textContent,o=a.replace(/\n/gm,""),r=ao(a.replace(/[0-9\s,.]/g,"").trim());return r?this.getPriceObject(e,o,r):null}async getDetailPrice(){const e=await qe(Qt,e=>!e,2)(["#hprt-table .bui-price-display__value"]);if(!e)return null;const t=e.textContent.replace(/\n/gm,""),n=this.getItemId();if(null===n)return null;const a=await this.getDetailCurrency(t);return a?this.getPriceObject(n,t,a):null}getCurrencyFromUtagData(){return this.getValueFromUtagData("currency")}async getDetailCurrency(e){const t=await this.getCurrencyFromUtagData();return t||ao(e.replace(/[0-9\s,.]/g,"").trim())}async getCheckoutPriceElement(){return qe(Qt,e=>!e,12)(['[data-component="core/animate-price"]'])}async getCheckoutPrice(e){const t=await this.getCheckoutPriceElement();if(!t)return null;const n=t.textContent.replace(/\n/gm,""),a=await this.getCheckoutCurrency(t);return a?this.getPriceObject(e,n,a):null}async getCheckoutCurrency(e){const t=e.getAttribute("data-currency");if(t)return t;const n=e.textContent;return n?this.getDetailCurrency(n):null}getItemId(e){return Zp.getItemId(e)}async getItemIdOnOTACheckout(){try{return this.getItemIdOnOTACheckoutFromJsonApplicationContext()||this.getItemIdOnOTACheckoutFromSidebar()}catch(e){return console.error(e),null}}getItemIdOnOTACheckoutFromJsonApplicationContext(){const e=Qt(['[data-capla-application-context="data-capla-application-context"]']);if(!e)return null;const t=Je(e.textContent||"{}"),n=Pt(t,"body.BPRenderData.bookingSummaryDetails.hotelAbsoluteUrl",null);return"string"!=typeof n?null:this.getItemId(n)}getItemIdOnOTACheckoutFromSidebar(){const e=Qt(['[data-testid="booking-details-date-summary"]'])?.parentElement,t=e?.querySelector("a"),n=t?.getAttribute("href");return n?this.getItemId(n):null}getListingNameFromList(e){const t=this.findListingElement(e.source_id),n=t?.parentElement?.parentElement?.parentElement?.querySelector('[data-testid="title"]')?.textContent;return n||e.directo_url}async getDestinationInUrl(){return null}getScriptTagWithUtagDataContent(){const e=/window\.utag_data = ({\n[^]*?});/gm.exec(window.document.body.innerHTML);return e?e[1]:null}async getUtagData(){try{return await qe(()=>{const e=this.getScriptTagWithUtagDataContent();if(!e)return null;return We(Je(e.replace(/'/g,'"').replace(/([a-zA-Z0-9_]+):/g,'"$1":').split("\n").filter(e=>(e.match(/"/g)||[]).length<=4).join("\n")))||null},e=>!e,3)()}catch(e){return null}}async getValueFromUtagData(e){try{const t=await this.getUtagData();if(!t)return null;if(!(e in t))return null;const n=String(t[e]).trim();return["-1",""].includes(n)?null:n}catch(e){return console.error(e),null}}async getHotelIdInDetail(){return await this.getValueFromUtagData("hotel_id")??this.getHotelIdFromHiddenInput()??this.getHotelIdOnOtaCheckoutFromJsonApplicationContext()}async getHotelIdInCheckout(){return this.getHotelIdInDetail()}getHotelIdFromHiddenInput(){const e=Qt(['input[name="hotel_id"]']);if(!e)return null;const t=e.value.trim();return"string"!=typeof t||""===t?null:t}getHotelIdOnOtaCheckoutFromJsonApplicationContext(){const e=Qt(['[data-capla-application-context="data-capla-application-context"]']);if(!e)return null;const t=Je(e.textContent||"{}"),n=Pt(t,"body.hotel_id",null);return"string"!=typeof n||""===n?null:n}async getPlatformQueryParamMap(e){const{search:t}=e;return Vt(t?.split(";").slice(1),t=>{const[n,a]=t.split("=");e.searchParams.set(n,a)}),e.searchParams.forEach((t,n)=>{e.searchParams.set(n,t.split(";")[0])}),{checkin:async()=>{const t=e.searchParams.get("checkin");if(t&&an.tryFromDashYYYYMMDD(t))return t;const n=await this.getValueFromUtagData("date_in");if(n)return n;return await this.getEmbeddedValue(e,lh[Zp.getSection(e)]("checkin"))||an.unsafe_fromDate(on(new Date,1)).toDashYYYYMMDD()},checkout:async()=>{const t=e.searchParams.get("checkout");if(t&&an.tryFromDashYYYYMMDD(t))return t;const n=await this.getValueFromUtagData("date_out");if(n)return n;const a=await this.getEmbeddedValue(e,lh[Zp.getSection(e)]("checkout"));if(a)return a;return function(e,t){if(!e||!t)return null;const n=an.tryFromDashYYYYMMDD(e);if(!n)return null;const a=parseInt(t,10);if(Number.isNaN(a)||a<0)return null;const o=on(n.unsafe_toDate(),a);return an.fromDate(o)?.toDashYYYYMMDD()??null}(e.searchParams.get("checkin"),e.searchParams.get("interval"))||an.unsafe_fromDate(on(new Date,2)).toDashYYYYMMDD()},adults:async()=>{const t=e.searchParams.get("req_adults")||e.searchParams.get("group_adults");if(t)return t;return await this.getValueFromUtagData("adults")||"2"},children:async()=>{const t=e.searchParams.get("req_children")||e.searchParams.get("group_children");if(t)return t;return await this.getValueFromUtagData("children")||"0"},currency:async()=>{try{const e=await qe(Qt,e=>!e,4)(['[data-testid="header-currency-picker-trigger"]']),t=Pt(e,"textContent")?.replace(/\n/gm,"");if(t===uh)return null;if(!t)throw new Error("Could not scrape platform currency in Booking");return t}catch(e){return console.error("Error getting platform currency from Booking URL or page",e),null}}}}async getListingQueryParamMap(e,t){return{...await this.getPlatformQueryParamMap(t),currency:async()=>{try{if("DETAIL"===Zp.getSection(t)){const e=await this.getCurrencyFromUtagData();if(e)return e}else if("CHECKOUT"===Zp.getSection(t)){const e=await this.getCheckoutPriceElement();if(e){const t=await this.getCheckoutCurrency(e);if(t)return t}}const n=await this.getPrice(e),a=n?.currency??null;if(!a)throw new Error(`Could not scrape listing ${e} currency in Booking`);return a}catch(e){return console.error("Error getting listing currency from Booking URL or page",e),null}}}}static getSection(e){const t=e.href;return aa.test(t)?"LIST":na.test(t)?"DETAIL":oa.test(t)?"CHECKOUT":ra.test(t)?"CONFIRMATION":"UNKNOWN"}async getEmbeddedInfoJson(e){if(null!==this.embeddedInfoCache)return this.embeddedInfoCache;const t=sh[Zp.getSection(e)];if(!t)return null;const n=await Zt([t]);return this.embeddedInfoCache=n,this.embeddedInfoCache}async getEmbeddedValue(e,t){const n=await this.getEmbeddedInfoJson(e);if(!n)return null;const a=t(n);return"string"!=typeof a?null:a}}const Xp="\n.offers-container {\n margin-top: 20px;\n}\n",eh="\n.offers-container {\n margin-top: 10px;\n}\n",th=["#top-book"],nh="\n.offers-container {\n margin-top: 10px;\n display: block;\n}\n",ah=[".ph-footer"],oh="\n.offers-container {\n margin-top: 10px;\n display: block;\n}\n",rh=[".bui-group.bui-button-group.bui-group--vertical-align-middle.bui-group--inline.bui-group--align-end"],ih="\n.offers-container {\n min-width: 15em;\n}\n\n.offers-item, .skeleton-button {\n padding: 12px 15px;\n}\n",sh={LIST:'script[data-capla-namespace*="b-search-web-searchresults"][data-capla-store-data="apollo"]',DETAIL:'script[data-capla-namespace*="b-property-web-property"][data-capla-store-data="apollo"]',CHECKOUT:'script[data-capla-namespace*="b-checkout-bp-accommodation"][data-capla-store-data="apollo"]',CONFIRMATION:'script[data-capla-namespace*="b-post-booking-web"][data-capla-store-data="apollo"]',UNKNOWN:null},ch=()=>()=>null,lh={LIST:function(e){return t=>{if(!t.ROOT_QUERY)return null;const n=We(t.ROOT_QUERY);if(!n||!n.searchQueries)return null;const a=We(n.searchQueries);if(!a)return null;const o=Ge(a,/^search\(.*\)$/);if(!o)return null;const r=We(o);if(!r||!r.searchMeta)return null;const i=We(r.searchMeta);if(!i||!i.dates)return null;const s=We(i.dates);if(!s)return null;const c=s[e];return"string"!=typeof c?null:c}},DETAIL:function(e){return t=>{if(!t.ROOT_QUERY)return null;const n=We(t.ROOT_QUERY);if(!n)return null;const a=Ge(n,/^hotelPageByPageName\(.*\)$/);if(!a)return null;const o=We(a);if(!o||!o.propertyFullExtended)return null;const r=We(o.propertyFullExtended);if(!r||!r.searchBoxPrefillData)return null;const i=We(r.searchBoxPrefillData);if(!i||!i.dates)return null;const s=We(i.dates);if(!s)return null;const c=s[e];return"string"!=typeof c?null:c}},CHECKOUT:ch,CONFIRMATION:ch,UNKNOWN:ch},uh="€$£",dh=function(e,t,n,a){var o=-1,r=null==e?0:e.length;for(a&&r&&(n=e[++o]);++o<r;)n=t(n,e[o],o,e);return n},ph=function(e,t,n,a,o){return o(e,function(e,o,r){n=a?(a=!1,e):t(n,e,o,r)}),n},hh=function(e,t){return e>t},mh=function(e,t){return e&&e.length?function(e,t,n){for(var a=-1,o=e.length;++a<o;){var r=e[a],i=t(r);if(null!=i&&(void 0===s?i==i&&!Xe(i):n(i,s)))var s=i,c=r}return c}(e,mr(t),hh):void 0};class fh extends nd{constructor(e){super(e),this.platform="VRBO",this.displayName="Vrbo"}shouldActivate(e){return/vrbo\.com/i.test(e)}getListingsInPage(){const e=function(e,t,n){var a=Ae(e)?dh:ph,o=arguments.length<3;return a(e,mr(t),n,o,Ft)}(Wt(['[data-stid="open-hotel-information"]','[role="listitem"] a']),(e,t)=>{const n=t.getAttribute("href");return e.push(this.getIdFromUrl(n)),e},[]);return this.filterNewListingsInPage(e)}findListingElement(e){const t=Wt(['[data-stid="open-hotel-information"]','[role="listitem"] .HitCarousel a']);let n=null;return t?.forEach(t=>{const a=t.getAttribute("href");a?.indexOf(e)>-1&&(n=t)}),n}async renderAlternativeCTAInList(e,t){const n=t.parentElement;if(!n)return;const a=await this.insertSecondaryCTA(e,['[data-test-id="price-summary"]'],"SECONDARY_CTA_IN_LIST_ITEM",`${e.source_id}-list`,n);if(!a)return;a.style.marginTop="12px";const o=await qe(()=>Qt([".popover__content"],a.$reactRoot))();o&&(o.style.left="39px");const r=await qe(()=>Qt([".popover"],a.$reactRoot))();r&&(r.style.zIndex="300")}async markListingAsMultilisting(e,t){this.cleanRenderedLabel(e);const n=this.findListingElement(e);if(!n||!n.parentElement)return;const a=this.getLabelPlacement(n),o=bd(t,a);if(this.renderedLabels[e])return;const r=Qt(["figure",".LazyLoad"],n.parentElement)||n;this.appendLabel(e,r,o),this.renderAlternativeCTAInList(t,n)}async insertSecondaryCTAInDetailView(e){const t=await this.insertSecondaryCTA(e,['[data-stid="property-offers"]'],"SECONDARY_CTA_IN_DETAIL_BOOK");if(!t)return;const n=await qe(()=>Qt([".directo-cta-button-shine",".directo-cta-button-dark"],t.$reactRoot))();n&&(n.style.borderRadius="30px",t.style.padding="10px 0px")}async insertSecondaryCTAInCheckoutView(e){return this.debouncedInsertSecondaryCTAInCheckoutView(e)}debouncedInsertSecondaryCTAInCheckoutView=md(this.insertSecondaryCTAInCheckoutViewToDebounce,9e3,{leading:!0});async insertSecondaryCTAInCheckoutViewToDebounce(e){const t=await this.insertSecondaryCTA(e,['[data-at-id="contact-continue-button-standard"]'],"SECONDARY_CTA_IN_CHECKOUT_FOOTER");if(t){t.parentElement?.parentElement&&(t.parentElement.parentElement.style.display="flex",t.parentElement.parentElement.appendChild(t)),t.style.marginLeft="10px";const e=await qe(()=>Qt([".directo-cta-button-shine",".directo-cta-button-dark"],t.$reactRoot))();e&&(e.style.borderRadius="99px",e.style.padding="18px 28px",e.style.gap="16px",e.style.fontSize="16px")}await this.insertSecondaryCTA(e,[".price-details"],"SECONDARY_CTA_IN_CHECKOUT_SUMMARY")}appendLabel(e,t,n){if(!1===this.rendererConfig.renderLabels)return;const a=Ro(1,5);try{switch(a){case 1:return t.append(n);case 2:return t.children[0].append(n);case 3:return t.children[0].children[0].append(n);case 4:return t.children[0].children[0].children[0].append(n);case 5:return t.children[0].children[0].children[1].append(n)}}catch(e){return t.append(n)}finally{this.renderedLabels[e]=n}}getLabelPlacement(e){const{bottom:t,left:n}=function(e){const t=e.parentElement?.parentElement;return t?{left:(Qt(["figure",".LazyLoad"],t)||t).clientWidth-50,bottom:t.clientHeight-e.clientHeight}:(console.warn("Parent element not found."),{left:0,bottom:0})}(e);return{position:"absolute",bottom:`${t}px`,left:`${n}px`,zIndex:"300"}}async setMLRenderer(e){this.debouncedRenderMLs||(this.debouncedRenderMLs=md(e,2e3,{leading:!0}));const t=await qe(Qt,e=>!e)([".HitCollection",'[data-stid="property-listing-results"]']);new MutationObserver(e=>{for(const t of e)"childList"===t.type&&this.debouncedRenderMLs&&this.debouncedRenderMLs()}).observe(t,{childList:!0,subtree:!0}),this.debouncedRenderMLs()}async getPriceObject(e,t){const n=Qa(e),a=await this.buildListingQueryParam("currency",t);if(null===n||!a)return null;const o=await this.getListingLoS(t);return null===o?null:{priceString:e,currency:a,priceStringIsNightly:!1,nightlyPrice:n/o,totalPrice:n}}async getPriceString(e){const t=await qe(Wt,e=>!e||0===e.length,10)(['[data-test-id="price-summary-message-line"] *:not(del):not(.is-visually-hidden):not(:has(*))'],e);if(!t||0===t.length)return null;const n=[...t].map(e=>{const t=e.textContent;if(!t)return null;const n=Qa(t);return null===n?null:{text:t,cents:n}}).filter(e=>null!==e),a=mh(n,e=>e.cents);return a?.text||null}async findDetailPriceContainerElement(){return await qe(Qt,e=>!e,10)(['[data-stid="property-offer-price-summary"]'])}async getDetailPrice(){const e=await this.findDetailPriceContainerElement();if(!e)return null;const t=await this.getPriceString(e);if(!t)return null;const n=this.getItemId();return this.getPriceObject(t,n)}async getPriceFromList(e){const t=this.findListingElement(e)?.parentElement;if(!t)return null;const n=await this.getPriceString(t);return n?this.getPriceObject(n,e):null}async getCheckoutPrice(e){const t=Qt([".price-details__price"]);if(!t)return null;const n=t.textContent||"",a=Qa(n),o=n.replace(/[\d.,\s]/g,"").trim();if(!o)return null;const r=ao(o);if(null===a||!r)return null;const i=await this.getListingLoS(e);return null===i?null:{priceString:n,currency:r,priceStringIsNightly:!1,totalPrice:a,nightlyPrice:a/i}}getItemId(e){const{href:t}=window.location;return this.getIdFromUrl(e||t)}async getItemIdOnOTACheckout(){try{const{pathname:e}=new URL(window.location.href),t=/checkout\/\d{3}\.(\d+)\.\d+/i.exec(e);return t&&t.length>1?t[1]:null}catch(e){return console.error(e),null}}getListingNameFromList(e){const t=this.findListingElement(e.source_id);if(!t||!t.parentElement)return null;const n=Qt(["h3.uitk-heading"],t.parentElement),a=n?.textContent;return a||e.directo_url}getIdFromUrl(e){const t=/(\/[a-z-]*\/)?([a-z]*)?[0-9]+[a-z]*/.exec(e);if(t&&t[0])return t[0];const n=new URL(e).pathname.split("/");return n[n.length-1].replace(/[a-z]*/g,"")}async getPlatformQueryParamMap(e){return{checkin:()=>e.searchParams.get("startDate")||e.searchParams.get("chkin")||cn(new Date(Date.now()+8641e4)),checkout:()=>e.searchParams.get("endDate")||e.searchParams.get("chkout")||cn(new Date(Date.now()+16641e4)),children:()=>{const t=e.searchParams.get("childrenCount");return t||((n=e.searchParams.get("children")||this.getQueryParamFromApolloState("children")||"0")?n.split(",").filter(e=>"1_"===e.slice(0,2)).length.toString():null);var n},adults:()=>{const t=e.searchParams.get("adultsCount");return t||((e.searchParams.get("adults")||this.getQueryParamFromApolloState("adults")||"2").split(",")[0]||null)},currency:()=>{try{const t=e.searchParams.get("top_cur");if(t)return t;const n=this.getCurrencyFromApolloState()||this.getQueryParamFromApolloState("currency")||null;if(!n)throw new Error(`Could not scrape platform currency in VRBO (${this.platform}, ${this.base.name})`);return n}catch(e){return console.error("Error getting currency from VRBO URL or page",e),null}}}}static getSection(e){const t=e.href;return sa.test(t)?"LIST":ia.test(t)?"DETAIL":ca.test(t)?"CHECKOUT":"UNKNOWN"}cachedApolloState=null;getApolloState(){if(this.cachedApolloState)return this.cachedApolloState;const e=Wt(["script"]);if(!e)return null;const t=[...e].find(e=>gh.test(e.textContent));if(!t)return null;const n=t.textContent.replace(gh,"").replace(yh,"");if(!n)return null;const a=Je(n);return"string"!=typeof a?null:(this.cachedApolloState=Ze(a),this.cachedApolloState)}getApolloStateLocalePreferences(){const e=this.getApolloState();if(!e||!e.ROOT_QUERY)return null;const t=We(e.ROOT_QUERY);if(!t)return null;const n=Ge(t,/^localePreferences\(.*\)$/);if(!n)return null;return We(n)||null}getQueryParamFromApolloState(e){try{const t=this.getApolloStateLocalePreferences();if(!t||!t.queryParamsToSubmit||!Array.isArray(t.queryParamsToSubmit))return null;const n=t.queryParamsToSubmit.map(We).filter(e=>void 0!==e&&"string"==typeof e.key&&"string"==typeof e.value).find(t=>t.key===e)?.value;return n??null}catch(t){return console.error(`Error getting query param ${e} from Apollo state`,t),null}}getCurrencyFromApolloState(){try{const e=this.getApolloStateLocalePreferences();if(!e||!e.trigger)return null;const t=We(e.trigger);if(!t)return null;const n=t.text;return"string"!=typeof n?null:n}catch(e){return console.error("Error getting currency from Apollo state",e),null}}}const gh=/^window\.__APOLLO_STATE__ = JSON.parse\(/,yh=/\);$/;class bh extends fh{constructor(e){super(e),this.displayName="Abritel"}shouldActivate(e){return/abritel\.fr/i.test(e)}getIdFromUrl(e){const t=/\/location-vacances\/([a-z]*[0-9]+[a-z]*)|$|\?/.exec(e);let n=null;return t&&t[1]&&(n=t[1]),function(e){return/p(\d+)$/.test(e)?e.replace(/^p/,"")+"a":/p(\d+)a$/.test(e)?e.replace(/^p/,"").replace(/a$/,"ha"):/p(\d+)vb$/.test(e)?e.replace(/^p/,"").replace("vb",""):e}(n)}static getSection(e){const t=e.href;return ua.test(t)?"LIST":la.test(t)?"DETAIL":da.test(t)?"CHECKOUT":"UNKNOWN"}async getPlatformQueryParamMap(e){return{...await super.getPlatformQueryParamMap(e),currency:"EUR"}}}class kh extends fh{constructor(e){super(e),this.platform="EXPEDIA",this.displayName="Expedia"}shouldActivate(e){return/expedia\.[a-z.]{2,7}/i.test(e)}getLabelPlacement(e){const{bottom:t,left:n}=function(e){const t=e.parentElement?.parentElement;return t?{left:(Qt(["figure",".LazyLoad"],t)||t).clientWidth-50,bottom:t.clientHeight-e.clientHeight}:(console.warn("Parent element not found."),{left:0,bottom:0})}(e);return{position:"absolute",bottom:`${t}px`,left:`${n}px`,zIndex:"300"}}getItemId(e){const{href:t}=window.location;return this.getIdFromUrl(e||t)}async getHotelIdInDetail(){const{href:e}=window.location;return this.getIdFromUrl(e)||null}async getItemIdOnOTACheckout(){try{const e=Qt(['[data-stid="product-details-wrapper"] img']);return new URL(e?.getAttribute("src")||"").pathname.split("/").slice(-2)[0]||null}catch(e){return console.error(e),null}}getIdFromUrl(e){const t=/\/[\w-]*?\.h(\d*)\.[\w-]*\??/g.exec(e);return t?t[1]:""}async insertSecondaryCTAInDetailView(e){}async insertSecondaryCTAInCheckoutView(e){return this.debouncedInsertSecondaryCTAInCheckoutView(e)}async insertSecondaryCTAInCheckoutViewToDebounce(e){const t=Hp().getFeature("secondary-ctas-offers");setTimeout(async()=>{try{if((await t).on){const t=await this.insertOffersComponent(e.source_id,{idSuffix:"checkout-secondary-cta",selector:['[data-module="booking"] :has(> [data-testid="book-button"])'],componentOptions:{maxItems:1,loadingItems:1,ctaPrefix:"OFFERS_IN_CHECKOUT_FOOTER",styles:jh,vertical:!0,hideEmptyState:!0,hideLoadingSkeleton:!1}});if(!t)return;t.style.display="inline-block"}else{const t=await qe(Qt,e=>!e,10)(['[data-testid="book-button"]']),n=await $u(e,"SECONDARY_CTA_IN_CHECKOUT_FOOTER");t.parentElement?.appendChild(n),this.setRenderedSecondaryCTA(e.source_id,n),n.parentElement.style.display="flex";const a=await qe(()=>Qt([".directo-cta-button-shine",".directo-cta-button-dark"],n.$reactRoot))();if(!a)return;a.style.padding="14px 20px",a.style.gap="16px",a.style.fontSize="14px",a.style.marginTop="18px"}}catch(e){console.error("Error inserting secondary CTA in Expedia checkout view",e)}},2e3)}debouncedInsertSecondaryCTAInCheckoutView=md(this.insertSecondaryCTAInCheckoutViewToDebounce,9e3,{leading:!0});async getCheckoutPrice(e){const t=Qt(['[data-stid="price-summary-card"] [style="text-align:right"] .uitk-type-500']);if(!t)return null;const n=t.textContent||"",a=Qa(n),o=n.replace(/[\d.,\s]/g,"").trim();if(!o)return null;const r=ao(o);if(null===a||!r)return null;const i=await this.getListingLoS(e);return null===i?null:{priceString:n,currency:r,priceStringIsNightly:!1,totalPrice:a,nightlyPrice:a/i}}async findDetailPriceContainerElement(){return await qe(Qt,e=>!e,10)(['[data-stid="property-offer-1"]'])}async insertOffersComponentInDetail(e){const t=await qe(e=>{const t=Qt(e);return t?t.parentElement:null},e=>null===e,10)(['[data-stid="submit-hotel-reserve"]']);t&&await this.insertOffersComponent(e,{idSuffix:"list",container:t,componentOptions:{maxItems:4,loadingItems:3,vertical:!0,styles:wh,ctaPrefix:"VIO_EXEDIA_DETAIL"}})}static getSection(e){const t=e.href;return ha.test(t)?"LIST":pa.test(t)?"DETAIL":ma.test(t)?"CHECKOUT":"UNKNOWN"}async renderAlternativeCTAInList(e,t){}async insertOffersComponentInList(e){const t=this.findListingElement(e);if(!t)return;const n=t.parentElement;n&&await this.insertOffersComponent(e,{idSuffix:"list",selector:['[data-test-id="price-summary"]'],container:n,componentOptions:{maxItems:1,loadingItems:1,ctaPrefix:"OFFERS_IN_LIST_ITEM",styles:vh,vertical:!1,hideEmptyState:!0,hideLoadingSkeleton:!1}})}}const vh="\n.offers-container {\n margin-top: 0.5em;\n\n position: relative;\n z-index: 300;\n}\n",wh="\n.offers-container {\n margin: 1em 0;\n}\n\n.offers-container.offers-container-horizontal {\n flex-direction: row;\n}\n\n@media screen and (min-width: 992px) {\n .offers-container {\n margin: 1em 0 1em 0;\n }\n}\n",jh="\n.offers-container {\n min-width: 15em;\n margin-left: 1em;\n}\n\n\n.skeleton-button {\n top: 0.5em;\n}\n";var _h=1/0;const xh=function(e){var t=function(e){return e?(e=dd(e))===_h||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}(e),n=t%1;return t==t?n?t-n:t:0};var Ch=Math.max;const zh=(Sh=function(e,t,n){var a=null==e?0:e.length;if(!a)return-1;var o=null==n?0:xh(n);return o<0&&(o=Ch(a+o,0)),function(e,t,n,a){for(var o=e.length,r=n+(a?1:-1);a?r--:++r<o;)if(t(e[r],r,e))return r;return-1}(e,mr(t),o)},function(e,t,n){var a=Object(e);if(!Ie(e)){var o=mr(t);e=$t(e),t=function(e){return o(a[e],e,a)}}var r=Sh(e,t,n);return r>-1?a[o?e[r]:r]:void 0});var Sh;function Eh(e){if("childList"===e.type){if(e.removedNodes.length)return!0;if(e.addedNodes&&e.addedNodes[0]&&e.addedNodes[0]?.firstChild&&"dr-floating-container"===(e.addedNodes[0]?.firstChild).className)return!0;if(!e.addedNodes[0]?.firstChild?.className)return!0}return!1}class Oh extends nd{constructor(e){super(e),this.platform="GOOGLE",this.displayName="Google"}shouldActivate(e){return null!==/google\.[a-z.]{2,7}\/search\?/i.exec(e)}getListingsInPage(){const e=Wt(['#search [jsname="UWckNb"]'])||[];return function(e){for(var t=-1,n=null==e?0:e.length,a=0,o=[];++t<n;){var r=e[t];r&&(o[a++]=r)}return o}(Array.from(e).map(e=>{const t=e.getAttribute("href"),n=Zn(t);if(!n)return null;const a=function(e,t){switch(e){case"AIRBNB":return new qp(t);case"BOOKING":return new Zp(t);case"VRBO":return new fh(t);case"EXPEDIA":return new kh(t);default:return null}}(n,this.rendererConfig);return a?`${n}::${a.getItemId(t)}`:null}))}findListingElement(e){const t=Wt(['#search [jsname="UWckNb"]']);return zh(t,t=>{const n=t.getAttribute("href");return!!n&&function(e){const t=Zn(e);return"GOOGLE"!==t&&null!==t}(n)&&n.includes(e)})??null}markListingAsMultilisting(e,t){this.cleanRenderedLabel(e);const n=this.findListingElement(e);if(!n)return;const a=this.getLabelPlacement(n),o=bd(t,{...a,transform:"scaleY(-1)"},"transparent");this.renderedLabels[e]||(this.renderedLabels[e]=o,this.appendLabel(n,o))}getLabelPlacement(e){return{position:"absolute",top:"0px",left:"-85px",zIndex:"127",borderTopLeftRadius:"25px"}}appendLabel(e,t){if(!1!==this.rendererConfig.renderLabels)return e.append(t)}async setMLRenderer(e){this.debouncedRenderMLs||(this.debouncedRenderMLs=md(e,2e3,{trailing:!0})),setTimeout(async()=>{const e=await qe(Qt,e=>!e)(["#search"]);new MutationObserver(e=>{for(const t of e)!Eh(t)&&this.debouncedRenderMLs&&this.debouncedRenderMLs()}).observe(e,{childList:!0,subtree:!0})},800),this.debouncedRenderMLs()}async getPriceFromList(e){return null}async getDetailPrice(){return null}getItemId(){return""}getListingNameFromList(e){const t=this.findListingElement(e.source_id),n=t?.parentElement?.querySelector('[data-testid="listing-card-title"]')?.textContent;return n||e.directo_url}async getDestinationInUrl(){return""}async getPlatformQueryParamMap(e){return{checkin:()=>e.searchParams.get("check_in")||e.searchParams.get("checkin"),checkout:()=>e.searchParams.get("check_out")||e.searchParams.get("checkout"),adults:()=>e.searchParams.get("adults")||"2",children:()=>e.searchParams.get("children")||"0",currency:()=>e.searchParams.has("display_currency")?e.searchParams.get("display_currency"):e.searchParams.has("currency")?e.searchParams.get("currency"):null}}static getSection(e){const t=e.href;return fa.test(t)?"LIST":"UNKNOWN"}}const Ah=new class{renderer=void 0;availableRenderers=[];initialize(e){if(void 0!==this.renderer)throw new Error("PlatformContentFactory already initialized");this.availableRenderers=[new qp(e),new Zp(e),new fh(e),new bh(e),new kh(e),new Oh(e)],this.renderer=this.getActivableRenderer(window.location.href)}get(){if(void 0===this.renderer)throw new Error("PlatformContentFactory not initialized");return this.renderer}getActivableRenderer(e){for(const t of this.availableRenderers)if(t.shouldActivate(e))return t;return null}};async function Ph(e){const t=Ah.get();return t?await t.getPrice(e):null}async function Ih(e){const t=Ah.get();return t?await t.getListingLoS(e):null}function Lh(){const e=Ah.get();return e?e.getListingsInPage():[]}function Nh(){const e=Ah.get();return e?e.getItemId():null}async function Th(){const e=Ah.get();return e?await e.getItemIdOnOTACheckout():null}async function Dh(){const e=Ah.get();return e?await e.getHotelIdInDetail():null}async function Rh(){const e=Ah.get();return e?await e.getHotelIdInCheckout():null}const Mh=["checkin","checkout","currency","children","adults"];async function $h(e){const t=await Promise.all(Mh.map(async t=>{const n=await e(t);return[t,"checkin"===t||"checkout"===t?n?sn(n):null:n]}));return Object.fromEntries(t)}async function Bh(e,t){return $h(n=>async function(e,t,n=window.location.href){const a=Ah.get();return a?await a.buildListingQueryParam(e,t,n):null}(n,e,t))}function Fh(e){if(!(e.checkin&&e.checkout&&e.adults&&e.currency))return null;const t=parseInt(e.adults,10);if(!Number.isInteger(t))return null;const n=null!==e.children?parseInt(e.children,10):null;return null===n||Number.isInteger(n)?{checkin:e.checkin,checkout:e.checkout,adults:t,children:n??void 0,currency:e.currency}:null}const Uh=["vidahotels.com","addresshotels.com"],Vh=new class{config=null;constructor(){}initialize(e){if(this.config)throw new Error("FrontNavigationFactory is already initialized");this.config=e}async openOutclickTab(e,t,n){if(!this.config)throw new Error("FrontNavigationFactory is not initialized");this.config.onBeforeOpenOutclickTab?.({targetUrl:e,outclickExtraParams:n}),await E.openOutclickTab({sourceUrl:window.location.href,targetUrl:e,cta:t,sourceId:n.sourceId,stayParams:n.stayParams,useRedirectEngine:this.config.useRedirectEngine,redirectEngineParams:{coupon:n.coupon??null,discount:n.discount??null}}),this.config.onAfterOpenOutclickTab?.({targetUrl:e,outclickExtraParams:n})}async navigateToDirectLink(e,t,n){await Hh(e),await this.openOutclickTab(e,t,n)}async navigateToDestinationLink(e,t,n){await Hh(e);const a=await async function(e){return $h(t=>async function(e,t=window.location.href){const n=Ah.get();return n?await n.buildPlatformQueryParam(e,t):null}(t,e))}(window.location.href);await this.openOutclickTab(e,t,{...n,sourceId:n.fakeSourceId,stayParams:a})}};async function Hh(e){try{const t=new URL(e),n=wn(t);if(Uh.includes(n)){const e=To(t.hostname);await E.maybeOpenTempTab({url:e})}}catch(e){console.error("Error opening new tab",e)}}async function Kh(e){const t=await async function(e){return{user_id:await Ha(),session_id:await E.getSessionId(),url_visited:e.sourceUrl,platform:e.platform,source_id:e.sourceId,direct_url:e.directUrl,checkin:e.pricingParams?.checkin??null,checkout:e.pricingParams?.checkout??null,adults:null!=e.pricingParams?.adults?d(e.pricingParams.adults):null,children:null!=e.pricingParams?.children?d(e.pricingParams.children):null,ota_currency:e.otaPrice.currency,ota_pricing_period:e.otaPrice.priceStringIsNightly?"NIGHTLY":"TOTAL",ota_gross_total_price:e.otaPrice.totalPrice,shop_endpoint_response_time_ms:e.shopEndpointResponseTimeMs,...e.directoPrice.price?{ota_displayed_price:e.displayedOtaPrice,ota_displayed_currency:e.displayedCurrency,direct_currency:e.directoPrice.currency,direct_pricing_period:e.directoPrice.nightly?"NIGHTLY":"TOTAL",direct_gross_total_price:e.directoPrice.price,direct_displayed_price:e.displayedDirectoPrice,direct_displayed_currency:e.displayedCurrency,popup_displayed:e.popupDisplayed,displayed_difference:e.displayedPriceDifference}:{ota_displayed_price:null,ota_displayed_currency:null,direct_currency:null,direct_pricing_period:null,direct_gross_total_price:null,direct_displayed_price:null,direct_displayed_currency:null,popup_displayed:!1,displayed_difference:null}}}(e);return await async function(e){return await w.get().post("/v2/rate-from-ota-comparison",{body:l.B64Json(e)})}(t)}async function Yh(e,t){const n=e.source_id,a=Ah.get();if(!a||!await async function(e){const t=Ah.get();return!!t&&t.canMakePricingRequest(e)}(n))return null;const o=await Bh(n,window.location.href),r={url:e.directo_url,...o,isUrlParametrised:e.stay_parametrised??!1,..."BOOKING"===a.platform?{hotelId:await a.getHotelIdInDetail()}:{}},{value:i,elapsed:s}=e.pricing?{value:e.pricing,elapsed:0}:await async function(){const e=performance.now();return{value:await async function(e){return await C().get("/shop",{params:e,parser:new f})}(r),elapsed:performance.now()-e}}(),c=i&&null!==i.price&&null!==i.currency&&""!==i.currency?vu({otaTotalPrice:t.totalPrice,otaCurrency:t.currency,directoPrice:i.price,directoIsNightly:i.nightly??!1,directoCurrency:i.currency,lengthOfStay:await Ih(n),displayCurrency:t.currency}):null,l=Zn(window.location.href);return c&&l&&E.storeCachedDisplayPrices({platform:l,source_id:e.source_id,...c}),Kh({sourceUrl:window.location.href,directUrl:e.directo_url,otaPrice:t,directoPrice:i,pricingParams:r,shopEndpointResponseTimeMs:s,...c??{displayedOtaPrice:null,displayedDirectoPrice:null,displayedPriceDifference:null,displayedCurrency:null},popupDisplayed:!!c&&bu(c),platform:Zn(window.location.href),sourceId:e.source_id}),c}async function qh(){const e=await Th(),t=Zn(window.location.href);return null===e||null===t?null:await E.getCachedDisplayPrices({source_id:e,platform:t})}async function Qh(e){const t=Zn(window.location.href);if(!t)return[];const n=Fh(await Bh(e.listingId,window.location.href));if(!n)return[];const{offers:a}=await E.getAlternativeOffersByCompoundIds({id:[e],language:qt(),platform:t,...n});return a}async function Wh(){const e=await async function(){const[e,t]=await Promise.all([qe(Rh,e=>null===e)(),qe(Th,e=>null===e)()]);return null===e||null===t?null:{hotelId:e,listingId:t}}();return null===e?[]:Qh(e)}const Gh=function(e,t){var n=[];return Ft(e,function(e,a,o){t(e,a,o)&&n.push(e)}),n},Jh=function(e,t){return(Ae(e)?Go:Gh)(e,mr(t))},Zh=Ou();async function Xh(){const e=await Th(),t=Zn(window.location.href);return null!==e&&null!==t?await E.getCachedDirectoInfo({source_id:e,platform:t}):null}var em=n(381);async function tm(e){const t=await qe(Ph)(e);if(t)return t;const n=Zn(window.location.href);return n?await E.getCachedListingPrice({source_id:e,platform:n}):null}const nm=Ou();class am extends em.EventEmitter{emit(e,...t){return super.emit(e,...t)}on(e,t){return super.on(e,t)}}const om=new am;async function rm(e,t,n){return e.then(e=>{const n=du(e);return t(n),n}).catch(e=>{console.error(`Error in ${n}:`,e),nm.exception({reason:e.toString()});const a={type:"error"};return t(a),a})}async function im(e,t,n,a,o){return n.then(n=>{for(const o of e)a(o,du(n.get(o)??t));return du(n)}).catch(t=>{console.error(`Error in ${o}:`,t),nm.exception({reason:t.toString()});for(const t of e)a(t,pu());return{type:"error"}})}const sm=new class{oldUrlForListings="";constructor(){Lc(this,{setPlatformRouteName:rc})}async setPlatformRouteName(e,t){const n=t.platformContentRendererConfig.renderAlternativeOffers;if("DETAIL_VIEW"===e){const e=Nh();if(om.emit("platformRouteChanged",{name:"DETAIL_VIEW",sourceId:e}),!e)return;await this.handleDetailViewChange(e,n)}else if("LIST_VIEW"===e)om.emit("platformRouteChanged",{name:"LIST_VIEW"}),async function(e){try{const t=Ah.get();if(!t)return;t.setMLRenderer(e)}catch(e){console.error(e)}}(this.handleListViewChange.bind(this,n)),await this.handleListViewChange(n);else if("CHECKOUT_VIEW"===e){const e=await Th();if(om.emit("platformRouteChanged",{name:"CHECKOUT_VIEW",sourceId:e}),!e)return;await this.handleCheckoutViewChange(e)}else om.emit("platformRouteChanged",{name:e})}async handleDetailViewChange(e,t){cu.initializeOfferById(e),function(e){const t=Ah.get();t&&t.insertOffersComponentInDetail(e)}(e),rm(t?async function(){const e=await async function(){const[e,t]=await Promise.all([qe(Dh,e=>null===e)(),qe(Nh,e=>null===e)()]);return null===e||null===t?null:{hotelId:e,listingId:t}}();return null===e?[]:Qh(e)}():Promise.resolve([]),t=>cu.updateOfferAlternativeOffers(e,t),"fetching alternative offers for detail view");const n=await rm(async function(e){const t=Zn(window.location.href);if(!t)return null;const n=await Bh(e,window.location.href),a=(await E.fetchDirectoInfo({ids:[e],platform:t,...n}))[0]??null,o=a?.directo_url;return o&&a&&E.storeCachedDirectoInfo({platform:t,...a}),Zh.event("view_product",{directo:!!o}),a}(e),t=>cu.updateOfferDirectoInfo(e,t),"fetching directo info for detail view"),a=uu(n,null);om.emit("detailViewDirectoInfoLoaded",a),a?.directo_url&&function(e){const t=Ah.get();t&&t.insertSecondaryCTAInDetailView(e)}(a);const o=uu(await rm(async function(e){const t=Zn(window.location.href);if(!t)return null;const n=await qe(Ph)(e);return n?(E.storeCachedListingPrice({source_id:e,platform:t,...n}),n):null}(e),t=>cu.updateOfferListingPrice(e,t),"fetching scraped listing price for detail view"),null),r=uu(await rm(a&&o?Yh(a,o):Promise.resolve(null),t=>cu.updateOfferDisplayPrices(e,t),"fetching directo price for detail view"),null);om.emit("detailViewDisplayPricesLoaded",r)}async handleListViewChange(t){if(!Zn(window.location.href))return;const n=window.location.href;this.oldUrlForListings!==n&&(cu.clear(),this.oldUrlForListings=n);const a=await qe(Lh)();for(const e of a)cu.initializeOfferById(e);!function(e){const t=Ah.get();if(t)for(const n of e)t.insertOffersComponentInList(n)}(a),im(a,[],t?async function(e){if(!e||0===e.length)return new Map;const t=Zn(window.location.href);if(!t)return new Map;const n=Fh(await Bh(e[0],window.location.href));if(!n)return new Map;const{offers:a}=await E.getAlternativeOffersByCompoundIds({id:e.map(e=>({listingId:e})),platform:t,language:qt(),...n}),o=new Map;for(const e of a)o.has(e.source_id)||o.set(e.source_id,[]),o.get(e.source_id).push(e);return o}(a):Promise.resolve(new Map),cu.updateOfferAlternativeOffers,"fetching alternative offers for list view");const o=await im(a,null,async function(e){const t=window.location.href,n=Zn(t);if(0===e.length||!n)return new Map;const a=await Bh(e[0],t),o=await E.fetchDirectoInfo({ids:e,platform:n,...a});var r;r=o.sort((e,t)=>(e.ranking||0)-(t.ranking||0)),Vt(r,e=>function(e){const t=Ah.get();t&&e.directo_url&&t.markListingAsMultilisting(e.source_id,e)}(e));const i=new Map,s=Jh(o,"directo_url");for(const e of s)i.set(e.source_id,e);return i}(a),cu.updateOfferDirectoInfo,"fetching directo infos for list view"),r=Array.from(cu.offersById.values()).map(e=>lu(e.directoInfo,null)).filter(e=>null!==e);om.emit("listingDirectoInfosInListLoaded",r);const i=async function(e){const t=e.map(async e=>[e,await Ph(e)]),n=await Promise.all(t);return new Map(n)}(a);im(a,null,i,cu.updateOfferListingPrice,"fetching scraped listing prices for list view"),im(a,null,i,async(t,n)=>{const a=await async function(n){switch(n.type){case"error":return n;case"loaded":return du(await(async e=>{const n=uu(o,new Map).get(t)||null;return n&&n.pricing&&e?vu({otaTotalPrice:e.totalPrice,otaCurrency:e.currency,directoPrice:n.pricing.price,directoCurrency:n.pricing.currency,lengthOfStay:await Ih(t),directoIsNightly:n.pricing.nightly,displayCurrency:e.currency}):null})(n.data));default:e(n)}}(n);cu.updateOfferDisplayPrices(t,a)},"fetching scraped listing prices for list view")}async handleCheckoutViewChange(e){cu.initializeOfferById(e);const t=Promise.all([rm(qh(),t=>cu.updateOfferDisplayPrices(e,t),"fetching directo price for checkout view"),rm(Xh(),t=>cu.updateOfferDirectoInfo(e,t),"fetching directo info for checkout view")]).then(([e,t])=>{const n=uu(e,null),a=uu(t,null);null!==a&&function(e){const t=Ah.get();t&&t.insertSecondaryCTAInCheckoutView(e)}(a),om.emit("checkoutViewDataLoaded",{pricing:n,directoInfo:a})});await Promise.all([t,rm(tm(e),t=>cu.updateOfferListingPrice(e,t),"fetching listing OTA price for checkout view"),rm(Wh(),t=>cu.updateOfferAlternativeOffers(e,t),"fetching alternative offers for checkout view")])}},cm={LIST:"LIST_VIEW",DETAIL:"DETAIL_VIEW",CHECKOUT:"CHECKOUT_VIEW",CONFIRMATION:"GENERAL_VIEW",UNKNOWN:"GENERAL_VIEW"};async function lm(e){const t=await E.getConfig();Ah.initialize(e.platformContentRendererConfig);const n={partnerKey:t.partnerKey,appVersion:"adunit-0.1.1"};v.initialize(n),w.initialize(n),_.initialize(n),x.initialize(n),z.initialize(n),Vh.initialize(e.frontNavigationFactoryConfig);const a=new Fa,o=new Lo;!function(e,t=500){let n="";!function a(o=""){o!==n&&(e(o),n=o),setTimeout(()=>a(window.location.href),t)}(window.location.href)}(t=>{!function(e,t){const n=function(e){const t=function(e){const t=Ah.get();return t?t.base.getSection(new URL(e)):null}(e);return null===t?"FALLBACK":cm[t]}(e);sm.setPlatformRouteName(n,t)}(t,e),o.initialize(t),a.initialize(t)})}function um(){return lm({platformContentRendererConfig:{renderLabels:!0,renderSecondaryCTAs:!0,renderAlternativeOffers:!0},frontNavigationFactoryConfig:{useRedirectEngine:!1}})}})(),module.exports=a})();
|